]> Creatis software - bbtk.git/blobdiff - packages/vtk/src/bbvtkUnMosaic.cxx
#3167 BBTK Feature New Normal - box vtk ImageProperties GetOrientation
[bbtk.git] / packages / vtk / src / bbvtkUnMosaic.cxx
index a28daaf9fc69d1aca38352b608b1782ac28e9aed..49c617ea587792beed30ad61a878c206874b230e 100644 (file)
@@ -1,33 +1,38 @@
-/*=========================================================================                                                                               
+/*
+ # ---------------------------------------------------------------------
+ #
+ # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
+ #                        pour la SantÈ)
+ # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
+ # Previous Authors : Laurent Guigues, Jean-Pierre Roux
+ # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
+ #
+ #  This software is governed by the CeCILL-B license under French law and
+ #  abiding by the rules of distribution of free software. You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL-B
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
+ #  or in the file LICENSE.txt.
+ #
+ #  As a counterpart to the access to the source code and  rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL-B license and that you accept its terms.
+ # ------------------------------------------------------------------------ */
+
+
+/*=========================================================================
   Program:   bbtk
   Module:    $RCSfile: bbvtkUnMosaic.cxx,v $
   Language:  C++
-  Date:      $Date: 2010/10/05 14:33:49 $
-  Version:   $Revision: 1.1 $
+  Date:      $Date: 2012/11/16 08:51:58 $
+  Version:   $Revision: 1.4 $
 =========================================================================*/
 
-/* ---------------------------------------------------------------------
-
-* Copyright (c) CREATIS-LRMN (Centre de Recherche en Imagerie Medicale)
-* Authors : Eduardo Davila, Laurent Guigues, Jean-Pierre Roux
-*
-*  This software is governed by the CeCILL-B license under French law and 
-*  abiding by the rules of distribution of free software. You can  use, 
-*  modify and/ or redistribute the software under the terms of the CeCILL-B 
-*  license as circulated by CEA, CNRS and INRIA at the following URL 
-*  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html 
-*  or in the file LICENSE.txt.
-*
-*  As a counterpart to the access to the source code and  rights to copy,
-*  modify and redistribute granted by the license, users are provided only
-*  with a limited warranty  and the software's author,  the holder of the
-*  economic rights,  and the successive licensors  have only  limited
-*  liability. 
-*
-*  The fact that you are presently reading this means that you have had
-*  knowledge of the CeCILL-B license and that you accept its terms.
-* ------------------------------------------------------------------------ */                                                                         
-
 /**
  *  \file 
  *  \brief 
@@ -85,7 +90,6 @@ namespace bbvtk
  ///
    void UnMosaic::Process()
    {
-
        int nbImagesPerRow =   (unsigned int)bbGetInputNbImagesPerRow();
        int nbImagesInMosaic = (unsigned int)bbGetInputNbImagesInMosaic();      
 
@@ -103,7 +107,7 @@ namespace bbvtk
    }
 
 
-vtkImageData * unMosaic(vtkImageData *imageIn, int nbImagesPerRow, int numberOfImagesInMosaic)
+vtkImageData * UnMosaic::unMosaic(vtkImageData *imageIn, int nbImagesPerRow, int numberOfImagesInMosaic)
 {   
    int inputdims[3];
    int outputdims[3];
@@ -130,18 +134,18 @@ vtkImageData * unMosaic(vtkImageData *imageIn, int nbImagesPerRow, int numberOfI
     unsigned short *output =(unsigned short *)(vtkImageOut->GetScalarPointer());
 
     unsigned short *dest = output;
-    int lgrLigne = outputdims[0];
-    int lgrImage = lgrLigne*outputdims[1]; //*sizeof(unsigned short);
+    int dimXImageElem = outputdims[0];
+    int dimYImageElem = outputdims[1];
+    int lgrImage = dimXImageElem*dimYImageElem;
     int debImage;
     for (int i=0; i<numberOfImagesInMosaic; i++)
     {
-       //debImage=(i%nbImagesPerRow) * lgrImage*nbImagesPerRow + (i%nbImagesPerRow)*lgrLigne;
-       debImage=(i/nbImagesPerRow) * lgrImage*nbImagesPerRow + (i%nbImagesPerRow)*lgrLigne;
-       for(int j=0; j<outputdims[1]; j++)
+       debImage=(i/nbImagesPerRow) * lgrImage*nbImagesPerRow + (i%nbImagesPerRow)*dimXImageElem;
+       for(int j=0; j<dimYImageElem; j++)
        {
-          memcpy(dest, input+debImage, lgrLigne*sizeof(unsigned short));
-          debImage += lgrLigne*nbImagesPerRow;
-          dest += lgrLigne;
+          memcpy(dest, input+debImage, dimXImageElem*sizeof(unsigned short));
+          debImage += dimXImageElem*nbImagesPerRow;
+          dest += dimXImageElem;
        }
     }
     return  vtkImageOut;