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()
12 if(!bbGetInputOrigin().empty())
14 image = vtkImageChangeInformation::New();
15 image->SetInput( bbGetInputIn() );
16 image->SetOutputSpacing( 1,1,1 );
18 slicer =vtkImageReslice::New();
19 slicer->SetInput( image->GetOutput() );
20 slicer->SetResliceTransform(bbGetInputTransform());
21 slicer->SetOutputOrigin( 0 , 0 , 0 );
22 slicer->SetOutputOrigin( -(bbGetInputOrigin()[0]) , -(bbGetInputOrigin()[1]) , -(bbGetInputOrigin()[2]) );
23 std::cout << "Reslicer: Origin points: X = " << bbGetInputOrigin()[0] << " Y = " << bbGetInputOrigin()[1] << " Z = " << bbGetInputOrigin()[2] << std::endl;
26 imageResult = vtkImageChangeInformation::New();
27 imageResult->SetInput( slicer->GetOutput() );
29 bbGetInputIn()->GetSpacing(spc);
30 imageResult->SetOutputSpacing( spc );
31 imageResult->SetOutputOrigin( 0,0,0 );
33 bbSetOutputOut( imageResult->GetOutput() );
37 bbSetOutputOut( bbGetInputIn() );
41 void ReSlicerBox::bbUserSetDefaultValues()
44 std::vector<int> nuevo(3,0);
46 bbSetInputOrigin(nuevo);
48 bbSetInputTransform(vtkIdentityTransform::New());
52 void ReSlicerBox::bbUserInitializeProcessing()
55 // THE INITIALIZATION METHOD BODY :
57 // but this is where you should allocate the internal/output pointers
59 image = vtkImageChangeInformation::New();
60 slicer =vtkImageReslice::New();
61 imageResult = vtkImageChangeInformation::New();
63 void ReSlicerBox::bbUserFinalizeProcessing()
66 // THE FINALIZATION METHOD BODY :
68 // but this is where you should desallocate the internal/output pointers
72 imageResult->Delete();
75 // EO namespace bbPackRecalage