BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaMaracasVisu,SliceImage)
BBTK_BLACK_BOX_IMPLEMENTATION(SliceImage,bbtk::AtomicBlackBox);
+
void SliceImage::Process()
{
vtkImageData *imagedata=NULL;
//EED 2017-01-01 Migration VTK7
#if VTK_MAJOR_VERSION <= 5
- imageReslice->SetInput( bbGetInputIn() );
+ imageReslice->SetInput( bbGetInputIn() );
#else
- imageReslice->SetInputData( bbGetInputIn() );
+ imageReslice->SetInputData( bbGetInputIn() );
#endif
- imageReslice->SetInformationInput(bbGetInputIn() );
+ imageReslice->SetInformationInput(bbGetInputIn() );
- double slice=bbGetInputSlice();
- if (slice<0)
- {
- slice=0;
- }
-
- if (bbGetInputTypeOrientation()==3)
- {
+ double slice=bbGetInputSlice();
+ if (slice<0)
+ {
+ slice=0;
+ }
+
+ if (bbGetInputTypeOrientation()==3)
+ {
// Orientation 3 = FREE
// v1 = [ v1x , v1y , v1z ]
// v2 = [ v2x , v2y , v2z ]
// SetResliceAxesDirectionCosines(v1x,v2x,v3x,v1y,v2y,v3y,v1z,v2z,v3z);
imageReslice->SetResliceAxesDirectionCosines( 1,0,0, 0,0,1, 0,-1,0 );
imageReslice->SetResliceAxesOrigin(0, slice*bbGetInputIn()->GetSpacing()[1],0 );
- } else
- {
+ } else {
// Orientation 0 = XY
// v1 = [ 1 , 0 , 0 ]
// v2 = [ 0 , 1 , 0 ]
imageReslice->SetResliceAxesOrigin(0,0, slice*bbGetInputIn()->GetSpacing()[2] );
}
imageReslice->SetOutputDimensionality(2);
- imageReslice->SetInterpolationModeToLinear();
-
-
-
-
-
-
-
-
+ if ( bbGetInputInterpolationMode()==0) { printf("EED neighbor\n"); imageReslice->SetInterpolationModeToNearestNeighbor(); }
+ if ( bbGetInputInterpolationMode()==1) { printf("EED linear\n"); imageReslice->SetInterpolationModeToLinear(); }
+ if ( bbGetInputInterpolationMode()==2) { printf("EED Cubic\n"); imageReslice->SetInterpolationModeToCubic(); }
+
//EED 2017-01-01 Migration VTK7
#if VTK_MAJOR_VERSION <= 5
imagedata = imageReslice->GetOutput();
bbSetInputIn(NULL);
bbSetInputZ(0);
bbSetInputSlice(0);
+ bbSetInputInterpolationMode(2); // Linear
bbSetInputTypeOrientation(0);
imageReslice=NULL;
std::vector<double> lstCos;