/vol/vipdata/irtk/image++/include/irtkNoise.h

00001 /*=========================================================================
00002 
00003   Library   : Image Registration Toolkit (IRTK)
00004   Module    : $Id: irtkNoise.h 2 2008-12-23 12:40:14Z dr $
00005   Copyright : Imperial College, Department of Computing
00006               Visual Information Processing (VIP), 2008 onwards
00007   Date      : $Date: 2008-12-23 12:40:14 +0000 (Tue, 23 Dec 2008) $
00008   Version   : $Revision: 2 $
00009   Changes   : $Author: dr $
00010 
00011 =========================================================================*/
00012 
00013 #ifndef _IRTKNOISE_H
00014 
00015 #define _IRTKNOISE_H
00016 
00017 // irtk includes
00018 #include <irtkImageToImage.h>
00019 
00026 template <class VoxelType> class irtkNoise : public irtkImageToImage<VoxelType>
00027 {
00028 
00029 protected:
00030 
00032   long int _Init;
00033 
00035   double _Amplitude;
00036 
00038   virtual Bool RequiresBuffering();
00039 
00041   virtual const char *NameOfClass();
00042 
00043 public:
00044 
00046   irtkNoise(double amplitude = 1);
00047 
00049   ~irtkNoise() {};
00050 
00052   SetMacro(Amplitude, double);
00053 
00055   GetMacro(Amplitude, double);
00056 
00057 };
00058 
00059 #include <irtkUniformNoise.h>
00060 #include <irtkUniformNoiseWithPadding.h>
00061 #include <irtkGaussianNoise.h>
00062 #include <irtkGaussianNoiseWithPadding.h>
00063 #include <irtkRicianNoise.h>
00064 #include <irtkRicianNoiseWithPadding.h>
00065 
00066 #endif