27#ifndef __vtkITKTransformInverse_h
28#define __vtkITKTransformInverse_h
34template <
typename TScalar =
double,
unsigned int NDimensions = 3,
unsigned int VSplineOrder = 3>
40 typedef BSplineTransform<TScalar, NDimensions, VSplineOrder>
Superclass;
52 using Superclass::TransformPoint;
53 typename Superclass::OutputPointType
TransformPoint(
const typename Superclass::InputPointType&)
const override
55 itkExceptionMacro(
"Only storage methods are implemented for InverseBSplineTransform");
59 itkExceptionMacro(
"Only storage methods are implemented for InverseBSplineTransform");
61#if !defined(ITK_LEGACY_REMOVE)
64 itkExceptionMacro(
"Only storage methods are implemented for InverseBSplineTransform");
69 itkExceptionMacro(
"Only storage methods are implemented for InverseBSplineTransform");
71#if !defined(ITK_LEGACY_REMOVE)
74 itkExceptionMacro(
"Only storage methods are implemented for InverseBSplineTransform");
79 itkExceptionMacro(
"Only storage methods are implemented for InverseBSplineTransform");
82 typename Superclass::WeightsType&,
83 typename Superclass::ParameterIndexArrayType&)
const
85 itkExceptionMacro(
"Only storage methods are implemented for InverseBSplineTransform");
90template <
typename TScalar =
double,
unsigned int NDimensions = 3,
unsigned int VSplineOrder = 3>
96 typedef BSplineDeformableTransform<TScalar, NDimensions, VSplineOrder>
Superclass;
108 using Superclass::TransformPoint;
109 typename Superclass::OutputPointType
TransformPoint(
const typename Superclass::InputPointType&)
const override
111 itkExceptionMacro(
"Only storage methods are implemented for InverseBSplineTransform");
115 itkExceptionMacro(
"Only storage methods are implemented for InverseBSplineTransform");
117#if !defined(ITK_LEGACY_REMOVE)
120 itkExceptionMacro(
"Only storage methods are implemented for InverseBSplineTransform");
125 itkExceptionMacro(
"Only storage methods are implemented for InverseBSplineTransform");
127#if !defined(ITK_LEGACY_REMOVE)
130 itkExceptionMacro(
"Only storage methods are implemented for InverseBSplineTransform");
135 itkExceptionMacro(
"Only storage methods are implemented for InverseBSplineTransform");
140template <
class TScalar,
unsigned int NDimensions>
146 typedef DisplacementFieldTransform<TScalar, NDimensions>
Superclass;
158 typename Superclass::OutputPointType
TransformPoint(
const typename Superclass::InputPointType&)
const override
160 itkExceptionMacro(
"Only storage methods are implemented for InverseDisplacementFieldTransform");
164 itkExceptionMacro(
"Only storage methods are implemented for InverseDisplacementFieldTransform");
168 itkExceptionMacro(
"Only storage methods are implemented for InverseDisplacementFieldTransform");
170#if !defined(ITK_LEGACY_REMOVE)
173 itkExceptionMacro(
"Only storage methods are implemented for InverseDisplacementFieldTransform");
178 itkExceptionMacro(
"Only storage methods are implemented for InverseDisplacementFieldTransform");
182 itkExceptionMacro(
"Only storage methods are implemented for InverseDisplacementFieldTransform");
184#if !defined(ITK_LEGACY_REMOVE)
187 itkExceptionMacro(
"Only storage methods are implemented for InverseDisplacementFieldTransform");
192 itkExceptionMacro(
"Only storage methods are implemented for InverseDisplacementFieldTransform");
195 typename Superclass::JacobianPositionType&,
196 bool useSVD =
false)
const override
199 itkExceptionMacro(
"Only storage methods are implemented for InverseDisplacementFieldTransform");
204 itkExceptionMacro(
"Only storage methods are implemented for InverseDisplacementFieldTransform");
209template <
class TScalar,
unsigned int NDimensions>
215 typedef ThinPlateSplineKernelTransform<TScalar, NDimensions>
Superclass;
227 typename Superclass::OutputPointType
TransformPoint(
const typename Superclass::InputPointType&)
const override
229 itkExceptionMacro(
"Only storage methods are implemented for InverseThinPlateSplineKernelTransform");
233 itkExceptionMacro(
"Only storage methods are implemented for InverseThinPlateSplineKernelTransform");
237 itkExceptionMacro(
"Only storage methods are implemented for InverseThinPlateSplineKernelTransform");
239#if !defined(ITK_LEGACY_REMOVE)
242 itkExceptionMacro(
"Only storage methods are implemented for InverseThinPlateSplineKernelTransform");
247 itkExceptionMacro(
"Only storage methods are implemented for InverseThinPlateSplineKernelTransform");
249#if !defined(ITK_LEGACY_REMOVE)
252 itkExceptionMacro(
"Only storage methods are implemented for InverseThinPlateSplineKernelTransform");
257 itkExceptionMacro(
"Only storage methods are implemented for InverseThinPlateSplineKernelTransform");
Simplified inverse ITK transforms.
#define itkExceptionMacro(x)