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]);