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()[0])
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]) );
25 imageResult = vtkImageChangeInformation::New();
26 imageResult->SetInput( slicer->GetOutput() );
28 bbGetInputIn()->GetSpacing(spc);
29 imageResult->SetOutputSpacing( spc );
30 imageResult->SetOutputOrigin( 0,0,0 );
32 bbSetOutputOut( imageResult->GetOutput() );
36 bbSetOutputOut( bbGetInputIn() );
40 void ReSlicerBox::bbUserSetDefaultValues()
43 std::vector<int> nuevo(3,0);
45 bbSetInputOrigin(nuevo);
47 bbSetInputTransform(vtkIdentityTransform::New());
51 void ReSlicerBox::bbUserInitializeProcessing()
54 // THE INITIALIZATION METHOD BODY :
56 // but this is where you should allocate the internal/output pointers
58 image = vtkImageChangeInformation::New();
59 slicer =vtkImageReslice::New();
60 imageResult = vtkImageChangeInformation::New();
62 void ReSlicerBox::bbUserFinalizeProcessing()
65 // THE FINALIZATION METHOD BODY :
67 // but this is where you should desallocate the internal/output pointers
71 imageResult->Delete();
74 // EO namespace bbPackRecalage