//***************************************************************************
#ifndef EDGEFLOW_H
#define EDGEFLOW_H
//***************************************************************************
#include "matrix.h"
#include "gaussian.h"
#include "gabor.h"
//***************************************************************************
void DetectEdge(Matrix *Edge, Matrix *Fr, Matrix *Fi);
void ComputeEdgeFlowVector(Matrix *Fr, Matrix *Fi,
        Matrix &imgR, Matrix &imgG, Matrix &imgB,
        int numorient, double sigma);
void TotalEdgeFlowRGB(Matrix *E, Matrix *P,
        Matrix &imgR, Matrix &imgG, Matrix &imgB,
        double sigma, double theta, int numorient, int side);
void IntensityEdgeFlow(Matrix *E, Matrix *P, Matrix &img,
        double sigma, double theta, int side);
void TextureEdgeFlow(Matrix *E, Matrix *P, Matrix &img, 
        double theta, int side, double Ul, double Uh, double sigma,
        int scale, int orientation, int flag);
//***************************************************************************
#endif // EDGEFLOW_H
//***************************************************************************