57 #ifndef __vtkImageReslice_h
58 #define __vtkImageReslice_h
64 #define VTK_RESLICE_NEAREST 0
65 #define VTK_RESLICE_LINEAR 1
66 #define VTK_RESLICE_RESERVED_2 2
67 #define VTK_RESLICE_CUBIC 3
104 void SetResliceAxesDirectionCosines(
double x0,
double x1,
double x2,
105 double y0,
double y1,
double y2,
106 double z0,
double z1,
double z2);
110 this->SetResliceAxesDirectionCosines(x[0], x[1], x[2],
112 z[0], z[1], z[2]); };
114 this->SetResliceAxesDirectionCosines(xyz[0], xyz[1], xyz[2],
115 xyz[3], xyz[4], xyz[5],
116 xyz[6], xyz[7], xyz[8]); };
117 void GetResliceAxesDirectionCosines(
double x[3],
double y[3],
double z[3]);
119 this->GetResliceAxesDirectionCosines(&xyz[0], &xyz[3], &xyz[6]); };
121 this->GetResliceAxesDirectionCosines(this->ResliceAxesDirectionCosines);
122 return this->ResliceAxesDirectionCosines; };
129 void SetResliceAxesOrigin(
double x,
double y,
double z);
131 this->SetResliceAxesOrigin(xyz[0], xyz[1], xyz[2]); };
132 void GetResliceAxesOrigin(
double xyz[3]);
134 this->GetResliceAxesOrigin(this->ResliceAxesOrigin);
135 return this->ResliceAxesOrigin; };
166 vtkSetMacro(TransformInputSampling,
int);
167 vtkBooleanMacro(TransformInputSampling,
int);
168 vtkGetMacro(TransformInputSampling,
int);
175 vtkSetMacro(AutoCropOutput,
int);
176 vtkBooleanMacro(AutoCropOutput,
int);
177 vtkGetMacro(AutoCropOutput,
int);
182 vtkSetMacro(Wrap,
int);
183 vtkGetMacro(Wrap,
int);
184 vtkBooleanMacro(Wrap,
int);
190 vtkSetMacro(Mirror,
int);
191 vtkGetMacro(Mirror,
int);
192 vtkBooleanMacro(Mirror,
int);
203 vtkSetMacro(Border,
int);
204 vtkGetMacro(Border,
int);
205 vtkBooleanMacro(Border,
int);
210 vtkSetClampMacro(InterpolationMode,
int,
212 vtkGetMacro(InterpolationMode,
int);
219 virtual const char *GetInterpolationModeAsString();
225 vtkSetMacro(Optimization,
int);
226 vtkGetMacro(Optimization,
int);
227 vtkBooleanMacro(Optimization,
int);
232 vtkSetVector4Macro(BackgroundColor,
double);
233 vtkGetVector4Macro(BackgroundColor,
double);
245 virtual void SetOutputSpacing(
double x,
double y,
double z);
247 this->SetOutputSpacing(a[0], a[1], a[2]); };
248 vtkGetVector3Macro(OutputSpacing,
double);
249 void SetOutputSpacingToDefault();
255 virtual void SetOutputOrigin(
double x,
double y,
double z);
257 this->SetOutputOrigin(a[0], a[1], a[2]); };
258 vtkGetVector3Macro(OutputOrigin,
double);
259 void SetOutputOriginToDefault();
265 virtual void SetOutputExtent(
int a,
int b,
int c,
int d,
int e,
int f);
267 this->SetOutputExtent(a[0], a[1], a[2], a[3], a[4], a[5]); };
268 vtkGetVector6Macro(OutputExtent,
int);
269 void SetOutputExtentToDefault();
279 vtkSetMacro(OutputDimensionality,
int);
280 vtkGetMacro(OutputDimensionality,
int);
297 if (t && !this->GetInterpolate()) {
298 this->SetInterpolationModeToLinear(); }
299 else if (!t && this->GetInterpolate()) {
300 this->SetInterpolationModeToNearestNeighbor(); } };
302 this->SetInterpolate(1); };
304 this->SetInterpolate(0); };
322 double ResliceAxesDirectionCosines[9];
323 double ResliceAxesOrigin[3];
331 double BackgroundColor[4];
332 double OutputOrigin[3];
333 double OutputSpacing[3];
346 void GetAutoCroppedOutputBounds(
vtkInformation *inInfo,
double bounds[6]);
361 return this->OptimizedTransform; };
double * GetResliceAxesDirectionCosines()
#define VTK_RESLICE_NEAREST
represent and manipulate 4x4 transformation matrices
vtkAbstractTransform * GetOptimizedTransform()
#define VTK_RESLICE_CUBIC
vtkMatrix4x4 * IndexMatrix
void SetInterpolationModeToLinear()
void SetInterpolationModeToCubic()
double * GetResliceAxesOrigin()
#define VTK_RESLICE_LINEAR
int TransformInputSampling
Detect and break reference loops.
void PrintSelf(ostream &os, vtkIndent indent)
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
virtual void ReportReferences(vtkGarbageCollector *)
Generic filter that has one input..
virtual unsigned long GetMTime()
a simple class to control print indentation
efficient description of an image stencil
vtkAbstractTransform * OptimizedTransform
topologically and geometrically regular array of data
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
virtual int FillInputPortInformation(int port, vtkInformation *info)
virtual void ThreadedRequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector, vtkImageData ***inData, vtkImageData **outData, int extent[6], int threadId)
double GetBackgroundLevel()
virtual void SetOutputExtent(const int a[6])
vtkImageData * InformationInput
Reslices a volume along a new set of axes.
void SetResliceAxesDirectionCosines(const double x[3], const double y[3], const double z[3])
void SetBackgroundLevel(double v)
void SetInterpolate(int t)
vtkMatrix4x4 * ResliceAxes
void GetResliceAxesDirectionCosines(double xyz[9])
void SetResliceAxesDirectionCosines(const double xyz[9])
virtual void SetOutputSpacing(const double a[3])
static vtkAlgorithm * New()
void SetInterpolationModeToNearestNeighbor()
virtual void SetOutputOrigin(const double a[3])
vtkAbstractTransform * ResliceTransform
void SetResliceAxesOrigin(const double xyz[3])