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 override 57 itkExceptionMacro(
"Only storage methods are implemented for InverseBSplineTransform" );
60 const typename Superclass::InputPointType &,
61 typename Superclass::JacobianType &)
const override 63 itkExceptionMacro(
"Only storage methods are implemented for InverseBSplineTransform" );
67 const typename Superclass::InputPointType &,
68 typename Superclass::JacobianType &)
const override 70 itkExceptionMacro(
"Only storage methods are implemented for InverseBSplineTransform" );
73 const typename Superclass::InputPointType &,
74 typename Superclass::JacobianPositionType &)
const override 76 itkExceptionMacro(
"Only storage methods are implemented for InverseBSplineTransform" );
80 const typename Superclass::InputPointType &,
81 typename Superclass::JacobianType &)
const override 83 itkExceptionMacro(
"Only storage methods are implemented for InverseBSplineTransform" );
86 const typename Superclass::InputPointType &,
87 typename Superclass::InverseJacobianPositionType &)
const override 89 itkExceptionMacro(
"Only storage methods are implemented for InverseBSplineTransform" );
92 const typename Superclass::InputPointType &,
93 typename Superclass::WeightsType &,
94 typename Superclass::ParameterIndexArrayType &)
const 96 itkExceptionMacro(
"Only storage methods are implemented for InverseBSplineTransform" );
101 template <
typename TScalar =
double,
unsigned int NDimensions = 3,
unsigned int VSplineOrder = 3>
103 public BSplineDeformableTransform<TScalar, NDimensions, VSplineOrder>
108 typedef BSplineDeformableTransform<TScalar,NDimensions,VSplineOrder>
Superclass;
120 using Superclass::TransformPoint;
122 const typename Superclass::InputPointType&)
const override 124 itkExceptionMacro(
"Only storage methods are implemented for InverseBSplineTransform" );
127 const typename Superclass::InputPointType &,
128 typename Superclass::JacobianType &)
const override 130 itkExceptionMacro(
"Only storage methods are implemented for InverseBSplineTransform" );
134 const typename Superclass::InputPointType &,
135 typename Superclass::JacobianType &)
const override 137 itkExceptionMacro(
"Only storage methods are implemented for InverseBSplineTransform" );
140 const typename Superclass::InputPointType &,
141 typename Superclass::JacobianPositionType &)
const override 143 itkExceptionMacro(
"Only storage methods are implemented for InverseBSplineTransform" );
146 const typename Superclass::InputPointType &,
147 typename Superclass::JacobianType &)
const override 149 itkExceptionMacro(
"Only storage methods are implemented for InverseBSplineTransform" );
152 const typename Superclass::InputPointType &,
153 typename Superclass::InverseJacobianPositionType &)
const override 155 itkExceptionMacro(
"Only storage methods are implemented for InverseBSplineTransform" );
161 template <
class TScalar,
unsigned int NDimensions>
163 public DisplacementFieldTransform<TScalar, NDimensions>
168 typedef DisplacementFieldTransform<TScalar, NDimensions>
Superclass;
181 const typename Superclass::InputPointType&)
const override 183 itkExceptionMacro(
"Only storage methods are implemented for InverseDisplacementFieldTransform" );
186 const typename Superclass::InputPointType &,
187 typename Superclass::JacobianType &)
const override 189 itkExceptionMacro(
"Only storage methods are implemented for InverseDisplacementFieldTransform" );
192 const typename Superclass::IndexType &,
193 typename Superclass::JacobianType &)
const override 195 itkExceptionMacro(
"Only storage methods are implemented for InverseDisplacementFieldTransform" );
199 const typename Superclass::InputPointType &,
200 typename Superclass::JacobianType &)
const override 202 itkExceptionMacro(
"Only storage methods are implemented for InverseDisplacementFieldTransform" );
205 const typename Superclass::InputPointType &,
206 typename Superclass::JacobianPositionType &)
const override 208 itkExceptionMacro(
"Only storage methods are implemented for InverseDisplacementFieldTransform" );
211 const typename Superclass::IndexType &,
212 typename Superclass::JacobianPositionType &)
const override 214 itkExceptionMacro(
"Only storage methods are implemented for InverseDisplacementFieldTransform" );
217 const typename Superclass::InputPointType &,
218 typename Superclass::JacobianType &)
const override 220 itkExceptionMacro(
"Only storage methods are implemented for InverseDisplacementFieldTransform" );
223 const typename Superclass::InputPointType &,
224 typename Superclass::InverseJacobianPositionType &)
const override 226 itkExceptionMacro(
"Only storage methods are implemented for InverseDisplacementFieldTransform" );
229 const typename Superclass::InputPointType &,
230 typename Superclass::JacobianPositionType &,
231 bool useSVD =
false )
const override 234 itkExceptionMacro(
"Only storage methods are implemented for InverseDisplacementFieldTransform" );
237 const typename Superclass::IndexType &,
238 typename Superclass::JacobianPositionType &,
239 bool useSVD =
false )
const override 242 itkExceptionMacro(
"Only storage methods are implemented for InverseDisplacementFieldTransform" );
247 template <
class TScalar,
unsigned int NDimensions>
249 public ThinPlateSplineKernelTransform<TScalar, NDimensions>
254 typedef ThinPlateSplineKernelTransform<TScalar, NDimensions>
Superclass;
267 const typename Superclass::InputPointType&)
const override 269 itkExceptionMacro(
"Only storage methods are implemented for InverseThinPlateSplineKernelTransform" );
272 typename Superclass::OutputPointType &)
const override 274 itkExceptionMacro(
"Only storage methods are implemented for InverseThinPlateSplineKernelTransform" );
277 const typename Superclass::InputPointType &,
278 typename Superclass::JacobianType &)
const override 280 itkExceptionMacro(
"Only storage methods are implemented for InverseThinPlateSplineKernelTransform" );
284 const typename Superclass::InputPointType &,
285 typename Superclass::JacobianType &)
const override 287 itkExceptionMacro(
"Only storage methods are implemented for InverseThinPlateSplineKernelTransform" );
290 const typename Superclass::InputPointType &,
291 typename Superclass::JacobianPositionType &)
const override 293 itkExceptionMacro(
"Only storage methods are implemented for InverseThinPlateSplineKernelTransform" );
297 const typename Superclass::InputPointType &,
298 typename Superclass::JacobianType &)
const override 300 itkExceptionMacro(
"Only storage methods are implemented for InverseThinPlateSplineKernelTransform" );
303 const typename Superclass::InputPointType &,
304 typename Superclass::InverseJacobianPositionType &)
const override 306 itkExceptionMacro(
"Only storage methods are implemented for InverseThinPlateSplineKernelTransform" );
323 #endif // __vtkITKTransformInverse_h
#define itkExceptionMacro(x)
Simplified inverse ITK transforms.