1 #include "bbPackRecalageReSlicerBox.h"
2 #include "bbPackRecalagePackage.h"
4 namespace bbPackRecalage
7 BBTK_ADD_BLACK_BOX_TO_PACKAGE(PackRecalage,ReSlicerBox)
8 BBTK_BLACK_BOX_IMPLEMENTATION(ReSlicerBox,bbtk::AtomicBlackBox);
9 void ReSlicerBox::Process()
11 if(!bbGetInputOrigin().empty() && bbGetInputTransform() != NULL)
13 //image = vtkImageChangeInformation::New();
14 image->SetInput( bbGetInputIn() );
15 image->SetOutputSpacing( 1,1,1 );
17 if(bbGetInputCentered())
19 image->CenterImageOn();
22 //slicer =vtkImageReslice::New();
23 slicer->SetInput( image->GetOutput() );
24 slicer->SetInformationInput( image->GetOutput() );
25 slicer->SetResliceTransform(bbGetInputTransform());
26 slicer->SetOutputOrigin( -(bbGetInputOrigin()[0]) , -(bbGetInputOrigin()[1]) , -(bbGetInputOrigin()[2]) );
27 if(bbGetInputInterpolate())
29 slicer->InterpolateOn();
33 //imageResult = vtkImageChangeInformation::New();
34 imageResult->SetInput( slicer->GetOutput() );
36 bbGetInputIn()->GetSpacing(spc);
37 imageResult->SetOutputSpacing( spc );
38 imageResult->SetOutputOrigin( 0,0,0 );
40 bbSetOutputOut( imageResult->GetOutput() );
44 bbSetOutputOut( NULL );
47 void ReSlicerBox::bbUserSetDefaultValues()
49 std::vector<int> empty;
50 bbSetInputOrigin(empty);
52 bbSetInputTransform(NULL);
54 bbSetInputCentered(false);
55 bbSetInputInterpolate(false);
58 void ReSlicerBox::bbUserInitializeProcessing()
61 // THE INITIALIZATION METHOD BODY :
63 // but this is where you should allocate the internal/output pointers
65 image = vtkImageChangeInformation::New();
66 slicer =vtkImageReslice::New();
67 imageResult = vtkImageChangeInformation::New();
69 void ReSlicerBox::bbUserFinalizeProcessing()
73 imageResult->Delete();
76 // EO namespace bbPackRecalage