00001 /*========================================================================= 00002 00003 Program: F.R.E.E. - flexible registration evaluation engine 00004 Version: v.1.0.0 00005 Date: $Date: 2006/09/01 12:00:00 $ 00006 Module: $RCSfile: freImageRegistrationProcessorBase.h,v $ 00007 Language: C++ 00008 00009 00010 00011 Copyright (c) 2007 Ralf o Floca (Department of Medical Informatics, 00012 Institute for Medical Biometry and Informatics, University of Heidelberg, 00013 Germany). All rights reserved. 00014 See FREECopyright.txt or http://www.mi.med.uni-hd.de/free/copyright.htm 00015 for details. 00016 00017 This software is distributed WITHOUT ANY WARRANTY; without even 00018 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00019 PURPOSE. See the above copyright notices for more information. 00020 00021 =========================================================================*/ 00022 #ifndef __freImageRegistrationProcessorBase_h 00023 #define __freImageRegistrationProcessorBase_h 00024 00025 #include "freRegistrationProcessorBase.h" 00026 00027 namespace FREE 00028 { 00029 00040 template <unsigned int VImageDimension> 00041 class ImageRegistrationProcessorBase : public RegistrationProcessorBase<VImageDimension> 00042 { 00043 public: 00045 typedef ImageRegistrationProcessorBase Self; 00046 typedef RegistrationProcessorBase<VImageDimension> Superclass; 00047 typedef itk::SmartPointer<Self> Pointer; 00048 typedef itk::SmartPointer<const Self> ConstPointer; 00049 00051 itkTypeMacro( ImageRegistrationProcessorBase, RegistrationProcessorBase ); 00052 itkNewMacro(Self); 00053 itkStaticConstMacro(ImageDimension, unsigned int, VImageDimension); 00054 00055 typedef typename Superclass::ImageType ImageType; 00056 typedef typename Superclass::RegionType RegionType; 00057 typedef typename Superclass::SpacingType SpacingType; 00058 typedef typename Superclass::ImagePointer ImagePointer; 00059 typedef typename Superclass::PointType PointType; 00060 00061 typedef typename Superclass::TransformFieldType TransformFieldType; 00062 typedef typename Superclass::TransformFieldPointer TransformFieldPointer; 00063 00067 void SetFixedImage(ImageType* pImage); 00071 ImageType* GetFixedImage(); 00072 00076 void SetMovingImage(ImageType* pImage); 00080 ImageType* GetMovingImage(); 00081 00088 TransformFieldPointer GetTransformationField(); 00089 00090 using Superclass::GetTransformationField; 00091 00092 protected: 00093 ImageRegistrationProcessorBase(); 00094 00095 virtual ~ImageRegistrationProcessorBase() {}; 00096 00097 virtual void ComputeRegistration(); 00098 00099 virtual void ReleaseInputs(); 00100 00103 ImagePointer m_smpFixedImage; 00104 00105 PointType m_FixedOrigin; 00106 RegionType m_FixedRegion; 00107 SpacingType m_FixedSpacing; 00108 00111 ImagePointer m_smpMovingImage; 00112 }; 00113 00114 }//End of Namespace free 00115 00116 #ifndef ITK_MANUAL_INSTANTIATION 00117 #include "freImageRegistrationProcessorBase.txx" 00118 #endif 00119 00120 #endif
1.5.3 written by Dimitri van Heesch,
© 1997-2000