NifTK  16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
itkUCLBaseTransform.h
Go to the documentation of this file.
1 /*=============================================================================
2 
3  NifTK: A software platform for medical image computing.
4 
5  Copyright (c) University College London (UCL). All rights reserved.
6 
7  This software is distributed WITHOUT ANY WARRANTY; without even
8  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
9  PURPOSE.
10 
11  See LICENSE.txt in the top level directory for details.
12 
13 =============================================================================*/
14 
15 #ifndef itkUCLBaseTransform_h
16 #define itkUCLBaseTransform_h
17 
18 #include <itkTransform.h>
19 
20 namespace itk
21 {
22 
30 template <class TScalarType,
31  unsigned int NInputDimensions=3,
32  unsigned int NOutputDimensions=3>
33 class ITK_EXPORT UCLBaseTransform : public Transform<TScalarType, NInputDimensions, NOutputDimensions>
34 {
35 public:
38  typedef Transform<TScalarType, NInputDimensions, NOutputDimensions> Superclass;
39  typedef SmartPointer< Self > Pointer;
40  typedef SmartPointer< const Self > ConstPointer;
44 
46  itkTypeMacro( UCLBaseTransform, Transform );
47 
49  virtual void TransformPoint(const InputPointType &input, OutputPointType &output ) const = 0;
50 
52  virtual bool GetInv(UCLBaseTransform* inverse) const = 0;
53 
54 protected:
56  UCLBaseTransform(unsigned int Dimension, itk::TransformBase::NumberOfParametersType NumberOfParameters) : Transform<TScalarType, NInputDimensions, NOutputDimensions>(NumberOfParameters) {};
57  virtual ~UCLBaseTransform() {}
58 
59 private:
60  UCLBaseTransform(const Self&); // purposefully not implemented
61  void operator=(const Self&); // purposefully not implemented
62 
63 };
64 
65 } // end namespace itk
66 
67 #endif
UCLBaseTransform(unsigned int Dimension, itk::TransformBase::NumberOfParametersType NumberOfParameters)
Definition: itkUCLBaseTransform.h:56
Superclass::InputPointType InputPointType
Definition: itkUCLBaseTransform.h:41
GLenum GLenum GLenum input
Definition: glew.h:12016
UCLBaseTransform()
Definition: itkUCLBaseTransform.h:55
Definition: niftkITKAffineResampleImage.cxx:74
UCLBaseTransform Self
Definition: itkUCLBaseTransform.h:37
itk::Point< double, 2 > InputPointType
Definition: EulerAffine2DJacobianTest.cxx:34
virtual ~UCLBaseTransform()
Definition: itkUCLBaseTransform.h:57
SmartPointer< const Self > ConstPointer
Definition: itkUCLBaseTransform.h:40
Transform< TScalarType, NInputDimensions, NOutputDimensions > Superclass
Definition: itkUCLBaseTransform.h:38
Superclass::OutputPointType OutputPointType
Definition: itkUCLBaseTransform.h:42
Superclass::JacobianType JacobianType
Definition: itkUCLBaseTransform.h:43
SmartPointer< Self > Pointer
Definition: itkUCLBaseTransform.h:39
const unsigned int Dimension
Definition: niftkBreastDCEandADC.cxx:89
Our base transform class. Cant think of a better name.
Definition: itkUCLBaseTransform.h:33
itk::Point< double, 2 > OutputPointType
Definition: EulerAffine2DJacobianTest.cxx:35
itk::Array2D< double > JacobianType
Definition: EulerAffine2DJacobianTest.cxx:28