freVarianceFieldGenerator.h

Go to the documentation of this file.
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

Generated at Sat Oct 13 18:02:05 2007 for f.r.e.e. - Flexible Registration and Evaluation Engine by doxygen 1.5.3 written by Dimitri van Heesch, © 1997-2000