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 std::cout << "NTU ReSlicerBox : entered 1" << std::endl;
13 if(!bbGetInputOrigin().empty() && bbGetInputTransform() != NULL)
15 std::cout << "NTU ReSlicerBox : entered 2" << std::endl;
17 image = vtkImageChangeInformation::New();
18 image->SetInput( bbGetInputIn() );
19 image->SetOutputSpacing( 1,1,1 );
21 std::cout << "NTU ReSlicerBox : entered 3" << std::endl;
23 if(bbGetInputCentered())
25 image->CenterImageOn();
28 std::cout << "NTU ReSlicerBox : entered 4" << std::endl;
30 slicer =vtkImageReslice::New();
31 slicer->SetInput( image->GetOutput() );
32 slicer->SetInformationInput( image->GetOutput() );
33 slicer->SetResliceTransform(bbGetInputTransform());
34 slicer->SetOutputOrigin( -(bbGetInputOrigin()[0]) , -(bbGetInputOrigin()[1]) , -(bbGetInputOrigin()[2]) );
35 if(bbGetInputInterpolate())
37 slicer->InterpolateOn();
41 std::cout << "NTU ReSlicerBox : entered 5" << std::endl;
43 imageResult = vtkImageChangeInformation::New();
44 imageResult->SetInput( slicer->GetOutput() );
46 bbGetInputIn()->GetSpacing(spc);
47 imageResult->SetOutputSpacing( spc );
48 imageResult->SetOutputOrigin( 0,0,0 );
50 bbSetOutputOut( imageResult->GetOutput() );
54 bbSetOutputOut( bbGetInputIn() );
57 std::cout << "NTU ReSlicerBox : out" << std::endl;
60 void ReSlicerBox::bbUserSetDefaultValues()
62 std::vector<int> empty;
63 bbSetInputOrigin(empty);
65 bbSetInputTransform(NULL);
67 bbSetInputCentered(false);
68 bbSetInputInterpolate(false);
71 void ReSlicerBox::bbUserInitializeProcessing()
74 // THE INITIALIZATION METHOD BODY :
76 // but this is where you should allocate the internal/output pointers
78 image = vtkImageChangeInformation::New();
79 slicer =vtkImageReslice::New();
80 imageResult = vtkImageChangeInformation::New();
82 void ReSlicerBox::bbUserFinalizeProcessing()
86 imageResult->Delete();
89 // EO namespace bbPackRecalage