X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcreaVtk%2FvtkImageDataStrucPoints.cpp;h=3678f7fd3eb60d57eb4cd0e87dc91582c73cc33f;hb=08174c39ec53c37ea8ea7d6c97cf9f7af13659da;hp=69ac58ab0f56585f75c3c27c30c14de10a0de422;hpb=e43b0b51b764feb4d6b69c1b78f37233f8f5e439;p=creaVtk.git diff --git a/lib/creaVtk/vtkImageDataStrucPoints.cpp b/lib/creaVtk/vtkImageDataStrucPoints.cpp index 69ac58a..3678f7f 100644 --- a/lib/creaVtk/vtkImageDataStrucPoints.cpp +++ b/lib/creaVtk/vtkImageDataStrucPoints.cpp @@ -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(); + + + }