X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcreaVtk%2FcreaVtkUnMosaicVectorVtkImageData.cpp;h=2226f2d4b0b7bd0922235ba6d26579155ab6a06f;hb=82f0d43e64f8ba8098f0cd1c8759b436a40109bc;hp=c3334e9d1ed5ce08ceca573cc8ec3e3ed862e734;hpb=215f2f66f351e645b81a2451e3318a8e07ea7c3e;p=creaVtk.git diff --git a/lib/creaVtk/creaVtkUnMosaicVectorVtkImageData.cpp b/lib/creaVtk/creaVtkUnMosaicVectorVtkImageData.cpp index c3334e9..2226f2d 100644 --- a/lib/creaVtk/creaVtkUnMosaicVectorVtkImageData.cpp +++ b/lib/creaVtk/creaVtkUnMosaicVectorVtkImageData.cpp @@ -26,7 +26,10 @@ */ #include "creaVtkUnMosaicVectorVtkImageData.h" + +#define _USE_MATH_DEFINES // for C #include + creaVtkUnMosaicVectorVtkImageData::creaVtkUnMosaicVectorVtkImageData() { } @@ -39,15 +42,21 @@ std::vector creaVtkUnMosaicVectorVtkImageData::unMosaicVectorVtkI { std::vector nbImagesPerRow; std::vector nbImagesInMosaic; + double imagesInMosaic; - for(int i = 0; i < NbImagesInMosaicVector.size(); i++){ - nbImagesPerRow.push_back( ceil(sqrt(NbImagesInMosaicVector[i])) ); + for(int i = 0; i < NbImagesInMosaicVector.size(); i++) + { + imagesInMosaic = NbImagesInMosaicVector[i]; + nbImagesPerRow.push_back( ceil(sqrt(imagesInMosaic)) ); nbImagesInMosaic.push_back(NbImagesInMosaicVector[i]); } - if(imageInput.size() != NbImagesInMosaicVector.size()){ - for(int j = NbImagesInMosaicVector.size(); j < imageInput.size(); j++) { - nbImagesPerRow.push_back( ceil(sqrt(NbImagesInMosaicVector[NbImagesInMosaicVector.size()-1])) ); + if(imageInput.size() != NbImagesInMosaicVector.size()) + { + for(int j = NbImagesInMosaicVector.size(); j < imageInput.size(); j++) + { + imagesInMosaic = NbImagesInMosaicVector[NbImagesInMosaicVector.size()-1]; + nbImagesPerRow.push_back( ceil(sqrt(imagesInMosaic)) ); nbImagesInMosaic.push_back( NbImagesInMosaicVector[NbImagesInMosaicVector.size()-1] ); } } @@ -73,7 +82,13 @@ vtkImageData * creaVtkUnMosaicVectorVtkImageData::unMosaic(vtkImageData *imageIn int outputdims[3]; imageIn->GetDimensions (inputdims); unsigned short *input = (unsigned short *)(imageIn->GetScalarPointer()); + +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 imageIn->Update(); +#else + imageIn->Modified(); +#endif unsigned int div = (unsigned int)ceil(sqrt( (double)numberOfImagesInMosaic ) ); outputdims[0] = inputdims[0] / div; @@ -84,13 +99,20 @@ vtkImageData * creaVtkUnMosaicVectorVtkImageData::unMosaic(vtkImageData *imageIn vtkImageOut = vtkImageData::New(); vtkImageOut->SetDimensions( outputdims ); vtkImageOut->SetExtent(0,outputdims[0]-1,0,outputdims[1]-1,0,outputdims[2]-1); + +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 vtkImageOut->SetWholeExtent(0,outputdims[0]-1,0,outputdims[1]-1,0,outputdims[2]-1); vtkImageOut->SetNumberOfScalarComponents(1); //vtkImageOut->SetSpacing( blabla ); vtkImageOut->SetScalarType( VTK_UNSIGNED_SHORT ); vtkImageOut->AllocateScalars(); vtkImageOut->Update(); - +#else + vtkImageOut->AllocateScalars(VTK_UNSIGNED_SHORT,1); +#endif + + unsigned short *output =(unsigned short *)(vtkImageOut->GetScalarPointer()); unsigned short *dest = output;