VTK: Imaging/Core/vtkImageReslice.h Source File

| VTK 9.3.1

vtkImageReslice.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
53 #ifndef vtkImageReslice_h
54 #define vtkImageReslice_h
55
56 #include "vtkImagingCoreModule.h" // For export macro
57 #include "vtkThreadedImageAlgorithm.h"
58
59 // interpolation mode constants
60 #define VTK_RESLICE_NEAREST VTK_NEAREST_INTERPOLATION
61 #define VTK_RESLICE_LINEAR VTK_LINEAR_INTERPOLATION
62 #define VTK_RESLICE_CUBIC VTK_CUBIC_INTERPOLATION
63
64 VTK_ABI_NAMESPACE_BEGIN
65 class vtkImageData;
66 class vtkAbstractTransform;
67 class vtkMatrix4x4;
68 class vtkImageStencilData;
69 class vtkScalarsToColors;
70 class vtkAbstractImageInterpolator;
71
72 class VTKIMAGINGCORE_EXPORT vtkImageReslice : public vtkThreadedImageAlgorithm
73 {
74 public:
75 static vtkImageReslice* New();
76 vtkTypeMacro(vtkImageReslice, vtkThreadedImageAlgorithm);
77
78 void PrintSelf(ostream& os, vtkIndent indent) override;
79
81
96 virtual void SetResliceAxes(vtkMatrix4x4*);
97 vtkGetObjectMacro(ResliceAxes, vtkMatrix4x4);
99
101
107 void SetResliceAxesDirectionCosines(double x0, double x1, double x2, double y0, double y1,
108 double y2, double z0, double z1, double z2);
109 void SetResliceAxesDirectionCosines(const double x[3], const double y[3], const double z[3])
110 {
111 this->SetResliceAxesDirectionCosines(x[0], x[1], x[2], y[0], y[1], y[2], z[0], z[1], z[2]);
112 }
113 void SetResliceAxesDirectionCosines(const double xyz[9])
114 {
115 this->SetResliceAxesDirectionCosines(
116 xyz[0], xyz[1], xyz[2], xyz[3], xyz[4], xyz[5], xyz[6], xyz[7], xyz[8]);
117 }
118 void GetResliceAxesDirectionCosines(double x[3], double y[3], double z[3]);
119 void GetResliceAxesDirectionCosines(double xyz[9])
120 {
121 this->GetResliceAxesDirectionCosines(&xyz[0], &xyz[3], &xyz[6]);
122 }
123 double* GetResliceAxesDirectionCosines() VTK_SIZEHINT(9)
124 {
125 this->GetResliceAxesDirectionCosines(this->ResliceAxesDirectionCosines);
126 return this->ResliceAxesDirectionCosines;
127 }
129
131
137 void SetResliceAxesOrigin(double x, double y, double z);
138 void SetResliceAxesOrigin(const double xyz[3])
139 {
140 this->SetResliceAxesOrigin(xyz[0], xyz[1], xyz[2]);
141 }
142 void GetResliceAxesOrigin(double xyz[3]);
143 double* GetResliceAxesOrigin() VTK_SIZEHINT(3)
144 {
145 this->GetResliceAxesOrigin(this->ResliceAxesOrigin);
146 return this->ResliceAxesOrigin;
147 }
149
151
160 virtual void SetResliceTransform(vtkAbstractTransform*);
161 vtkGetObjectMacro(ResliceTransform, vtkAbstractTransform);
163
165
174 virtual void SetInformationInput(vtkImageData*);
175 vtkGetObjectMacro(InformationInput, vtkImageData);
177
179
186 vtkSetMacro(TransformInputSampling, vtkTypeBool);
187 vtkBooleanMacro(TransformInputSampling, vtkTypeBool);
188 vtkGetMacro(TransformInputSampling, vtkTypeBool);
190
192
197 vtkSetMacro(AutoCropOutput, vtkTypeBool);
198 vtkBooleanMacro(AutoCropOutput, vtkTypeBool);
199 vtkGetMacro(AutoCropOutput, vtkTypeBool);
201
203
206 vtkSetMacro(Wrap, vtkTypeBool);
207 vtkGetMacro(Wrap, vtkTypeBool);
208 vtkBooleanMacro(Wrap, vtkTypeBool);
210
212
216 vtkSetMacro(Mirror, vtkTypeBool);
217 vtkGetMacro(Mirror, vtkTypeBool);
218 vtkBooleanMacro(Mirror, vtkTypeBool);
220
222
232 vtkSetMacro(Border, vtkTypeBool);
233 vtkGetMacro(Border, vtkTypeBool);
234 vtkBooleanMacro(Border, vtkTypeBool);
236
238
243 vtkSetMacro(BorderThickness, double);
244 vtkGetMacro(BorderThickness, double);
246
250 vtkSetClampMacro(InterpolationMode, int, VTK_RESLICE_NEAREST, VTK_RESLICE_CUBIC);
251 vtkGetMacro(InterpolationMode, int);
252 void SetInterpolationModeToNearestNeighbor() { this->SetInterpolationMode(VTK_RESLICE_NEAREST); }
253 void SetInterpolationModeToLinear() { this->SetInterpolationMode(VTK_RESLICE_LINEAR); }
254 void SetInterpolationModeToCubic() { this->SetInterpolationMode(VTK_RESLICE_CUBIC); }
255 virtual const char* GetInterpolationModeAsString();
257
259
263 virtual void SetInterpolator(vtkAbstractImageInterpolator* sampler);
264 virtual vtkAbstractImageInterpolator* GetInterpolator();
266
268
274 vtkSetClampMacro(SlabMode, int, VTK_IMAGE_SLAB_MIN, VTK_IMAGE_SLAB_SUM);
275 vtkGetMacro(SlabMode, int);
276 void SetSlabModeToMin() { this->SetSlabMode(VTK_IMAGE_SLAB_MIN); }
277 void SetSlabModeToMax() { this->SetSlabMode(VTK_IMAGE_SLAB_MAX); }
278 void SetSlabModeToMean() { this->SetSlabMode(VTK_IMAGE_SLAB_MEAN); }
279 void SetSlabModeToSum() { this->SetSlabMode(VTK_IMAGE_SLAB_SUM); }
280 virtual const char* GetSlabModeAsString();
282
284
287 vtkSetMacro(SlabNumberOfSlices, int);
288 vtkGetMacro(SlabNumberOfSlices, int);
290
292
297 vtkSetMacro(SlabTrapezoidIntegration, vtkTypeBool);
298 vtkBooleanMacro(SlabTrapezoidIntegration, vtkTypeBool);
299 vtkGetMacro(SlabTrapezoidIntegration, vtkTypeBool);
301
303
312 vtkSetMacro(SlabSliceSpacingFraction, double);
313 vtkGetMacro(SlabSliceSpacingFraction, double);
315
317
321 vtkSetMacro(Optimization, vtkTypeBool);
322 vtkGetMacro(Optimization, vtkTypeBool);
323 vtkBooleanMacro(Optimization, vtkTypeBool);
325
327
334 vtkSetMacro(ScalarShift, double);
335 vtkGetMacro(ScalarShift, double);
337
339
346 vtkSetMacro(ScalarScale, double);
347 vtkGetMacro(ScalarScale, double);
349
351
361 vtkSetMacro(OutputScalarType, int);
362 vtkGetMacro(OutputScalarType, int);
364
366
369 vtkSetVector4Macro(BackgroundColor, double);
370 vtkGetVector4Macro(BackgroundColor, double);
372
374
377 void SetBackgroundLevel(double v) { this->SetBackgroundColor(v, v, v, v); }
378 double GetBackgroundLevel() { return this->GetBackgroundColor()[0]; }
380
382
386 virtual void SetOutputSpacing(double x, double y, double z);
387 virtual void SetOutputSpacing(const double a[3]) { this->SetOutputSpacing(a[0], a[1], a[2]); }
388 vtkGetVector3Macro(OutputSpacing, double);
389 void SetOutputSpacingToDefault();
391
393
402 virtual void SetOutputDirection(double xx, double xy, double xz, double yx, double yy, double yz,
403 double zx, double zy, double zz);
404 virtual void SetOutputDirection(const double a[9])
405 {
406 this->SetOutputDirection(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]);
407 }
408 vtkGetVector3Macro(OutputDirection, double);
409 void SetOutputDirectionToDefault();
411
413
417 virtual void SetOutputOrigin(double x, double y, double z);
418 virtual void SetOutputOrigin(const double a[3]) { this->SetOutputOrigin(a[0], a[1], a[2]); }
419 vtkGetVector3Macro(OutputOrigin, double);
420 void SetOutputOriginToDefault();
422
424
428 virtual void SetOutputExtent(int a, int b, int c, int d, int e, int f);
429 virtual void SetOutputExtent(const int a[6])
430 {
431 this->SetOutputExtent(a[0], a[1], a[2], a[3], a[4], a[5]);
432 }
433 vtkGetVector6Macro(OutputExtent, int);
434 void SetOutputExtentToDefault();
436
438
448 vtkSetMacro(OutputDimensionality, int);
449 vtkGetMacro(OutputDimensionality, int);
451
456 vtkMTimeType GetMTime() override;
457
461 void ReportReferences(vtkGarbageCollector*) override;
462
464
472 void SetInterpolate(int t)
473 {
474 if (t && !this->GetInterpolate())
475 {
476 this->SetInterpolationModeToLinear();
477 }
478 else if (!t && this->GetInterpolate())
479 {
480 this->SetInterpolationModeToNearestNeighbor();
481 }
482 }
483 void InterpolateOn() { this->SetInterpolate(1); }
484 void InterpolateOff() { this->SetInterpolate(0); }
485 int GetInterpolate() { return (this->GetInterpolationMode() != VTK_RESLICE_NEAREST); }
487
489
494 void SetStencilData(vtkImageStencilData* stencil);
495 vtkImageStencilData* GetStencil();
497
499
503 vtkSetMacro(GenerateStencilOutput, vtkTypeBool);
504 vtkGetMacro(GenerateStencilOutput, vtkTypeBool);
505 vtkBooleanMacro(GenerateStencilOutput, vtkTypeBool);
507
509
512 vtkAlgorithmOutput* GetStencilOutputPort() { return this->GetOutputPort(1); }
513 vtkImageStencilData* GetStencilOutput();
514 void SetStencilOutput(vtkImageStencilData* stencil);
516
517 protected:
518 vtkImageReslice();
519 ~vtkImageReslice() override;
520
521 vtkMatrix4x4* ResliceAxes;
522 double ResliceAxesDirectionCosines[9];
523 double ResliceAxesOrigin[3];
524 vtkAbstractTransform* ResliceTransform;
525 vtkAbstractImageInterpolator* Interpolator;
526 vtkImageData* InformationInput;
527 vtkTypeBool Wrap;
528 vtkTypeBool Mirror;
529 vtkTypeBool Border;
530 int InterpolationMode;
531 vtkTypeBool Optimization;
532 int SlabMode;
533 int SlabNumberOfSlices;
534 vtkTypeBool SlabTrapezoidIntegration;
535 double SlabSliceSpacingFraction;
536 double ScalarShift;
537 double ScalarScale;
538 double BorderThickness;
539 double BackgroundColor[4];
540 double OutputDirection[9];
541 double OutputOrigin[3];
542 double OutputSpacing[3];
543 int OutputExtent[6];
544 int OutputScalarType;
545 int OutputDimensionality;
546 vtkTypeBool TransformInputSampling;
547 vtkTypeBool AutoCropOutput;
548 int HitInputExtent;
549 int UsePermuteExecute;
550 int ComputeOutputSpacing;
551 bool PassDirectionToOutput;
552 int ComputeOutputOrigin;
553 int ComputeOutputExtent;
554 vtkTypeBool GenerateStencilOutput;
555
556 vtkMatrix4x4* IndexMatrix;
557 vtkAbstractTransform* OptimizedTransform;
558
563 vtkTypeBool HasConvertScalars;
564
569 virtual int ConvertScalarInfo(int& scalarType, int& numComponents);
570
579 virtual void ConvertScalars(void* inPtr, void* outPtr, int inputType, int inputNumComponents,
580 int count, int idX, int idY, int idZ, int threadId);
581
582 void ConvertScalarsBase(void* inPtr, void* outPtr, int inputType, int inputNumComponents,
583 int count, int idX, int idY, int idZ, int threadId)
584 {
585 this->ConvertScalars(
586 inPtr, outPtr, inputType, inputNumComponents, count, idX, idY, idZ, threadId);
587 }
588
594 int RequestInformationBase(vtkInformationVector**, vtkInformationVector*);
595
596 void GetAutoCroppedOutputBounds(
597 vtkInformation* inInfo, const double outDirection[9], double bounds[6]);
598 void AllocateOutputData(vtkImageData* output, vtkInformation* outInfo, int* uExtent) override;
599 vtkImageData* AllocateOutputData(vtkDataObject*, vtkInformation*) override;
600 int RequestInformation(vtkInformation*, vtkInformationVector**, vtkInformationVector*) override;
601 int RequestUpdateExtent(vtkInformation*, vtkInformationVector**, vtkInformationVector*) override;
602 int RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) override;
603 void ThreadedRequestData(vtkInformation* request, vtkInformationVector** inputVector,
604 vtkInformationVector* outputVector, vtkImageData*** inData, vtkImageData** outData, int ext[6],
605 int id) override;
606 int FillInputPortInformation(int port, vtkInformation* info) override;
607 int FillOutputPortInformation(int port, vtkInformation* info) override;
608
609 vtkMatrix4x4* GetIndexMatrix(vtkInformation* inInfo, vtkInformation* outInfo);
610 vtkAbstractTransform* GetOptimizedTransform() { return this->OptimizedTransform; }
611
612 private:
613 vtkImageReslice(const vtkImageReslice&) = delete;
614 void operator=(const vtkImageReslice&) = delete;
615 };
616
617 VTK_ABI_NAMESPACE_END
618 #endif
vtkAbstractImageInterpolator
interpolate data values from images
Definition: vtkAbstractImageInterpolator.h:42
vtkAbstractTransform
superclass for all geometric transformations
Definition: vtkAbstractTransform.h:39
vtkAlgorithmOutput
Proxy object to connect input/output ports.
Definition: vtkAlgorithmOutput.h:41
vtkAlgorithm::GetOutputPort
vtkAlgorithmOutput * GetOutputPort()
Definition: vtkAlgorithm.h:509
vtkDataObject
general representation of visualization data
Definition: vtkDataObject.h:64
vtkGarbageCollector
Detect and break reference loops.
Definition: vtkGarbageCollector.h:80
vtkImageData
topologically and geometrically regular array of data
Definition: vtkImageData.h:52
vtkImageReslice
Reslices a volume along a new set of axes.
Definition: vtkImageReslice.h:73
vtkImageReslice::InterpolateOff
void InterpolateOff()
Convenient methods for switching between nearest-neighbor and linear interpolation.
Definition: vtkImageReslice.h:484
vtkImageReslice::BorderThickness
double BorderThickness
Definition: vtkImageReslice.h:538
vtkImageReslice::SetResliceAxesDirectionCosines
void SetResliceAxesDirectionCosines(const double x[3], const double y[3], const double z[3])
Specify the direction cosines for the ResliceAxes (i.e.
Definition: vtkImageReslice.h:109
vtkImageReslice::SetOutputOrigin
virtual void SetOutputOrigin(const double a[3])
Set the origin for the output data.
Definition: vtkImageReslice.h:418
vtkImageReslice::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkImageReslice::ReportReferences
void ReportReferences(vtkGarbageCollector *) override
Report object referenced by instances of this class.
vtkImageReslice::FillInputPortInformation
int FillInputPortInformation(int port, vtkInformation *info) override
These method should be reimplemented by subclasses that have more than a single input or single outpu...
vtkImageReslice::GetResliceAxesOrigin
double * GetResliceAxesOrigin()
Specify the origin for the ResliceAxes (i.e.
Definition: vtkImageReslice.h:143
vtkImageReslice::SetOutputExtent
virtual void SetOutputExtent(int a, int b, int c, int d, int e, int f)
Set the extent for the output data.
vtkImageReslice::SetResliceAxesDirectionCosines
void SetResliceAxesDirectionCosines(const double xyz[9])
Specify the direction cosines for the ResliceAxes (i.e.
Definition: vtkImageReslice.h:113
vtkImageReslice::GetInterpolationModeAsString
virtual const char * GetInterpolationModeAsString()
vtkImageReslice::Wrap
vtkTypeBool Wrap
Definition: vtkImageReslice.h:527
vtkImageReslice::vtkImageReslice
vtkImageReslice()
vtkImageReslice::TransformInputSampling
vtkTypeBool TransformInputSampling
Definition: vtkImageReslice.h:546
vtkImageReslice::GetAutoCroppedOutputBounds
void GetAutoCroppedOutputBounds(vtkInformation *inInfo, const double outDirection[9], double bounds[6])
vtkImageReslice::SetResliceTransform
virtual void SetResliceTransform(vtkAbstractTransform *)
Set a transform to be applied to the resampling grid that has been defined via the ResliceAxes and th...
vtkImageReslice::SlabNumberOfSlices
int SlabNumberOfSlices
Definition: vtkImageReslice.h:533
vtkImageReslice::Border
vtkTypeBool Border
Definition: vtkImageReslice.h:529
vtkImageReslice::RequestInformationBase
int RequestInformationBase(vtkInformationVector **, vtkInformationVector *)
For derived classes, this should be called at the very end of RequestInformation() to ensure that var...
vtkImageReslice::SetResliceAxesDirectionCosines
void SetResliceAxesDirectionCosines(double x0, double x1, double x2, double y0, double y1, double y2, double z0, double z1, double z2)
Specify the direction cosines for the ResliceAxes (i.e.
vtkImageReslice::HasConvertScalars
vtkTypeBool HasConvertScalars
This should be set to 1 by derived classes that override the ConvertScalars method.
Definition: vtkImageReslice.h:563
vtkImageReslice::UsePermuteExecute
int UsePermuteExecute
Definition: vtkImageReslice.h:549
vtkImageReslice::New
static vtkImageReslice * New()
vtkImageReslice::SetSlabModeToMean
void SetSlabModeToMean()
Set the slab mode, for generating thick slices.
Definition: vtkImageReslice.h:278
vtkImageReslice::HitInputExtent
int HitInputExtent
Definition: vtkImageReslice.h:548
vtkImageReslice::InterpolateOn
void InterpolateOn()
Convenient methods for switching between nearest-neighbor and linear interpolation.
Definition: vtkImageReslice.h:483
vtkImageReslice::SetResliceAxesOrigin
void SetResliceAxesOrigin(double x, double y, double z)
Specify the origin for the ResliceAxes (i.e.
vtkImageReslice::SetResliceAxesOrigin
void SetResliceAxesOrigin(const double xyz[3])
Specify the origin for the ResliceAxes (i.e.
Definition: vtkImageReslice.h:138
vtkImageReslice::ConvertScalars
virtual void ConvertScalars(void *inPtr, void *outPtr, int inputType, int inputNumComponents, int count, int idX, int idY, int idZ, int threadId)
This should be overridden by derived classes that operate on the interpolated data before it is place...
vtkImageReslice::GetResliceAxesDirectionCosines
void GetResliceAxesDirectionCosines(double xyz[9])
Specify the direction cosines for the ResliceAxes (i.e.
Definition: vtkImageReslice.h:119
vtkImageReslice::SetOutputExtent
virtual void SetOutputExtent(const int a[6])
Set the extent for the output data.
Definition: vtkImageReslice.h:429
vtkImageReslice::SetOutputOrigin
virtual void SetOutputOrigin(double x, double y, double z)
Set the origin for the output data.
vtkImageReslice::Optimization
vtkTypeBool Optimization
Definition: vtkImageReslice.h:531
vtkImageReslice::RequestInformation
int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Subclasses can reimplement this method to collect information from their inputs and set information f...
vtkImageReslice::SetOutputSpacingToDefault
void SetOutputSpacingToDefault()
Set the voxel spacing for the output data.
vtkImageReslice::SetOutputDirection
virtual void SetOutputDirection(const double a[9])
Set the direction for the output data.
Definition: vtkImageReslice.h:404
vtkImageReslice::SetStencilOutput
void SetStencilOutput(vtkImageStencilData *stencil)
Get the output stencil.
vtkImageReslice::ThreadedRequestData
void ThreadedRequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector, vtkImageData ***inData, vtkImageData **outData, int ext[6], int id) override
If the subclass does not define an Execute method, then the task will be broken up,...
vtkImageReslice::GetResliceAxesDirectionCosines
double * GetResliceAxesDirectionCosines()
Specify the direction cosines for the ResliceAxes (i.e.
Definition: vtkImageReslice.h:123
vtkImageReslice::SetInterpolationModeToCubic
void SetInterpolationModeToCubic()
Definition: vtkImageReslice.h:254
vtkImageReslice::SetOutputDirection
virtual void SetOutputDirection(double xx, double xy, double xz, double yx, double yy, double yz, double zx, double zy, double zz)
Set the direction for the output data.
vtkImageReslice::GetStencilOutputPort
vtkAlgorithmOutput * GetStencilOutputPort()
Get the output stencil.
Definition: vtkImageReslice.h:512
vtkImageReslice::RequestUpdateExtent
int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Subclasses can reimplement this method to translate the update extent requests from each output port ...
vtkImageReslice::SlabSliceSpacingFraction
double SlabSliceSpacingFraction
Definition: vtkImageReslice.h:535
vtkImageReslice::Mirror
vtkTypeBool Mirror
Definition: vtkImageReslice.h:528
vtkImageReslice::ComputeOutputExtent
int ComputeOutputExtent
Definition: vtkImageReslice.h:553
vtkImageReslice::GetInterpolate
int GetInterpolate()
Convenient methods for switching between nearest-neighbor and linear interpolation.
Definition: vtkImageReslice.h:485
vtkImageReslice::GetResliceAxesOrigin
void GetResliceAxesOrigin(double xyz[3])
Specify the origin for the ResliceAxes (i.e.
vtkImageReslice::SetSlabModeToMin
void SetSlabModeToMin()
Set the slab mode, for generating thick slices.
Definition: vtkImageReslice.h:276
vtkImageReslice::GetStencilOutput
vtkImageStencilData * GetStencilOutput()
Get the output stencil.
vtkImageReslice::SetOutputSpacing
virtual void SetOutputSpacing(const double a[3])
Set the voxel spacing for the output data.
Definition: vtkImageReslice.h:387
vtkImageReslice::GetBackgroundLevel
double GetBackgroundLevel()
Set background grey level (for single-component images).
Definition: vtkImageReslice.h:378
vtkImageReslice::GetStencil
vtkImageStencilData * GetStencil()
Use a stencil to limit the calculations to a specific region of the output.
vtkImageReslice::ConvertScalarInfo
virtual int ConvertScalarInfo(int &scalarType, int &numComponents)
This should be overridden by derived classes that operate on the interpolated data before it is place...
vtkImageReslice::~vtkImageReslice
~vtkImageReslice() override
vtkImageReslice::SetOutputDirectionToDefault
void SetOutputDirectionToDefault()
Set the direction for the output data.
vtkImageReslice::ScalarScale
double ScalarScale
Definition: vtkImageReslice.h:537
vtkImageReslice::AllocateOutputData
void AllocateOutputData(vtkImageData *output, vtkInformation *outInfo, int *uExtent) override
Allocate the output data.
vtkImageReslice::SetSlabModeToMax
void SetSlabModeToMax()
Set the slab mode, for generating thick slices.
Definition: vtkImageReslice.h:277
vtkImageReslice::OptimizedTransform
vtkAbstractTransform * OptimizedTransform
Definition: vtkImageReslice.h:557
vtkImageReslice::SlabMode
int SlabMode
Definition: vtkImageReslice.h:532
vtkImageReslice::SlabTrapezoidIntegration
vtkTypeBool SlabTrapezoidIntegration
Definition: vtkImageReslice.h:534
vtkImageReslice::IndexMatrix
vtkMatrix4x4 * IndexMatrix
Definition: vtkImageReslice.h:556
vtkImageReslice::GetMTime
vtkMTimeType GetMTime() override
When determining the modified time of the filter, this check the modified time of the transform and m...
vtkImageReslice::AutoCropOutput
vtkTypeBool AutoCropOutput
Definition: vtkImageReslice.h:547
vtkImageReslice::GenerateStencilOutput
vtkTypeBool GenerateStencilOutput
Definition: vtkImageReslice.h:554
vtkImageReslice::ComputeOutputOrigin
int ComputeOutputOrigin
Definition: vtkImageReslice.h:552
vtkImageReslice::OutputDimensionality
int OutputDimensionality
Definition: vtkImageReslice.h:545
vtkImageReslice::ScalarShift
double ScalarShift
Definition: vtkImageReslice.h:536
vtkImageReslice::GetSlabModeAsString
virtual const char * GetSlabModeAsString()
Set the slab mode, for generating thick slices.
vtkImageReslice::ResliceAxes
vtkMatrix4x4 * ResliceAxes
Definition: vtkImageReslice.h:521
vtkImageReslice::GetOptimizedTransform
vtkAbstractTransform * GetOptimizedTransform()
Definition: vtkImageReslice.h:610
vtkImageReslice::SetOutputSpacing
virtual void SetOutputSpacing(double x, double y, double z)
Set the voxel spacing for the output data.
vtkImageReslice::RequestData
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
vtkImageReslice::OutputScalarType
int OutputScalarType
Definition: vtkImageReslice.h:544
vtkImageReslice::ConvertScalarsBase
void ConvertScalarsBase(void *inPtr, void *outPtr, int inputType, int inputNumComponents, int count, int idX, int idY, int idZ, int threadId)
Definition: vtkImageReslice.h:582
vtkImageReslice::InterpolationMode
int InterpolationMode
Definition: vtkImageReslice.h:530
vtkImageReslice::ResliceTransform
vtkAbstractTransform * ResliceTransform
Definition: vtkImageReslice.h:524
vtkImageReslice::SetInterpolator
virtual void SetInterpolator(vtkAbstractImageInterpolator *sampler)
Set the interpolator to use.
vtkImageReslice::SetResliceAxes
virtual void SetResliceAxes(vtkMatrix4x4 *)
This method is used to set up the axes for the output voxels.
vtkImageReslice::Interpolator
vtkAbstractImageInterpolator * Interpolator
Definition: vtkImageReslice.h:525
vtkImageReslice::GetInterpolator
virtual vtkAbstractImageInterpolator * GetInterpolator()
Set the interpolator to use.
vtkImageReslice::PassDirectionToOutput
bool PassDirectionToOutput
Definition: vtkImageReslice.h:551
vtkImageReslice::SetInterpolationModeToNearestNeighbor
void SetInterpolationModeToNearestNeighbor()
Definition: vtkImageReslice.h:252
vtkImageReslice::GetIndexMatrix
vtkMatrix4x4 * GetIndexMatrix(vtkInformation *inInfo, vtkInformation *outInfo)
vtkImageReslice::SetOutputExtentToDefault
void SetOutputExtentToDefault()
Set the extent for the output data.
vtkImageReslice::SetInterpolate
void SetInterpolate(int t)
Convenient methods for switching between nearest-neighbor and linear interpolation.
Definition: vtkImageReslice.h:472
vtkImageReslice::GetResliceAxesDirectionCosines
void GetResliceAxesDirectionCosines(double x[3], double y[3], double z[3])
Specify the direction cosines for the ResliceAxes (i.e.
vtkImageReslice::InformationInput
vtkImageData * InformationInput
Definition: vtkImageReslice.h:526
vtkImageReslice::AllocateOutputData
vtkImageData * AllocateOutputData(vtkDataObject *, vtkInformation *) override
Allocate the output data.
vtkImageReslice::SetBackgroundLevel
void SetBackgroundLevel(double v)
Set background grey level (for single-component images).
Definition: vtkImageReslice.h:377
vtkImageReslice::SetOutputOriginToDefault
void SetOutputOriginToDefault()
Set the origin for the output data.
vtkImageReslice::ComputeOutputSpacing
int ComputeOutputSpacing
Definition: vtkImageReslice.h:550
vtkImageReslice::SetInformationInput
virtual void SetInformationInput(vtkImageData *)
Set a vtkImageData from which the default Spacing, Origin, and WholeExtent of the output will be copi...
vtkImageReslice::SetInterpolationModeToLinear
void SetInterpolationModeToLinear()
Definition: vtkImageReslice.h:253
vtkImageReslice::FillOutputPortInformation
int FillOutputPortInformation(int port, vtkInformation *info) override
These method should be reimplemented by subclasses that have more than a single input or single outpu...
vtkImageReslice::SetStencilData
void SetStencilData(vtkImageStencilData *stencil)
Use a stencil to limit the calculations to a specific region of the output.
vtkImageReslice::SetSlabModeToSum
void SetSlabModeToSum()
Set the slab mode, for generating thick slices.
Definition: vtkImageReslice.h:279
vtkImageStencilData
efficient description of an image stencil
Definition: vtkImageStencilData.h:26
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:38
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:40
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:72
vtkMatrix4x4
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:40
vtkScalarsToColors
Superclass for mapping scalar values to colors.
Definition: vtkScalarsToColors.h:65
vtkThreadedImageAlgorithm
Generic filter that has one input.
Definition: vtkThreadedImageAlgorithm.h:34
vtkX3D::info
@ info
Definition: vtkX3D.h:376
vtkX3D::port
@ port
Definition: vtkX3D.h:447
vtkTypeBool
int vtkTypeBool
Definition: vtkABI.h:64
VTK_RESLICE_CUBIC
#define VTK_RESLICE_CUBIC
Definition: vtkImageReslice.h:62
VTK_RESLICE_NEAREST
#define VTK_RESLICE_NEAREST
Definition: vtkImageReslice.h:60
VTK_RESLICE_LINEAR
#define VTK_RESLICE_LINEAR
Definition: vtkImageReslice.h:61
VTK_IMAGE_SLAB_MAX
#define VTK_IMAGE_SLAB_MAX
Definition: vtkSystemIncludes.h:88
VTK_IMAGE_SLAB_MIN
#define VTK_IMAGE_SLAB_MIN
Definition: vtkSystemIncludes.h:87
VTK_IMAGE_SLAB_SUM
#define VTK_IMAGE_SLAB_SUM
Definition: vtkSystemIncludes.h:90
VTK_IMAGE_SLAB_MEAN
#define VTK_IMAGE_SLAB_MEAN
Definition: vtkSystemIncludes.h:89
vtkThreadedImageAlgorithm.h
vtkMTimeType
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:270
VTK_SIZEHINT
#define VTK_SIZEHINT(...)
Definition: vtkWrappingHints.h:36