27 #ifndef __vtkITKTransformInverse_h 28 #define __vtkITKTransformInverse_h 34 template <
typename TScalar =
double,
unsigned int NDimensions = 3,
unsigned int VSplineOrder = 3>
36 public BSplineTransform<TScalar, NDimensions, VSplineOrder>
41 typedef BSplineTransform<TScalar,NDimensions,VSplineOrder>
Superclass;
53 using Superclass::TransformPoint;
55 const typename Superclass::InputPointType&)
const ITK_OVERRIDE
57 itkExceptionMacro(
"Only storage methods are implemented for InverseBSplineTransform" );
60 const typename Superclass::InputPointType &,
61 typename Superclass::JacobianType &)
const ITK_OVERRIDE
63 itkExceptionMacro(
"Only storage methods are implemented for InverseBSplineTransform" );
66 const typename Superclass::InputPointType &,
67 typename Superclass::JacobianType &)
const ITK_OVERRIDE
69 itkExceptionMacro(
"Only storage methods are implemented for InverseBSplineTransform" );
72 const typename Superclass::InputPointType &,
73 typename Superclass::JacobianType &)
const ITK_OVERRIDE
75 itkExceptionMacro(
"Only storage methods are implemented for InverseBSplineTransform" );
79 const typename Superclass::InputPointType &,
80 typename Superclass::WeightsType &,
81 typename Superclass::ParameterIndexArrayType &)
const 83 itkExceptionMacro(
"Only storage methods are implemented for InverseBSplineTransform" );
89 template <
typename TScalar =
double,
unsigned int NDimensions = 3,
unsigned int VSplineOrder = 3>
91 public BSplineDeformableTransform<TScalar, NDimensions, VSplineOrder>
96 typedef BSplineDeformableTransform<TScalar,NDimensions,VSplineOrder>
Superclass;
108 using Superclass::TransformPoint;
110 const typename Superclass::InputPointType&)
const ITK_OVERRIDE
112 itkExceptionMacro(
"Only storage methods are implemented for InverseBSplineTransform" );
115 const typename Superclass::InputPointType &,
116 typename Superclass::JacobianType &)
const ITK_OVERRIDE
118 itkExceptionMacro(
"Only storage methods are implemented for InverseBSplineTransform" );
121 const typename Superclass::InputPointType &,
122 typename Superclass::JacobianType &)
const ITK_OVERRIDE
124 itkExceptionMacro(
"Only storage methods are implemented for InverseBSplineTransform" );
127 const typename Superclass::InputPointType &,
128 typename Superclass::JacobianType &)
const ITK_OVERRIDE
130 itkExceptionMacro(
"Only storage methods are implemented for InverseBSplineTransform" );
136 template <
class TScalar,
unsigned int NDimensions>
138 public DisplacementFieldTransform<TScalar, NDimensions>
143 typedef DisplacementFieldTransform<TScalar, NDimensions>
Superclass;
156 const typename Superclass::InputPointType&)
const ITK_OVERRIDE
158 itkExceptionMacro(
"Only storage methods are implemented for InverseDisplacementFieldTransform" );
161 const typename Superclass::InputPointType &,
162 typename Superclass::JacobianType &)
const ITK_OVERRIDE
164 itkExceptionMacro(
"Only storage methods are implemented for InverseDisplacementFieldTransform" );
167 const typename Superclass::IndexType &,
168 typename Superclass::JacobianType &)
const ITK_OVERRIDE
170 itkExceptionMacro(
"Only storage methods are implemented for InverseDisplacementFieldTransform" );
173 const typename Superclass::InputPointType &,
174 typename Superclass::JacobianType &)
const ITK_OVERRIDE
176 itkExceptionMacro(
"Only storage methods are implemented for InverseDisplacementFieldTransform" );
179 const typename Superclass::InputPointType &,
180 typename Superclass::JacobianType &)
const ITK_OVERRIDE
182 itkExceptionMacro(
"Only storage methods are implemented for InverseDisplacementFieldTransform" );
185 const typename Superclass::IndexType &,
186 typename Superclass::JacobianType &)
const ITK_OVERRIDE
188 itkExceptionMacro(
"Only storage methods are implemented for InverseDisplacementFieldTransform" );
191 const typename Superclass::InputPointType &,
192 typename Superclass::JacobianType &,
193 bool useSVD =
false ) const ITK_OVERRIDE
196 itkExceptionMacro(
"Only storage methods are implemented for InverseDisplacementFieldTransform" );
199 const typename Superclass::IndexType &,
200 typename Superclass::JacobianType &,
201 bool useSVD =
false ) const ITK_OVERRIDE
204 itkExceptionMacro(
"Only storage methods are implemented for InverseDisplacementFieldTransform" );
209 template <
class TScalar,
unsigned int NDimensions>
211 public ThinPlateSplineKernelTransform<TScalar, NDimensions>
216 typedef ThinPlateSplineKernelTransform<TScalar, NDimensions>
Superclass;
229 const typename Superclass::InputPointType&)
const ITK_OVERRIDE
231 itkExceptionMacro(
"Only storage methods are implemented for InverseThinPlateSplineKernelTransform" );
234 typename Superclass::OutputPointType &)
const ITK_OVERRIDE
236 itkExceptionMacro(
"Only storage methods are implemented for InverseThinPlateSplineKernelTransform" );
239 const typename Superclass::InputPointType &,
240 typename Superclass::JacobianType &)
const ITK_OVERRIDE
242 itkExceptionMacro(
"Only storage methods are implemented for InverseThinPlateSplineKernelTransform" );
245 const typename Superclass::InputPointType &,
246 typename Superclass::JacobianType &)
const ITK_OVERRIDE
248 itkExceptionMacro(
"Only storage methods are implemented for InverseThinPlateSplineKernelTransform" );
251 const typename Superclass::InputPointType &,
252 typename Superclass::JacobianType &)
const ITK_OVERRIDE
254 itkExceptionMacro(
"Only storage methods are implemented for InverseThinPlateSplineKernelTransform" );
257 const typename Superclass::InputPointType &,
258 typename Superclass::JacobianType &,
259 bool useSVD =
false )
const 262 itkExceptionMacro(
"Only storage methods are implemented for InverseThinPlateSplineKernelTransform" );
279 #endif // __vtkITKTransformInverse_h
#define itkExceptionMacro(x)
Simplified inverse ITK transforms.