58 #ifndef vtkImageReslice_h
59 #define vtkImageReslice_h
62 #include "vtkImagingCoreModule.h"
66 #define VTK_RESLICE_NEAREST VTK_NEAREST_INTERPOLATION
67 #define VTK_RESLICE_LINEAR VTK_LINEAR_INTERPOLATION
68 #define VTK_RESLICE_CUBIC VTK_CUBIC_INTERPOLATION
112 void SetResliceAxesDirectionCosines(
double x0,
double x1,
double x2,
113 double y0,
double y1,
double y2,
114 double z0,
double z1,
double z2);
118 this->SetResliceAxesDirectionCosines(x[0], x[1], x[2],
120 z[0], z[1], z[2]); };
122 this->SetResliceAxesDirectionCosines(xyz[0], xyz[1], xyz[2],
123 xyz[3], xyz[4], xyz[5],
124 xyz[6], xyz[7], xyz[8]); };
125 void GetResliceAxesDirectionCosines(
double x[3],
double y[3],
double z[3]);
127 this->GetResliceAxesDirectionCosines(&xyz[0], &xyz[3], &xyz[6]); };
129 this->GetResliceAxesDirectionCosines(this->ResliceAxesDirectionCosines);
130 return this->ResliceAxesDirectionCosines; };
140 void SetResliceAxesOrigin(
double x,
double y,
double z);
142 this->SetResliceAxesOrigin(xyz[0], xyz[1], xyz[2]); };
143 void GetResliceAxesOrigin(
double xyz[3]);
145 this->GetResliceAxesOrigin(this->ResliceAxesOrigin);
146 return this->ResliceAxesOrigin; };
187 vtkGetMacro(TransformInputSampling,
int);
198 vtkGetMacro(AutoCropOutput,
int);
206 vtkGetMacro(Wrap,
int);
216 vtkGetMacro(Mirror,
int);
232 vtkGetMacro(Border,
int);
240 vtkSetClampMacro(InterpolationMode,
int,
242 vtkGetMacro(InterpolationMode,
int);
249 virtual const char *GetInterpolationModeAsString();
269 vtkGetMacro(SlabMode,
int);
278 virtual const char *GetSlabModeAsString();
286 vtkGetMacro(SlabNumberOfSlices,
int);
297 vtkGetMacro(SlabTrapezoidIntegration,
int);
311 vtkGetMacro(SlabSliceSpacingFraction,
double);
320 vtkGetMacro(Optimization,
int);
333 vtkGetMacro(ScalarShift,
double);
345 vtkGetMacro(ScalarScale,
double)
360 vtkGetMacro(OutputScalarType,
int);
367 vtkSetVector4Macro(BackgroundColor,
double);
368 vtkGetVector4Macro(BackgroundColor,
double);
384 virtual void SetOutputSpacing(
double x,
double y,
double z);
386 this->SetOutputSpacing(a[0], a[1], a[2]); };
387 vtkGetVector3Macro(OutputSpacing,
double);
388 void SetOutputSpacingToDefault();
396 virtual void SetOutputOrigin(
double x,
double y,
double z);
398 this->SetOutputOrigin(a[0], a[1], a[2]); };
399 vtkGetVector3Macro(OutputOrigin,
double);
400 void SetOutputOriginToDefault();
408 virtual void SetOutputExtent(
int a,
int b,
int c,
int d,
int e,
int f);
410 this->SetOutputExtent(a[0], a[1], a[2], a[3], a[4], a[5]); };
411 vtkGetVector6Macro(OutputExtent,
int);
412 void SetOutputExtentToDefault();
427 vtkGetMacro(OutputDimensionality,
int);
450 void SetInterpolate(
int t) {
451 if (t && !this->GetInterpolate()) {
452 this->SetInterpolationModeToLinear(); }
453 else if (!t && this->GetInterpolate()) {
454 this->SetInterpolationModeToNearestNeighbor(); } };
456 this->SetInterpolate(1); };
458 this->SetInterpolate(0); };
479 vtkGetMacro(GenerateStencilOutput,
int);
498 double ResliceAxesDirectionCosines[9];
499 double ResliceAxesOrigin[3];
514 double BackgroundColor[4];
515 double OutputOrigin[3];
516 double OutputSpacing[3];
542 virtual int ConvertScalarInfo(
int &scalarType,
int &numComponents);
552 virtual void ConvertScalars(
void *inPtr,
void *outPtr,
553 int inputType,
int inputNumComponents,
554 int count,
int idX,
int idY,
int idZ,
558 int inputType,
int inputNumComponents,
559 int count,
int idX,
int idY,
int idZ,
int threadId) {
560 this->ConvertScalars(inPtr, outPtr, inputType, inputNumComponents,
561 count, idX, idY, idZ, threadId); }
563 void GetAutoCroppedOutputBounds(
vtkInformation *inInfo,
double bounds[6]);
576 vtkImageData **outData,
int ext[6],
int id) VTK_OVERRIDE;
583 return this->OptimizedTransform; };