freMeanVectorFieldGenerator.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: 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

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