void ImageChangeInformation::Process()
{
int ext[6];
+ double spc[3];
vtkImageData* img = bbGetInputIn();
if(img!=NULL){
if(mchange != NULL){
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() );
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<double>);
+
+ BBTK_DECLARE_OUTPUT(Out,vtkImageData*);
BBTK_PROCESS(Process);
void Process();
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<double>,"");
+ BBTK_OUTPUT(ImageChangeInformation,Out,"Output image",vtkImageData*,"");
BBTK_END_DESCRIBE_BLACK_BOX(ImageChangeInformation);
}
// EO namespace bbcreaMaracasVisu