freAsymmetricVariateGenerator.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: freAsymmetricVariateGenerator.h,v $
00007 
00008 
00009   Copyright (c) 2007 Ralf o Floca (Department of Medical Informatics,
00010   Institute for Medical Biometry and Informatics, University of Heidelberg,
00011   Germany). All rights reserved.
00012   See FREECopyright.txt or http://www.mi.med.uni-hd.de/free/copyright.htm
00013   for details.
00014 
00015      This software is distributed WITHOUT ANY WARRANTY; without even 
00016      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
00017      PURPOSE.  See the above copyright notices for more information.
00018 
00019 =========================================================================*/
00020 #ifndef __freAsymmetricVariateGenerator_h
00021 #define __freAsymmetricVariateGenerator_h
00022 
00023 #include "itkMacro.h"
00024 #include "itkObjectFactory.h"
00025 #include "itkRandomVariateGeneratorBase.h"
00026 
00027 namespace itk {
00028 namespace Statistics {
00029 
00046 class AsymmetricVariateGenerator : 
00047     public RandomVariateGeneratorBase
00048 {
00049 public:
00050   
00052   typedef AsymmetricVariateGenerator Self ;
00053   typedef RandomVariateGeneratorBase Superclass;
00054   typedef SmartPointer<Self>   Pointer;
00055   typedef SmartPointer<const Self>  ConstPointer;
00056 
00058   itkTypeMacro(AsymmetricVariateGenerator, 
00059                RandomVariateGeneratorBase );
00060  
00062   itkNewMacro(Self);
00063     
00064   // Methods to reseed
00066   void Initialize( const int randomSeed );
00067   
00068   /* Initialize with vcl_clock time */ 
00069   void Initialize();  
00070   
00073   virtual double GetVariate();
00074      
00076   double operator()(); 
00077 
00078   itkSetMacro(Variance, double);
00079   itkGetMacro(Variance, double);
00080 
00081   itkSetMacro(Skewness, double);
00082   itkGetMacro(Skewness, double);
00083 
00084   itkSetMacro(Gamma, double);
00085   itkGetMacro(Gamma, double);
00086 
00087  protected:
00088   AsymmetricVariateGenerator();
00089   virtual ~AsymmetricVariateGenerator() {}; 
00090   virtual void PrintSelf(std::ostream& os, Indent indent) const;
00091 
00092   double m_Variance;
00093   double m_Skewness;
00094   double m_Gamma;
00095 
00097   double Erf(double x);
00099   double Freq(double x);
00101   double INorm(double z);
00102 } ;  // end of class
00103   
00104 } // end of namespace Statistics
00105 } // end of namespace itk
00106 
00107 #endif
00108 
00109 

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