|
Isis 3.0 Object Programmers' Reference |
Home |
00001 #ifndef HiEqualization_h 00002 #define HiEqualization_h 00003 00026 #include "Equalization.h" 00027 00028 #include <string> 00029 #include <vector> 00030 00031 #include "FileList.h" 00032 00033 00034 namespace Isis { 00035 class Buffer; 00036 class Cube; 00037 class FileList; 00038 class OverlapStatistics; 00039 class PvlGroup; 00040 class Statistics; 00041 00042 00048 class HiEqualization : public Equalization { 00049 protected: 00055 class HiCalculateFunctor : public CalculateFunctor { 00056 public: 00057 HiCalculateFunctor(Statistics *stats, Statistics *statsLeft, 00058 Statistics *statsRight, 00059 double percent) : CalculateFunctor(stats, percent) { 00060 m_statsLeft = statsLeft; 00061 m_statsRight = statsRight; 00062 } 00063 00064 virtual ~HiCalculateFunctor() {} 00065 00066 protected: 00067 virtual void addStats(Buffer &in) const; 00068 00069 private: 00070 Statistics *m_statsLeft; 00071 Statistics *m_statsRight; 00072 }; 00073 00074 public: 00075 HiEqualization(QString fromListName); 00076 virtual ~HiEqualization(); 00077 00078 void calculateStatistics(); 00079 00080 protected: 00081 virtual void fillOutList(FileList &outList, QString toListName); 00082 virtual void errorCheck(QString fromListName); 00083 00084 private: 00085 int getCCDType(int ccd); 00086 00087 std::vector<int> movedIndices; 00088 }; 00089 }; 00090 00091 #endif