Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itkCenteredTransformInitializer.h

Go to the documentation of this file.
00001 /*========================================================================= 00002 00003 Program: Insight Segmentation & Registration Toolkit 00004 Module: $RCSfile: itkCenteredTransformInitializer.h,v $ 00005 Language: C++ 00006 Date: $Date: 2003/09/10 14:29:03 $ 00007 Version: $Revision: 1.4 $ 00008 00009 Copyright (c) Insight Software Consortium. All rights reserved. 00010 See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details. 00011 00012 This software is distributed WITHOUT ANY WARRANTY; without even 00013 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00014 PURPOSE. See the above copyright notices for more information. 00015 00016 =========================================================================*/ 00017 00018 #ifndef __itkCenteredTransformInitializer_h 00019 #define __itkCenteredTransformInitializer_h 00020 00021 #include <itkObject.h> 00022 00023 #include <iostream> 00024 00025 namespace itk 00026 { 00027 00057 template < class TTransform, 00058 class TFixedImage, 00059 class TMovingImage > 00060 class ITK_EXPORT CenteredTransformInitializer : 00061 public Object 00062 { 00063 public: 00065 typedef CenteredTransformInitializer Self; 00066 typedef Object Superclass; 00067 typedef SmartPointer<Self> Pointer; 00068 typedef SmartPointer<const Self> ConstPointer; 00069 00071 itkNewMacro( Self ); 00072 00074 itkTypeMacro( CenteredTransformInitializer, Object ); 00075 00077 typedef TTransform TransformType; 00078 typedef typename TransformType::Pointer TransformPointer; 00079 00081 itkStaticConstMacro(SpaceDimension, unsigned int, TransformType::SpaceDimension); 00082 itkStaticConstMacro(InputSpaceDimension, unsigned int, TransformType::InputSpaceDimension); 00083 itkStaticConstMacro(OutputSpaceDimension, unsigned int, TransformType::OutputSpaceDimension); 00084 00085 00087 typedef TFixedImage FixedImageType; 00088 typedef TMovingImage MovingImageType; 00089 00090 typedef typename FixedImageType::ConstPointer FixedImagePointer; 00091 typedef typename MovingImageType::ConstPointer MovingImagePointer; 00092 00093 00094 00096 typedef typename TransformType::OffsetType OffsetType; 00097 00099 typedef typename TransformType::InputPointType InputPointType; 00100 00102 typedef typename TransformType::OutputVectorType OutputVectorType; 00103 00105 itkSetObjectMacro( Transform, TransformType ); 00106 00108 itkSetConstObjectMacro( FixedImage, FixedImageType ); 00109 00111 itkSetConstObjectMacro( MovingImage, MovingImageType ); 00112 00113 00115 void InitializeTransform() const; 00116 00119 void GeometryOn() { m_UseMoments = false; } 00120 void MomentsOn() { m_UseMoments = true; } 00121 00122 00123 protected: 00124 CenteredTransformInitializer() {}; 00125 ~CenteredTransformInitializer(){}; 00126 00127 void PrintSelf(std::ostream &os, Indent indent) const; 00128 00129 private: 00130 CenteredTransformInitializer(const Self&); //purposely not implemented 00131 void operator=(const Self&); //purposely not implemented 00132 00133 TransformPointer m_Transform; 00134 00135 FixedImagePointer m_FixedImage; 00136 00137 MovingImagePointer m_MovingImage; 00138 00139 bool m_UseMoments; 00140 00141 }; //class CenteredTransformInitializer 00142 00143 00144 } // namespace itk 00145 00146 00147 #ifndef ITK_MANUAL_INSTANTIATION 00148 #include "itkCenteredTransformInitializer.txx" 00149 #endif 00150 00151 #endif /* __itkCenteredTransformInitializer_h */

Generated at Sat Mar 31 02:15:35 2007 for ITK by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2000