+/*# ---------------------------------------------------------------------
+#
+# 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.
+# ------------------------------------------------------------------------ */
#include "bbmaracasvisuImageChangeInformation.h"
-#include "bbmaracasvisuPackage.h"
-namespace bbmaracasvisu
+#include "bbcreaMaracasVisuPackage.h"
+namespace bbcreaMaracasVisu
{
-BBTK_ADD_BLACK_BOX_TO_PACKAGE(maracasvisu,ImageChangeInformation)
+BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaMaracasVisu,ImageChangeInformation)
BBTK_BLACK_BOX_IMPLEMENTATION(ImageChangeInformation,bbtk::AtomicBlackBox);
void ImageChangeInformation::Process()
{
- int ext[6];
- bbGetInputIn()->GetExtent( ext );
- if (mchange!=NULL) { mchange->Delete(); }
- mchange = vtkImageChangeInformation::New();
- mchange->SetInput( bbGetInputIn() );
- mchange->SetExtentTranslation( -ext[0], -ext[2], -ext[4] );
- mchange->Update(); //important
+ int ext[6];
+ double spc[3];
+ vtkImageData* img = bbGetInputIn();
+ if(img!=NULL){
+ if(mchange != NULL){
+ mchange->Delete();
+ }
+ mchange = vtkImageChangeInformation::New();
+ img->GetExtent( ext );
+
+ double origin[3];
+ origin[0]=0.0;
+ origin[1]=0.0;
+ origin[2]=0.0;
+
+ img->SetOrigin(origin);
+
+ mchange->SetInput( img );
+ mchange->SetExtentTranslation( -ext[0], -ext[2], -ext[4] );
+ mchange->SetOutputOrigin (0, 0, 0);
+
+ if (bbGetInputNewSpacing().size()==3)
+ {
+ spc[0] = bbGetInputNewSpacing()[0];
+ spc[1] = bbGetInputNewSpacing()[1];
+ spc[2] = bbGetInputNewSpacing()[2];
+ mchange->SetOutputSpacing( spc[0] , spc[1] , spc [2] ); //spacing
+ }
+
+
+ mchange->Update(); //important
+
+ bbSetOutputOut( mchange->GetOutput() );
+ }
- bbSetOutputOut( mchange->GetOutput() );
}
-void ImageChangeInformation::bbUserConstructor()
+void ImageChangeInformation::bbUserSetDefaultValues()
{
- mchange=NULL;
+ mchange = NULL;
+ bbSetOutputOut( NULL);
+ bbSetInputIn(NULL);
}
-void ImageChangeInformation::bbUserCopyConstructor()
-{
+void ImageChangeInformation::bbUserInitializeProcessing()
+{
+
}
-void ImageChangeInformation::bbUserDestructor()
+
+void ImageChangeInformation::bbUserFinalizeProcessing()
{
if (mchange!=NULL)
{
mchange->Delete();
}
}
+
+
+
}
-// EO namespace bbmaracasvisu
+// EO namespace bbcreaMaracasVisu