]> Creatis software - creaContours.git/blobdiff - lib/kernel_ManagerContour_NDimensions/KernelManagerContour.cxx
Feature #1772 Add licence terms for all files.
[creaContours.git] / lib / kernel_ManagerContour_NDimensions / KernelManagerContour.cxx
index d189cbd4ce9b691424878f295e7f71fa49714859..5f06fb8a41bc66236aa37f9b676a249cba92f671 100644 (file)
@@ -1,3 +1,28 @@
+/*# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */
+
 
 //----------------------------------------------------------------------------------------------------------------
 // Class definition include
@@ -64,34 +89,56 @@ KernelManagerContour::KernelManagerContour(std::vector<vtkImageData*> images,std
 /**
 **  FINISH PERSISTANCE
 **/
-       setVectImages(images);
+       setVectImages(images);        
        initializeEnvironment(datadir);
 
 }
-KernelManagerContour::~KernelManagerContour(){
+
+KernelManagerContour::~KernelManagerContour()
+{
 }
 
-std::vector<vtkImageData*> KernelManagerContour::getVectImages(){
+std::vector<vtkImageData*> KernelManagerContour::getVectImages()
+{
        return vectimages;
 }
-void KernelManagerContour::setVectImages(std::vector<vtkImageData*> vectimg){
 
+
+void KernelManagerContour::setVectImages(std::vector<vtkImageData*> vectimg)
+{
+       double spc[3];
+       std::vector<double> vectspc;
+       
        for(int i = 0; i < (int)(vectimg.size()); i++){
                vtkImageData* img = vectimg[i];
                vtkImageChangeInformation* change = vtkImageChangeInformation::New();
                change->SetInformationInput(img);
                change->SetInputConnection(img->GetProducerPort());
 
+               img->GetSpacing(spc);
                change->SetOutputSpacing(1,1,1);
-
                change->Update();
 
+               vectspc.clear();
+               vectspc.push_back(spc[0]);
+               vectspc.push_back(spc[1]);
+               vectspc.push_back(spc[2]);
+               vectimagesSpacing.push_back(vectspc);
                vectimg[i] = change->GetOutput();
        }
 
        vectimages = vectimg;
 }
 
+
+void KernelManagerContour::GetSpacing(double *vecspc, int iImage)
+{
+       vecspc[0]=vectimagesSpacing[iImage][0];
+       vecspc[1]=vectimagesSpacing[iImage][1];
+       vecspc[2]=vectimagesSpacing[iImage][2];
+}
+
+
 void KernelManagerContour::initializeEnvironment(std::string datadir){
        _datadir = datadir;
        std::string conceptsFN                  =  datadir+"holaConceptsFile.cf";
@@ -348,7 +395,7 @@ manualBaseModel* KernelManagerContour::GetPoints(int z,int type, std::vector<dou
                for (int j=0 ; j<sizeCtrPt ; j++)
                {
 //JSTG_16-07-08_----------------------------------------------------------------
-                       manModelContour->AddPoint( (*vecCtrlPointX)[j] , (*vecCtrlPointY)[j] , 900  );
+                       manModelContour->AddPoint( (*vecCtrlPointX)[j] , (*vecCtrlPointY)[j] , -900  );
 //--------------------------------------------------------------------
                } // for j