void ReSlicerBox::Process()
{
- if(bbGetInputOrigin()[0] != NULL)
+ if(!bbGetInputOrigin().empty())
{
image = vtkImageChangeInformation::New();
image->SetInput( bbGetInputIn() );
- image->SetOutputSpacing( 1,1,1 );
+ image->SetOutputSpacing( 1,1,1 );
+ if(bbGetInputCentered())
+ {
+ image->CenterImageOn();
+ }
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();
-
+
imageResult = vtkImageChangeInformation::New();
imageResult->SetInput( slicer->GetOutput() );
double spc[3];
}
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(vtkTransform::New());
bbSetOutputOut(NULL);
+ bbSetInputCentered(false);
+ bbSetInputInterpolate(false);
}
void ReSlicerBox::bbUserInitializeProcessing()
// THE FINALIZATION METHOD BODY :
// Here does nothing
// but this is where you should desallocate the internal/output pointers
-// if any
-
+// if any
+ image->Delete();
+ slicer->Delete();
+ imageResult->Delete();
}
}
// EO namespace bbPackRecalage
\ No newline at end of file