From 46e997508c80de816d3e26f9ccdb4a5e6d68a5f9 Mon Sep 17 00:00:00 2001 From: Eduardo Davila Date: Wed, 11 Apr 2012 15:41:06 +0000 Subject: [PATCH] no message --- bbtk/src/bbmaracasvisuImageChangeInformation.cxx | 11 +++++++++++ bbtk/src/bbmaracasvisuImageChangeInformation.h | 13 ++++++++----- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/bbtk/src/bbmaracasvisuImageChangeInformation.cxx b/bbtk/src/bbmaracasvisuImageChangeInformation.cxx index 7837d67..fecd553 100644 --- a/bbtk/src/bbmaracasvisuImageChangeInformation.cxx +++ b/bbtk/src/bbmaracasvisuImageChangeInformation.cxx @@ -9,6 +9,7 @@ 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){ @@ -19,6 +20,16 @@ void ImageChangeInformation::Process() 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() ); diff --git a/bbtk/src/bbmaracasvisuImageChangeInformation.h b/bbtk/src/bbmaracasvisuImageChangeInformation.h index be986bd..4ea82ad 100644 --- a/bbtk/src/bbmaracasvisuImageChangeInformation.h +++ b/bbtk/src/bbmaracasvisuImageChangeInformation.h @@ -14,8 +14,10 @@ class /*BBTK_EXPORT*/ ImageChangeInformation public bbtk::AtomicBlackBox { BBTK_BLACK_BOX_INTERFACE(ImageChangeInformation,bbtk::AtomicBlackBox); - BBTK_DECLARE_INPUT(In,vtkImageData*); - BBTK_DECLARE_OUTPUT(Out,vtkImageData*); + BBTK_DECLARE_INPUT(In,vtkImageData*); + BBTK_DECLARE_INPUT(NewSpacing,std::vector); + + BBTK_DECLARE_OUTPUT(Out,vtkImageData*); BBTK_PROCESS(Process); void Process(); @@ -28,9 +30,10 @@ BBTK_BEGIN_DESCRIBE_BLACK_BOX(ImageChangeInformation,bbtk::AtomicBlackBox); BBTK_NAME("ImageChangeInformation"); BBTK_AUTHOR("eduardo.davila [at] creatis.insa-lyon.fr"); BBTK_DESCRIPTION("vtkImageData change information. Translate extern to 0,0,0"); - BBTK_CATEGORY("filter"); - BBTK_INPUT(ImageChangeInformation,In,"Input image",vtkImageData*,""); - BBTK_OUTPUT(ImageChangeInformation,Out,"Output image",vtkImageData*,""); + BBTK_CATEGORY("filter"); + BBTK_INPUT(ImageChangeInformation,In,"Input image",vtkImageData*,""); + BBTK_INPUT(ImageChangeInformation,NewSpacing,"New spacing of the image (default: the same spacing of the original image)",std::vector,""); + BBTK_OUTPUT(ImageChangeInformation,Out,"Output image",vtkImageData*,""); BBTK_END_DESCRIBE_BLACK_BOX(ImageChangeInformation); } // EO namespace bbcreaMaracasVisu -- 2.45.1