/** * Set The texture in ND. iTexture is of size 1*cols. Not a hardcopy, but copy the header and data * position */ public void SetTheTexture(final float[] iTexture, int textureRep) { assert (iTexture.length % textureRep == 0); this.m_MatTexture = com.visionopen.jiapei.utils.Common.reshapeTo2D(iTexture, textureRep); }
/** Get the shape Mat_ in a row, x1x2x3...y1y2y3...z1z2z3... */ public float[] GetTheTextureInARow() { return com.visionopen.jiapei.utils.Common.reshapeTo1D(this.m_MatTexture); }
public void Centralize() { float[] avg = this.Mean(); this.Shift(com.visionopen.jiapei.utils.Common.Neg(avg)); }
public float GetTextureNorm() { return (com.visionopen.jiapei.utils.Common.CalcMatrixNorm(this.m_MatTexture)); }
public float dot(final VO_Texture iTexture) { Matrix A = new Matrix(com.visionopen.jiapei.utils.Common.float2double(this.m_MatTexture)); Matrix B = new Matrix(com.visionopen.jiapei.utils.Common.float2double(iTexture.m_MatTexture)); return (com.visionopen.jiapei.utils.Common.CalcMatrixElemSum(A.arrayTimes(B))); }