00001
00026 #ifndef _BASICALGORITHMS_CALCULATEMEANEXPOSURE_H
00027 #define _BASICALGORITHMS_CALCULATEMEANEXPOSURE_H
00028
00029 #include <hugin_shared.h>
00030 #include <algorithms/PanoramaAlgorithm.h>
00031
00032
00033
00034 namespace HuginBase {
00035
00036
00037 class IMPEX CalculateMeanExposure : public PanoramaAlgorithm
00038 {
00039
00040 public:
00042 CalculateMeanExposure(PanoramaData& panorama)
00043 : PanoramaAlgorithm(panorama)
00044 {};
00045
00047 virtual ~CalculateMeanExposure() {};
00048
00049
00050 public:
00052 virtual bool modifiesPanoramaData() const
00053 { return false; }
00054
00056 virtual bool runAlgorithm()
00057 {
00058 o_resultExposure = calcMeanExposure(o_panorama);
00059 return true;
00060 }
00061
00062
00063 public:
00064
00066 static double calcMeanExposure(const PanoramaData& pano);
00067
00069 virtual double getResultExposure() const
00070 {
00071
00072 return o_resultExposure;
00073 }
00074
00075
00076 protected:
00077 double o_resultExposure;
00078 };
00079
00080
00081 }
00082 #endif // _H