X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcreaVtk%2FvtkImageDataStrucPoints.cpp;h=1299cdc5c71bcac9de708eca6220b89fb085fb1f;hb=33a2fbec2921c504fd037bdcfd4f156cca8ee118;hp=69ac58ab0f56585f75c3c27c30c14de10a0de422;hpb=e43b0b51b764feb4d6b69c1b78f37233f8f5e439;p=creaVtk.git diff --git a/lib/creaVtk/vtkImageDataStrucPoints.cpp b/lib/creaVtk/vtkImageDataStrucPoints.cpp index 69ac58a..1299cdc 100644 --- a/lib/creaVtk/vtkImageDataStrucPoints.cpp +++ b/lib/creaVtk/vtkImageDataStrucPoints.cpp @@ -26,6 +26,8 @@ */ #include "vtkImageDataStrucPoints.h" +#include "vtkStructuredPointsWriter.h" + vtkImageDataStrucPoints::vtkImageDataStrucPoints() { @@ -36,26 +38,28 @@ vtkImageDataStrucPoints::~vtkImageDataStrucPoints() } void vtkImageDataStrucPoints::joinComponents(vtkImageData* imageX, vtkImageData* imageY, vtkImageData* imageZ) { + int ext[6]; imageY->Modified(); +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 imageY->Update(); - int ext[6]; imageY->GetWholeExtent(ext); +#else + imageY->GetExtent(ext); +#endif int dim[3]; - double spc[3];; - dim[0]=ext[1]-ext[0]+1; - dim[1]=ext[3]-ext[2]+1; - dim[2]=ext[5]-ext[4]+1; + double spc[3]; + dim[0]=ext[1]-ext[0]+1; + dim[1]=ext[3]-ext[2]+1; + dim[2]=ext[5]-ext[4]+1; std::cout<<"dim "<< dim[0] <<" "<< dim[1] <<" "<< dim[2] <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 *ptrX = (double *)imageX->GetScalarPointer(); + double *ptrY = (double *)imageY->GetScalarPointer(); + double *ptrZ = (double *)imageZ->GetScalarPointer(); long int sizeimage = dim[0]*dim[1]*dim[2]; @@ -70,26 +74,57 @@ 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++; + vx = *ptrX; + vy = *ptrY; + vz = *ptrZ; + ptrX++; + ptrY++; + ptrZ++; 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); + +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 + _structuredPoints->SetScalarTypeToDouble(); + _structuredPoints->SetNumberOfScalarComponents(3); +#else + vtkInformation* info=_structuredPoints->GetInformation(); + vtkDataObject::SetPointDataActiveScalarInfo(info, VTK_DOUBLE, 3); + +#endif + _structuredPoints->GetPointData()->SetVectors(array); _structuredPoints->GetPointData()->SetNumberOfTuples(sizeimage); + _structuredPoints->Modified(); +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 + _structuredPoints->Update(); +#else + //... +#endif + +/* + _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(); +*/ + + }