go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkAdvancedSimilarity2DTransform.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright UMC Utrecht and contributors
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0.txt
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  *=========================================================================*/
18 /*=========================================================================
19 
20  Program: Insight Segmentation & Registration Toolkit
21  Module: $RCSfile: itkAdvancedSimilarity2DTransform.h,v $
22  Language: C++
23  Date: $Date: 2006-06-07 16:06:32 $
24  Version: $Revision: 1.11 $
25 
26  Copyright (c) Insight Software Consortium. All rights reserved.
27  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
28 
29  This software is distributed WITHOUT ANY WARRANTY; without even
30  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
31  PURPOSE. See the above copyright notices for more information.
32 
33 =========================================================================*/
34 #ifndef __itkAdvancedSimilarity2DTransform_h
35 #define __itkAdvancedSimilarity2DTransform_h
36 
37 #include <iostream>
39 
40 namespace itk
41 {
42 
77 template< class TScalarType = double >
78 // Data type for scalars (float or double)
80  public AdvancedRigid2DTransform< TScalarType >
81 {
82 public:
83 
88  typedef SmartPointer< const Self > ConstPointer;
89 
91  itkNewMacro( Self );
92 
95 
97  itkStaticConstMacro( SpaceDimension, unsigned int, 2 );
98  itkStaticConstMacro( InputSpaceDimension, unsigned int, 2 );
99  itkStaticConstMacro( OutputSpaceDimension, unsigned int, 2 );
100  itkStaticConstMacro( ParametersDimension, unsigned int, 4 );
101 
105 
109 
112 
114  typedef typename Superclass::OffsetType OffsetType;
115 
117  typedef typename Superclass::MatrixType MatrixType;
118 
122 
126 
130 
134 
135  typedef typename Superclass
136  ::NonZeroJacobianIndicesType NonZeroJacobianIndicesType;
138  typedef typename Superclass
139  ::JacobianOfSpatialJacobianType JacobianOfSpatialJacobianType;
141  typedef typename Superclass
142  ::JacobianOfSpatialHessianType JacobianOfSpatialHessianType;
144 
146  void SetScale( ScaleType scale );
147 
148  itkGetConstReferenceMacro( Scale, ScaleType );
149 
159  void SetParameters( const ParametersType & parameters );
160 
170  const ParametersType & GetParameters( void ) const;
171 
178  virtual void GetJacobian(
179  const InputPointType &,
180  JacobianType &,
181  NonZeroJacobianIndicesType & ) const;
182 
184  virtual void SetIdentity( void );
185 
190  void CloneInverseTo( Pointer & newinverse ) const;
191 
196  void CloneTo( Pointer & clone ) const;
197 
211  virtual void SetMatrix( const MatrixType & matrix );
212 
213 protected:
214 
216  AdvancedSimilarity2DTransform( unsigned int spaceDimension,
217  unsigned int parametersDimension );
218 
220  void PrintSelf( std::ostream & os, Indent indent ) const;
221 
225  virtual void ComputeMatrix( void );
226 
231  virtual void ComputeMatrixParameters( void );
232 
234  void SetVarScale( ScaleType scale )
235  { m_Scale = scale; }
236 
239 
240 private:
241 
242  AdvancedSimilarity2DTransform( const Self & ); //purposely not implemented
243  void operator=( const Self & ); //purposely not implemented
244 
246 
247 };
248 
249 //class AdvancedSimilarity2DTransform
250 
251 } // namespace itk
252 
253 #ifndef ITK_MANUAL_INSTANTIATION
254 #include "itkAdvancedSimilarity2DTransform.hxx"
255 #endif
256 
257 #endif /* __itkAdvancedSimilarity2DTransform_h */
itk::AdvancedSimilarity2DTransform::SetParameters
void SetParameters(const ParametersType &parameters)
itk::AdvancedTransform< float, NInputDimensions, NOutputDimensions >::OutputPointType
Superclass::OutputPointType OutputPointType
Definition: itkAdvancedTransform.h:125
itk::AdvancedTransform< float, NInputDimensions, NOutputDimensions >::SpatialJacobianType
Matrix< ScalarType, OutputSpaceDimension, InputSpaceDimension > SpatialJacobianType
Definition: itkAdvancedTransform.h:143
itk::AdvancedSimilarity2DTransform::ScalarType
Superclass::ScalarType ScalarType
Definition: itkAdvancedSimilarity2DTransform.h:103
itk::AdvancedSimilarity2DTransform::InputVectorType
Superclass::InputVectorType InputVectorType
Definition: itkAdvancedSimilarity2DTransform.h:124
itk::AdvancedMatrixOffsetTransformBase< float, 2, 2 >::ParametersType
Superclass::ParametersType ParametersType
Definition: itkAdvancedMatrixOffsetTransformBase.h:123
itk::AdvancedTransform< float, NInputDimensions, NOutputDimensions >::InputCovariantVectorType
Superclass ::InputCovariantVectorType InputCovariantVectorType
Definition: itkAdvancedTransform.h:119
itk::AdvancedTransform< float, NInputDimensions, NOutputDimensions >::InputPointType
Superclass::InputPointType InputPointType
Definition: itkAdvancedTransform.h:124
SmartPointer< Self >
itk::AdvancedTransform< float, NInputDimensions, NOutputDimensions >::InputVnlVectorType
Superclass::InputVnlVectorType InputVnlVectorType
Definition: itkAdvancedTransform.h:122
itk::AdvancedSimilarity2DTransform::OffsetType
Superclass::OffsetType OffsetType
Definition: itkAdvancedSimilarity2DTransform.h:114
itk::AdvancedRigid2DTransform
AdvancedRigid2DTransform of a vector space (e.g. space coordinates)
Definition: itkAdvancedRigid2DTransform.h:78
itk::AdvancedSimilarity2DTransform::Superclass
AdvancedRigid2DTransform< TScalarType > Superclass
Definition: itkAdvancedSimilarity2DTransform.h:86
itk::AdvancedSimilarity2DTransform::Pointer
SmartPointer< Self > Pointer
Definition: itkAdvancedSimilarity2DTransform.h:87
itk::AdvancedSimilarity2DTransform
AdvancedSimilarity2DTransform of a vector space (e.g. space coordinates)
Definition: itkAdvancedSimilarity2DTransform.h:81
itk::AdvancedSimilarity2DTransform::SetVarScale
void SetVarScale(ScaleType scale)
Definition: itkAdvancedSimilarity2DTransform.h:234
itk::AdvancedSimilarity2DTransform::ParametersType
Superclass::ParametersType ParametersType
Definition: itkAdvancedSimilarity2DTransform.h:107
itk::AdvancedSimilarity2DTransform::InputCovariantVectorType
Superclass::InputCovariantVectorType InputCovariantVectorType
Definition: itkAdvancedSimilarity2DTransform.h:128
itk::AdvancedSimilarity2DTransform::operator=
void operator=(const Self &)
itk::AdvancedMatrixOffsetTransformBase
Definition: itkAdvancedMatrixOffsetTransformBase.h:99
itk::AdvancedSimilarity2DTransform::ComputeMatrix
virtual void ComputeMatrix(void)
itk::AdvancedSimilarity2DTransform::JacobianOfSpatialJacobianType
Superclass ::JacobianOfSpatialJacobianType JacobianOfSpatialJacobianType
Definition: itkAdvancedSimilarity2DTransform.h:139
itk::AdvancedSimilarity2DTransform::JacobianOfSpatialHessianType
Superclass ::JacobianOfSpatialHessianType JacobianOfSpatialHessianType
Definition: itkAdvancedSimilarity2DTransform.h:142
itk::AdvancedSimilarity2DTransform::JacobianType
Superclass::JacobianType JacobianType
Definition: itkAdvancedSimilarity2DTransform.h:111
itk::AdvancedSimilarity2DTransform::OutputPointType
Superclass::OutputPointType OutputPointType
Definition: itkAdvancedSimilarity2DTransform.h:121
itk::AdvancedTransform< float, NInputDimensions, NOutputDimensions >::ScalarType
Superclass::ScalarType ScalarType
Definition: itkAdvancedTransform.h:109
itk::AdvancedSimilarity2DTransform::itkStaticConstMacro
itkStaticConstMacro(SpaceDimension, unsigned int, 2)
itk::AdvancedSimilarity2DTransform::SetMatrix
virtual void SetMatrix(const MatrixType &matrix)
itk::AdvancedMatrixOffsetTransformBase< float, 2, 2 >::NonZeroJacobianIndicesType
Superclass ::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
Definition: itkAdvancedMatrixOffsetTransformBase.h:141
itk::AdvancedSimilarity2DTransform::AdvancedSimilarity2DTransform
AdvancedSimilarity2DTransform(const Self &)
itk::AdvancedTransform< float, NInputDimensions, NOutputDimensions >::JacobianType
Superclass::JacobianType JacobianType
Definition: itkAdvancedTransform.h:115
itk::AdvancedSimilarity2DTransform::GetJacobian
virtual void GetJacobian(const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const
itk::AdvancedSimilarity2DTransform::itkStaticConstMacro
itkStaticConstMacro(InputSpaceDimension, unsigned int, 2)
itk::AdvancedSimilarity2DTransform::CloneInverseTo
void CloneInverseTo(Pointer &newinverse) const
itk::AdvancedMatrixOffsetTransformBase< float, 2, 2 >::InputPointType
Superclass::InputPointType InputPointType
Definition: itkAdvancedMatrixOffsetTransformBase.h:136
itk::AdvancedSimilarity2DTransform::SetIdentity
virtual void SetIdentity(void)
itk::AdvancedSimilarity2DTransform::NonZeroJacobianIndicesType
Superclass ::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
Definition: itkAdvancedSimilarity2DTransform.h:136
itk::AdvancedSimilarity2DTransform::NumberOfParametersType
Superclass::NumberOfParametersType NumberOfParametersType
Definition: itkAdvancedSimilarity2DTransform.h:108
itk::AdvancedSimilarity2DTransform::ScaleType
TScalarType ScaleType
Definition: itkAdvancedSimilarity2DTransform.h:104
itk::AdvancedSimilarity2DTransform::~AdvancedSimilarity2DTransform
~AdvancedSimilarity2DTransform()
Definition: itkAdvancedSimilarity2DTransform.h:219
itk::AdvancedTransform< float, NInputDimensions, NOutputDimensions >::InternalMatrixType
SpatialJacobianType::InternalMatrixType InternalMatrixType
Definition: itkAdvancedTransform.h:151
itk::AdvancedSimilarity2DTransform::ComputeMatrixParameters
virtual void ComputeMatrixParameters(void)
itk::AdvancedSimilarity2DTransform::OutputCovariantVectorType
Superclass::OutputCovariantVectorType OutputCovariantVectorType
Definition: itkAdvancedSimilarity2DTransform.h:129
itk::AdvancedSimilarity2DTransform::OutputVnlVectorType
Superclass::OutputVnlVectorType OutputVnlVectorType
Definition: itkAdvancedSimilarity2DTransform.h:133
itk::AdvancedSimilarity2DTransform::m_Scale
ScaleType m_Scale
Definition: itkAdvancedSimilarity2DTransform.h:245
itk::AdvancedSimilarity2DTransform::InternalMatrixType
Superclass::InternalMatrixType InternalMatrixType
Definition: itkAdvancedSimilarity2DTransform.h:143
itk::AdvancedSimilarity2DTransform::PrintSelf
void PrintSelf(std::ostream &os, Indent indent) const
itk::AdvancedTransform< float, NInputDimensions, NOutputDimensions >::SpatialHessianType
FixedArray< Matrix< ScalarType, InputSpaceDimension, InputSpaceDimension >, OutputSpaceDimension > SpatialHessianType
Definition: itkAdvancedTransform.h:149
itk::AdvancedSimilarity2DTransform::ConstPointer
SmartPointer< const Self > ConstPointer
Definition: itkAdvancedSimilarity2DTransform.h:88
itk::AdvancedTransform< float, NInputDimensions, NOutputDimensions >::InputVectorType
Superclass::InputVectorType InputVectorType
Definition: itkAdvancedTransform.h:116
itk::AdvancedSimilarity2DTransform::CloneTo
void CloneTo(Pointer &clone) const
itk::AdvancedSimilarity2DTransform::PrecomputeJacobianOfSpatialJacobian
virtual void PrecomputeJacobianOfSpatialJacobian(void)
Matrix< float, itkGetStaticConstMacro(OutputSpaceDimension), itkGetStaticConstMacro(InputSpaceDimension) >
itk::AdvancedSimilarity2DTransform::itkStaticConstMacro
itkStaticConstMacro(OutputSpaceDimension, unsigned int, 2)
itk::AdvancedSimilarity2DTransform::GetParameters
const ParametersType & GetParameters(void) const
itk::AdvancedSimilarity2DTransform::AdvancedSimilarity2DTransform
AdvancedSimilarity2DTransform(unsigned int spaceDimension, unsigned int parametersDimension)
itk::AdvancedSimilarity2DTransform::SetScale
void SetScale(ScaleType scale)
itk
Definition: itkAdvancedImageToImageMetric.h:40
itk::AdvancedTransform< float, NInputDimensions, NOutputDimensions >::OutputVectorType
Superclass::OutputVectorType OutputVectorType
Definition: itkAdvancedTransform.h:117
itk::AdvancedSimilarity2DTransform::OutputVectorType
Superclass::OutputVectorType OutputVectorType
Definition: itkAdvancedSimilarity2DTransform.h:125
itk::AdvancedSimilarity2DTransform::InputPointType
Superclass::InputPointType InputPointType
Definition: itkAdvancedSimilarity2DTransform.h:120
itk::AdvancedSimilarity2DTransform::InputVnlVectorType
Superclass::InputVnlVectorType InputVnlVectorType
Definition: itkAdvancedSimilarity2DTransform.h:132
itk::AdvancedSimilarity2DTransform::Self
AdvancedSimilarity2DTransform Self
Definition: itkAdvancedSimilarity2DTransform.h:85
itk::AdvancedMatrixOffsetTransformBase< float, 2, 2 >::JacobianType
Superclass::JacobianType JacobianType
Definition: itkAdvancedMatrixOffsetTransformBase.h:127
itk::AdvancedTransform< float, NInputDimensions, NOutputDimensions >::NumberOfParametersType
Superclass::NumberOfParametersType NumberOfParametersType
Definition: itkAdvancedTransform.h:113
TScalarType
itk::AdvancedSimilarity2DTransform::SpatialJacobianType
Superclass::SpatialJacobianType SpatialJacobianType
Definition: itkAdvancedSimilarity2DTransform.h:137
itk::AdvancedTransform< float, NInputDimensions, NOutputDimensions >::ParametersType
Superclass::ParametersType ParametersType
Definition: itkAdvancedTransform.h:110
itkAdvancedRigid2DTransform.h
itk::AdvancedSimilarity2DTransform::AdvancedSimilarity2DTransform
AdvancedSimilarity2DTransform()
itk::AdvancedSimilarity2DTransform::itkStaticConstMacro
itkStaticConstMacro(ParametersDimension, unsigned int, 4)
itk::AdvancedSimilarity2DTransform::SpatialHessianType
Superclass::SpatialHessianType SpatialHessianType
Definition: itkAdvancedSimilarity2DTransform.h:140
itk::AdvancedTransform< float, NInputDimensions, NOutputDimensions >::OutputVnlVectorType
Superclass::OutputVnlVectorType OutputVnlVectorType
Definition: itkAdvancedTransform.h:123
float
itk::AdvancedTransform< float, NInputDimensions, NOutputDimensions >::OutputCovariantVectorType
Superclass ::OutputCovariantVectorType OutputCovariantVectorType
Definition: itkAdvancedTransform.h:121
itk::AdvancedSimilarity2DTransform::MatrixType
Superclass::MatrixType MatrixType
Definition: itkAdvancedSimilarity2DTransform.h:117


Generated on OURCE_DATE_EPOCH for elastix by doxygen 1.8.18 elastix logo