BBTK_BLACK_BOX_IMPLEMENTATION(ReSlicerBox,bbtk::AtomicBlackBox);
void ReSlicerBox::Process()
{
+ std::cout << "NTU ReSlicerBox : entered 1" << std::endl;
- if(bbGetInputOrigin()[0])
+ if(!bbGetInputOrigin().empty() && bbGetInputTransform() != NULL)
{
+ std::cout << "NTU ReSlicerBox : entered 2" << std::endl;
+
image = vtkImageChangeInformation::New();
image->SetInput( bbGetInputIn() );
- image->SetOutputSpacing( 1,1,1 );
+ image->SetOutputSpacing( 1,1,1 );
+
+ std::cout << "NTU ReSlicerBox : entered 3" << std::endl;
+
+ if(bbGetInputCentered())
+ {
+ image->CenterImageOn();
+ }
+
+ std::cout << "NTU ReSlicerBox : entered 4" << std::endl;
slicer =vtkImageReslice::New();
slicer->SetInput( image->GetOutput() );
+ slicer->SetInformationInput( image->GetOutput() );
slicer->SetResliceTransform(bbGetInputTransform());
- slicer->SetOutputOrigin( 0 , 0 , 0 );
- slicer->SetOutputOrigin( -(bbGetInputOrigin()[0]) , -(bbGetInputOrigin()[1]) , -(bbGetInputOrigin()[2]) );
+ slicer->SetOutputOrigin( -(bbGetInputOrigin()[0]) , -(bbGetInputOrigin()[1]) , -(bbGetInputOrigin()[2]) );
+ if(bbGetInputInterpolate())
+ {
+ slicer->InterpolateOn();
+ }
slicer->Update();
-
+
+ std::cout << "NTU ReSlicerBox : entered 5" << std::endl;
+
imageResult = vtkImageChangeInformation::New();
imageResult->SetInput( slicer->GetOutput() );
double spc[3];
{
bbSetOutputOut( bbGetInputIn() );
}
+
+ std::cout << "NTU ReSlicerBox : out" << std::endl;
}
void ReSlicerBox::bbUserSetDefaultValues()
-{
-
- std::vector<int> nuevo(3,0);
- nuevo.push_back(0);
- bbSetInputOrigin(nuevo);
+{
+ std::vector<int> empty;
+ bbSetInputOrigin(empty);
bbSetInputIn(NULL);
- bbSetInputTransform(vtkIdentityTransform::New());
+ bbSetInputTransform(NULL);
bbSetOutputOut(NULL);
+ bbSetInputCentered(false);
+ bbSetInputInterpolate(false);
}
void ReSlicerBox::bbUserInitializeProcessing()
imageResult = vtkImageChangeInformation::New();
}
void ReSlicerBox::bbUserFinalizeProcessing()
-{
-
-// THE FINALIZATION METHOD BODY :
-// Here does nothing
-// but this is where you should desallocate the internal/output pointers
-// if any
+{
image->Delete();
slicer->Delete();
imageResult->Delete();
}
}
-// EO namespace bbPackRecalage
-
+// EO namespace bbPackRecalage
\ No newline at end of file