123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- ////////////////////////////////////////////////////////////////////////////////////
- // //////
- // WARNING! //////
- // //////
- // THIS CLASS IS NOW OBSOLETE. //////
- // IT IS KEPT FOR COMPATIBILITY PURPOSES. //////
- // //////
- // PLEASE USE THE COLOR CONVERSION FACILITY INSTEAD. //////
- // THAT IS, SapColorConversion Class. //////
- // //////
- // //////
- ////////////////////////////////////////////////////////////////////////////////////
- #ifndef _SAPBAYER_H_
- #define _SAPBAYER_H_
- // SapBayer.h: interface for the SapBayer class.
- //
- #include "SapClassBasicDef.h"
- //
- // SapBayer class declaration
- //
- class SAPCLASSBASIC_CLASS SapBayer : public SapManager
- {
- public:
- typedef int Align;
- enum _Align
- {
- AlignGBRG = CORBAYER_ALIGN_GB_RG,
- AlignBGGR = CORBAYER_ALIGN_BG_GR,
- AlignRGGB = CORBAYER_ALIGN_RG_GB,
- AlignGRBG = CORBAYER_ALIGN_GR_BG,
- AlignAll = CORBAYER_ALIGN_MASK
- };
- typedef int Method;
- enum _Method
- {
- Method1 = CORBAYER_METHOD_1,
- Method2 = CORBAYER_METHOD_2,
- Method3 = CORBAYER_METHOD_3,
- Method4 = CORBAYER_METHOD_4,
- Method5 = CORBAYER_METHOD_5,
- Method6 = CORBAYER_METHOD_6,
- MethodInterpolate = CORBAYER_METHOD_1,
- MethodGoldenEagle = CORBAYER_METHOD_2,
- MethodEagle = CORBAYER_METHOD_3,
- MethodAll= CORBAYER_METHOD_MASK
- };
- public:
- SapBayer();
- SapBayer(SapAcquisition *pAcq, SapBuffer* pBuffer);
- SapBayer(SapBuffer *pBuffer);
- SapBayer(const SapBayer &bayer);
- virtual ~SapBayer();
- SapBayer &operator= (const SapBayer &bayer);
- // Creation/destruction
- virtual BOOL Create();
- virtual BOOL Destroy();
- public:
- // Access to implementation
- SapAcquisition*GetAcquisition() const { return m_pAcq; }
- SapBuffer* GetBuffer() const { return m_pBuffer; }
- SapBuffer* GetBayerBuffer() const;
- BOOL IsEnabled() const { return m_IsEnabled; }
- BOOL IsSoftware() const { return !m_IsHardware || !m_IsHardwareEnabled;}
- Align GetAlign() const { return m_Align; }
- Method GetMethod() const { return m_Method; }
- SapDataFRGB GetWBGain() const { return m_WBGain; }
- SapDataFRGB GetWBOffset() const { return m_WBOffset; }
- float GetGamma() const { return m_Gamma; }
- SapFormat GetOutputFormat() const ;
- Align GetAvailAlign() const { return m_AlignCap; }
- Method GetAvailMethod() const { return m_MethodCap; }
- int GetBayerBufferCount() const { return m_BayerBufferCount;}
- virtual BOOL SetAcquisition(SapAcquisition *pAcq);
- virtual BOOL SetBuffer(SapBuffer *pBuffer);
- virtual BOOL SetAlign(Align align);
- virtual BOOL SetMethod(Method method);
- virtual BOOL SetWBGain(SapDataFRGB wbGain);
- virtual BOOL SetWBOffset(SapDataFRGB wbOffset);
- virtual BOOL SetGamma(float gamma);
- virtual BOOL SetOutputFormat( SapFormat format);
- virtual BOOL SetBayerBufferCount( int bayerBufferCount);
- // Execution control
- virtual BOOL Enable( BOOL enable = TRUE, BOOL useHardware= TRUE);
- virtual BOOL WhiteBalance(int x, int y, int width, int height);
- virtual BOOL WhiteBalance(SapBuffer *pBuffer, int x, int y, int width, int height);
- virtual BOOL Convert();
- virtual BOOL Convert(int srcIndex);
- virtual BOOL Convert(int srcIndex, int dstIndex);
- // Look-up table management
- SapLut* GetLut() const { return m_pLut; }
- BOOL IsLutEnabled() const { return m_IsLutEnabled; }
- BOOL IsAcqLut() const { return m_IsAcqLut; }
- virtual BOOL EnableLut(BOOL enable = TRUE);
- protected:
- // Utility methods
- virtual void Construct(SapAcquisition *pAcq, SapBuffer *pBuffer);
- virtual BOOL SetAlignImmediate(Align align);
- virtual BOOL SetMethodImmediate(Method method);
- virtual BOOL SetWBGainImmediate(SapDataFRGB& wbGain);
- virtual BOOL GetWBGainLimits(SapDataFRGB *gainMin, SapDataFRGB *gainMax);
- virtual BOOL SetWBOffsetImmediate(SapDataFRGB& wbOffset);
- virtual BOOL SetGammaImmediate(float gamma);
- virtual BOOL SetAcqOutputFormat( BOOL enable, BOOL useHardware);
- protected:
- SapAcquisition *m_pAcq;
- SapBuffer *m_pBuffer;
- SapBufferRoi *m_pBufferRoi;
- SapBuffer *m_pBayerBuffer;
- int m_BayerBufferCount;
- Align m_AlignCap;
- Method m_MethodCap;
- SapDataFRGB m_GainMin;
- SapDataFRGB m_GainMax;
- float m_OffsetMin;
- float m_OffsetMax;
- BOOL m_IsEnabled;
- BOOL m_IsHardware;
- BOOL m_IsHardwareEnabled;
- SapFormat m_colorOutputFormat;
- int m_pixelDepth;
- Align m_Align;
- Method m_Method;
- SapDataFRGB m_WBGain;
- SapDataFRGB m_WBOffset;
- float m_Gamma;
- BOOL m_IsDefaultGain;
- BOOL m_IsDefaultOffset;
- // Look-up table management
- SapLut *m_pLut;
- BOOL m_IsLutEnabled;
- BOOL m_IsAcqLut;
- };
- #endif
|