X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=bbtk%2Fsrc%2FbbmaracasvisuImageChangeInformation.cxx;h=de4e0fc125400976ae792f080943cdeae05eb4c9;hb=a7017a8ade695bd14a4c7ee70b197d63b5e76765;hp=7837d67e2ed56898ad62708f811b2cf08d304059;hpb=27d92a1689ff0e4b5531ca976a764cbf6669dd98;p=creaMaracasVisu.git diff --git a/bbtk/src/bbmaracasvisuImageChangeInformation.cxx b/bbtk/src/bbmaracasvisuImageChangeInformation.cxx index 7837d67..de4e0fc 100644 --- a/bbtk/src/bbmaracasvisuImageChangeInformation.cxx +++ b/bbtk/src/bbmaracasvisuImageChangeInformation.cxx @@ -1,3 +1,27 @@ +/*# --------------------------------------------------------------------- +# +# 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 "bbcreaMaracasVisuPackage.h" @@ -9,16 +33,35 @@ BBTK_BLACK_BOX_IMPLEMENTATION(ImageChangeInformation,bbtk::AtomicBlackBox); void ImageChangeInformation::Process() { int ext[6]; + double spc[3]; vtkImageData* img = bbGetInputIn(); if(img!=NULL){ if(mchange != NULL){ mchange->Delete(); } mchange = vtkImageChangeInformation::New(); - img->GetExtent( ext ); + 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() );