52 #ifndef vtkImageReslice_h 
   53 #define vtkImageReslice_h 
   55 #include "vtkImagingCoreModule.h"  
   59 #define VTK_RESLICE_NEAREST VTK_NEAREST_INTERPOLATION 
   60 #define VTK_RESLICE_LINEAR VTK_LINEAR_INTERPOLATION 
   61 #define VTK_RESLICE_CUBIC VTK_CUBIC_INTERPOLATION 
  105   void SetResliceAxesDirectionCosines(
double x0, 
double x1, 
double x2, 
double y0, 
double y1,
 
  106     double y2, 
double z0, 
double z1, 
double z2);
 
  109     this->SetResliceAxesDirectionCosines(x[0], x[1], x[2], y[0], y[1], y[2], z[0], z[1], z[2]);
 
  113     this->SetResliceAxesDirectionCosines(
 
  114       xyz[0], xyz[1], xyz[2], xyz[3], xyz[4], xyz[5], xyz[6], xyz[7], xyz[8]);
 
  116   void GetResliceAxesDirectionCosines(
double x[3], 
double y[3], 
double z[3]);
 
  119     this->GetResliceAxesDirectionCosines(&xyz[0], &xyz[3], &xyz[6]);
 
  123     this->GetResliceAxesDirectionCosines(this->ResliceAxesDirectionCosines);
 
  124     return this->ResliceAxesDirectionCosines;
 
  135   void SetResliceAxesOrigin(
double x, 
double y, 
double z);
 
  138     this->SetResliceAxesOrigin(xyz[0], xyz[1], xyz[2]);
 
  140   void GetResliceAxesOrigin(
double xyz[3]);
 
  143     this->GetResliceAxesOrigin(this->ResliceAxesOrigin);
 
  144     return this->ResliceAxesOrigin;
 
  185   vtkBooleanMacro(TransformInputSampling, 
vtkTypeBool);
 
  241   vtkSetMacro(BorderThickness, 
double);
 
  242   vtkGetMacro(BorderThickness, 
double);
 
  249   vtkGetMacro(InterpolationMode, 
int);
 
  253   virtual const char* GetInterpolationModeAsString();
 
  273   vtkGetMacro(SlabMode, 
int);
 
  278   virtual const char* GetSlabModeAsString();
 
  285   vtkSetMacro(SlabNumberOfSlices, 
int);
 
  286   vtkGetMacro(SlabNumberOfSlices, 
int);
 
  295   vtkSetMacro(SlabTrapezoidIntegration, 
vtkTypeBool);
 
  296   vtkBooleanMacro(SlabTrapezoidIntegration, 
vtkTypeBool);
 
  297   vtkGetMacro(SlabTrapezoidIntegration, 
vtkTypeBool);
 
  310   vtkSetMacro(SlabSliceSpacingFraction, 
double);
 
  311   vtkGetMacro(SlabSliceSpacingFraction, 
double);
 
  332   vtkSetMacro(ScalarShift, 
double);
 
  333   vtkGetMacro(ScalarShift, 
double);
 
  344   vtkSetMacro(ScalarScale, 
double);
 
  345   vtkGetMacro(ScalarScale, 
double);
 
  359   vtkSetMacro(OutputScalarType, 
int);
 
  360   vtkGetMacro(OutputScalarType, 
int);
 
  367   vtkSetVector4Macro(BackgroundColor, 
double);
 
  368   vtkGetVector4Macro(BackgroundColor, 
double);
 
  384   virtual void SetOutputSpacing(
double x, 
double y, 
double z);
 
  386   vtkGetVector3Macro(OutputSpacing, 
double);
 
  387   void SetOutputSpacingToDefault();
 
  395   virtual void SetOutputOrigin(
double x, 
double y, 
double z);
 
  397   vtkGetVector3Macro(OutputOrigin, 
double);
 
  398   void SetOutputOriginToDefault();
 
  406   virtual void SetOutputExtent(
int a, 
int b, 
int c, 
int d, 
int e, 
int f);
 
  409     this->SetOutputExtent(a[0], a[1], a[2], a[3], a[4], a[5]);
 
  411   vtkGetVector6Macro(OutputExtent, 
int);
 
  412   void SetOutputExtentToDefault();
 
  426   vtkSetMacro(OutputDimensionality, 
int);
 
  427   vtkGetMacro(OutputDimensionality, 
int);
 
  452     if (t && !this->GetInterpolate())
 
  454       this->SetInterpolationModeToLinear();
 
  456     else if (!t && this->GetInterpolate())
 
  458       this->SetInterpolationModeToNearestNeighbor();
 
  483   vtkBooleanMacro(GenerateStencilOutput, 
vtkTypeBool);
 
  500   double ResliceAxesDirectionCosines[9];
 
  501   double ResliceAxesOrigin[3];
 
  517   double BackgroundColor[4];
 
  518   double OutputOrigin[3];
 
  519   double OutputSpacing[3];
 
  545   virtual int ConvertScalarInfo(
int& scalarType, 
int& numComponents);
 
  555   virtual void ConvertScalars(
void* inPtr, 
void* outPtr, 
int inputType, 
int inputNumComponents,
 
  556     int count, 
int idX, 
int idY, 
int idZ, 
int threadId);
 
  559     int count, 
int idX, 
int idY, 
int idZ, 
int threadId)
 
  561     this->ConvertScalars(
 
  562       inPtr, outPtr, inputType, inputNumComponents, count, idX, idY, idZ, threadId);
 
  565   void GetAutoCroppedOutputBounds(
vtkInformation* inInfo, 
double bounds[6]);