#include "bbmaracasvisuImageChangeInformation.h" #include "bbcreaMaracasVisuPackage.h" namespace bbcreaMaracasVisu { BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaMaracasVisu,ImageChangeInformation) 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 ); 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() ); } } void ImageChangeInformation::bbUserSetDefaultValues() { mchange = NULL; bbSetOutputOut( NULL); bbSetInputIn(NULL); } void ImageChangeInformation::bbUserInitializeProcessing() { } void ImageChangeInformation::bbUserFinalizeProcessing() { if (mchange!=NULL) { mchange->Delete(); } } } // EO namespace bbcreaMaracasVisu