]> Creatis software - creaVtk.git/blobdiff - lib/creaVtk/creaVtkUnMosaicVectorVtkImageData.cpp
#3110 creaVtk Bug New Normal - branch vtk7itk4 compilation with vtk7
[creaVtk.git] / lib / creaVtk / creaVtkUnMosaicVectorVtkImageData.cpp
index 2226f2d4b0b7bd0922235ba6d26579155ab6a06f..93faba51325d36df492f786bc2c5283684e52ddc 100644 (file)
@@ -43,14 +43,12 @@ std::vector<vtkImageData*> creaVtkUnMosaicVectorVtkImageData::unMosaicVectorVtkI
        std::vector<int> nbImagesPerRow;
        std::vector<int> nbImagesInMosaic;
        double imagesInMosaic;
-
        for(int i = 0; i < NbImagesInMosaicVector.size(); i++)
        {
                imagesInMosaic = NbImagesInMosaicVector[i];
                nbImagesPerRow.push_back( ceil(sqrt(imagesInMosaic)) );
                nbImagesInMosaic.push_back(NbImagesInMosaicVector[i]);
-       }
-
+       } // for i
        if(imageInput.size() != NbImagesInMosaicVector.size())
        {
                for(int j = NbImagesInMosaicVector.size(); j < imageInput.size(); j++)  
@@ -58,42 +56,38 @@ std::vector<vtkImageData*> creaVtkUnMosaicVectorVtkImageData::unMosaicVectorVtkI
                        imagesInMosaic = NbImagesInMosaicVector[NbImagesInMosaicVector.size()-1];
                        nbImagesPerRow.push_back( ceil(sqrt(imagesInMosaic)) );         
                        nbImagesInMosaic.push_back( NbImagesInMosaicVector[NbImagesInMosaicVector.size()-1] );
-               }
-       }
-       
+               } // for j
+       } // for imageInput size
        if (nbImagesPerRow.size() == 0 || nbImagesInMosaic.size() == 0) 
-        {
+    {
                std::cout << "VtkUnMosaicVectorVtkImageData ERROR: The number of Images by mosaic is not set " << std::endl; 
-       }
-
+       } // if nbImagesPerRow size
        std::vector<vtkImageData*> imageIn = imageInput;
-
        std::vector<vtkImageData*> mImageOut;
-       for (int i = 0 ; i < (unsigned int)imageIn.size() ; i++) {
-                       mImageOut.push_back( unMosaic(imageIn[i], nbImagesPerRow[i], nbImagesInMosaic[i]) );
-       }
-
+       for (int i = 0 ; i < (unsigned int)imageIn.size() ; i++) 
+       {
+               mImageOut.push_back( unMosaic(imageIn[i], nbImagesPerRow[i], nbImagesInMosaic[i]) );
+       } // for i
        return mImageOut;       
 }
 
+//------------------------------------------------------------------------------
 vtkImageData * creaVtkUnMosaicVectorVtkImageData::unMosaic(vtkImageData *imageIn, int nbImagesPerRow, int numberOfImagesInMosaic)
 {   
-   int inputdims[3];
-   int outputdims[3];
-   imageIn->GetDimensions (inputdims);
-   unsigned short *input = (unsigned short *)(imageIn->GetScalarPointer());
-
+       int inputdims[3];
+       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();
+       imageIn->Update();
 #else
-   imageIn->Modified();
-#endif
-     
-   unsigned int div = (unsigned int)ceil(sqrt( (double)numberOfImagesInMosaic ) );
-   outputdims[0] = inputdims[0] / div;
-   outputdims[1] = inputdims[1] / div;
-   outputdims[2] = numberOfImagesInMosaic;
+       // ..
+#endif 
+       unsigned int div = (unsigned int)ceil(sqrt( (double)numberOfImagesInMosaic ) );
+       outputdims[0] = inputdims[0] / div;
+       outputdims[1] = inputdims[1] / div;
+       outputdims[2] = numberOfImagesInMosaic;
  
     vtkImageData *vtkImageOut;
     vtkImageOut = vtkImageData::New();
@@ -111,10 +105,7 @@ vtkImageData * creaVtkUnMosaicVectorVtkImageData::unMosaic(vtkImageData *imageIn
 #else
     vtkImageOut->AllocateScalars(VTK_UNSIGNED_SHORT,1);
 #endif
-
-
     unsigned short *output =(unsigned short *)(vtkImageOut->GetScalarPointer());
-
     unsigned short *dest = output;
     int dimXImageElem = outputdims[0];
     int dimYImageElem = outputdims[1];
@@ -131,18 +122,8 @@ vtkImageData * creaVtkUnMosaicVectorVtkImageData::unMosaic(vtkImageData *imageIn
           memcpy(dest, input+debImage, dimXImageElem*sizeof(unsigned short));
           debImage += dimXImageElem*nbImagesPerRow;
           dest += dimXImageElem;
-       }
-    }
+       } // for j
+    } // for i
     return  vtkImageOut;    
 }
 
-//---------------------------------------------
-//Method template
-//---------------------------------------------
-/*
-void creaVtkUnMosaicVectorVtkImageData::FunctionName(int& parameterA)
-{
-  parameterA = 2 * parameterA;
-  return;
-}
-*/