Medical Imaging Interaction Toolkit  2024.06.00
Medical Imaging Interaction Toolkit
itkVtkAbstractTransform.h
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 #ifndef MITKVTKABSTRACTTRANSFORM_H_HEADER_INCLUDED_C1C68A2C
14 #define MITKVTKABSTRACTTRANSFORM_H_HEADER_INCLUDED_C1C68A2C
15 
16 #include "itkTransform.h"
17 #include <MitkCoreExports.h>
18 
19 class vtkAbstractTransform;
20 
21 namespace itk
22 {
23  //##Documentation
24  //## @brief Adapter from vtkAbstractTransform to itk::Transform<TScalarType, 3, 3>
25  //## @ingroup Geometry
26  template <class TScalarType>
27  class VtkAbstractTransform : public itk::Transform<TScalarType, 3, 3>
28  {
29  public:
31  typedef Transform<TScalarType, 3, 3> Superclass;
34  typedef typename Superclass::OutputPointType OutputPointType;
35  typedef typename Superclass::OutputVectorType OutputVectorType;
36  typedef typename Superclass::OutputVnlVectorType OutputVnlVectorType;
37  typedef typename Superclass::OutputCovariantVectorType OutputCovariantVectorType;
38  typedef typename Superclass::InputPointType InputPointType;
39  typedef typename Superclass::InputVectorType InputVectorType;
40  typedef typename Superclass::InputVnlVectorType InputVnlVectorType;
41  typedef typename Superclass::InputCovariantVectorType InputCovariantVectorType;
42  typedef typename Superclass::ParametersType ParametersType;
43  typedef typename Superclass::JacobianType JacobianType;
44  typedef typename Superclass::JacobianPositionType JacobianPositionType;
45 
46  itkFactorylessNewMacro(Self);
47 
48  itkCloneMacro(Self);
49 
50  //##Documentation
51  //## @brief Get the vtkAbstractTransform (stored in m_VtkAbstractTransform)
52  virtual vtkAbstractTransform *GetVtkAbstractTransform() const;
53  //##Documentation
54  //## @brief Get the inverse vtkAbstractTransform (stored in m_InverseVtkAbstractTransform)
55  virtual vtkAbstractTransform *GetInverseVtkAbstractTransform() const;
56 
57  //##Documentation
58  //## @brief Set the vtkAbstractTransform (stored in m_VtkAbstractTransform)
59  virtual void SetVtkAbstractTransform(vtkAbstractTransform *aVtkAbstractTransform);
60 
61  using Superclass::TransformVector;
62  using Superclass::TransformCovariantVector;
63 
64  OutputPointType TransformPoint(const InputPointType &) const override;
65  OutputVectorType TransformVector(const InputVectorType &) const override;
68 
69  virtual InputPointType BackTransform(const OutputPointType &point) const;
70  virtual InputVectorType BackTransform(const OutputVectorType &vector) const;
71  virtual InputVnlVectorType BackTransform(const OutputVnlVectorType &vector) const;
73 
74  void SetParameters(const ParametersType &) override;
75  void SetFixedParameters(const ParametersType &) override;
78 
79  itk::ModifiedTimeType GetMTime() const override;
80 
81  protected:
83  ~VtkAbstractTransform() override;
84 
85  //##Documentation
86  //## @brief Instance of the vtkAbstractTransform
87  vtkAbstractTransform *m_VtkAbstractTransform;
88 
89  //##Documentation
90  //## @brief Instance of the vtkAbstractTransform
91  vtkAbstractTransform *m_InverseVtkAbstractTransform;
92 
93  mutable unsigned long m_LastVtkAbstractTransformTimeStamp;
94  };
95 
96 } // namespace itk
97 
98 #ifndef MITK_MANUAL_INSTANTIATION
99 #include "itkVtkAbstractTransform.txx"
100 #endif
101 
102 #endif /* MITKVTKABSTRACTTRANSFORM_H_HEADER_INCLUDED_C1C68A2C */
itk::VtkAbstractTransform::Superclass
Transform< TScalarType, 3, 3 > Superclass
Definition: itkVtkAbstractTransform.h:31
itk::VtkAbstractTransform::SetParameters
void SetParameters(const ParametersType &) override
itk::VtkAbstractTransform::InputVectorType
Superclass::InputVectorType InputVectorType
Definition: itkVtkAbstractTransform.h:39
itk::VtkAbstractTransform::ParametersType
Superclass::ParametersType ParametersType
Definition: itkVtkAbstractTransform.h:42
itk::VtkAbstractTransform::TransformCovariantVector
OutputCovariantVectorType TransformCovariantVector(const InputCovariantVectorType &) const override
itk::VtkAbstractTransform::TransformPoint
OutputPointType TransformPoint(const InputPointType &) const override
itk::VtkAbstractTransform::JacobianPositionType
Superclass::JacobianPositionType JacobianPositionType
Definition: itkVtkAbstractTransform.h:44
itk::VtkAbstractTransform::OutputCovariantVectorType
Superclass::OutputCovariantVectorType OutputCovariantVectorType
Definition: itkVtkAbstractTransform.h:37
itk::VtkAbstractTransform::ComputeJacobianWithRespectToParameters
void ComputeJacobianWithRespectToParameters(const InputPointType &, JacobianType &) const override
itk::SmartPointer< Self >
itk::VtkAbstractTransform::Pointer
SmartPointer< Self > Pointer
Definition: itkVtkAbstractTransform.h:32
itk::VtkAbstractTransform::ComputeJacobianWithRespectToPosition
void ComputeJacobianWithRespectToPosition(const InputPointType &, JacobianPositionType &) const override
itk::VtkAbstractTransform::TransformVector
OutputVectorType TransformVector(const InputVectorType &) const override
itk::VtkAbstractTransform::GetVtkAbstractTransform
virtual vtkAbstractTransform * GetVtkAbstractTransform() const
Get the vtkAbstractTransform (stored in m_VtkAbstractTransform)
itk::VtkAbstractTransform::m_InverseVtkAbstractTransform
vtkAbstractTransform * m_InverseVtkAbstractTransform
Instance of the vtkAbstractTransform.
Definition: itkVtkAbstractTransform.h:91
itk::VtkAbstractTransform::OutputVectorType
Superclass::OutputVectorType OutputVectorType
Definition: itkVtkAbstractTransform.h:35
itk::VtkAbstractTransform
Adapter from vtkAbstractTransform to itk::Transform<TScalarType, 3, 3>
Definition: itkVtkAbstractTransform.h:27
itk::VtkAbstractTransform::m_VtkAbstractTransform
vtkAbstractTransform * m_VtkAbstractTransform
Instance of the vtkAbstractTransform.
Definition: itkVtkAbstractTransform.h:87
itk::VtkAbstractTransform::m_LastVtkAbstractTransformTimeStamp
unsigned long m_LastVtkAbstractTransformTimeStamp
Definition: itkVtkAbstractTransform.h:93
itk::VtkAbstractTransform::SetFixedParameters
void SetFixedParameters(const ParametersType &) override
itk::VtkAbstractTransform::GetMTime
itk::ModifiedTimeType GetMTime() const override
MitkCoreExports.h
itk::VtkAbstractTransform::BackTransform
virtual InputPointType BackTransform(const OutputPointType &point) const
itk::VtkAbstractTransform::OutputVnlVectorType
Superclass::OutputVnlVectorType OutputVnlVectorType
Definition: itkVtkAbstractTransform.h:36
itk::VtkAbstractTransform::InputCovariantVectorType
Superclass::InputCovariantVectorType InputCovariantVectorType
Definition: itkVtkAbstractTransform.h:41
itk::VtkAbstractTransform::VtkAbstractTransform
VtkAbstractTransform()
itk::VtkAbstractTransform::ConstPointer
SmartPointer< const Self > ConstPointer
Definition: itkVtkAbstractTransform.h:33
itk::VtkAbstractTransform::InputPointType
Superclass::InputPointType InputPointType
Definition: itkVtkAbstractTransform.h:38
itk::VtkAbstractTransform::SetVtkAbstractTransform
virtual void SetVtkAbstractTransform(vtkAbstractTransform *aVtkAbstractTransform)
Set the vtkAbstractTransform (stored in m_VtkAbstractTransform)
itk::VtkAbstractTransform::Self
VtkAbstractTransform Self
Definition: itkVtkAbstractTransform.h:30
itk
SET FUNCTIONS.
Definition: itkIntelligentBinaryClosingFilter.h:30
itk::VtkAbstractTransform::~VtkAbstractTransform
~VtkAbstractTransform() override
itk::VtkAbstractTransform::InputVnlVectorType
Superclass::InputVnlVectorType InputVnlVectorType
Definition: itkVtkAbstractTransform.h:40
itk::VtkAbstractTransform::JacobianType
Superclass::JacobianType JacobianType
Definition: itkVtkAbstractTransform.h:43
itk::VtkAbstractTransform::GetInverseVtkAbstractTransform
virtual vtkAbstractTransform * GetInverseVtkAbstractTransform() const
Get the inverse vtkAbstractTransform (stored in m_InverseVtkAbstractTransform)
itk::VtkAbstractTransform::OutputPointType
Superclass::OutputPointType OutputPointType
Definition: itkVtkAbstractTransform.h:34