18 #ifndef __itkAdvancedCombinationTransform_h 19 #define __itkAdvancedCombinationTransform_h 22 #include "itkExceptionObject.h" 55 template<
typename TScalarType,
unsigned int NDimensions = 3 >
131 itkGetObjectMacro( InitialTransform, InitialTransformType );
132 itkGetConstObjectMacro( InitialTransform, InitialTransformType );
140 itkGetObjectMacro( CurrentTransform, CurrentTransformType );
141 itkGetConstObjectMacro( CurrentTransform, CurrentTransformType );
150 virtual const TransformTypePointer
GetNthTransform( SizeValueType n )
const;
155 itkGetConstMacro( UseComposition,
bool );
160 itkGetConstMacro( UseAddition,
bool );
163 virtual OutputPointType
TransformPoint(
const InputPointType & point )
const;
172 <<
"TransformVector(const InputVectorType &) is not implemented " 173 <<
"for AdvancedCombinationTransform" );
180 <<
"TransformVector(const InputVnlVectorType &) is not implemented " 181 <<
"for AdvancedCombinationTransform" );
188 <<
"TransformCovariantVector(const InputCovariantVectorType &) is not implemented " 189 <<
"for AdvancedCombinationTransform" );
226 virtual bool GetInverse( Self * inverse )
const;
230 virtual bool IsLinear(
void )
const;
245 const InputPointType & ipp,
247 NonZeroJacobianIndicesType & nonZeroJacobianIndices )
const;
251 const InputPointType & ipp,
252 const MovingImageGradientType & movingImageGradient,
253 DerivativeType & imageJacobian,
254 NonZeroJacobianIndicesType & nonZeroJacobianIndices )
const;
258 const InputPointType & ipp,
259 SpatialJacobianType & sj )
const;
263 const InputPointType & ipp,
264 SpatialHessianType & sh )
const;
268 const InputPointType & ipp,
269 JacobianOfSpatialJacobianType & jsj,
270 NonZeroJacobianIndicesType & nonZeroJacobianIndices )
const;
276 const InputPointType & ipp,
277 SpatialJacobianType & sj,
278 JacobianOfSpatialJacobianType & jsj,
279 NonZeroJacobianIndicesType & nonZeroJacobianIndices )
const;
283 const InputPointType & ipp,
284 JacobianOfSpatialHessianType & jsh,
285 NonZeroJacobianIndicesType & nonZeroJacobianIndices )
const;
291 const InputPointType & ipp,
292 SpatialHessianType & sh,
293 JacobianOfSpatialHessianType & jsh,
294 NonZeroJacobianIndicesType & nonZeroJacobianIndices )
const;
299 const InputPointType &,
301 NonZeroJacobianIndicesType & )
const;
303 const InputPointType &,
304 const MovingImageGradientType &,
306 NonZeroJacobianIndicesType & )
const;
308 const InputPointType &,
309 SpatialJacobianType & )
const;
311 const InputPointType &,
312 SpatialHessianType & )
const;
314 const InputPointType &,
315 JacobianOfSpatialJacobianType &,
316 NonZeroJacobianIndicesType & )
const;
318 const InputPointType &,
319 SpatialJacobianType &,
320 JacobianOfSpatialJacobianType &,
321 NonZeroJacobianIndicesType & )
const;
323 const InputPointType &,
324 JacobianOfSpatialHessianType &,
325 NonZeroJacobianIndicesType & )
const;
327 const InputPointType &,
328 SpatialHessianType &,
329 JacobianOfSpatialHessianType &,
330 NonZeroJacobianIndicesType & )
const;
384 const InputPointType & point )
const;
390 const InputPointType & point )
const;
394 const InputPointType & point )
const;
398 const InputPointType & point )
const;
406 const InputPointType &,
408 NonZeroJacobianIndicesType & )
const;
414 const InputPointType &,
416 NonZeroJacobianIndicesType & )
const;
420 const InputPointType &,
422 NonZeroJacobianIndicesType & )
const;
426 const InputPointType &,
428 NonZeroJacobianIndicesType & )
const;
436 const InputPointType &,
437 const MovingImageGradientType &,
439 NonZeroJacobianIndicesType & )
const;
445 const InputPointType &,
446 const MovingImageGradientType &,
448 NonZeroJacobianIndicesType & )
const;
452 const InputPointType &,
453 const MovingImageGradientType &,
455 NonZeroJacobianIndicesType & )
const;
459 const InputPointType &,
460 const MovingImageGradientType &,
462 NonZeroJacobianIndicesType & )
const;
470 const InputPointType & ipp,
471 SpatialJacobianType & sj )
const;
477 const InputPointType & ipp,
478 SpatialJacobianType & sj )
const;
482 const InputPointType & ipp,
483 SpatialJacobianType & sj )
const;
487 const InputPointType & ipp,
488 SpatialJacobianType & sj )
const;
496 const InputPointType & ipp,
497 SpatialHessianType & sh )
const;
503 const InputPointType & ipp,
504 SpatialHessianType & sh )
const;
508 const InputPointType & ipp,
509 SpatialHessianType & sh )
const;
513 const InputPointType & ipp,
514 SpatialHessianType & sh )
const;
522 const InputPointType & ipp,
523 JacobianOfSpatialJacobianType & jsj,
524 NonZeroJacobianIndicesType & nonZeroJacobianIndices )
const;
527 const InputPointType & ipp,
528 SpatialJacobianType & sj,
529 JacobianOfSpatialJacobianType & jsj,
530 NonZeroJacobianIndicesType & nonZeroJacobianIndices )
const;
536 const InputPointType & ipp,
537 JacobianOfSpatialJacobianType & jsj,
538 NonZeroJacobianIndicesType & nonZeroJacobianIndices )
const;
541 const InputPointType & ipp,
542 SpatialJacobianType & sj,
543 JacobianOfSpatialJacobianType & jsj,
544 NonZeroJacobianIndicesType & nonZeroJacobianIndices )
const;
548 const InputPointType & ipp,
549 JacobianOfSpatialJacobianType & jsj,
550 NonZeroJacobianIndicesType & nonZeroJacobianIndices )
const;
553 const InputPointType & ipp,
554 SpatialJacobianType & sj,
555 JacobianOfSpatialJacobianType & jsj,
556 NonZeroJacobianIndicesType & nonZeroJacobianIndices )
const;
560 const InputPointType & ipp,
561 JacobianOfSpatialJacobianType & jsj,
562 NonZeroJacobianIndicesType & nonZeroJacobianIndices )
const;
565 const InputPointType & ipp,
566 SpatialJacobianType & sj,
567 JacobianOfSpatialJacobianType & jsj,
568 NonZeroJacobianIndicesType & nonZeroJacobianIndices )
const;
576 const InputPointType & ipp,
577 JacobianOfSpatialHessianType & jsh,
578 NonZeroJacobianIndicesType & nonZeroJacobianIndices )
const;
581 const InputPointType & ipp,
582 SpatialHessianType & sh,
583 JacobianOfSpatialHessianType & jsh,
584 NonZeroJacobianIndicesType & nonZeroJacobianIndices )
const;
590 const InputPointType & ipp,
591 JacobianOfSpatialHessianType & jsh,
592 NonZeroJacobianIndicesType & nonZeroJacobianIndices )
const;
595 const InputPointType & ipp,
596 SpatialHessianType & sh,
597 JacobianOfSpatialHessianType & jsh,
598 NonZeroJacobianIndicesType & nonZeroJacobianIndices )
const;
602 const InputPointType & ipp,
603 JacobianOfSpatialHessianType & jsh,
604 NonZeroJacobianIndicesType & nonZeroJacobianIndices )
const;
607 const InputPointType & ipp,
608 SpatialHessianType & sh,
609 JacobianOfSpatialHessianType & jsh,
610 NonZeroJacobianIndicesType & nonZeroJacobianIndices )
const;
614 const InputPointType & ipp,
615 JacobianOfSpatialHessianType & jsh,
616 NonZeroJacobianIndicesType & nonZeroJacobianIndices )
const;
619 const InputPointType & ipp,
620 SpatialHessianType & sh,
621 JacobianOfSpatialHessianType & jsh,
622 NonZeroJacobianIndicesType & nonZeroJacobianIndices )
const;
637 #ifndef ITK_MANUAL_INSTANTIATION 638 #include "itkAdvancedCombinationTransform.hxx" 641 #endif // end #ifndef __itkAdvancedCombinationTransform_h