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: freMeanVectorFieldGenerator.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 __freMeanVectorFieldGenerator_h 00023 #define __freMeanVectorFieldGenerator_h 00024 00025 namespace FREE 00026 { 00027 00038 template <class TInputVectorField,class TOutputVectorField> 00039 class MeanVectorFieldGenerator 00040 { 00041 public: 00042 typedef TInputVectorField InputImageType; 00043 typedef TOutputVectorField OutputImageType; 00044 typedef typename InputImageType::ValueType InputVectorType; 00045 typedef typename OutputImageType::Pointer OutputImagePointer; 00046 typedef typename OutputImageType::ValueType OutputVectorType; 00047 typedef typename OutputImageType::RegionType OutputRegionType; 00048 typedef typename OutputImageType::PointType OutputPointType; 00049 00050 private: 00052 typename OutputImageType::Pointer m_SumVectorField; 00053 00055 unsigned int m_iFieldCount; 00056 00059 bool m_bUserRegion; 00060 00061 OutputRegionType m_OutputRegion; 00062 OutputPointType m_OutputOrigin; 00063 00069 void ResizeSumField(OutputImageType* elementField); 00070 00071 public: 00072 00073 OutputRegionType GetOutputRegion() const; 00074 void SetOutputGeometry(const OutputRegionType& outputRegion, const OutputPointType& origin); 00075 00081 void AddField(const InputImageType* vectorField); 00082 00085 OutputImagePointer GetOutput (void) const; 00086 00089 void Reset(); 00090 00091 MeanVectorFieldGenerator(); 00092 00093 virtual ~MeanVectorFieldGenerator(); 00094 }; 00095 00096 00097 }//End of Namespace free 00098 00099 00100 #ifndef ITK_MANUAL_INSTANTIATION 00101 #include "freMeanVectorFieldGenerator.txx" 00102 #endif 00103 00104 #endif
1.5.3 written by Dimitri van Heesch,
© 1997-2000