Slicer 5.4
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
Loading...
Searching...
No Matches
itkWarpTransform3D.h
Go to the documentation of this file.
1#ifndef itkWarpTransform3D_h
2#define itkWarpTransform3D_h
3
4#include <itkTransform.h>
6#include <itkImage.h>
7#include "itkConstNeighborhoodIterator.h"
8
9namespace itk
10{
15template <class FieldData>
16class WarpTransform3D : public Transform<FieldData, 3, 3>
17{
18public:
19 typedef FieldData FieldDataType;
21 typedef Transform<FieldDataType, 3, 3> Superclass;
22 typedef typename Superclass::JacobianType JacobianType;
23 typedef typename Superclass::JacobianPositionType JacobianPositionType;
24 typedef typename Superclass::InputPointType InputPointType;
25 typedef typename Superclass::InputVectorType InputVectorType;
26 typedef typename Superclass::InputVnlVectorType InputVnlVectorType;
27 typedef typename Superclass::InputCovariantVectorType InputCovariantVectorType;
28 typedef typename Superclass::OutputPointType OutputPointType;
29 typedef typename Superclass::OutputVectorType OutputVectorType;
30 typedef typename Superclass::OutputVnlVectorType OutputVnlVectorType;
31 typedef typename Superclass::OutputCovariantVectorType OutputCovariantVectorType;
32 typedef DeformationImageType::Pointer DeformationImagePointerType;
33 typedef SmartPointer<Self> Pointer;
34 typedef SmartPointer<const Self> ConstPointer;
35 typedef ConstNeighborhoodIterator<DeformationImageType> ConstNeighborhoodIteratorType;
36 typedef typename ConstNeighborhoodIteratorType::RadiusType RadiusType;
37 typedef typename Superclass::ParametersType ParametersType;
38
42 static Pointer New();
43
46 ::itk::LightObject::Pointer CreateAnother() const override;
47
50
51 OutputPointType TransformPoint( const InputPointType & inputPoint ) const override;
52
54 JacobianType & jacobian ) const override;
55
57 const InputPointType & itkNotUsed(x),
58 JacobianType & itkNotUsed(j) ) const override
59 {
60 itkExceptionMacro("ComputeJacobianWithRespectToPosition is not implemented for WarpTransform3D");
61 }
62
64 const InputPointType & itkNotUsed(x),
65 JacobianPositionType & itkNotUsed(j) ) const override
66 {
67 itkExceptionMacro("ComputeJacobianWithRespectToPosition is not implemented for WarpTransform3D");
68 }
69
71
76
77 using Superclass::TransformVector;
80 {
81 itkExceptionMacro("TransformVector(const InputVectorType &) is not implemented for WarpTransform3D");
82 }
83
86 {
87 itkExceptionMacro("TransformVector(const InputVnlVectorType &) is not implemented for WarpTransform3D");
88 }
89
90 using Superclass::TransformCovariantVector;
93 {
95 "TransformCovariantVector(const InputCovariantVectorType & is not implemented for WarpTransform3D");
96 }
97
98protected:
100 itkGetConstReferenceMacro( NeighborhoodRadius, RadiusType );
101 itkSetMacro( NeighborhoodRadius, RadiusType );
102
106 void SetParameters(const ParametersType &) override
107 {
108 }
112 void SetFixedParameters(const ParametersType &) override
113 {
114 }
115
117 void operator=(const Self &); // purposely not implemented
118
122// Vector< double , 3 > m_OutputSpacing ;
124};
125
126} // end namespace itk
127
128#ifndef ITK_MANUAL_INSTANTIATION
129#include "itkWarpTransform3D.txx"
130#endif
131
132#endif
Superclass::InputVnlVectorType InputVnlVectorType
Superclass::InputPointType InputPointType
const DeformationImagePointerType GetDeformationField() const
Superclass::InputCovariantVectorType InputCovariantVectorType
void operator=(const Self &)
itkSetMacro(NeighborhoodRadius, RadiusType)
Superclass::ParametersType ParametersType
SmartPointer< const Self > ConstPointer
SmartPointer< Self > Pointer
itkGetConstReferenceMacro(NeighborhoodRadius, RadiusType)
ConstNeighborhoodIterator< DeformationImageType > ConstNeighborhoodIteratorType
Superclass::InputVectorType InputVectorType
Superclass::JacobianPositionType JacobianPositionType
OutputPointType TransformPoint(const InputPointType &inputPoint) const override
void SetFixedParameters(const ParametersType &) override
Superclass::OutputCovariantVectorType OutputCovariantVectorType
itkTypeMacro(WarpTransform3D, Transform)
DeformationImageType::Pointer DeformationImagePointerType
Superclass::OutputVectorType OutputVectorType
ConstNeighborhoodIteratorType::RadiusType RadiusType
void ComputeJacobianWithRespectToParameters(const InputPointType &p, JacobianType &jacobian) const override
void ComputeJacobianWithRespectToPosition(const InputPointType &itkNotUsed(x), JacobianPositionType &itkNotUsed(j)) const override
void SetParameters(const ParametersType &) override
Transform< FieldDataType, 3, 3 > Superclass
Superclass::OutputPointType OutputPointType
::itk::LightObject::Pointer CreateAnother() const override
OutputVnlVectorType TransformVector(const InputVnlVectorType &) const override
void SetDeformationField(DeformationImagePointerType deformationField)
Superclass::OutputVnlVectorType OutputVnlVectorType
DeformationImagePointerType m_DeformationField
static Pointer New()
OutputVectorType TransformVector(const InputVectorType &) const override
Superclass::JacobianType JacobianType
OutputCovariantVectorType TransformCovariantVector(const InputCovariantVectorType &) const override
void ComputeJacobianWithRespectToPosition(const InputPointType &itkNotUsed(x), JacobianType &itkNotUsed(j)) const override
Simplified inverse ITK transforms.
#define itkExceptionMacro(x)