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: freVarianceFieldGenerator.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 __freVarianceFieldGenerator_h 00023 #define __freVarianceFieldGenerator_h 00024 00025 namespace FREE 00026 { 00027 00038 template <class TInputVectorField,class TOutputField> 00039 class VarianceFieldGenerator 00040 { 00041 public: 00042 typedef TInputVectorField InputImageType; 00043 typedef typename InputImageType::Pointer InputImagePointer; 00044 typedef typename InputImageType::ValueType InputValueType; 00045 typedef TOutputField OutputImageType; 00046 typedef typename OutputImageType::Pointer OutputImagePointer; 00047 typedef typename OutputImageType::ValueType OutputValueType; 00048 typedef typename OutputImageType::RegionType OutputRegionType; 00049 typedef typename OutputImageType::PointType OutputPointType; 00050 00051 private: 00053 OutputImagePointer m_SumField; 00054 00056 unsigned int m_iFieldCount; 00057 00060 bool m_bUserRegion; 00061 00062 OutputRegionType m_OutputRegion; 00063 OutputPointType m_OutputOrigin; 00064 00070 void ResizeSumField(const InputImageType* elementField); 00071 00072 public: 00073 00074 OutputRegionType GetOutputRegion() const; 00075 void SetOutputGeometry(const OutputRegionType& outputRegion, const OutputPointType& origin); 00076 00085 InputImagePointer AddField(const InputImageType* pField, const InputImageType* pMeanField); 00086 00089 OutputImagePointer GetOutput (void) const; 00090 00093 void Reset(); 00094 00095 VarianceFieldGenerator(); 00096 00097 ~VarianceFieldGenerator(); 00098 }; 00099 00100 00101 }//End of Namespace free 00102 00103 00104 #ifndef ITK_MANUAL_INSTANTIATION 00105 #include "freVarianceFieldGenerator.txx" 00106 #endif 00107 00108 #endif
1.5.3 written by Dimitri van Heesch,
© 1997-2000