21 #ifndef __vtkOrientedImageDataResample_h 22 #define __vtkOrientedImageDataResample_h 25 #include "vtkSegmentationCoreConfigure.h" 28 #include "vtkObject.h" 38 class vtkAbstractTransform;
83 static void TransformOrientedImage(
vtkOrientedImageData* image, vtkAbstractTransform* transform,
bool geometryOnly=
false,
bool alwaysResample=
false,
bool linearInterpolation=
false,
double backgroundColor[4]=
nullptr);
89 const int extent[6]=
nullptr,
double maskThreshold = 0,
double fillValue = 1,
bool *outputModified=
nullptr);
96 const int extent[6] =
nullptr,
double maskThreshold = 0,
double fillValue = 1);
102 static void PrintImageInformation(vtkImageData* imageData, ostream& os, vtkIndent indent);
106 static void FillImage(vtkImageData* image,
double fillValue,
const int extent[6]=
nullptr);
110 static bool CalculateEffectiveExtent(
vtkOrientedImageData* image,
int effectiveExtent[6],
double threshold = 0.0);
125 static void TransformExtent(
const int inputExtent[6], vtkAbstractTransform* inputToOutputTransform,
int outputExtent[6]);
129 static void TransformBounds(
const double inputBounds[6], vtkAbstractTransform* inputToOutputTransform,
double outputBounds[6]);
132 static void TransformOrientedImageDataBounds(
vtkOrientedImageData* image, vtkAbstractTransform* transform,
double transformedBounds[6]);
137 static bool IsEqual(vtkMatrix4x4* lhs, vtkMatrix4x4* rhs);
155 static bool IsTransformLinear(vtkAbstractTransform* transform, vtkTransform* linearTransform);
158 static bool DoesTransformMatrixContainShear(vtkMatrix4x4* matrix);
176 const int extent[6]=
nullptr,
int maskThreshold = 0);
185 int extent[6]=
nullptr,
int maskThreshold=0);
Utility functions for resampling oriented image data.
static bool AreEqualWithTolerance(double a, double b)
Compare two floating point numbers within tolerance.
Image data containing orientation information.