Main Page | Class Hierarchy | Class List | File List | Class Members

vuML.h

00001 // -*- C++ -*-
00002 #ifndef __MARSCHNERLOBB_H__
00003 #define __MARSCHNERLOBB_H__
00004 
00005 // written by Reza Entezari
00006 // adapted to vuVolume by Steven Bergner
00007 // adapted to 775 final proj by Tai Meng
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     Set value to 0 (pepper) with probability p/2.
00037     Set value to 1 (salt) with probability p/2.
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

Generated on Thu Apr 13 04:55:56 2006 by  doxygen 1.4.4