00001 #ifndef __YEE_H__
00002 #define __YEE_H__
00003
00004 #include <vector>
00005
00006 #include <stdint.h>
00007
00008 #include "processor.h"
00009
00010 namespace segment
00011 {
00012
00015 class Yee : public spectral::Processor
00016 {
00017 public:
00018 Yee();
00019 ~Yee();
00020
00021
00022
00023 virtual uint32_t GetInterface(
00024 std::list<std::pair<uint32_t, uint32_t> > &mandatory,
00025 std::list<std::pair<uint32_t, uint32_t> > &optional) const;
00026
00027
00028 virtual bool SetImage(uint32_t slot, const spectral::Image *img);
00029
00030
00031 virtual void SetParameters(const spectral::Parameters *);
00032
00033
00034 virtual spectral::Image *Process(void);
00035
00036
00037 virtual void ClearImage(uint32_t slot);
00038
00039 protected:
00040
00041
00042 virtual void GetParameters(spectral::Parameters *) const;
00043
00044 private:
00045 private:
00046 float GetBinSize(int id);
00047
00048 spectral::Image *m_lumImage;
00049 float m_min, m_max;
00050 int32_t m_first_layer_id, m_last_layer_id;
00051 uint32_t m_pattern;
00052 bool m_wrap_horizontal, m_wrap_vertical;
00053 };
00054
00055 }
00056
00057 #endif