78 lines
2.5 KiB
C++
78 lines
2.5 KiB
C++
#ifndef AURORA_FUNCTION2D_H
|
||
#define AURORA_FUNCTION2D_H
|
||
|
||
#include "Matrix.h"
|
||
#include "Function1D.h"
|
||
|
||
|
||
namespace Aurora {
|
||
enum FunctionDirection{
|
||
Column,
|
||
Row,
|
||
All
|
||
};
|
||
double immse(const Matrix& aImageA, const Matrix& aImageB);
|
||
Matrix inv(const Matrix& aMatrix);
|
||
Matrix inv(Matrix&& aMatrix);
|
||
Matrix interp2(const Matrix& aX, const Matrix& aY, const Matrix& aV, const Matrix& aX1, const Matrix& aY1, InterpnMethod aMethod);
|
||
Matrix interpn(const Matrix& aX, const Matrix& aY, const Matrix& aV, const Matrix& aX1, const Matrix& aY1, InterpnMethod aMethod);
|
||
Matrix std(const Matrix& aMatrix);
|
||
|
||
/**
|
||
* 求矩阵最小值,可按行、列、单元, 目前不支持三维,不支持复数
|
||
* @param aMatrix 矩阵
|
||
* @param direction 方向,Column, Row, All
|
||
* @return
|
||
*/
|
||
Matrix min(const Matrix& aMatrix,FunctionDirection direction = Column);
|
||
|
||
Matrix min(const Matrix& aMatrix,FunctionDirection direction, long& rowIdx, long& colIdx);
|
||
|
||
/**
|
||
* 求矩阵最小值,可按行、列、单元, 目前不支持三维,不支持复数
|
||
* @param aMatrix 矩阵
|
||
* @param direction 方向,Column, Row, All
|
||
* @return
|
||
*/
|
||
Matrix max(const Matrix& aMatrix,FunctionDirection direction = Column);
|
||
|
||
Matrix max(const Matrix& aMatrix,FunctionDirection direction , long& rowIdx, long& colIdx);
|
||
|
||
/**
|
||
* 比较两个矩阵,求对应位置的最小值,不支持三维
|
||
* @attention 矩阵形状不一样时,如A为[MxN],则B应为标量或[1xN]的行向量
|
||
* @param aMatrix
|
||
* @param aOther
|
||
* @return
|
||
*/
|
||
Matrix min(const Matrix& aMatrix,const Matrix& aOther);
|
||
|
||
/**
|
||
* 求矩阵和,可按行、列、单元, 目前不支持三维,不支持复数
|
||
* @param aMatrix 矩阵
|
||
* @param direction 方向,Column, Row, All
|
||
* @return
|
||
*/
|
||
Matrix sum(const Matrix& aMatrix,FunctionDirection direction = Column);
|
||
|
||
/**
|
||
* 求矩阵平均值,可按行、列、单元, 目前不支持三维,不支持复数
|
||
* @param aMatrix 矩阵
|
||
* @param direction 方向,Column, Row, All
|
||
* @param aIncludeNan 是否包含nan
|
||
* @return
|
||
*/
|
||
Matrix mean(const Matrix& aMatrix,FunctionDirection direction = Column, bool aIncludeNan = true);
|
||
|
||
Matrix sort(const Matrix& aMatrix);
|
||
Matrix sort(Matrix&& aMatrix);
|
||
|
||
Matrix sortrows(const Matrix& aMatrix);
|
||
Matrix sortrows(Matrix&& aMatrix);
|
||
|
||
Matrix median(const Matrix& aMatrix);
|
||
};
|
||
|
||
|
||
#endif //AURORA_FUNCTION2D_H
|