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: freReferencePointsAccessor.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 __freReferencePointsAccessor_h 00023 #define __freReferencePointsAccessor_h 00024 00025 #include "freImageTypes.h" 00026 #include "freSessionComponentCache.h" 00027 00028 namespace FREE 00029 { 00040 template <unsigned long iDimension> 00041 class ReferencePointsAccessor 00042 { 00043 public: 00044 typedef typename ImageTypes<iDimension>::PointSetType PointSetType; 00045 typedef typename PointSetType::PointType PointType; 00046 00047 virtual const char *GetNameOfClass() const {return "ReferencePointsAccessor";}; 00048 00049 bool FixedPointsExist() const; 00050 bool MovingPointsExist() const; 00051 00052 PointSetType* GetFixedPoints(); 00053 PointSetType* GetMovingPoints(); 00054 00055 void SetFixedPoints(PointSetType* pPoints); 00056 void SetMovingPoints(PointSetType* pPoints); 00057 00058 unsigned long GetFixedPointsCount(); 00059 unsigned long GetMovingPointsCount(); 00060 00061 PointType GetFixedPoint(unsigned long index); 00062 void SetFixedPoint(unsigned long index, PointType& point); 00063 00064 PointType GetMovingPoint(unsigned long index); 00065 void SetMovingPoint(unsigned long index, PointType& point); 00066 00067 ParameterArrayType GetFixedPointArray(unsigned long index); 00068 void SetFixedPointArray(unsigned long index, const ParameterArrayType& point); 00069 00070 ParameterArrayType GetMovingPointArray(unsigned long index); 00071 void SetMovingPointArray(unsigned long index, const ParameterArrayType& point); 00072 00076 void CreateFixedPointSet(); 00077 00081 void CreateMovingPointSet(); 00082 00083 ReferencePointsAccessor(SessionComponentCache* pCache); 00084 00085 protected: 00086 SessionComponentCache::Pointer m_smpCache; 00087 PointSetType* m_pFixed; 00088 PointSetType* m_pMoving; 00089 }; 00090 00091 }//end of namespace FREE 00092 00093 #ifndef ITK_MANUAL_INSTANTIATION 00094 #include "freReferencePointsAccessor.txx" 00095 #endif 00096 00097 #endif
1.5.3 written by Dimitri van Heesch,
© 1997-2000