00001
00002 #ifndef __MARSCHNERLOBB_H__
00003 #define __MARSCHNERLOBB_H__
00004
00005
00006
00007
00008
00009 #include <vuVector.h>
00010
00011 #define MAX_INTENSITY 254 //vuVolume doesn't handle 255 properly
00012
00014 class MarschnerLobb {
00015 public:
00016 MarschnerLobb();
00017 ~MarschnerLobb();
00018
00020 void initialize(double x, double y, double z);
00021
00023 double getValue(const vuVector& p) const;
00024
00026
00032 double getValueGaussianNoise(const vuVector& p, const double& stdDev) const;
00033
00035
00036
00037
00038
00039 double getValueSaltPepperNoise(const vuVector&p, const double& percentage) const;
00040
00041 private:
00042 double xsize, ysize, zsize;
00043 double fm, alpha;
00044 };
00045
00046 #endif