FLImaging 6.5.8.1
FLImaging::Foundation::CMatrix< Ty > Class Template Reference

A class representing matrix. More...

#include <Matrix.h>

Inheritance diagram for FLImaging::Foundation::CMatrix< Ty >:
FLImaging::Base::CFLBase FLImaging::Foundation::CMatrixFor3D< Ty >

Public Member Functions

 CMatrix ()
 
virtual ~CMatrix ()
 
 CMatrix (const CMatrix< Ty > &matrix)
 
 CMatrix (const CMatrix< Ty > *pMatrix)
 
 CMatrix (int64_t i64Row, int64_t i64Column)
 
 CMatrix (int64_t i64Row, int64_t i64Column, Ty tFillValue)
 
 CMatrix (const Base::CFLArray< Base::CFLArray< Ty > > &fla2Mat)
 
virtual const CMatrix< Ty > & operator+= (const int32_t &i32Param)
 
virtual const CMatrix< Ty > & operator+= (const int64_t &i64Param)
 
virtual const CMatrix< Ty > & operator+= (const float &f32Param)
 
virtual const CMatrix< Ty > & operator+= (const double &f64Param)
 
virtual const CMatrix< Ty > & operator+= (const CMatrix< Ty > &cMat)
 
virtual const CMatrix< Ty > & operator-= (const int32_t &i32Param)
 
virtual const CMatrix< Ty > & operator-= (const int64_t &i64Param)
 
virtual const CMatrix< Ty > & operator-= (const float &f32Param)
 
virtual const CMatrix< Ty > & operator-= (const double &f64Param)
 
virtual const CMatrix< Ty > & operator-= (const CMatrix< Ty > &cMat)
 
virtual const CMatrix< Ty > & operator*= (const int32_t &i32Param)
 
virtual const CMatrix< Ty > & operator*= (const int64_t &i64Param)
 
virtual const CMatrix< Ty > & operator*= (const float &f32Param)
 
virtual const CMatrix< Ty > & operator*= (const double &f64Param)
 
virtual const CMatrix< Ty > & operator*= (const CMatrix< Ty > &cMat)
 
virtual const CMatrix< Ty > & operator/= (const int32_t &i32Param)
 
virtual const CMatrix< Ty > & operator/= (const int64_t &i64Param)
 
virtual const CMatrix< Ty > & operator/= (const float &f32Param)
 
virtual const CMatrix< Ty > & operator/= (const double &f64Param)
 
virtual const CMatrix< Ty > & operator/= (const CMatrix< Ty > &cMat)
 
CMatrix< Ty > operator+ (const int32_t &i32Param) const
 
CMatrix< Ty > operator+ (const int64_t &i64Param) const
 
CMatrix< Ty > operator+ (const float &f32Param) const
 
CMatrix< Ty > operator+ (const double &f64Param) const
 
CMatrix< Ty > operator+ (const CMatrix< Ty > &cMat) const
 
CMatrix< Ty > operator- (const int32_t &i32Param) const
 
CMatrix< Ty > operator- (const int64_t &i64Param) const
 
CMatrix< Ty > operator- (const float &f32Param) const
 
CMatrix< Ty > operator- (const double &f64Param) const
 
CMatrix< Ty > operator- (const CMatrix< Ty > &cMat) const
 
CMatrix< Ty > operator* (const int32_t &i32Param) const
 
CMatrix< Ty > operator* (const int64_t &i64Param) const
 
CMatrix< Ty > operator* (const float &f32Param) const
 
CMatrix< Ty > operator* (const double &f64Param) const
 
CMatrix< Ty > operator* (const CMatrix< Ty > &cMat) const
 
CMatrix< Ty > operator/ (const int32_t &i32Param) const
 
CMatrix< Ty > operator/ (const int64_t &i64Param) const
 
CMatrix< Ty > operator/ (const float &f32Param) const
 
CMatrix< Ty > operator/ (const double &f64Param) const
 
CMatrix< Ty > operator/ (const CMatrix< Ty > &cMat) const
 
virtual const CMatrix< Ty > & operator= (const CMatrix< double > &matrix)
 
virtual const CMatrix< Ty > & operator= (const CMatrix< float > &matrix)
 
virtual const CMatrix< Ty > & operator= (const CMatrix< double > *pMatrix)
 
virtual const CMatrix< Ty > & operator= (const CMatrix< float > *pMatrix)
 
virtual const CMatrix< Ty > & operator= (const Base::CFLArray< Base::CFLArray< Ty > > &fla2Matrix)
 
virtual bool operator== (const CMatrix< Ty > &cMat) const
 
virtual bool operator!= (const CMatrix< Ty > &cMat) const
 
CMatrix< Ty > operator== (const double &f64Param) const
 
CMatrix< Ty > operator!= (const double &f64Param) const
 
CMatrix< Ty > operator< (const double &f64Param) const
 
CMatrix< Ty > operator> (const double &f64Param) const
 
CMatrix< Ty > operator< (const CMatrix< Ty > &matOperand) const
 
CMatrix< Ty > operator> (const CMatrix< Ty > &matOperand) const
 
CMatrix< Ty > operator% (const double &f64Param) const
 
CMatrix< Ty > operator% (const CMatrix< Ty > &matOperand) const
 
CMatrix< Ty > operator&& (const CMatrix< Ty > &matOperand) const
 
virtual const CMatrix< Ty > & operator%= (const double &f64Param)
 
virtual operator Ty * ()
 
virtual Ty * operator() (const int32_t i32Row, const int32_t i32Column) const
 
virtual Ty * operator[] (int32_t i32Index)
 
virtual Ty * operator[] (int64_t i64Index)
 
virtual const Ty * operator[] (int32_t i32Index) const
 
virtual const Ty * operator[] (int64_t i64Index) const
 
virtual EMatrixTemplateType GetTemplateType () const
 
virtual const CResult Create (int64_t i64Row, int64_t i64Column, bool bFillZero=true)
 
virtual const CResult Create (const CMatrix< float > &matShape, Ty tFillValue=0)
 
virtual const CResult Create (const CMatrix< double > &matShape, Ty tFillValue=0)
 
virtual const CResult Create (const CMatrix< float > *pMatShape, Ty tFillValue=0)
 
virtual const CResult Create (const CMatrix< double > *pMatShape, Ty tFillValue=0)
 
virtual const CResult Ones (int64_t i64Row, int64_t i64Column)
 
virtual const CResult Zeros (int64_t i64Row, int64_t i64Column)
 
virtual const CResult Full (int64_t i64Row, int64_t i64Column, Ty tFillValue)
 
virtual const CResult OnesLike (const CMatrix< float > &matShape)
 
virtual const CResult OnesLike (const CMatrix< double > &matShape)
 
virtual const CResult OnesLike (const CMatrix< float > *pMatShape)
 
virtual const CResult OnesLike (const CMatrix< double > *pMatShape)
 
virtual const CResult ZerosLike (const CMatrix< float > &matShape)
 
virtual const CResult ZerosLike (const CMatrix< double > &matShape)
 
virtual const CResult ZerosLike (const CMatrix< float > *pMatShape)
 
virtual const CResult ZerosLike (const CMatrix< double > *pMatShape)
 
virtual const CResult FullLike (const CMatrix< float > &matShape, Ty tFillValue)
 
virtual const CResult FullLike (const CMatrix< double > &matShape, Ty tFillValue)
 
virtual const CResult FullLike (const CMatrix< float > *pMatShape, Ty tFillValue)
 
virtual const CResult FullLike (const CMatrix< double > *pMatShape, Ty tFillValue)
 
virtual bool IsValid () const override
 
virtual const CResult Assign (const CMatrix< double > &matrix)
 
virtual const CResult Assign (const CMatrix< float > &matrix)
 
virtual const CResult Assign (const CMatrix< double > *pMatrix)
 
virtual const CResult Assign (const CMatrix< float > *pMatrix)
 
virtual const CResult Assign (Ty *pArr2Mat, int64_t i64Row, int64_t i64Column)
 
virtual const CResult Assign (const Base::CFLArray< Base::CFLArray< Ty > > &fla2Matrix)
 
virtual const CResult Assign (const Base::CFLArray< Base::CFLArray< Ty > > *pFla2Matrix)
 
virtual const CResult Set (Ty *pArr2Mat, int64_t i64Row, int64_t i64Column)
 
virtual void Clear ()
 
virtual int64_t GetColumn () const
 
virtual int64_t GetRow () const
 
virtual int64_t GetElementCount () const
 
virtual int64_t GetTotalSizeByte () const
 
virtual int64_t GetColumnSizeByte () const
 
virtual int64_t GetRowSizeByte () const
 
virtual Ty * GetBuffer () const
 
virtual Ty ** GetYCache () const
 
virtual Ty * GetValue (int64_t i64Row, int64_t i64Column) const
 
virtual const CResult GetRange (CMatrix< Ty > *pMatResult, int64_t i64StartRow=-1, int64_t i64StartColumn=-1, int64_t i64EndRow=-1, int64_t i64EndColumn=-1) const
 
virtual const CResult GetRange (Base::CFLArray< Ty > *pMatResult, int64_t i64StartRow=-1, int64_t i64StartColumn=-1, int64_t i64EndRow=-1, int64_t i64EndColumn=-1) const
 
virtual const CResult GetRange (Base::CFLArray< Base::CFLArray< Ty > > *pMatResult, int64_t i64StartRow=-1, int64_t i64StartColumn=-1, int64_t i64EndRow=-1, int64_t i64EndColumn=-1) const
 
virtual const CResult GetRangeRef (CMatrix< Ty > *pMatResult, int64_t i64StartRow=-1, int64_t i64StartColumn=-1, int64_t i64EndRow=-1, int64_t i64EndColumn=-1) const
 
virtual const CResult Fill (Ty value)
 
virtual const CResult FillZero ()
 
virtual const CResult FillRandom (Ty tRangeMin, Ty tRangeMax)
 
virtual const CResult FillLinear (Ty tRangeStart, Ty tRangeEnd)
 
virtual const CResult LinSpace (Ty tRangeStart, Ty tRangeEnd)
 
virtual const CResult SetValue (int64_t i64Row, int64_t i64Column, Ty value)
 
virtual const CResult Add (const CMatrix< Ty > &matrix)
 
virtual const CResult Add (const CMatrix< Ty > *pMatrix)
 
virtual const CResult Add (const CMatrix< Ty > &matrix, CMatrix< Ty > *pTargetMatrix) const
 
virtual const CResult Add (const CMatrix< Ty > *pMatrix, CMatrix< Ty > *pTargetMatrix) const
 
virtual const CResult Subtract (const CMatrix< Ty > &matrix)
 
virtual const CResult Subtract (const CMatrix< Ty > *pMatrix)
 
virtual const CResult Subtract (const CMatrix< Ty > &matrix, CMatrix< Ty > *pTargetMatrix) const
 
virtual const CResult Subtract (const CMatrix< Ty > *pMatrix, CMatrix< Ty > *pTargetMatrix) const
 
virtual const CResult Multiply (const int32_t &i32Scalar)
 
virtual const CResult Multiply (const int64_t &i64Scalar)
 
virtual const CResult Multiply (const float &f32Scalar)
 
virtual const CResult Multiply (const double &f64Scalar)
 
virtual const CResult Multiply (const CMatrix< Ty > &matrix)
 
virtual const CResult Multiply (const CMatrix< Ty > *pMatrix)
 
virtual const CResult Multiply (const CMatrix< Ty > &matrix, CMatrix< Ty > *pTargetMatrix) const
 
virtual const CResult Multiply (const CMatrix< Ty > *pMatrix, CMatrix< Ty > *pTargetMatrix) const
 
virtual const CResult MultiplyElementwise (const CMatrix< Ty > &matrix)
 
virtual const CResult MultiplyElementwise (const CMatrix< Ty > *pMatrix)
 
virtual const CResult MultiplyElementwise (const CMatrix< Ty > &matrix, CMatrix< Ty > *pTargetMatrix) const
 
virtual const CResult MultiplyElementwise (const CMatrix< Ty > *pMatrix, CMatrix< Ty > *pTargetMatrix) const
 
virtual const CResult Transpose ()
 
virtual const CResult Transpose (CMatrix< Ty > *pTargetMatrix) const
 
virtual const CResult Invert ()
 
virtual const CResult Invert (CMatrix< Ty > *pTargetMatrix) const
 
virtual const CResult Unit ()
 
virtual const CResult Unit (CMatrix< Ty > *pTargetMatrix) const
 
virtual const CResult SetDiagonal (Ty tVal)
 
virtual const CResult SetDiagonal (Ty tVal, CMatrix< Ty > *pTargetMatrix) const
 
virtual const CResult PseudoInverse ()
 
virtual const CResult PseudoInverse (CMatrix< Ty > *pTargetMatrix) const
 
virtual Ty GetNorm (const Ty tP=2) const
 
virtual const CResult ReduceSum (const EMatrixReduceType eReduceType, CMatrix< Ty > *pMatResult) const
 
virtual const CResult ReduceMean (const EMatrixReduceType eReduceType, CMatrix< Ty > *pMatResult) const
 
virtual const CResult ReduceMax (const EMatrixReduceType eReduceType, CMatrix< Ty > *pMatResult) const
 
virtual const CResult ReduceMin (const EMatrixReduceType eReduceType, CMatrix< Ty > *pMatResult) const
 
virtual CMatrix< Ty > T () const
 
virtual CMatrix< Ty > I () const
 
virtual CMatrix< Ty > P () const
 
virtual CMatrix< Ty > U () const
 
virtual double Determinant () const
 
virtual const CResult Hessenberg (CMatrix< Ty > *pMatrixH, CMatrix< Ty > *pMatrixP=nullptr) const
 
virtual const CResult SVD (CMatrix< Ty > *pMatrixU, CMatrix< Ty > *pMatrixSig, CMatrix< Ty > *pMatrixVT) const
 
virtual const CResult QR (CMatrix< Ty > *pMatrixQ, CMatrix< Ty > *pMatrixR) const
 
virtual const CResult LU (CMatrix< Ty > *pMatrixL, CMatrix< Ty > *pMatrixU) const
 
virtual const CResult LUP (CMatrix< Ty > *pMatrixP, CMatrix< Ty > *pMatrixL, CMatrix< Ty > *pMatrixU) const
 
virtual bool CheckRange (Ty tMin, Ty tMax) const
 
virtual const CResult MulTransposed (const CMatrix< Ty > *pMatrixSource, CMatrix< Ty > *pMatrixDestination, int32_t i32Order, CMatrix< Ty > *pMatDelta=nullptr, double f64Scale=1.) const
 
virtual const CResult CrossProduct (const CMatrix< Ty > &matrixSource2, CMatrix< Ty > *pMatrixDestination) const
 
virtual const CResult CrossProduct (const CMatrix< Ty > *pMatrixSource2, CMatrix< Ty > *pMatrixDestination) const
 
virtual const CResult Reshape (int64_t i64Row, int64_t i64Column=-1)
 
virtual const CResult Abs ()
 
virtual const CResult Sqrt ()
 
virtual const CResult Ceil ()
 
virtual const CResult Floor ()
 
virtual const CResult Round ()
 
virtual const CResult Sin ()
 
virtual const CResult Cos ()
 
virtual const CResult Tan ()
 
virtual const CResult Arcsin ()
 
virtual const CResult Arccos ()
 
virtual const CResult Arctan2 (const CMatrix< Ty > &matrixX)
 
virtual const CResult Arctan2 (const CMatrix< Ty > *pMatrixX)
 
virtual const CResult Degrees ()
 
virtual const CResult Radians ()
 
virtual const CResult Log ()
 
virtual const CResult Log2 ()
 
virtual const CResult Log10 ()
 
virtual const CResult Log1p ()
 
virtual const CResult Clip (Ty tMin, Ty tMax)
 
virtual const CResult ArgMin (int64_t &i64ResultRow, int64_t &i64ResultColumn) const
 
virtual const CResult ArgMin (Base::CFLArray< int64_t > &flaResultIndex, EMatrixAxis eAxis) const
 
virtual const CResult ArgMin (Base::CFLArray< int64_t > *pFlaResultIndex, EMatrixAxis eAxis) const
 
virtual const CResult ArgMax (int64_t &i64ResultRow, int64_t &i64ResultColumn) const
 
virtual const CResult ArgMax (Base::CFLArray< int64_t > &flaResultIndex, EMatrixAxis eAxis) const
 
virtual const CResult ArgMax (Base::CFLArray< int64_t > *pFlaResultIndex, EMatrixAxis eAxis) const
 
virtual const CResult ArgSort (CMatrix< Ty > *pMatResultIndex=nullptr, EMatrixSortOrder eOrder=EMatrixSortOrder_Ascending, EMatrixAxis eAxis=EMatrixAxis_Column)
 
virtual Ty Min () const
 
virtual const CResult Min (CMatrix< Ty > &matResult, EMatrixAxis eAxis) const
 
virtual const CResult Min (CMatrix< Ty > *pMatResult, EMatrixAxis eAxis) const
 
virtual Ty Max () const
 
virtual const CResult Max (CMatrix< Ty > &matResult, EMatrixAxis eAxis) const
 
virtual const CResult Max (CMatrix< Ty > *pMatResult, EMatrixAxis eAxis) const
 
virtual Ty Sum () const
 
virtual const CResult Sum (CMatrix< Ty > &matResult, EMatrixAxis eAxis) const
 
virtual const CResult Sum (CMatrix< Ty > *pMatResult, EMatrixAxis eAxis) const
 
virtual Ty Mean () const
 
virtual const CResult Mean (CMatrix< Ty > &matResult, EMatrixAxis eAxis) const
 
virtual const CResult Mean (CMatrix< Ty > *pMatResult, EMatrixAxis eAxis) const
 
virtual Ty Std () const
 
virtual const CResult Std (CMatrix< Ty > &matResult, EMatrixAxis eAxis) const
 
virtual const CResult Std (CMatrix< Ty > *pMatResult, EMatrixAxis eAxis) const
 
virtual const CResult HStack (const CMatrix< Ty > &matInput, CMatrix< Ty > *pMatResult=nullptr)
 
virtual const CResult HStack (const CMatrix< Ty > *pMatInput, CMatrix< Ty > *pMatResult=nullptr)
 
virtual const CResult VStack (const CMatrix< Ty > &matInput, CMatrix< Ty > *pMatResult=nullptr)
 
virtual const CResult VStack (const CMatrix< Ty > *pMatInput, CMatrix< Ty > *pMatResult=nullptr)
 
virtual const CResult Swap (CMatrix< Ty > &matRight)
 
virtual const CResult Swap (CMatrix< Ty > *pMatRight)
 
virtual const CResult Diff (CMatrix< Ty > &matResult, EMatrixAxis eAxis=EMatrixAxis_Column, int64_t i64Depth=1) const
 
virtual const CResult Diff (CMatrix< Ty > *pMatResult, EMatrixAxis eAxis=EMatrixAxis_Column, int64_t i64Depth=1) const
 
virtual const CResult Dot (const CMatrix< Ty > *pMatInput)
 
virtual const CResult Dot (const CMatrix< Ty > *pMatInput, CMatrix< Ty > *pMatResult) const
 
virtual double Prod () const
 
virtual const CResult Prod (Base::CFLArray< double > &flaResult, EMatrixAxis eAxis) const
 
virtual const CResult Prod (Base::CFLArray< double > *pFlaResult, EMatrixAxis eAxis) const
 
virtual const CResult Unique (CMatrix< Ty > &matResult) const
 
virtual const CResult Unique (CMatrix< Ty > *pMatResult) const
 
virtual const CResult Unique (CMatrix< Ty > &matResult, EMatrixAxis eAxis) const
 
virtual const CResult Unique (CMatrix< Ty > *pMatResult, EMatrixAxis eAxis) const
 
virtual bool Any () const
 
virtual const CResult Any (EMatrixAxis eAxis, CMatrix< Ty > &matResult) const
 
virtual const CResult Any (EMatrixAxis eAxis, CMatrix< Ty > *pMatResult) const
 
virtual const CResult Save (const Base::CFLString< wchar_t > &strFilePath) const
 
virtual const CResult Save (const Base::CFLString< wchar_t > *pStrFilePath) const
 
virtual const CResult Load (const Base::CFLString< wchar_t > &strFilePath)
 
virtual const CResult Load (const Base::CFLString< wchar_t > *pStrFilePath)
 
virtual const CResult SaveCSV (const Base::CFLString< wchar_t > &strFilePath) const
 
virtual const CResult SaveCSV (const Base::CFLString< wchar_t > *pStrFilePath) const
 
virtual const CResult LoadCSV (const Base::CFLString< wchar_t > &strFilePath)
 
virtual const CResult LoadCSV (const Base::CFLString< wchar_t > *pStrFilePath)
 
virtual EAccuracy GetOperationAccuracy ()
 
virtual const CResult SetOperationAccuracy (EAccuracy eOperationAccuracy)
 
virtual bool IsReferenceEnabled () const
 
- Public Member Functions inherited from FLImaging::Base::CFLBase
 CFLBase ()
 Default constructor.
 
virtual ~CFLBase ()
 Destructor.
 
void Lock () const
 Set a lock on an object.
 
bool TryLock () const
 Try to lock the object.
 
void Unlock () const
 Unlock the object.
 
virtual const CProcessingUnitBaseGetProcessingUnit () const
 Returns the set ProcessingUnit.
 
virtual const CResult SetProcessingUnit (const CProcessingUnitBase &pub)
 set the ProcessingUnit
 
virtual const CResult SetProcessingUnit (const CProcessingUnitBase *pPub)
 Set the ProcessingUnit.
 
virtual void ResetProcessingUnit ()
 Rest the ProcessingUnit.
 
template<class T >
bool IsValid (T &tValue) const
 Validate input values.
 
template<class T >
bool IsValid (T *pTValue) const
 Validate input values.
 
template<class T >
void GenerateMin (T &tValue) const
 Generate the minimum value of that type.
 
template<class T >
void GenerateMin (T *pTValue) const
 Generate the minimum value of that type.
 
template<class T >
void GenerateMinInt32 (T &tValue) const
 Generate minimum signed 32-bit integer value.
 
template<class T >
void GenerateMinInt32 (T *pTValue) const
 Generate minimum signed 32-bit integer value.
 
template<class T >
void GenerateMinInt31 (T &tValue) const
 Generate minimum signed 31-bit integer value.
 
template<class T >
void GenerateMinInt31 (T *pTValue) const
 Generate minimum signed 31-bit integer value.
 
template<class T >
void GenerateMax (T &tValue) const
 Generate the maximum value of that type.
 
template<class T >
void GenerateMax (T *pTValue) const
 Generate the maximum value of that type.
 
template<class T >
void GenerateMaxInt32 (T &tValue) const
 Generate maximum signed 32-bit integer value.
 
template<class T >
void GenerateMaxInt32 (T *pTValue) const
 Generate maximum signed 32-bit integer value.
 
template<class T >
void GenerateMaxInt31 (T &tValue) const
 Generate maximum signed 31-bit integer value.
 
template<class T >
void GenerateMaxInt31 (T *pTValue) const
 Generate maximum signed 31-bit integer value.
 
template<class T >
void GenerateInvalid (T &tValue) const
 Generate invalid value.
 
template<class T >
void GenerateInvalid (T *pTValue) const
 Generate invalid value.
 
virtual void OnReceiveBroadcast (const CBroadcastMessage *pMessage)
 Callback function. A function that receives a BroadcastMessage.
 
virtual int64_t GetClassType () const =0
 Returns the Type value of Class. The returned value itself has no meaning, but if it is the same type of class, the same value will be displayed, so comparison is possible.
 
const char * GetClassNameWithNamespace () const
 Returns the class name including the namespace of the actual instance.
 
const char * GetClassNameWithoutNamespace () const
 Returns the class name that does not include the namespace of the actual instance.
 
virtual uint32_t GetClassHash () const
 Returns the class hash value of the actual instance. For the same class, even if the instance is different, it has the same value.
 
virtual bool IsLicenseAvailable () const
 Returns whether the algorithm can be used with the current license.
 
const CResult ShareSynchronizationObject (const CFLBase *pSrcObject) const
 Share synchronization object of original object.
 
bool IsSharedSynchronizationObject () const
 Is shared synchronization object.
 
virtual void Throw (const CResult &res, const wchar_t *pWcsExtraMessage=nullptr) const
 Raise an exception. Information and error codes of the object that occurred are recorded in the log.
 
virtual void Throw (const std::exception &res, const wchar_t *pWcsExtraMessage) const
 Raise an exception. Information and error codes of the object that occurred are recorded in the log.
 

Static Public Member Functions

static const CResult Where (const CMatrix< Ty > &matCondition, const CMatrix< Ty > &matTrue, const CMatrix< Ty > &matFalse, CMatrix< Ty > &matResult)
 
static const CResult Where (const CMatrix< Ty > &matCondition, const CMatrix< Ty > &matTrue, const CMatrix< Ty > &matFalse, CMatrix< Ty > *pMatResult)
 
static const CResult Where (const CMatrix< Ty > *pMatCondition, const CMatrix< Ty > *pMatTrue, const CMatrix< Ty > *pMatFalse, CMatrix< Ty > &matResult)
 
static const CResult Where (const CMatrix< Ty > *pMatCondition, const CMatrix< Ty > *pMatTrue, const CMatrix< Ty > *pMatFalse, CMatrix< Ty > *pMatResult)
 
static const CResult Where (const CMatrix< Ty > &matCondition, const CMatrix< Ty > &matTrue, Ty tFalse, CMatrix< Ty > &matResult)
 
static const CResult Where (const CMatrix< Ty > &matCondition, const CMatrix< Ty > &matTrue, Ty tFalse, CMatrix< Ty > *pMatResult)
 
static const CResult Where (const CMatrix< Ty > *pMatCondition, const CMatrix< Ty > *pMatTrue, Ty tFalse, CMatrix< Ty > &matResult)
 
static const CResult Where (const CMatrix< Ty > *pMatCondition, const CMatrix< Ty > *pMatTrue, Ty tFalse, CMatrix< Ty > *pMatResult)
 
static const CResult Where (const CMatrix< Ty > &matCondition, Ty tTrue, const CMatrix< Ty > &matFalse, CMatrix< Ty > &matResult)
 
static const CResult Where (const CMatrix< Ty > &matCondition, Ty tTrue, const CMatrix< Ty > &matFalse, CMatrix< Ty > *pMatResult)
 
static const CResult Where (const CMatrix< Ty > *pMatCondition, Ty tTrue, const CMatrix< Ty > *pMatFalse, CMatrix< Ty > &matResult)
 
static const CResult Where (const CMatrix< Ty > *pMatCondition, Ty tTrue, const CMatrix< Ty > *pMatFalse, CMatrix< Ty > *pMatResult)
 
static const CResult Where (const CMatrix< Ty > &matCondition, Ty tTrue, Ty tFalse, CMatrix< Ty > &matResult)
 
static const CResult Where (const CMatrix< Ty > &matCondition, Ty tTrue, Ty tFalse, CMatrix< Ty > *pMatResult)
 
static const CResult Where (const CMatrix< Ty > *pMatCondition, Ty tTrue, Ty tFalse, CMatrix< Ty > &matResult)
 
static const CResult Where (const CMatrix< Ty > *pMatCondition, Ty tTrue, Ty tFalse, CMatrix< Ty > *pMatResult)
 
static const CResult SolveLU (CMatrix< Ty > *pMatL, CMatrix< Ty > *pMatU, CMatrix< Ty > *pMatB, CMatrix< Ty > *pMatRes)
 
static const CResult SolveLUP (CMatrix< Ty > *pMatP, CMatrix< Ty > *pMatL, CMatrix< Ty > *pMatU, CMatrix< Ty > *pMatB, CMatrix< Ty > *pMatRes)
 
static const CResult Solve (CMatrix< Ty > *pMatA, CMatrix< Ty > *pMatB, CMatrix< Ty > *pMatRes)
 
static const CResult ConjugateGradient (const CMatrix< Ty > *pMatA, const CMatrix< Ty > *pMatB, CMatrix< Ty > *pMatRes, bool bSparseMatrix=false, double f64Tolerance=1e-5, int64_t i64MaxIteratorCount=10000)
 
static const CResult GetSimilarity (const CFLPointArray &flpaSrcPoints, const CFLPointArray &flpaDstPoints, CMatrix< Ty > *pMatResult)
 
static const CResult GetSimilarity (const CFLPointArray *pFlpaSrcPoints, const CFLPointArray *pFlpaDstPoints, CMatrix< Ty > *pMatResult)
 
static const CResult GetSimilarity (const Base::CFLArray< Base::TPoint< Ty > > &flaSrcPoints, const Base::CFLArray< Base::TPoint< Ty > > &flaDstPoints, CMatrix< Ty > *pMatResult)
 
static const CResult GetSimilarity (const Base::CFLArray< Base::TPoint< Ty > > *pFlaSrcPoints, const Base::CFLArray< Base::TPoint< Ty > > *pFlaDstPoints, CMatrix< Ty > *pMatResult)
 
static const CResult GetSimilarity (const Base::CFLArray< Ty > &flaSrcX, const Base::CFLArray< Ty > &flaSrcY, const Base::CFLArray< Ty > &flaDstX, const Base::CFLArray< Ty > &flaDstY, CMatrix< Ty > *pMatResult)
 
static const CResult GetSimilarity (const Base::CFLArray< Ty > *pFlaSrcX, const Base::CFLArray< Ty > *pFlaSrcY, const Base::CFLArray< Ty > *pFlaDstX, const Base::CFLArray< Ty > *pFlaDstY, CMatrix< Ty > *pMatResult)
 

Detailed Description

template<typename Ty>
class FLImaging::Foundation::CMatrix< Ty >

A class representing matrix.

Constructor & Destructor Documentation

◆ CMatrix() [1/6]

template<typename Ty >
FLImaging::Foundation::CMatrix< Ty >::CMatrix ( )

default constructor

◆ ~CMatrix()

template<typename Ty >
virtual FLImaging::Foundation::CMatrix< Ty >::~CMatrix ( )
virtual

default destructor

◆ CMatrix() [2/6]

template<typename Ty >
FLImaging::Foundation::CMatrix< Ty >::CMatrix ( const CMatrix< Ty > & matrix)

copy constructor

Parameters
[in]matrixobject to copy

◆ CMatrix() [3/6]

template<typename Ty >
FLImaging::Foundation::CMatrix< Ty >::CMatrix ( const CMatrix< Ty > * pMatrix)

copy constructor

Parameters
[in]pMatrixobject to copy

◆ CMatrix() [4/6]

template<typename Ty >
FLImaging::Foundation::CMatrix< Ty >::CMatrix ( int64_t i64Row,
int64_t i64Column )

initialization constructor

Parameters
[in]i64Rowrow count
[in]i64Columncolumn count

◆ CMatrix() [5/6]

template<typename Ty >
FLImaging::Foundation::CMatrix< Ty >::CMatrix ( int64_t i64Row,
int64_t i64Column,
Ty tFillValue )

initialization constructor

Parameters
[in]i64Rowrow count
[in]i64Columncolumn count
[in]tFillValueInitialize with that value

◆ CMatrix() [6/6]

template<typename Ty >
FLImaging::Foundation::CMatrix< Ty >::CMatrix ( const Base::CFLArray< Base::CFLArray< Ty > > & fla2Mat)

initialization constructor

Parameters
[in]fla2Mat2D FLArray with matrix elements
See also
FLImaging::Base::CFLArray

Member Function Documentation

◆ Abs()

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Abs ( )
virtual

Takes the absolute value of each element.

Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Add() [1/4]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Add ( const CMatrix< Ty > & matrix)
virtual

Performs matrix addition and stores the result in the corresponding object.

Parameters
[in]matrixmatrix to add
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Add() [2/4]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Add ( const CMatrix< Ty > & matrix,
CMatrix< Ty > * pTargetMatrix ) const
virtual

Perform matrix addition.

Parameters
[in]matrixmatrix to add
[out]pTargetMatrixresult matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Add() [3/4]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Add ( const CMatrix< Ty > * pMatrix)
virtual

Performs matrix addition and stores the result in the corresponding object.

Parameters
[in]pMatrixmatrix to add
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Add() [4/4]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Add ( const CMatrix< Ty > * pMatrix,
CMatrix< Ty > * pTargetMatrix ) const
virtual

Perform matrix addition.

Parameters
[in]pMatrixmatrix to add
[out]pTargetMatrixresult matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Any() [1/3]

template<typename Ty >
virtual bool FLImaging::Foundation::CMatrix< Ty >::Any ( ) const
virtual

Checks whether all elements of the matrix are true.

Return values
boolReturns true if all elements of the matrix are true

◆ Any() [2/3]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Any ( EMatrixAxis eAxis,
CMatrix< Ty > & matResult ) const
virtual

Along a given axis, checks if all elements on that axis are true.

Parameters
[in]eAxisAxis of the matrix
[out]matResultResult matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult
FLImaging::Foundation::EMatrixAxis

◆ Any() [3/3]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Any ( EMatrixAxis eAxis,
CMatrix< Ty > * pMatResult ) const
virtual

Along a given axis, checks if all elements on that axis are true.

Parameters
[in]eAxisAxis of the matrix
[out]pMatResultResult matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult
FLImaging::Foundation::EMatrixAxis

◆ Arccos()

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Arccos ( )
virtual

Takes the arccosine of value for each element.

Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Arcsin()

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Arcsin ( )
virtual

Takes the arcsine of value for each element.

Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Arctan2() [1/2]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Arctan2 ( const CMatrix< Ty > & matrixX)
virtual

Takes the arctangent2 of value for each element. arctan(y / x), y = Source, x = matrixX

Parameters
[in]matrixXx value of arctangent 2
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Arctan2() [2/2]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Arctan2 ( const CMatrix< Ty > * pMatrixX)
virtual

Takes the arctangent2 of value for each element. arctan(y / x), y = Source, x = pMatrixX

Parameters
[in]pMatrixXx value of arctangent 2
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ ArgMax() [1/3]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::ArgMax ( Base::CFLArray< int64_t > & flaResultIndex,
EMatrixAxis eAxis ) const
virtual

Returns the indices of the maximum values along an axis.

Parameters
[out]flaResultIndexIndex of maximum value along axis
[in]eAxisAxis of the matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult
FLImaging::Base::CFLArray
FLImaging::Foundation::EMatrixAxis

◆ ArgMax() [2/3]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::ArgMax ( Base::CFLArray< int64_t > * pFlaResultIndex,
EMatrixAxis eAxis ) const
virtual

Returns the indices of the maximum values along an axis.

Parameters
[out]pFlaResultIndexIndex of maximum value along axis
[in]eAxisAxis of the matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult
FLImaging::Base::CFLArray
FLImaging::Foundation::EMatrixAxis

◆ ArgMax() [3/3]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::ArgMax ( int64_t & i64ResultRow,
int64_t & i64ResultColumn ) const
virtual

A function that returns the row and column with the maximum value among the elements of a matrix

Parameters
[out]i64ResultRowRow of maximum element
[out]i64ResultColumnColumn of maximum element
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ ArgMin() [1/3]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::ArgMin ( Base::CFLArray< int64_t > & flaResultIndex,
EMatrixAxis eAxis ) const
virtual

Returns the indices of the minimum values along an axis.

Parameters
[out]flaResultIndexIndex of minimum value along axis
[in]eAxisAxis of the matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult
FLImaging::Base::CFLArray
FLImaging::Foundation::EMatrixAxis

◆ ArgMin() [2/3]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::ArgMin ( Base::CFLArray< int64_t > * pFlaResultIndex,
EMatrixAxis eAxis ) const
virtual

Returns the indices of the minimum values along an axis.

Parameters
[out]pFlaResultIndexIndex of minimum value along axis
[in]eAxisAxis of the matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult
FLImaging::Base::CFLArray
FLImaging::Foundation::EMatrixAxis

◆ ArgMin() [3/3]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::ArgMin ( int64_t & i64ResultRow,
int64_t & i64ResultColumn ) const
virtual

A function that returns the row and column with the minimum value among the elements of a matrix

Parameters
[out]i64ResultRowRow of minimum element
[out]i64ResultColumnColumn of minimum element
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ ArgSort()

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::ArgSort ( CMatrix< Ty > * pMatResultIndex = nullptr,
EMatrixSortOrder eOrder = EMatrixSortOrder_Ascending,
EMatrixAxis eAxis = EMatrixAxis_Column )
virtual

Returns the indices that would sort an array.

Parameters
[out]pMatResultIndexIndex result matrix to sort. If nullptr, the result is contained in the Source object.
[in]eOrderSort order
[in]eAxisAxis of the matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult
FLImaging::Foundation::EMatrixSortOrder
FLImaging::Foundation::EMatrixAxis

◆ Assign() [1/7]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Assign ( const Base::CFLArray< Base::CFLArray< Ty > > & fla2Matrix)
virtual

Assigns a matrix by copying it from a 2D FLArray. (reference)

Parameters
[in]fla2Matrixmatrix element values
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult
FLImaging::Base::CFLArray

◆ Assign() [2/7]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Assign ( const Base::CFLArray< Base::CFLArray< Ty > > * pFla2Matrix)
virtual

Assigns a matrix by copying it from a 2-D FLArray. (pointer)

Parameters
[in]pFla2Matrixmatrix element values
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult
FLImaging::Base::CFLArray

◆ Assign() [3/7]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Assign ( const CMatrix< double > & matrix)
virtual

Assign a matrix.

Parameters
[in]matrixmatrix to copy
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Assign() [4/7]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Assign ( const CMatrix< double > * pMatrix)
virtual

Assign a matrix.

Parameters
[in]pMatrixmatrix to copy
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Assign() [5/7]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Assign ( const CMatrix< float > & matrix)
virtual

Assign a matrix.

Parameters
[in]matrixmatrix to copy
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Assign() [6/7]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Assign ( const CMatrix< float > * pMatrix)
virtual

Assign a matrix.

Parameters
[in]pMatrixmatrix to copy
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Assign() [7/7]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Assign ( Ty * pArr2Mat,
int64_t i64Row,
int64_t i64Column )
virtual

Assign values by copying the matrix.

Parameters
[in]pArr2MatPointer to matrix to allocate
[in]i64Rowrow count
[in]i64Columncolumn count
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Ceil()

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Ceil ( )
virtual

Rounds up each element.

Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ CheckRange()

template<typename Ty >
virtual bool FLImaging::Foundation::CMatrix< Ty >::CheckRange ( Ty tMin,
Ty tMax ) const
virtual

Determines whether all elements of a matrix are within the range of min and max values. \( tMin < val < tMax\)

Parameters
[in]tMinMinimum range
[in]tMaxMaximum range
Return values
boolReturns true if all elements of the matrix are within the range of min and max values

◆ Clear()

template<typename Ty >
virtual void FLImaging::Foundation::CMatrix< Ty >::Clear ( )
virtual

Initialize the object's variables.

◆ Clip()

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Clip ( Ty tMin,
Ty tMax )
virtual

If each element is outside the set range, it is cut to the corresponding range value.

Parameters
[in]tMinMinimum range of values
[in]tMaxMaximum range of values
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ ConjugateGradient()

template<typename Ty >
static const CResult FLImaging::Foundation::CMatrix< Ty >::ConjugateGradient ( const CMatrix< Ty > * pMatA,
const CMatrix< Ty > * pMatB,
CMatrix< Ty > * pMatRes,
bool bSparseMatrix = false,
double f64Tolerance = 1e-5,
int64_t i64MaxIteratorCount = 10000 )
static

Returns the roots of a system of linear equations expressed as a matrix using the Conjugate Gradient Method. \( Ax = B\)

Parameters
[in]pMatAMatrix A
[in]pMatBMatrix B
[out]pMatResSolution matrix (x matrix) of a system of linear equations
[in]bSparseMatrixIf matrix A is expressed as a sparse matrix, the corresponding option must be set to true.
In the case of a sparse matrix, the first row should contain (rows of the entire matrix, columns of the entire matrix, number of non-zero elements), and the other rows should contain information about the element (row, column, value of the element).
Example)

\[ A_{bSparseMatrix(false)} = \begin{pmatrix} 3 & 0 & 0 \\ 4 & 1 & 0 \\ 0 & 0 & 5 \end{pmatrix}, A_{bSparseMatrix(true)} = \begin{pmatrix} 3 & 3 & 4 \\ 0 & 0 & 3 \\ 1 & 0 & 4 \\ 1 & 1 & 1 \\ 2 & 2 & 5 \end{pmatrix} \]

[in]f64ToleranceTolerance
[in]i64MaxIteratorCountMax iterator count
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Cos()

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Cos ( )
virtual

Takes the cosine of value for each element.

Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Create() [1/5]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Create ( const CMatrix< double > & matShape,
Ty tFillValue = 0 )
virtual

Create a matrix with the same size as the matrix of parameters.

Parameters
[in]matShapeCreate a matrix with the same size as the corresponding matrix
[in]tFillValueInitialize with that value
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Create() [2/5]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Create ( const CMatrix< double > * pMatShape,
Ty tFillValue = 0 )
virtual

Create a matrix with the same size as the matrix of parameters.

Parameters
[in]pMatShapeCreate a matrix with the same size as the corresponding matrix
[in]tFillValueInitialize with that value
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Create() [3/5]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Create ( const CMatrix< float > & matShape,
Ty tFillValue = 0 )
virtual

Create a matrix with the same size as the matrix of parameters.

Parameters
[in]matShapeCreate a matrix with the same size as the corresponding matrix
[in]tFillValueInitialize with that value
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Create() [4/5]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Create ( const CMatrix< float > * pMatShape,
Ty tFillValue = 0 )
virtual

Create a matrix with the same size as the matrix of parameters.

Parameters
[in]pMatShapeCreate a matrix with the same size as the corresponding matrix
[in]tFillValueInitialize with that value
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Create() [5/5]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Create ( int64_t i64Row,
int64_t i64Column,
bool bFillZero = true )
virtual

Create a matrix.

Parameters
[in]i64Rowrow count
[in]i64Columncolumn count
[in]bFillZeroWhether to initialize to 0
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ CrossProduct() [1/2]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::CrossProduct ( const CMatrix< Ty > & matrixSource2,
CMatrix< Ty > * pMatrixDestination ) const
virtual

Calculate and output the cross product of 2D or 3D column vectors.

Parameters
[in]matrixSource2matrix to operate on 2
[out]pMatrixDestinationoperation result matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ CrossProduct() [2/2]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::CrossProduct ( const CMatrix< Ty > * pMatrixSource2,
CMatrix< Ty > * pMatrixDestination ) const
virtual

Calculate and output the cross product of 2D or 3D column vectors.

Parameters
[in]pMatrixSource2matrix to operate on 2
[out]pMatrixDestinationoperation result matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Degrees()

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Degrees ( )
virtual

Convert the value of each element from Radian to Degree.

Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Determinant()

template<typename Ty >
virtual double FLImaging::Foundation::CMatrix< Ty >::Determinant ( ) const
virtual

Evaluates the determinant.

Return values
doubledeterminant value

◆ Diff() [1/2]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Diff ( CMatrix< Ty > & matResult,
EMatrixAxis eAxis = EMatrixAxis_Column,
int64_t i64Depth = 1 ) const
virtual

Calculate the n-th discrete difference along the given axis.

Parameters
[out]matResultResult matrix
[in]eAxisAxis of the matrix
[in]i64DepthNumber of times to calculate value difference
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult
FLImaging::Foundation::EMatrixAxis

◆ Diff() [2/2]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Diff ( CMatrix< Ty > * pMatResult,
EMatrixAxis eAxis = EMatrixAxis_Column,
int64_t i64Depth = 1 ) const
virtual

Calculate the n-th discrete difference along the given axis.

Parameters
[out]pMatResultResult matrix
[in]eAxisAxis of the matrix
[in]i64DepthNumber of times to calculate value difference
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult
FLImaging::Foundation::EMatrixAxis

◆ Dot() [1/2]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Dot ( const CMatrix< Ty > * pMatInput)
virtual

Dot product of a matrix (matrix multiplication)

Parameters
[in]pMatInputmatrix to multiply
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Dot() [2/2]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Dot ( const CMatrix< Ty > * pMatInput,
CMatrix< Ty > * pMatResult ) const
virtual

Dot product of a matrix (matrix multiplication)

Parameters
[in]pMatInputmatrix to multiply
[out]pMatResultResult matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Fill()

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Fill ( Ty value)
virtual

Set the values of all matrix elements to a single value.

Parameters
[in]valuevalues to set to elements
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ FillLinear()

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::FillLinear ( Ty tRangeStart,
Ty tRangeEnd )
virtual

Set the values of all matrix elements to linearly spaced values within the range.

Parameters
[in]tRangeStartStarting value to be generated
[in]tRangeEndEnd value to be generated
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ FillRandom()

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::FillRandom ( Ty tRangeMin,
Ty tRangeMax )
virtual

Set the values of all matrix elements to random values within a range.

Parameters
[in]tRangeMinRandom minimum value to be generated
[in]tRangeMaxRandom maximum value to be generated
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ FillZero()

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::FillZero ( )
virtual

Set the values of all matrix elements to 0.

Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Floor()

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Floor ( )
virtual

Round down on each element.

Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Full()

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Full ( int64_t i64Row,
int64_t i64Column,
Ty tFillValue )
virtual

Create a matrix initialized to tFillValue.

Parameters
[in]i64Rowrow count
[in]i64Columncolumn count
[in]tFillValuevalue to initialize
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ FullLike() [1/4]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::FullLike ( const CMatrix< double > & matShape,
Ty tFillValue )
virtual

Creates a matrix initialized to tFillValue with the same size as the parameter matrix.

Parameters
[in]matShapeCreate a matrix with the same size as the corresponding matrix
[in]tFillValuevalue to initialize
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ FullLike() [2/4]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::FullLike ( const CMatrix< double > * pMatShape,
Ty tFillValue )
virtual

Creates a matrix initialized to tFillValue with the same size as the parameter matrix.

Parameters
[in]pMatShapeCreate a matrix with the same size as the corresponding matrix
[in]tFillValuevalue to initialize
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ FullLike() [3/4]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::FullLike ( const CMatrix< float > & matShape,
Ty tFillValue )
virtual

Creates a matrix initialized to tFillValue with the same size as the parameter matrix.

Parameters
[in]matShapeCreate a matrix with the same size as the corresponding matrix
[in]tFillValuevalue to initialize
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ FullLike() [4/4]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::FullLike ( const CMatrix< float > * pMatShape,
Ty tFillValue )
virtual

Creates a matrix initialized to tFillValue with the same size as the parameter matrix.

Parameters
[in]pMatShapeCreate a matrix with the same size as the corresponding matrix
[in]tFillValuevalue to initialize
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ GetBuffer()

template<typename Ty >
virtual Ty * FLImaging::Foundation::CMatrix< Ty >::GetBuffer ( ) const
virtual

Get the matrix data buffer.

Return values
Ty*Buffer address of matrix data

◆ GetColumn()

template<typename Ty >
virtual int64_t FLImaging::Foundation::CMatrix< Ty >::GetColumn ( ) const
virtual

Get the set number of columns.

Return values
int64_tcolumn count

◆ GetColumnSizeByte()

template<typename Ty >
virtual int64_t FLImaging::Foundation::CMatrix< Ty >::GetColumnSizeByte ( ) const
virtual

Gets the byte size of the column (number of columns * type byte size).

Return values
int64_tcolumn size in bytes

◆ GetElementCount()

template<typename Ty >
virtual int64_t FLImaging::Foundation::CMatrix< Ty >::GetElementCount ( ) const
virtual

Get the number of elements (number of rows * number of columns).

Return values
int64_tnumber of elements

◆ GetNorm()

template<typename Ty >
virtual Ty FLImaging::Foundation::CMatrix< Ty >::GetNorm ( const Ty tP = 2) const
virtual

Find the norm.

Parameters
[in]tPPower
Return values
Tynorm value

◆ GetOperationAccuracy()

template<typename Ty >
virtual EAccuracy FLImaging::Foundation::CMatrix< Ty >::GetOperationAccuracy ( )
virtual

Gets the floating point arithmetic precision.

Return values
FLImaging::Foundation::EAccuracyFloating-point arithmetic precision
See also
FLImaging::Foundation::EAccuracy

◆ GetRange() [1/3]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::GetRange ( Base::CFLArray< Base::CFLArray< Ty > > * pMatResult,
int64_t i64StartRow = -1,
int64_t i64StartColumn = -1,
int64_t i64EndRow = -1,
int64_t i64EndColumn = -1 ) const
virtual

Cuts and imports a matrix in a specified range.

Parameters
[out]pMatResultresult matrix
[in]i64StartRowIndex of the starting row of the range, set to index 0 in case of -1
[in]i64StartColumnThe index of the starting column in the range, set to index 0 in case of -1
[in]i64EndRowThe index of the row at the end of the range, if set to -1, set to the index at the end of the row
[in]i64EndColumnThe index of the column at the end of the range, if set to -1, the index at the end of the column
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult
FLImaging::Base::CFLArray

◆ GetRange() [2/3]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::GetRange ( Base::CFLArray< Ty > * pMatResult,
int64_t i64StartRow = -1,
int64_t i64StartColumn = -1,
int64_t i64EndRow = -1,
int64_t i64EndColumn = -1 ) const
virtual

Cuts and imports a matrix in a specified range.

Parameters
[out]pMatResultresult matrix
[in]i64StartRowIndex of the starting row of the range, set to index 0 in case of -1
[in]i64StartColumnThe index of the starting column in the range, set to index 0 in case of -1
[in]i64EndRowThe index of the row at the end of the range, if set to -1, set to the index at the end of the row
[in]i64EndColumnThe index of the column at the end of the range, if set to -1, the index at the end of the column
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult
FLImaging::Base::CFLArray

◆ GetRange() [3/3]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::GetRange ( CMatrix< Ty > * pMatResult,
int64_t i64StartRow = -1,
int64_t i64StartColumn = -1,
int64_t i64EndRow = -1,
int64_t i64EndColumn = -1 ) const
virtual

Cuts and imports a matrix in a specified range.

Parameters
[out]pMatResultresult matrix
[in]i64StartRowIndex of the starting row of the range, set to index 0 in case of -1
[in]i64StartColumnThe index of the starting column in the range, set to index 0 in case of -1
[in]i64EndRowThe index of the row at the end of the range, if set to -1, set to the index at the end of the row
[in]i64EndColumnThe index of the column at the end of the range, if set to -1, the index at the end of the column
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ GetRangeRef()

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::GetRangeRef ( CMatrix< Ty > * pMatResult,
int64_t i64StartRow = -1,
int64_t i64StartColumn = -1,
int64_t i64EndRow = -1,
int64_t i64EndColumn = -1 ) const
virtual

Cuts and imports a matrix in a specified range without copying.

Parameters
[out]pMatResultresult matrix
[in]i64StartRowIndex of the starting row of the range, set to index 0 in case of -1
[in]i64StartColumnThe index of the starting column in the range, set to index 0 in case of -1
[in]i64EndRowThe index of the row at the end of the range, if set to -1, set to the index at the end of the row
[in]i64EndColumnThe index of the column at the end of the range, if set to -1, the index at the end of the column
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ GetRow()

template<typename Ty >
virtual int64_t FLImaging::Foundation::CMatrix< Ty >::GetRow ( ) const
virtual

Get the set number of row.

Return values
int64_trow count

◆ GetRowSizeByte()

template<typename Ty >
virtual int64_t FLImaging::Foundation::CMatrix< Ty >::GetRowSizeByte ( ) const
virtual

Gets the byte size of the row (number of columns * type byte size).

Return values
int64_tcolumn size in bytes

◆ GetSimilarity() [1/6]

template<typename Ty >
static const CResult FLImaging::Foundation::CMatrix< Ty >::GetSimilarity ( const Base::CFLArray< Base::TPoint< Ty > > & flaSrcPoints,
const Base::CFLArray< Base::TPoint< Ty > > & flaDstPoints,
CMatrix< Ty > * pMatResult )
static

Calculate the transformation matrix that minimizes the sum of the distance differences between the source and destination points.

\[ \sum _i \left | \left | \left ( \begin{bmatrix} DstX_i \\ DstY_i \\ 1 \end{bmatrix} - pMatResult * \begin{bmatrix} SrcX_i \\ SrcY_i \\ 1 \end{bmatrix} \right) \right | \right | ^2 = minimum \]

Parameters
[in]flaSrcPointsSource points
[in]flaDstPointsDestination points
[out]pMatResultTransformation matrix that minimizes the distance difference
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult
FLImaging::Base::CFLArray
FLImaging::Base::TPoint

◆ GetSimilarity() [2/6]

template<typename Ty >
static const CResult FLImaging::Foundation::CMatrix< Ty >::GetSimilarity ( const Base::CFLArray< Base::TPoint< Ty > > * pFlaSrcPoints,
const Base::CFLArray< Base::TPoint< Ty > > * pFlaDstPoints,
CMatrix< Ty > * pMatResult )
static

Calculate the transformation matrix that minimizes the sum of the distance differences between the source and destination points.

\[ \sum _i \left | \left | \left ( \begin{bmatrix} DstX_i \\ DstY_i \\ 1 \end{bmatrix} - pMatResult * \begin{bmatrix} SrcX_i \\ SrcY_i \\ 1 \end{bmatrix} \right) \right | \right | ^2 = minimum \]

Parameters
[in]pFlaSrcPointsSource points
[in]pFlaDstPointsDestination points
[out]pMatResultTransformation matrix that minimizes the distance difference
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult
FLImaging::Base::CFLArray
FLImaging::Base::TPoint

◆ GetSimilarity() [3/6]

template<typename Ty >
static const CResult FLImaging::Foundation::CMatrix< Ty >::GetSimilarity ( const Base::CFLArray< Ty > & flaSrcX,
const Base::CFLArray< Ty > & flaSrcY,
const Base::CFLArray< Ty > & flaDstX,
const Base::CFLArray< Ty > & flaDstY,
CMatrix< Ty > * pMatResult )
static

Calculate the transformation matrix that minimizes the sum of the distance differences between the source and destination points.

\[ \sum _i \left | \left | \left ( \begin{bmatrix} DstX_i \\ DstY_i \\ 1 \end{bmatrix} - pMatResult * \begin{bmatrix} SrcX_i \\ SrcY_i \\ 1 \end{bmatrix} \right) \right | \right | ^2 = minimum \]

Parameters
[in]flaSrcXSet of X coordinates of Source
[in]flaSrcYSet of Y coordinates of Source
[in]flaDstXSet of X coordinates of Destination
[in]flaDstYSet of Y coordinates of Destination
[out]pMatResultTransformation matrix that minimizes the distance difference
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult
FLImaging::Base::CFLArray

◆ GetSimilarity() [4/6]

template<typename Ty >
static const CResult FLImaging::Foundation::CMatrix< Ty >::GetSimilarity ( const Base::CFLArray< Ty > * pFlaSrcX,
const Base::CFLArray< Ty > * pFlaSrcY,
const Base::CFLArray< Ty > * pFlaDstX,
const Base::CFLArray< Ty > * pFlaDstY,
CMatrix< Ty > * pMatResult )
static

Calculate the transformation matrix that minimizes the sum of the distance differences between the source and destination points.

\[ \sum _i \left | \left | \left ( \begin{bmatrix} DstX_i \\ DstY_i \\ 1 \end{bmatrix} - pMatResult * \begin{bmatrix} SrcX_i \\ SrcY_i \\ 1 \end{bmatrix} \right) \right | \right | ^2 = minimum \]

Parameters
[in]pFlaSrcXSet of X coordinates of Source
[in]pFlaSrcYSet of Y coordinates of Source
[in]pFlaDstXSet of X coordinates of Destination
[in]pFlaDstYSet of Y coordinates of Destination
[out]pMatResultTransformation matrix that minimizes the distance difference
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult
FLImaging::Base::CFLArray

◆ GetSimilarity() [5/6]

template<typename Ty >
static const CResult FLImaging::Foundation::CMatrix< Ty >::GetSimilarity ( const CFLPointArray & flpaSrcPoints,
const CFLPointArray & flpaDstPoints,
CMatrix< Ty > * pMatResult )
static

Calculate the transformation matrix that minimizes the sum of the distance differences between the source and destination points.

\[ \sum _i \left | \left | \left ( \begin{bmatrix} DstX_i \\ DstY_i \\ 1 \end{bmatrix} - pMatResult * \begin{bmatrix} SrcX_i \\ SrcY_i \\ 1 \end{bmatrix} \right) \right | \right | ^2 = minimum \]

Parameters
[in]flpaSrcPointsSource points
[in]flpaDstPointsDestination points
[out]pMatResultTransformation matrix that minimizes the distance difference
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult
FLImaging::Foundation::CFLPointArray

◆ GetSimilarity() [6/6]

template<typename Ty >
static const CResult FLImaging::Foundation::CMatrix< Ty >::GetSimilarity ( const CFLPointArray * pFlpaSrcPoints,
const CFLPointArray * pFlpaDstPoints,
CMatrix< Ty > * pMatResult )
static

Calculate the transformation matrix that minimizes the sum of the distance differences between the source and destination points.

\[ \sum _i \left | \left | \left ( \begin{bmatrix} DstX_i \\ DstY_i \\ 1 \end{bmatrix} - pMatResult * \begin{bmatrix} SrcX_i \\ SrcY_i \\ 1 \end{bmatrix} \right) \right | \right | ^2 = minimum \]

Parameters
[in]pFlpaSrcPointsSource points
[in]pFlpaDstPointsDestination points
[out]pMatResultTransformation matrix that minimizes the distance difference
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult
FLImaging::Foundation::CFLPointArray

◆ GetTemplateType()

template<typename Ty >
virtual EMatrixTemplateType FLImaging::Foundation::CMatrix< Ty >::GetTemplateType ( ) const
virtual

Returns the template type of an object

Return values
FLImaging::Foundation::EMatrixTemplateTypeobject's template type
See also
FLImaging::Foundation::EMatrixTemplateType

◆ GetTotalSizeByte()

template<typename Ty >
virtual int64_t FLImaging::Foundation::CMatrix< Ty >::GetTotalSizeByte ( ) const
virtual

Get the total byte size of the matrix (number of columns * number of rows * type bytes size).

Return values
int64_ttotal size of matrix in bytes

◆ GetValue()

template<typename Ty >
virtual Ty * FLImaging::Foundation::CMatrix< Ty >::GetValue ( int64_t i64Row,
int64_t i64Column ) const
virtual

Get the value of a matrix element.

Parameters
[in]i64Rowrow number of elements
[in]i64Columncolumn number of elements
Return values
Ty*A pointer to the matrix element values

◆ GetYCache()

template<typename Ty >
virtual Ty ** FLImaging::Foundation::CMatrix< Ty >::GetYCache ( ) const
virtual

Get matrix data.

Return values
Ty**pointer to matrix data

◆ Hessenberg()

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Hessenberg ( CMatrix< Ty > * pMatrixH,
CMatrix< Ty > * pMatrixP = nullptr ) const
virtual

Find the Hessenberg value.
\( A = PHP^T, P^TP = I\)

Parameters
[out]pMatrixHHessenberg matrix
[out]pMatrixPUnitary matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ HStack() [1/2]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::HStack ( const CMatrix< Ty > & matInput,
CMatrix< Ty > * pMatResult = nullptr )
virtual

Stack the matrices horizontally in order.

Parameters
[in]matInputMatrix to stack
[out]pMatResultResult matrix. If nullptr, the result is contained in the Source object.
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ HStack() [2/2]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::HStack ( const CMatrix< Ty > * pMatInput,
CMatrix< Ty > * pMatResult = nullptr )
virtual

Stack the matrices horizontally in order.

Parameters
[in]pMatInputMatrix to stack
[out]pMatResultResult matrix. If nullptr, the result is contained in the Source object.
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ I()

template<typename Ty >
virtual CMatrix< Ty > FLImaging::Foundation::CMatrix< Ty >::I ( ) const
virtual

Returns the inverse matrix.

Return values
FLImaging::Foundation::CMatrix<Ty>result matrix

◆ Invert() [1/2]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Invert ( )
virtual

Inverse the matrix and store the result in that object.

Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Invert() [2/2]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Invert ( CMatrix< Ty > * pTargetMatrix) const
virtual

Find the inverse matrix.

Parameters
[out]pTargetMatrixinverse matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ IsReferenceEnabled()

template<typename Ty >
virtual bool FLImaging::Foundation::CMatrix< Ty >::IsReferenceEnabled ( ) const
virtual

Gets whether it is a reference matrix.

Return values
boolReturns whether the reference matrix is

◆ IsValid()

template<typename Ty >
virtual bool FLImaging::Foundation::CMatrix< Ty >::IsValid ( ) const
overridevirtual

Check if it is a valid matrix. Returns false if the matrix has not been created.

Return values
matrixvalidation

Reimplemented from FLImaging::Base::CFLBase.

◆ LinSpace()

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::LinSpace ( Ty tRangeStart,
Ty tRangeEnd )
virtual

Set the values of all matrix elements to linearly spaced values within the range.

Parameters
[in]tRangeStartStarting value to be generated
[in]tRangeEndEnd value to be generated
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Load() [1/2]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Load ( const Base::CFLString< wchar_t > & strFilePath)
virtual

Load the saved matrix.

Parameters
[in]strFilePathfile path to load
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult
FLImaging::Base::CFLString

◆ Load() [2/2]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Load ( const Base::CFLString< wchar_t > * pStrFilePath)
virtual

Load the saved matrix.

Parameters
[in]pStrFilePathfile path to load
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult
FLImaging::Base::CFLString

◆ LoadCSV() [1/2]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::LoadCSV ( const Base::CFLString< wchar_t > & strFilePath)
virtual

Load the matrix as a csv file.

Parameters
[in]strFilePathpath to laod
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult
FLImaging::Base::CFLString

◆ LoadCSV() [2/2]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::LoadCSV ( const Base::CFLString< wchar_t > * pStrFilePath)
virtual

Load the matrix as a csv file.

Parameters
[in]pStrFilePathpath to laod
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult
FLImaging::Base::CFLString

◆ Log()

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Log ( )
virtual

Take the log of the base e of the value of each element.

Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Log10()

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Log10 ( )
virtual

Take the log of the base 10 of the value of each element.

Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Log1p()

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Log1p ( )
virtual

Add 1 to the value of each element to take Log whose base is e.

Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Log2()

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Log2 ( )
virtual

Take the log of the base 2 of the value of each element.

Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ LU()

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::LU ( CMatrix< Ty > * pMatrixL,
CMatrix< Ty > * pMatrixU ) const
virtual

Perform LU decomposition. \( A = LU \)

Parameters
[out]pMatrixLlower triangular matrix
[out]pMatrixUupper triangular matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ LUP()

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::LUP ( CMatrix< Ty > * pMatrixP,
CMatrix< Ty > * pMatrixL,
CMatrix< Ty > * pMatrixU ) const
virtual

Partial Pivoting LU decomposition. \( PA = LU \)

Parameters
[out]pMatrixPsubstitution matrix
[out]pMatrixLlower triangular matrix
[out]pMatrixUupper triangular matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Max() [1/3]

template<typename Ty >
virtual Ty FLImaging::Foundation::CMatrix< Ty >::Max ( ) const
virtual

Returns the maximum value among the elements of a matrix.

Return values
TyMaximum value

◆ Max() [2/3]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Max ( CMatrix< Ty > & matResult,
EMatrixAxis eAxis ) const
virtual

Returns the maximum value along an axis.

Parameters
[out]matResultResult matrix
[in]eAxisAxis of the matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult
FLImaging::Foundation::EMatrixAxis

◆ Max() [3/3]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Max ( CMatrix< Ty > * pMatResult,
EMatrixAxis eAxis ) const
virtual

Returns the maximum value along an axis.

Parameters
[out]pMatResultResult matrix
[in]eAxisAxis of the matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult
FLImaging::Foundation::EMatrixAxis

◆ Mean() [1/3]

template<typename Ty >
virtual Ty FLImaging::Foundation::CMatrix< Ty >::Mean ( ) const
virtual

Returns the mean of the elements of a matrix.

Return values
TyMean of elements

◆ Mean() [2/3]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Mean ( CMatrix< Ty > & matResult,
EMatrixAxis eAxis ) const
virtual

Returns the mean of elements along an axis.

Parameters
[out]matResultResult matrix
[in]eAxisAxis of the matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult
FLImaging::Foundation::EMatrixAxis

◆ Mean() [3/3]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Mean ( CMatrix< Ty > * pMatResult,
EMatrixAxis eAxis ) const
virtual

Returns the mean of elements along an axis.

Parameters
[out]pMatResultResult matrix
[in]eAxisAxis of the matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult
FLImaging::Foundation::EMatrixAxis

◆ Min() [1/3]

template<typename Ty >
virtual Ty FLImaging::Foundation::CMatrix< Ty >::Min ( ) const
virtual

Returns the minimum value among the elements of a matrix.

Return values
TyMinimum value

◆ Min() [2/3]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Min ( CMatrix< Ty > & matResult,
EMatrixAxis eAxis ) const
virtual

Returns the minimum value along an axis.

Parameters
[out]matResultResult matrix
[in]eAxisAxis of the matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult
FLImaging::Foundation::EMatrixAxis

◆ Min() [3/3]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Min ( CMatrix< Ty > * pMatResult,
EMatrixAxis eAxis ) const
virtual

Returns the minimum value along an axis.

Parameters
[out]pMatResultResult matrix
[in]eAxisAxis of the matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult
FLImaging::Foundation::EMatrixAxis

◆ Multiply() [1/8]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Multiply ( const CMatrix< Ty > & matrix)
virtual

Performs matrix multiplication and stores the result in the corresponding object.

Parameters
[in]matrixmatrix to multiply
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Multiply() [2/8]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Multiply ( const CMatrix< Ty > & matrix,
CMatrix< Ty > * pTargetMatrix ) const
virtual

Perform matrix multiplication.

Parameters
[in]matrixmatrix to multiply
[out]pTargetMatrixresult matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Multiply() [3/8]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Multiply ( const CMatrix< Ty > * pMatrix)
virtual

Performs matrix multiplication and stores the result in the corresponding object.

Parameters
[in]pMatrixmatrix to multiply
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Multiply() [4/8]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Multiply ( const CMatrix< Ty > * pMatrix,
CMatrix< Ty > * pTargetMatrix ) const
virtual

Perform matrix multiplication.

Parameters
[in]pMatrixmatrix to multiply
[out]pTargetMatrixresult matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Multiply() [5/8]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Multiply ( const double & f64Scalar)
virtual

Performs scalar multiplication and stores the result in the corresponding object.

Parameters
[in]f64Scalarscalar value to multiply to each element of the matrix
Return values
FLImaging::Foundation::CMatrix<Ty>created object

◆ Multiply() [6/8]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Multiply ( const float & f32Scalar)
virtual

Performs scalar multiplication and stores the result in the corresponding object.

Parameters
[in]f32Scalarscalar value to multiply to each element of the matrix
Return values
FLImaging::Foundation::CMatrix<Ty>created object

◆ Multiply() [7/8]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Multiply ( const int32_t & i32Scalar)
virtual

Performs scalar multiplication and stores the result in the corresponding object.

Parameters
[in]i32Scalarscalar value to multiply to each element of the matrix
Return values
FLImaging::Foundation::CMatrix<Ty>created object

◆ Multiply() [8/8]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Multiply ( const int64_t & i64Scalar)
virtual

Performs scalar multiplication and stores the result in the corresponding object.

Parameters
[in]i64Scalarscalar value to multiply to each element of the matrix
Return values
FLImaging::Foundation::CMatrix<Ty>created object

◆ MultiplyElementwise() [1/4]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::MultiplyElementwise ( const CMatrix< Ty > & matrix)
virtual

Performs multiplication between elements of a matrix of the same size and stores the result in the corresponding object.

Parameters
[in]matrixmatrix to multiply
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ MultiplyElementwise() [2/4]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::MultiplyElementwise ( const CMatrix< Ty > & matrix,
CMatrix< Ty > * pTargetMatrix ) const
virtual

Performs multiplication between elements of a matrix of the same size.

Parameters
[in]matrixmatrix to multiply
[out]pTargetMatrixresult matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ MultiplyElementwise() [3/4]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::MultiplyElementwise ( const CMatrix< Ty > * pMatrix)
virtual

Performs multiplication between elements of a matrix of the same size and stores the result in the corresponding object.

Parameters
[in]pMatrixmatrix to multiply
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ MultiplyElementwise() [4/4]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::MultiplyElementwise ( const CMatrix< Ty > * pMatrix,
CMatrix< Ty > * pTargetMatrix ) const
virtual

Performs multiplication between elements of a matrix of the same size.

Parameters
[in]pMatrixmatrix to multiply
[out]pTargetMatrixresult matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ MulTransposed()

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::MulTransposed ( const CMatrix< Ty > * pMatrixSource,
CMatrix< Ty > * pMatrixDestination,
int32_t i32Order,
CMatrix< Ty > * pMatDelta = nullptr,
double f64Scale = 1. ) const
virtual

If order=0, print dst = scale*(src - delta)(src - delta)^T, otherwise print dst = scale*(src - delta)^T(src - delta).

Parameters
[in]pMatrixSourcematrix to operate
[out]pMatrixDestinationoperation result matrix
[in]i32Orderorder of matrix multiplication
[in]pMatDeltadelta matrix
[in]f64ScaleScale value
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Ones()

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Ones ( int64_t i64Row,
int64_t i64Column )
virtual

Create a matrix initialized to 1.

Parameters
[in]i64Rowrow count
[in]i64Columncolumn count
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ OnesLike() [1/4]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::OnesLike ( const CMatrix< double > & matShape)
virtual

Creates a matrix initialized to 1 with the same size as the parameter matrix.

Parameters
[in]matShapeCreate a matrix with the same size as the corresponding matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ OnesLike() [2/4]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::OnesLike ( const CMatrix< double > * pMatShape)
virtual

Creates a matrix initialized to 1 with the same size as the parameter matrix.

Parameters
[in]pMatShapeCreate a matrix with the same size as the corresponding matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ OnesLike() [3/4]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::OnesLike ( const CMatrix< float > & matShape)
virtual

Creates a matrix initialized to 1 with the same size as the parameter matrix.

Parameters
[in]matShapeCreate a matrix with the same size as the corresponding matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ OnesLike() [4/4]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::OnesLike ( const CMatrix< float > * pMatShape)
virtual

Creates a matrix initialized to 1 with the same size as the parameter matrix.

Parameters
[in]pMatShapeCreate a matrix with the same size as the corresponding matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ operator Ty *()

template<typename Ty >
virtual FLImaging::Foundation::CMatrix< Ty >::operator Ty * ( )
virtual

reference operator

Return values
Ty*address of data start position

◆ operator!=() [1/2]

template<typename Ty >
virtual bool FLImaging::Foundation::CMatrix< Ty >::operator!= ( const CMatrix< Ty > & cMat) const
virtual

comparison operator

Parameters
[in]cMatobject to compare
Return values
boolComparison result

◆ operator!=() [2/2]

template<typename Ty >
CMatrix< Ty > FLImaging::Foundation::CMatrix< Ty >::operator!= ( const double & f64Param) const

Scalar comparison operators

Parameters
[in]f64ParamValue to compare to each element of the matrix
Return values
FLImaging::Foundation::CMatrix<Ty>created object

◆ operator%() [1/2]

template<typename Ty >
CMatrix< Ty > FLImaging::Foundation::CMatrix< Ty >::operator% ( const CMatrix< Ty > & matOperand) const

Scalar modular operator

Parameters
[in]matOperandMatrix to perform modular calculation between each element of the matrix
Return values
FLImaging::Foundation::CMatrix<Ty>created object

◆ operator%() [2/2]

template<typename Ty >
CMatrix< Ty > FLImaging::Foundation::CMatrix< Ty >::operator% ( const double & f64Param) const

Scalar modular operator

Parameters
[in]f64ParamEach element of the matrix and the value to be modularized
Return values
FLImaging::Foundation::CMatrix<Ty>created object

◆ operator%=()

template<typename Ty >
virtual const CMatrix< Ty > & FLImaging::Foundation::CMatrix< Ty >::operator%= ( const double & f64Param)
virtual

Scalar Modular operator

Parameters
[in]f64ParamEach element of the matrix and the value to be modularized
Return values
constFLImaging::Foundation::CMatrix<Ty>& own object

◆ operator&&()

template<typename Ty >
CMatrix< Ty > FLImaging::Foundation::CMatrix< Ty >::operator&& ( const CMatrix< Ty > & matOperand) const

logical operator

Parameters
[in]matOperandMatrix to perform modular calculation between each element of the matrix
Return values
FLImaging::Foundation::CMatrix<Ty>created object

◆ operator()()

template<typename Ty >
virtual Ty * FLImaging::Foundation::CMatrix< Ty >::operator() ( const int32_t i32Row,
const int32_t i32Column ) const
virtual

Get the value of a matrix element.

Parameters
[in]i32Rowrow number of elements
[in]i32Columncolumn number of elements
Return values
Ty*A pointer to the matrix element value

Reimplemented in FLImaging::Foundation::CMatrixFor3D< Ty >.

◆ operator*() [1/5]

template<typename Ty >
CMatrix< Ty > FLImaging::Foundation::CMatrix< Ty >::operator* ( const CMatrix< Ty > & cMat) const

multiplication operator

Parameters
[in]cMatmatrix to multiply
Return values
FLImaging::Foundation::CMatrix<Ty>created object

◆ operator*() [2/5]

template<typename Ty >
CMatrix< Ty > FLImaging::Foundation::CMatrix< Ty >::operator* ( const double & f64Param) const

scalar multiplication operator

Parameters
[in]f64Paramscalar value to multiply to each element of the matrix
Return values
FLImaging::Foundation::CMatrix<Ty>created object

◆ operator*() [3/5]

template<typename Ty >
CMatrix< Ty > FLImaging::Foundation::CMatrix< Ty >::operator* ( const float & f32Param) const

scalar multiplication operator

Parameters
[in]f32Paramscalar value to multiply to each element of the matrix
Return values
FLImaging::Foundation::CMatrix<Ty>created object

◆ operator*() [4/5]

template<typename Ty >
CMatrix< Ty > FLImaging::Foundation::CMatrix< Ty >::operator* ( const int32_t & i32Param) const

scalar multiplication operator

Parameters
[in]i32Paramscalar value to multiply to each element of the matrix
Return values
FLImaging::Foundation::CMatrix<Ty>created object

◆ operator*() [5/5]

template<typename Ty >
CMatrix< Ty > FLImaging::Foundation::CMatrix< Ty >::operator* ( const int64_t & i64Param) const

scalar multiplication operator

Parameters
[in]i64Paramscalar value to multiply to each element of the matrix
Return values
FLImaging::Foundation::CMatrix<Ty>created object

◆ operator*=() [1/5]

template<typename Ty >
virtual const CMatrix< Ty > & FLImaging::Foundation::CMatrix< Ty >::operator*= ( const CMatrix< Ty > & cMat)
virtual

multiplication operator

Parameters
[in]cMatmatrix to multiply
Return values
constFLImaging::Foundation::CMatrix<Ty>& own object

◆ operator*=() [2/5]

template<typename Ty >
virtual const CMatrix< Ty > & FLImaging::Foundation::CMatrix< Ty >::operator*= ( const double & f64Param)
virtual

scalar multiplication operator

Parameters
[in]f64Paramscalar value to multiply to each element of the matrix
Return values
constFLImaging::Foundation::CMatrix<Ty>& own object

◆ operator*=() [3/5]

template<typename Ty >
virtual const CMatrix< Ty > & FLImaging::Foundation::CMatrix< Ty >::operator*= ( const float & f32Param)
virtual

scalar multiplication operator

Parameters
[in]f32Paramscalar value to multiply to each element of the matrix
Return values
constFLImaging::Foundation::CMatrix<Ty>& own object

◆ operator*=() [4/5]

template<typename Ty >
virtual const CMatrix< Ty > & FLImaging::Foundation::CMatrix< Ty >::operator*= ( const int32_t & i32Param)
virtual

scalar multiplication operator

Parameters
[in]i32Paramscalar value to multiply to each element of the matrix
Return values
constFLImaging::Foundation::CMatrix<Ty>& own object

◆ operator*=() [5/5]

template<typename Ty >
virtual const CMatrix< Ty > & FLImaging::Foundation::CMatrix< Ty >::operator*= ( const int64_t & i64Param)
virtual

scalar multiplication operator

Parameters
[in]i64Paramscalar value to multiply to each element of the matrix
Return values
constFLImaging::Foundation::CMatrix<Ty>& own object

◆ operator+() [1/5]

template<typename Ty >
CMatrix< Ty > FLImaging::Foundation::CMatrix< Ty >::operator+ ( const CMatrix< Ty > & cMat) const

addition operator

Parameters
[in]cMatmatrix to add
Return values
FLImaging::Foundation::CMatrix<Ty>created object

◆ operator+() [2/5]

template<typename Ty >
CMatrix< Ty > FLImaging::Foundation::CMatrix< Ty >::operator+ ( const double & f64Param) const

scalar addition operator

Parameters
[in]f64Paramscalar value to add to each element of the matrix
Return values
FLImaging::Foundation::CMatrix<Ty>created object

◆ operator+() [3/5]

template<typename Ty >
CMatrix< Ty > FLImaging::Foundation::CMatrix< Ty >::operator+ ( const float & f32Param) const

scalar addition operator

Parameters
[in]f32Paramscalar value to add to each element of the matrix
Return values
FLImaging::Foundation::CMatrix<Ty>created object

◆ operator+() [4/5]

template<typename Ty >
CMatrix< Ty > FLImaging::Foundation::CMatrix< Ty >::operator+ ( const int32_t & i32Param) const

scalar addition operator

Parameters
[in]i32Paramscalar value to add to each element of the matrix
Return values
FLImaging::Foundation::CMatrix<Ty>created object

◆ operator+() [5/5]

template<typename Ty >
CMatrix< Ty > FLImaging::Foundation::CMatrix< Ty >::operator+ ( const int64_t & i64Param) const

scalar addition operator

Parameters
[in]i64Paramscalar value to add to each element of the matrix
Return values
FLImaging::Foundation::CMatrix<Ty>created object

◆ operator+=() [1/5]

template<typename Ty >
virtual const CMatrix< Ty > & FLImaging::Foundation::CMatrix< Ty >::operator+= ( const CMatrix< Ty > & cMat)
virtual

addition operator

Parameters
[in]cMatmatrix to add
Return values
constFLImaging::Foundation::CMatrix<Ty>& own object

◆ operator+=() [2/5]

template<typename Ty >
virtual const CMatrix< Ty > & FLImaging::Foundation::CMatrix< Ty >::operator+= ( const double & f64Param)
virtual

scalar addition operator

Parameters
[in]f64Paramscalar value to add to each element of the matrix
Return values
constFLImaging::Foundation::CMatrix<Ty>& own object

◆ operator+=() [3/5]

template<typename Ty >
virtual const CMatrix< Ty > & FLImaging::Foundation::CMatrix< Ty >::operator+= ( const float & f32Param)
virtual

scalar addition operator

Parameters
[in]f32Paramscalar value to add to each element of the matrix
Return values
constFLImaging::Foundation::CMatrix<Ty>& own object

◆ operator+=() [4/5]

template<typename Ty >
virtual const CMatrix< Ty > & FLImaging::Foundation::CMatrix< Ty >::operator+= ( const int32_t & i32Param)
virtual

scalar addition operator

Parameters
[in]i32Paramscalar value to add to each element of the matrix
Return values
constFLImaging::Foundation::CMatrix<Ty>& own object

◆ operator+=() [5/5]

template<typename Ty >
virtual const CMatrix< Ty > & FLImaging::Foundation::CMatrix< Ty >::operator+= ( const int64_t & i64Param)
virtual

scalar addition operator

Parameters
[in]i64Paramscalar value to add to each element of the matrix
Return values
constFLImaging::Foundation::CMatrix<Ty>& own object

◆ operator-() [1/5]

template<typename Ty >
CMatrix< Ty > FLImaging::Foundation::CMatrix< Ty >::operator- ( const CMatrix< Ty > & cMat) const

subtraction operator

Parameters
[in]cMatmatrix to subtract
Return values
FLImaging::Foundation::CMatrix<Ty>created object

◆ operator-() [2/5]

template<typename Ty >
CMatrix< Ty > FLImaging::Foundation::CMatrix< Ty >::operator- ( const double & f64Param) const

scalar subtraction operator

Parameters
[in]f64Paramscalar value to subtract to each element of the matrix
Return values
FLImaging::Foundation::CMatrix<Ty>created object

◆ operator-() [3/5]

template<typename Ty >
CMatrix< Ty > FLImaging::Foundation::CMatrix< Ty >::operator- ( const float & f32Param) const

scalar subtraction operator

Parameters
[in]f32Paramscalar value to subtract to each element of the matrix
Return values
FLImaging::Foundation::CMatrix<Ty>created object

◆ operator-() [4/5]

template<typename Ty >
CMatrix< Ty > FLImaging::Foundation::CMatrix< Ty >::operator- ( const int32_t & i32Param) const

scalar subtraction operator

Parameters
[in]i32Paramscalar value to subtract to each element of the matrix
Return values
FLImaging::Foundation::CMatrix<Ty>created object

◆ operator-() [5/5]

template<typename Ty >
CMatrix< Ty > FLImaging::Foundation::CMatrix< Ty >::operator- ( const int64_t & i64Param) const

scalar subtraction operator

Parameters
[in]i64Paramscalar value to subtract to each element of the matrix
Return values
FLImaging::Foundation::CMatrix<Ty>created object

◆ operator-=() [1/5]

template<typename Ty >
virtual const CMatrix< Ty > & FLImaging::Foundation::CMatrix< Ty >::operator-= ( const CMatrix< Ty > & cMat)
virtual

subtraction operator

Parameters
[in]cMatmatrix to subtract
Return values
constFLImaging::Foundation::CMatrix<Ty>& own object

◆ operator-=() [2/5]

template<typename Ty >
virtual const CMatrix< Ty > & FLImaging::Foundation::CMatrix< Ty >::operator-= ( const double & f64Param)
virtual

scalar subtraction operator

Parameters
[in]f64Paramscalar value to subtract to each element of the matrix
Return values
constFLImaging::Foundation::CMatrix<Ty>& own object

◆ operator-=() [3/5]

template<typename Ty >
virtual const CMatrix< Ty > & FLImaging::Foundation::CMatrix< Ty >::operator-= ( const float & f32Param)
virtual

scalar subtraction operator

Parameters
[in]f32Paramscalar value to subtract to each element of the matrix
Return values
constFLImaging::Foundation::CMatrix<Ty>& own object

◆ operator-=() [4/5]

template<typename Ty >
virtual const CMatrix< Ty > & FLImaging::Foundation::CMatrix< Ty >::operator-= ( const int32_t & i32Param)
virtual

scalar subtraction operator

Parameters
[in]i32Paramscalar value to subtract to each element of the matrix
Return values
constFLImaging::Foundation::CMatrix<Ty>& own object

◆ operator-=() [5/5]

template<typename Ty >
virtual const CMatrix< Ty > & FLImaging::Foundation::CMatrix< Ty >::operator-= ( const int64_t & i64Param)
virtual

scalar subtraction operator

Parameters
[in]i64Paramscalar value to subtract to each element of the matrix
Return values
constFLImaging::Foundation::CMatrix<Ty>& own object

◆ operator/() [1/5]

template<typename Ty >
CMatrix< Ty > FLImaging::Foundation::CMatrix< Ty >::operator/ ( const CMatrix< Ty > & cMat) const

division operator

Parameters
[in]cMatmatrix to divide
Return values
FLImaging::Foundation::CMatrix<Ty>created object

◆ operator/() [2/5]

template<typename Ty >
CMatrix< Ty > FLImaging::Foundation::CMatrix< Ty >::operator/ ( const double & f64Param) const

scalar division operator

Parameters
[in]f64Paramscalar value to divide to each element of the matrix
Return values
FLImaging::Foundation::CMatrix<Ty>created object

◆ operator/() [3/5]

template<typename Ty >
CMatrix< Ty > FLImaging::Foundation::CMatrix< Ty >::operator/ ( const float & f32Param) const

scalar division operator

Parameters
[in]f32Paramscalar value to divide to each element of the matrix
Return values
FLImaging::Foundation::CMatrix<Ty>created object

◆ operator/() [4/5]

template<typename Ty >
CMatrix< Ty > FLImaging::Foundation::CMatrix< Ty >::operator/ ( const int32_t & i32Param) const

scalar division operator

Parameters
[in]i32Paramscalar value to divide to each element of the matrix
Return values
FLImaging::Foundation::CMatrix<Ty>created object

◆ operator/() [5/5]

template<typename Ty >
CMatrix< Ty > FLImaging::Foundation::CMatrix< Ty >::operator/ ( const int64_t & i64Param) const

scalar division operator

Parameters
[in]i64Paramscalar value to divide to each element of the matrix
Return values
FLImaging::Foundation::CMatrix<Ty>created object

◆ operator/=() [1/5]

template<typename Ty >
virtual const CMatrix< Ty > & FLImaging::Foundation::CMatrix< Ty >::operator/= ( const CMatrix< Ty > & cMat)
virtual

division operator

Parameters
[in]cMatmatrix to divide
Return values
constFLImaging::Foundation::CMatrix<Ty>& own object

◆ operator/=() [2/5]

template<typename Ty >
virtual const CMatrix< Ty > & FLImaging::Foundation::CMatrix< Ty >::operator/= ( const double & f64Param)
virtual

scalar division operator

Parameters
[in]f64Paramscalar value to divide each element of the matrix
Return values
constFLImaging::Foundation::CMatrix<Ty>& own object

◆ operator/=() [3/5]

template<typename Ty >
virtual const CMatrix< Ty > & FLImaging::Foundation::CMatrix< Ty >::operator/= ( const float & f32Param)
virtual

scalar division operator

Parameters
[in]f32Paramscalar value to divide each element of the matrix
Return values
constFLImaging::Foundation::CMatrix<Ty>& own object

◆ operator/=() [4/5]

template<typename Ty >
virtual const CMatrix< Ty > & FLImaging::Foundation::CMatrix< Ty >::operator/= ( const int32_t & i32Param)
virtual

scalar division operator

Parameters
[in]i32Paramscalar value to divide each element of the matrix
Return values
constFLImaging::Foundation::CMatrix<Ty>& own object

◆ operator/=() [5/5]

template<typename Ty >
virtual const CMatrix< Ty > & FLImaging::Foundation::CMatrix< Ty >::operator/= ( const int64_t & i64Param)
virtual

scalar division operator

Parameters
[in]i64Paramscalar value to divide each element of the matrix
Return values
constFLImaging::Foundation::CMatrix<Ty>& own object

◆ operator<() [1/2]

template<typename Ty >
CMatrix< Ty > FLImaging::Foundation::CMatrix< Ty >::operator< ( const CMatrix< Ty > & matOperand) const

comparison operators

Parameters
[in]matOperandobject to compare
Return values
FLImaging::Foundation::CMatrix<Ty>created object

◆ operator<() [2/2]

template<typename Ty >
CMatrix< Ty > FLImaging::Foundation::CMatrix< Ty >::operator< ( const double & f64Param) const

Scalar comparison operators

Parameters
[in]f64ParamValue to compare to each element of the matrix
Return values
FLImaging::Foundation::CMatrix<Ty>created object

◆ operator=() [1/5]

template<typename Ty >
virtual const CMatrix< Ty > & FLImaging::Foundation::CMatrix< Ty >::operator= ( const Base::CFLArray< Base::CFLArray< Ty > > & fla2Matrix)
virtual

assignment operator

Parameters
[in]fla2Matrixmatrix element values
Return values
constFLImaging::Foundation::CMatrix<Ty>& own object
See also
FLImaging::Base::CFLArray

◆ operator=() [2/5]

template<typename Ty >
virtual const CMatrix< Ty > & FLImaging::Foundation::CMatrix< Ty >::operator= ( const CMatrix< double > & matrix)
virtual

assignment operator

Parameters
[in]matrixobject to copy
Return values
constFLImaging::Foundation::CMatrix<Ty>& own object

◆ operator=() [3/5]

template<typename Ty >
virtual const CMatrix< Ty > & FLImaging::Foundation::CMatrix< Ty >::operator= ( const CMatrix< double > * pMatrix)
virtual

assignment operator

Parameters
[in]pMatrixobject to copy
Return values
constFLImaging::Foundation::CMatrix<Ty>& own object

◆ operator=() [4/5]

template<typename Ty >
virtual const CMatrix< Ty > & FLImaging::Foundation::CMatrix< Ty >::operator= ( const CMatrix< float > & matrix)
virtual

assignment operator

Parameters
[in]matrixobject to copy
Return values
constFLImaging::Foundation::CMatrix<Ty>& own object

◆ operator=() [5/5]

template<typename Ty >
virtual const CMatrix< Ty > & FLImaging::Foundation::CMatrix< Ty >::operator= ( const CMatrix< float > * pMatrix)
virtual

assignment operator

Parameters
[in]pMatrixobject to copy
Return values
constFLImaging::Foundation::CMatrix<Ty>& own object

◆ operator==() [1/2]

template<typename Ty >
virtual bool FLImaging::Foundation::CMatrix< Ty >::operator== ( const CMatrix< Ty > & cMat) const
virtual

comparison operator

Parameters
[in]cMatobject to compare
Return values
boolComparison result

◆ operator==() [2/2]

template<typename Ty >
CMatrix< Ty > FLImaging::Foundation::CMatrix< Ty >::operator== ( const double & f64Param) const

Scalar comparison operators

Parameters
[in]f64ParamValue to compare to each element of the matrix
Return values
FLImaging::Foundation::CMatrix<Ty>created object

◆ operator>() [1/2]

template<typename Ty >
CMatrix< Ty > FLImaging::Foundation::CMatrix< Ty >::operator> ( const CMatrix< Ty > & matOperand) const

comparison operators

Parameters
[in]matOperandobject to compare
Return values
FLImaging::Foundation::CMatrix<Ty>created object

◆ operator>() [2/2]

template<typename Ty >
CMatrix< Ty > FLImaging::Foundation::CMatrix< Ty >::operator> ( const double & f64Param) const

Scalar comparison operators

Parameters
[in]f64ParamValue to compare to each element of the matrix
Return values
FLImaging::Foundation::CMatrix<Ty>created object

◆ operator[]() [1/4]

template<typename Ty >
virtual Ty * FLImaging::Foundation::CMatrix< Ty >::operator[] ( int32_t i32Index)
virtual

reference operator

Parameters
[in]i32Indexindex to reference
Return values
Ty*pointer to that location

◆ operator[]() [2/4]

template<typename Ty >
virtual const Ty * FLImaging::Foundation::CMatrix< Ty >::operator[] ( int32_t i32Index) const
virtual

reference operator

Parameters
[in]i32Indexindex to reference
Return values
constTy* pointer to that location

◆ operator[]() [3/4]

template<typename Ty >
virtual Ty * FLImaging::Foundation::CMatrix< Ty >::operator[] ( int64_t i64Index)
virtual

reference operator

Parameters
[in]i64Indexindex to reference
Return values
Ty*pointer to that location

◆ operator[]() [4/4]

template<typename Ty >
virtual const Ty * FLImaging::Foundation::CMatrix< Ty >::operator[] ( int64_t i64Index) const
virtual

reference operator

Parameters
[in]i64Indexindex to reference
Return values
constTy* pointer to that location

◆ P()

template<typename Ty >
virtual CMatrix< Ty > FLImaging::Foundation::CMatrix< Ty >::P ( ) const
virtual

Returns the pseudo-inverse matrix.

Return values
FLImaging::Foundation::CMatrix<Ty>result matrix

◆ Prod() [1/3]

template<typename Ty >
virtual double FLImaging::Foundation::CMatrix< Ty >::Prod ( ) const
virtual

Returns the product between elements.

Return values
doubleProduct of elements

◆ Prod() [2/3]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Prod ( Base::CFLArray< double > & flaResult,
EMatrixAxis eAxis ) const
virtual

Return the product of array elements over a given axis.

Parameters
[out]flaResultResult array
[in]eAxisAxis of the matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult
FLImaging::Base::CFLArray
FLImaging::Foundation::EMatrixAxis

◆ Prod() [3/3]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Prod ( Base::CFLArray< double > * pFlaResult,
EMatrixAxis eAxis ) const
virtual

Return the product of array elements over a given axis.

Parameters
[out]pFlaResultResult array
[in]eAxisAxis of the matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult
FLImaging::Base::CFLArray
FLImaging::Foundation::EMatrixAxis

◆ PseudoInverse() [1/2]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::PseudoInverse ( )
virtual

Takes the pseudo-inverse matrix and stores the result in that object.

Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ PseudoInverse() [2/2]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::PseudoInverse ( CMatrix< Ty > * pTargetMatrix) const
virtual

Get the pseudo-inverse matrix.

Parameters
[out]pTargetMatrixThe result matrix, if nullptr, stores the result value in the current object.
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ QR()

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::QR ( CMatrix< Ty > * pMatrixQ,
CMatrix< Ty > * pMatrixR ) const
virtual

Perform QR decomposition. \( A = QR \)

Parameters
[out]pMatrixQ\( \text{Get }Q \text{ from } A = QR \)
[out]pMatrixR\( \text{Get }R \text{ from } A = QR \)
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Radians()

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Radians ( )
virtual

Convert the value of each element from Degree to Radian.

Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ ReduceMax()

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::ReduceMax ( const EMatrixReduceType eReduceType,
CMatrix< Ty > * pMatResult ) const
virtual

Performs a Reduce Max operation.

Parameters
[in]eReduceTypeReduce type of matrix
[out]pMatResultResult matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult
FLImaging::Foundation::EMatrixReduceType

◆ ReduceMean()

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::ReduceMean ( const EMatrixReduceType eReduceType,
CMatrix< Ty > * pMatResult ) const
virtual

Performs a Reduce Mean operation.

Parameters
[in]eReduceTypeReduce type of matrix
[out]pMatResultResult matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult
FLImaging::Foundation::EMatrixReduceType

◆ ReduceMin()

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::ReduceMin ( const EMatrixReduceType eReduceType,
CMatrix< Ty > * pMatResult ) const
virtual

Performs a Reduce Min operation.

Parameters
[in]eReduceTypeReduce type of matrix
[out]pMatResultResult matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult
FLImaging::Foundation::EMatrixReduceType

◆ ReduceSum()

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::ReduceSum ( const EMatrixReduceType eReduceType,
CMatrix< Ty > * pMatResult ) const
virtual

Performs a Reduce Sum operation.

Parameters
[in]eReduceTypeReduce type of matrix
[out]pMatResultResult matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult
FLImaging::Foundation::EMatrixReduceType

◆ Reshape()

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Reshape ( int64_t i64Row,
int64_t i64Column = -1 )
virtual

Change the shape of the matrix.

Parameters
[in]i64Rowcolumn size of matrix
[in]i64ColumnRow size of matrix, autofit if -1
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Round()

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Round ( )
virtual

Takes rounding for each element.

Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Save() [1/2]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Save ( const Base::CFLString< wchar_t > & strFilePath) const
virtual

Save the matrix.

Parameters
[in]strFilePathpath to save
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult
FLImaging::Base::CFLString

◆ Save() [2/2]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Save ( const Base::CFLString< wchar_t > * pStrFilePath) const
virtual

Save the matrix.

Parameters
[in]pStrFilePathpath to save
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult
FLImaging::Base::CFLString

◆ SaveCSV() [1/2]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::SaveCSV ( const Base::CFLString< wchar_t > & strFilePath) const
virtual

Save the matrix as a csv file.

Parameters
[in]strFilePathpath to save
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult
FLImaging::Base::CFLString

◆ SaveCSV() [2/2]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::SaveCSV ( const Base::CFLString< wchar_t > * pStrFilePath) const
virtual

Save the matrix as a csv file.

Parameters
[in]pStrFilePathpath to save
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult
FLImaging::Base::CFLString

◆ Set()

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Set ( Ty * pArr2Mat,
int64_t i64Row,
int64_t i64Column )
virtual

Set the address of the unsorted matrix.

Parameters
[in]pArr2Matpointer to matrix
[in]i64Rowrow count
[in]i64Columncolumn count
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ SetDiagonal() [1/2]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::SetDiagonal ( Ty tVal)
virtual

Sets the diagonal component of a matrix to the given value. Other values are initialized to 0.

Parameters
[in]tValDiagonal component values to set
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ SetDiagonal() [2/2]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::SetDiagonal ( Ty tVal,
CMatrix< Ty > * pTargetMatrix ) const
virtual

Sets the diagonal component of a matrix to the given value. Other values are initialized to 0.

Parameters
[in]tValDiagonal component values to set
[out]pTargetMatrixresult matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ SetOperationAccuracy()

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::SetOperationAccuracy ( EAccuracy eOperationAccuracy)
virtual

Set the floating point arithmetic precision.

Parameters
[in]eOperationAccuracyFloating-point arithmetic precision
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::Foundation::EAccuracy
FLImaging::CResult

◆ SetValue()

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::SetValue ( int64_t i64Row,
int64_t i64Column,
Ty value )
virtual

Sets the values of matrix elements.

Parameters
[in]i64Rowrow number of elements
[in]i64Columncolumn number of elements
[in]valuevalue to set for element
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Sin()

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Sin ( )
virtual

Takes the sine of value for each element.

Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Solve()

template<typename Ty >
static const CResult FLImaging::Foundation::CMatrix< Ty >::Solve ( CMatrix< Ty > * pMatA,
CMatrix< Ty > * pMatB,
CMatrix< Ty > * pMatRes )
static

Returns the root of a system of linear equations expressed as a matrix. \( Ax = B\)

Parameters
[in]pMatAMatrix A
[in]pMatBMatrix B
[out]pMatResSolution matrix (x matrix) of a system of linear equations
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ SolveLU()

template<typename Ty >
static const CResult FLImaging::Foundation::CMatrix< Ty >::SolveLU ( CMatrix< Ty > * pMatL,
CMatrix< Ty > * pMatU,
CMatrix< Ty > * pMatB,
CMatrix< Ty > * pMatRes )
static

Find the roots of a system of linear equations using the LU decomposition matrix. \( Ax = B\)

Parameters
[in]pMatLlower triangular matrix
[in]pMatUupper triangular matrix
[in]pMatBConstant matrix of linear equations
[out]pMatResSolution matrix of a system of linear equations
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ SolveLUP()

template<typename Ty >
static const CResult FLImaging::Foundation::CMatrix< Ty >::SolveLUP ( CMatrix< Ty > * pMatP,
CMatrix< Ty > * pMatL,
CMatrix< Ty > * pMatU,
CMatrix< Ty > * pMatB,
CMatrix< Ty > * pMatRes )
static

Find the roots of a system of linear equations using the LU decomposition matrix. \( Ax = B\)

Parameters
[in]pMatPsubstitution matrix
[in]pMatLlower triangular matrix
[in]pMatUupper triangular matrix
[in]pMatBConstant matrix of linear equations
[out]pMatResSolution matrix of a system of linear equations
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Sqrt()

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Sqrt ( )
virtual

Take the square root of each element.

Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Std() [1/3]

template<typename Ty >
virtual Ty FLImaging::Foundation::CMatrix< Ty >::Std ( ) const
virtual

Returns the standard deviation of the elements of a matrix.

Return values
TyStandard deviation of elements

◆ Std() [2/3]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Std ( CMatrix< Ty > & matResult,
EMatrixAxis eAxis ) const
virtual

Returns the standard deviation of elements along an axis.

Parameters
[out]matResultResult matrix
[in]eAxisAxis of the matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult
FLImaging::Foundation::EMatrixAxis

◆ Std() [3/3]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Std ( CMatrix< Ty > * pMatResult,
EMatrixAxis eAxis ) const
virtual

Returns the standard deviation of elements along an axis.

Parameters
[out]pMatResultResult matrix
[in]eAxisAxis of the matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult
FLImaging::Foundation::EMatrixAxis

◆ Subtract() [1/4]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Subtract ( const CMatrix< Ty > & matrix)
virtual

Performs matrix subtraction and stores the result in the corresponding object.

Parameters
[in]matrixmatrix to subtract
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Subtract() [2/4]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Subtract ( const CMatrix< Ty > & matrix,
CMatrix< Ty > * pTargetMatrix ) const
virtual

Perform matrix subtraction.

Parameters
[in]matrixmatrix to subtract
[out]pTargetMatrixresult matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Subtract() [3/4]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Subtract ( const CMatrix< Ty > * pMatrix)
virtual

Performs matrix subtraction and stores the result in the corresponding object.

Parameters
[in]pMatrixmatrix to subtract
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Subtract() [4/4]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Subtract ( const CMatrix< Ty > * pMatrix,
CMatrix< Ty > * pTargetMatrix ) const
virtual

Perform matrix subtraction.

Parameters
[in]pMatrixmatrix to subtract
[out]pTargetMatrixresult matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Sum() [1/3]

template<typename Ty >
virtual Ty FLImaging::Foundation::CMatrix< Ty >::Sum ( ) const
virtual

Returns the sum of the elements of a matrix.

Return values
TySum of elements

◆ Sum() [2/3]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Sum ( CMatrix< Ty > & matResult,
EMatrixAxis eAxis ) const
virtual

Returns the sum of elements along an axis.

Parameters
[out]matResultResult matrix
[in]eAxisAxis of the matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult
FLImaging::Foundation::EMatrixAxis

◆ Sum() [3/3]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Sum ( CMatrix< Ty > * pMatResult,
EMatrixAxis eAxis ) const
virtual

Returns the sum of elements along an axis.

Parameters
[out]pMatResultResult matrix
[in]eAxisAxis of the matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult
FLImaging::Foundation::EMatrixAxis

◆ SVD()

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::SVD ( CMatrix< Ty > * pMatrixU,
CMatrix< Ty > * pMatrixSig,
CMatrix< Ty > * pMatrixVT ) const
virtual

Find the SVD value. \( A = U\sum V^Ty \)

Parameters
[out]pMatrixU\( \text{Get }U \text{ from }A = U\sum V^Ty \)
[out]pMatrixSig\( \text{Get }\sum \text{ from }A = U\sum V^Ty \)
[out]pMatrixVT\( \text{Get }V^Ty\text{ from }A = U\sum V^Ty \)
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Swap() [1/2]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Swap ( CMatrix< Ty > & matRight)
virtual

Swap the matrices.

Parameters
[in]matRightMatrix to swap
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Swap() [2/2]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Swap ( CMatrix< Ty > * pMatRight)
virtual

Swap the matrices.

Parameters
[in]pMatRightMatrix to swap
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ T()

template<typename Ty >
virtual CMatrix< Ty > FLImaging::Foundation::CMatrix< Ty >::T ( ) const
virtual

Returns the result of transposing a matrix.

Return values
FLImaging::Foundation::CMatrix<Ty>result matrix

◆ Tan()

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Tan ( )
virtual

Takes the tangent of value for each element.

Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Transpose() [1/2]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Transpose ( )
virtual

Performs matrix transposition and stores the result in the corresponding object.

Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Transpose() [2/2]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Transpose ( CMatrix< Ty > * pTargetMatrix) const
virtual

Performs matrix transposition.

Parameters
[out]pTargetMatrixresult matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ U()

template<typename Ty >
virtual CMatrix< Ty > FLImaging::Foundation::CMatrix< Ty >::U ( ) const
virtual

Returns the identity matrix.

Return values
FLImaging::Foundation::CMatrix<Ty>result matrix

◆ Unique() [1/4]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Unique ( CMatrix< Ty > & matResult) const
virtual

Returns the sorted unique elements of matrix.

Parameters
[out]matResultResult matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Unique() [2/4]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Unique ( CMatrix< Ty > & matResult,
EMatrixAxis eAxis ) const
virtual

Returns the sorted unique elements of matrix.

Parameters
[out]matResultResult matrix
[in]eAxisAxis of the matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult
FLImaging::Foundation::EMatrixAxis

◆ Unique() [3/4]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Unique ( CMatrix< Ty > * pMatResult) const
virtual

Returns the sorted unique elements of matrix.

Parameters
[out]pMatResultResult matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Unique() [4/4]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Unique ( CMatrix< Ty > * pMatResult,
EMatrixAxis eAxis ) const
virtual

Returns the sorted unique elements of matrix.

Parameters
[out]pMatResultResult matrix
[in]eAxisAxis of the matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult
FLImaging::Foundation::EMatrixAxis

◆ Unit() [1/2]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Unit ( )
virtual

Find the identity matrix and store the result in that object.

Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Unit() [2/2]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Unit ( CMatrix< Ty > * pTargetMatrix) const
virtual

Returns the identity matrix.

Parameters
[out]pTargetMatrixresult matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ VStack() [1/2]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::VStack ( const CMatrix< Ty > & matInput,
CMatrix< Ty > * pMatResult = nullptr )
virtual

Stack the matrices vertically in order.

Parameters
[in]matInputMatrix to stack
[out]pMatResultResult matrix. If nullptr, the result is contained in the Source object.
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ VStack() [2/2]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::VStack ( const CMatrix< Ty > * pMatInput,
CMatrix< Ty > * pMatResult = nullptr )
virtual

Stack the matrices vertically in order.

Parameters
[in]pMatInputMatrix to stack
[out]pMatResultResult matrix. If nullptr, the result is contained in the Source object.
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Where() [1/16]

template<typename Ty >
static const CResult FLImaging::Foundation::CMatrix< Ty >::Where ( const CMatrix< Ty > & matCondition,
const CMatrix< Ty > & matTrue,
const CMatrix< Ty > & matFalse,
CMatrix< Ty > & matResult )
static

Returns the selected element, true or false depending on the condition.

Parameters
[in]matConditionCondition matrix
[in]matTrueValue to convert when conditions are met
[in]matFalseValue to convert when conditions are not met
[out]matResultResult matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Where() [2/16]

template<typename Ty >
static const CResult FLImaging::Foundation::CMatrix< Ty >::Where ( const CMatrix< Ty > & matCondition,
const CMatrix< Ty > & matTrue,
const CMatrix< Ty > & matFalse,
CMatrix< Ty > * pMatResult )
static

Returns the selected element, true or false depending on the condition.

Parameters
[in]matConditionCondition matrix
[in]matTrueValue to convert when conditions are met
[in]matFalseValue to convert when conditions are not met
[out]pMatResultResult matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Where() [3/16]

template<typename Ty >
static const CResult FLImaging::Foundation::CMatrix< Ty >::Where ( const CMatrix< Ty > & matCondition,
const CMatrix< Ty > & matTrue,
Ty tFalse,
CMatrix< Ty > & matResult )
static

Returns the selected element, true or false depending on the condition.

Parameters
[in]matConditionCondition matrix
[in]matTrueValue to convert when conditions are met
[in]tFalseValue to convert when conditions are not met
[out]matResultResult matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Where() [4/16]

template<typename Ty >
static const CResult FLImaging::Foundation::CMatrix< Ty >::Where ( const CMatrix< Ty > & matCondition,
const CMatrix< Ty > & matTrue,
Ty tFalse,
CMatrix< Ty > * pMatResult )
static

Returns the selected element, true or false depending on the condition.

Parameters
[in]matConditionCondition matrix
[in]matTrueValue to convert when conditions are met
[in]tFalseValue to convert when conditions are not met
[out]pMatResultResult matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Where() [5/16]

template<typename Ty >
static const CResult FLImaging::Foundation::CMatrix< Ty >::Where ( const CMatrix< Ty > & matCondition,
Ty tTrue,
const CMatrix< Ty > & matFalse,
CMatrix< Ty > & matResult )
static

Returns the selected element, true or false depending on the condition.

Parameters
[in]matConditionCondition matrix
[in]tTrueValue to convert when conditions are met
[in]matFalseValue to convert when conditions are not met
[out]matResultResult matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Where() [6/16]

template<typename Ty >
static const CResult FLImaging::Foundation::CMatrix< Ty >::Where ( const CMatrix< Ty > & matCondition,
Ty tTrue,
const CMatrix< Ty > & matFalse,
CMatrix< Ty > * pMatResult )
static

Returns the selected element, true or false depending on the condition.

Parameters
[in]matConditionCondition matrix
[in]tTrueValue to convert when conditions are met
[in]matFalseValue to convert when conditions are not met
[out]pMatResultResult matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Where() [7/16]

template<typename Ty >
static const CResult FLImaging::Foundation::CMatrix< Ty >::Where ( const CMatrix< Ty > & matCondition,
Ty tTrue,
Ty tFalse,
CMatrix< Ty > & matResult )
static

Returns the selected element, true or false depending on the condition.

Parameters
[in]matConditionCondition matrix
[in]tTrueValue to convert when conditions are met
[in]tFalseValue to convert when conditions are not met
[out]matResultResult matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Where() [8/16]

template<typename Ty >
static const CResult FLImaging::Foundation::CMatrix< Ty >::Where ( const CMatrix< Ty > & matCondition,
Ty tTrue,
Ty tFalse,
CMatrix< Ty > * pMatResult )
static

Returns the selected element, true or false depending on the condition.

Parameters
[in]matConditionCondition matrix
[in]tTrueValue to convert when conditions are met
[in]tFalseValue to convert when conditions are not met
[out]pMatResultResult matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Where() [9/16]

template<typename Ty >
static const CResult FLImaging::Foundation::CMatrix< Ty >::Where ( const CMatrix< Ty > * pMatCondition,
const CMatrix< Ty > * pMatTrue,
const CMatrix< Ty > * pMatFalse,
CMatrix< Ty > & matResult )
static

Returns the selected element, true or false depending on the condition.

Parameters
[in]pMatConditionCondition matrix
[in]pMatTrueValue to convert when conditions are met
[in]pMatFalseValue to convert when conditions are not met
[out]matResultResult matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Where() [10/16]

template<typename Ty >
static const CResult FLImaging::Foundation::CMatrix< Ty >::Where ( const CMatrix< Ty > * pMatCondition,
const CMatrix< Ty > * pMatTrue,
const CMatrix< Ty > * pMatFalse,
CMatrix< Ty > * pMatResult )
static

Returns the selected element, true or false depending on the condition.

Parameters
[in]pMatConditionCondition matrix
[in]pMatTrueValue to convert when conditions are met
[in]pMatFalseValue to convert when conditions are not met
[out]pMatResultResult matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Where() [11/16]

template<typename Ty >
static const CResult FLImaging::Foundation::CMatrix< Ty >::Where ( const CMatrix< Ty > * pMatCondition,
const CMatrix< Ty > * pMatTrue,
Ty tFalse,
CMatrix< Ty > & matResult )
static

Returns the selected element, true or false depending on the condition.

Parameters
[in]pMatConditionCondition matrix
[in]pMatTrueValue to convert when conditions are met
[in]tFalseValue to convert when conditions are not met
[out]matResultResult matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Where() [12/16]

template<typename Ty >
static const CResult FLImaging::Foundation::CMatrix< Ty >::Where ( const CMatrix< Ty > * pMatCondition,
const CMatrix< Ty > * pMatTrue,
Ty tFalse,
CMatrix< Ty > * pMatResult )
static

Returns the selected element, true or false depending on the condition.

Parameters
[in]pMatConditionCondition matrix
[in]pMatTrueValue to convert when conditions are met
[in]tFalseValue to convert when conditions are not met
[out]pMatResultResult matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Where() [13/16]

template<typename Ty >
static const CResult FLImaging::Foundation::CMatrix< Ty >::Where ( const CMatrix< Ty > * pMatCondition,
Ty tTrue,
const CMatrix< Ty > * pMatFalse,
CMatrix< Ty > & matResult )
static

Returns the selected element, true or false depending on the condition.

Parameters
[in]pMatConditionCondition matrix
[in]tTrueValue to convert when conditions are met
[in]pMatFalseValue to convert when conditions are not met
[out]matResultResult matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Where() [14/16]

template<typename Ty >
static const CResult FLImaging::Foundation::CMatrix< Ty >::Where ( const CMatrix< Ty > * pMatCondition,
Ty tTrue,
const CMatrix< Ty > * pMatFalse,
CMatrix< Ty > * pMatResult )
static

Returns the selected element, true or false depending on the condition.

Parameters
[in]pMatConditionCondition matrix
[in]tTrueValue to convert when conditions are met
[in]pMatFalseValue to convert when conditions are not met
[out]pMatResultResult matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Where() [15/16]

template<typename Ty >
static const CResult FLImaging::Foundation::CMatrix< Ty >::Where ( const CMatrix< Ty > * pMatCondition,
Ty tTrue,
Ty tFalse,
CMatrix< Ty > & matResult )
static

Returns the selected element, true or false depending on the condition.

Parameters
[in]pMatConditionCondition matrix
[in]tTrueValue to convert when conditions are met
[in]tFalseValue to convert when conditions are not met
[out]matResultResult matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Where() [16/16]

template<typename Ty >
static const CResult FLImaging::Foundation::CMatrix< Ty >::Where ( const CMatrix< Ty > * pMatCondition,
Ty tTrue,
Ty tFalse,
CMatrix< Ty > * pMatResult )
static

Returns the selected element, true or false depending on the condition.

Parameters
[in]pMatConditionCondition matrix
[in]tTrueValue to convert when conditions are met
[in]tFalseValue to convert when conditions are not met
[out]pMatResultResult matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ Zeros()

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::Zeros ( int64_t i64Row,
int64_t i64Column )
virtual

Create a matrix initialized to 0.

Parameters
[in]i64Rowrow count
[in]i64Columncolumn count
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ ZerosLike() [1/4]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::ZerosLike ( const CMatrix< double > & matShape)
virtual

Creates a matrix initialized to 0 with the same size as the parameter matrix.

Parameters
[in]matShapeCreate a matrix with the same size as the corresponding matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ ZerosLike() [2/4]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::ZerosLike ( const CMatrix< double > * pMatShape)
virtual

Creates a matrix initialized to 0 with the same size as the parameter matrix.

Parameters
[in]pMatShapeCreate a matrix with the same size as the corresponding matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ ZerosLike() [3/4]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::ZerosLike ( const CMatrix< float > & matShape)
virtual

Creates a matrix initialized to 0 with the same size as the parameter matrix.

Parameters
[in]matShapeCreate a matrix with the same size as the corresponding matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult

◆ ZerosLike() [4/4]

template<typename Ty >
virtual const CResult FLImaging::Foundation::CMatrix< Ty >::ZerosLike ( const CMatrix< float > * pMatShape)
virtual

Creates a matrix initialized to 0 with the same size as the parameter matrix.

Parameters
[in]pMatShapeCreate a matrix with the same size as the corresponding matrix
Return values
constFLImaging::CResult Information about execution results
See also
FLImaging::CResult