namespace bbcreaMaracasVisu
{
-
-
BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaMaracasVisu,SliceImage)
BBTK_BLACK_BOX_IMPLEMENTATION(SliceImage,bbtk::AtomicBlackBox);
bbGetInputResliceAxesDirectionCosines()[5], // v2z
bbGetInputResliceAxesDirectionCosines()[8] // v3z
);
- imageReslice->SetResliceAxesOrigin( slice*bbGetInputIn()->GetSpacing()[0] ,0 ,0);
+ std::vector<double> AxOr = bbGetInputAxisOrigin();
+ double spc[3];
+ bbGetInputIn()->GetSpacing(spc);
+ if (AxOr.size()==3)
+ {
+ imageReslice->SetResliceAxesOrigin( AxOr[0]*spc[0] , AxOr[1]*spc[1] , AxOr[2]*spc[2] );
+ } else {
+ imageReslice->SetResliceAxesOrigin( slice*bbGetInputIn()->GetSpacing()[0] ,0 ,0);
+ }
} else if (bbGetInputTypeOrientation()==2)
{
// Orientation 2 = Y-Z
// v3 = [ -1 ,0 , 0 ]
// SetResliceAxesDirectionCosines(v1x,v2x,v3x,v1y,v2y,v3y,v1z,v2z,v3z);
imageReslice->SetResliceAxesDirectionCosines( 0,1,0, 0,0,-1, -1,0,0 );
- imageReslice->SetResliceAxesOrigin( slice*bbGetInputIn()->GetSpacing()[0] ,0 ,0);
} else if (bbGetInputTypeOrientation()==-2)
{
// Orientation -2 = ZY
BBTK_DECLARE_INPUT(In,vtkImageData*);
BBTK_DECLARE_INPUT(Z, double );
BBTK_DECLARE_INPUT(Slice, double );
+ BBTK_DECLARE_INPUT(AxisOrigin, std::vector<double> );
BBTK_DECLARE_INPUT(InterpolationMode,int);
BBTK_DECLARE_INPUT(TypeOrientation, int );
BBTK_DECLARE_INPUT(ResliceAxesDirectionCosines, std::vector<double> );
BBTK_INPUT(SliceImage,In,"Input image",vtkImageData *,"");
BBTK_INPUT(SliceImage,Slice,"Slice",double,"");
+ BBTK_INPUT(SliceImage,AxisOrigin,"Axis origin [px py pz] ",std::vector<double>,"");
BBTK_INPUT(SliceImage,Z,"Z (deprecated)",double,"");
BBTK_INPUT(SliceImage,InterpolationMode,"(default 0) 0=NearestNeighbor 1=Linear 2=Cubic",int,"");
BBTK_INPUT(SliceImage,ResliceAxesDirectionCosines,"ResliceAxesDirectionCosines [v1x,v1y,v1z,v2x,v2y,v2z,v3x,v3y,v3z], ",std::vector<double>,"");