]> Creatis software - creaVtk.git/blobdiff - lib/creaVtk/vtkImageDataStrucPoints.cpp
2387 creaVtk Feature New Normal New box, lib, script ImageDataStructuredPoints
[creaVtk.git] / lib / creaVtk / vtkImageDataStrucPoints.cpp
index 69ac58ab0f56585f75c3c27c30c14de10a0de422..3678f7fd3eb60d57eb4cd0e87dc91582c73cc33f 100644 (file)
@@ -26,6 +26,8 @@
 */
 
 #include "vtkImageDataStrucPoints.h"
+#include "vtkStructuredPointsWriter.h"
+
 
 vtkImageDataStrucPoints::vtkImageDataStrucPoints()
 {
@@ -49,13 +51,10 @@ void vtkImageDataStrucPoints::joinComponents(vtkImageData* imageX, vtkImageData*
 
        imageY->GetSpacing(spc);
 
-       vtkDoubleArray *arrayX;
-       vtkDoubleArray *arrayY;
-       vtkDoubleArray *arrayZ;
 
-   unsigned char *ptrUCharX = (unsigned char *)imageX->GetScalarPointer();
-   unsigned char *ptrUCharY = (unsigned char *)imageY->GetScalarPointer();
-   unsigned char *ptrUCharZ = (unsigned char *)imageZ->GetScalarPointer();
+   double *ptrUCharX = (double *)imageX->GetScalarPointer();
+   double *ptrUCharY = (double *)imageY->GetScalarPointer();
+   double *ptrUCharZ = (double *)imageZ->GetScalarPointer();
 
         long int sizeimage = dim[0]*dim[1]*dim[2];
 
@@ -70,26 +69,43 @@ void vtkImageDataStrucPoints::joinComponents(vtkImageData* imageX, vtkImageData*
         double vz;
 
   int i;
+
+printf("EED  vtkImageDataStrucPoints::joinComponents  sizeimage%d\n", sizeimage );
        for( i = 0 ; i < sizeimage ; i++ )
        {
-                       vx = *ptrUCharX;
-                       vy = *ptrUCharY;
-                       vz = *ptrUCharZ;
-                       ptrUCharX++;
-                       ptrUCharY++;
-                       ptrUCharZ++;
-       array->SetTuple3(i,vx, vy , vz );
+               vx = *ptrUCharX;
+               vy = *ptrUCharY;
+               vz = *ptrUCharZ;
+               ptrUCharX++;
+               ptrUCharY++;
+               ptrUCharZ++;
+               array->SetTuple3(i,vx, vy , vz );
        } // for i
 
-
-
        _structuredPoints = vtkStructuredPoints::New();
        _structuredPoints->SetDimensions(dim[0], dim[1], dim[2]);
        _structuredPoints->SetSpacing(spc);
-       _structuredPoints->SetScalarTypeToFloat();
-       _structuredPoints->SetNumberOfScalarComponents(1);
+       _structuredPoints->SetScalarTypeToDouble();
+       _structuredPoints->SetNumberOfScalarComponents(3);
        _structuredPoints->GetPointData()->SetVectors(array);
        _structuredPoints->GetPointData()->SetNumberOfTuples(sizeimage);
+       _structuredPoints->Modified();
+       _structuredPoints->Update();
+
+       _structuredPoints->Print(cout);
+
+        vtkStructuredPointsWriter *writer2 = vtkStructuredPointsWriter::New();
+       writer2->SetFileName("/home/davila/tmp/VectorfromCal_EED_ups.vtk");
+       //writer->SetFileTypeToBinary();
+       writer2->SetFileTypeToASCII();
+       writer2->SetTensorsName("VectorfromCal");
+       writer2->SetFieldDataName("GlyphVector");
+       writer2->SetScalarsName("Scalar");
+       writer2->SetInput(_structuredPoints);  
+       writer2->Write();  
+
+
+
 
 }