#ifndef IMG_ENHANCE_H_
#define IMG_ENHANCE_H_
#include "commStruct.h"
// IMG is square 
class ImgEnhance {
    public:
        static void GaussianEn(float maxF, float minF, float *imgMat, int c, int hw, float mu, float sigma);
        
        static void HorizontalEnImg(float *imgMat, int c, int hw);
        static void HorizontalEnBox(float sxMin, float syMin, float sheight, float swidth, float *dxMin, float *dyMin, float *dxMax, float *dyMax);
        
        static void VerticalEnImg(float *imgMat, int c, int hw);
        static void VerticalEnBox(float sxMin, float syMin, float sheight, float swidth, float *dxMin, float *dyMin, float *dxMax, float *dyMax);
        
        static void HVEnImg(float *imgMat, int c, int hw);
        static void HVEnBox(float sxMin, float syMin, float sheight, float swidth, float *dxMin, float *dyMin, float *dxMax, float *dyMax);
        
        static void Rotate90EnImg(float *imgMat, int c, int hw);
        static void Rotate90EnBox(float sxMin, float syMin, float sheight, float swidth, float *dxMin, float *dyMin, float *dxMax, float *dyMax);
        
        static void Rotate270EnImg(float *imgMat, int c, int hw);
        static void Rotate270EnBox(float sxMin, float syMin, float sheight, float swidth, float *dxMin, float *dyMin, float *dxMax, float *dyMax);
        static void EnBoxList(struct Box *mBoxList, int boxNum, int method);
};
#endif