Class CVisDMatrix
- java.lang.Object
-
- gov.nih.mipav.view.renderer.WildMagic.AAM.CVisDMatrix
-
- Direct Known Subclasses:
CDMatrix
public class CVisDMatrix extends java.lang.Object
* AAM-API LICENSE - file: license.txt This software is freely available for non-commercial use such as research and education. Please see the full disclaimer below. All publications describing work using this software should cite the reference given below. Copyright (c) 2000-2003 Mikkel B. Stegmann, mbs@imm.dtu.dk IMM, Informatics & Mathematical Modelling DTU, Technical University of Denmark Richard Petersens Plads, Building 321 DK-2800 Lyngby, Denmark http://www.imm.dtu.dk/~aam/ REFERENCES Please use the reference below, when writing articles, reports etc. where the AAM-API has been used. A draft version the article is available from the homepage. I will be happy to receive pre- or reprints of such articles. /Mikkel ------------- M. B. Stegmann, B. K. Ersboll, R. Larsen, "FAME -- A Flexible Appearance Modelling Environment", IEEE Transactions on Medical Imaging, IEEE, 2003 (to appear) ------------- 3RD PART SOFTWARE The software is partly based on the following libraries: - The Microsoft(tm) Vision Software Developers Kit, VisSDK - LAPACK DISCLAIMER This software is provided 'as-is', without any express or implied warranty. In no event will the author be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any non-commercial purpose, and to alter it, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. -- No guarantees of performance accompany this software, nor is any responsibility assumed on the part of the author or IMM. This software is provided by Mikkel B. Stegmann and IMM ``as is'' and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall IMM or Mikkel B. Stegmann be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage. $Revision: 1.4 $ $Date: 2003/04/23 14:49:15 $ NAME // VisDMatrix.h -- double precision matrix/vector operations DESCRIPTION CLASS: CVisDMatrix The CVisDMatrix class provides some basic matrix operations, using calls to external software (IMSL for the moment) to perform the more complicated operations. To take advantage of the IMSL numerical analysis routines, define VIS_USE_IMSL in the Build Settings C/C++ property page. Copyright (c) 1996-2000 Microsoft Corporation, All Rights Reserved Use partial routine for matrix manipulation for automatic prostate segmentation.- Author:
- Ruida Cheng
-
-
Field Summary
Fields Modifier and Type Field Description static int
eftData
static int
eftDims
static int
eftEnd
static int
eftName
int
FieldType
double[][]
m_data
protected boolean
m_fExternalStorage
protected int
m_nCols
protected int
m_nRows
static boolean
s_fVerboseOutput
-
Constructor Summary
Constructors Constructor Description CVisDMatrix()
CVisDMatrix(int rows, int cols)
CVisDMatrix(int rows, int cols, double[] storage)
CVisDMatrix(int rows, int cols, double[][] storage)
CVisDMatrix(CVisDMatrix refmatrix)
-
Method Summary
-
-
-
Field Detail
-
m_nRows
protected int m_nRows
-
m_nCols
protected int m_nCols
-
m_data
public double[][] m_data
-
m_fExternalStorage
protected boolean m_fExternalStorage
-
FieldType
public int FieldType
-
eftName
public static int eftName
-
eftDims
public static int eftDims
-
eftData
public static int eftData
-
eftEnd
public static int eftEnd
-
s_fVerboseOutput
public static boolean s_fVerboseOutput
-
-
Constructor Detail
-
CVisDMatrix
public CVisDMatrix()
-
CVisDMatrix
public CVisDMatrix(int rows, int cols)
-
CVisDMatrix
public CVisDMatrix(int rows, int cols, double[] storage)
-
CVisDMatrix
public CVisDMatrix(int rows, int cols, double[][] storage)
-
CVisDMatrix
public CVisDMatrix(CVisDMatrix refmatrix)
-
-
Method Detail
-
dispose
public void dispose()
-
not_equals
public boolean not_equals(CVisDMatrix refmatrix)
-
add
public CVisDMatrix add(CVisDMatrix refmatrix)
-
sub
public CVisDMatrix sub(CVisDMatrix refmatrix)
-
mult
public CVisDVector mult(CVisDVector refvector)
-
mult
public CVisDMatrix mult(CVisDMatrix refmatrix)
-
mult
public CVisDMatrix mult(double dbl)
-
div
public CVisDMatrix div(double dbl)
-
Transpose
public CVisDMatrix Transpose()
-
Submatrix
public CVisDMatrix Submatrix(int newRows, int newCols, CVisDMatrix submat)
-
Submatrix
public CVisDMatrix Submatrix(int newRows, int newCols, int i0, int j0)
-
VisCrossProduct
public CVisDVector VisCrossProduct(CVisDVector v1, CVisDVector v2)
-
NRows
public int NRows()
-
NCols
public int NCols()
-
FreeBuffer
public void FreeBuffer()
-
SetSize
public void SetSize(int rows, int cols)
-
SetSize
public void SetSize(int rows, int cols, double[][] storage)
-
Resize
public void Resize(int rows, int cols)
-
Resize
public void Resize(int rows, int cols, double[][] storage)
-
assign
public CVisDMatrix assign(CVisDMatrix mat)
-
assign
public CVisDMatrix assign(double value)
-
equals
public boolean equals(CVisDMatrix refmatrix)
-
lessThan
public boolean lessThan(CVisDMatrix refmatrix)
-
add_into
public CVisDMatrix add_into(CVisDMatrix refmatrix)
-
sub_into
public CVisDMatrix sub_into(CVisDMatrix refmatrix)
-
mult_into
public CVisDMatrix mult_into(CVisDMatrix refmatrix)
-
mult_into
public CVisDMatrix mult_into(double dbl)
-
div_into
public CVisDMatrix div_into(double dbl)
-
neg
public CVisDMatrix neg()
-
EqSum
public CVisDMatrix EqSum(CVisDMatrix refmatrixA, CVisDMatrix refmatrixB)
-
EqDiff
public CVisDMatrix EqDiff(CVisDMatrix refmatrixA, CVisDMatrix refmatrixB)
-
EqProd
public CVisDMatrix EqProd(CVisDMatrix refmatrixA, CVisDMatrix refmatrixB)
-
Dgetrf
public int Dgetrf(int m, double[][] a, double[] p_det)
-
Invert
public CVisDMatrix Invert()
-
Inverted
public CVisDMatrix Inverted()
-
Determinant
public double Determinant()
-
Determinant
public double Determinant(CVisDMatrix matrixInverse)
-
Transposed
public CVisDMatrix Transposed()
-
IsSymmetric
public boolean IsSymmetric()
-
VisGaussJordanSolveDMatrix
public void VisGaussJordanSolveDMatrix(CVisDMatrix A)
-
VisDMatrixSqrtInverse
public CVisDMatrix VisDMatrixSqrtInverse(CVisDMatrix A)
-
VisDMatrixSqrtInverse
public void VisDMatrixSqrtInverse(CVisDMatrix A, CVisDMatrix AsqrtInv)
-
VisDMatrixSymmetricEigen
public boolean VisDMatrixSymmetricEigen(CVisDMatrix A, CVisDVector vals, CVisDMatrix vects)
-
Dsyev
public int Dsyev(int m, double[][] a, double[] vals, double[][] vects)
-
Submatrix
public CVisDMatrix Submatrix(int newRows, int newCols, CVisDMatrix submat, int i0, int j0)
-
Row
public CVisDVector Row(int r)
-
Column
public CVisDVector Column(int c)
-
SetRow
public void SetRow(int r, CVisDVector v)
-
SetColumn
public void SetColumn(int c, CVisDVector v)
-
VisOuterProduct
public CVisDMatrix VisOuterProduct(CVisDVector v1, CVisDVector v2)
-
VisCrossProduct
public void VisCrossProduct(CVisDVector x, CVisDVector y, CVisDVector z)
-
VisDMatrixLeastSquares
public CVisDMatrix VisDMatrixLeastSquares(CVisDMatrix A, CVisDMatrix B)
-
VisDMatrixLeastSquares
public CVisDVector VisDMatrixLeastSquares(CVisDMatrix A, CVisDVector b)
-
VisDMatrixLeastSquares
public void VisDMatrixLeastSquares(CVisDMatrix A, CVisDVector b, CVisDVector x)
-
VisDMatrixLeastSquares
public void VisDMatrixLeastSquares(CVisDMatrix A, CVisDMatrix B, CVisDMatrix X)
-
VisDMatrixLLS
public int VisDMatrixLLS(CVisDMatrix A, CVisDMatrix B, CVisDMatrix X)
-
Dgelss
public int Dgelss(int m, int n, double[][] AT, int nrhs, double[][] BT, double[] sVals, int[] pRank, double[][] X)
-
VisDMatrixSolveSPD
public CVisDVector VisDMatrixSolveSPD(CVisDMatrix A, CVisDVector b)
-
VisDMatrixSolveSPD
public void VisDMatrixSolveSPD(CVisDMatrix A, CVisDVector b, CVisDVector x, int n)
-
Dposv
public int Dposv(int n, double[][] A, int nrhs, double[] BT, double[][] XT)
-
VisDMatrixSolve
public CVisDVector VisDMatrixSolve(CVisDMatrix A, CVisDVector b)
-
VisDMatrixSolve
public void VisDMatrixSolve(CVisDMatrix A, CVisDVector b, CVisDVector x)
-
Dgesv
public int Dgesv(int n, double[][] AT, int nrhs, double[] BT, double[][] XT)
-
Dgesvd
public int Dgesvd(int M, int N, double[][] a, char jobu, char jobv, double[][] U, double[] S, double[][] V)
-
VisDMatrixSVD
public void VisDMatrixSVD(CVisDMatrix A, CVisDVector s, CVisDMatrix U, CVisDMatrix V)
-
VisDMatrixSVD
public void VisDMatrixSVD(CVisDMatrix A, CVisDVector s, CVisDMatrix U, CVisDMatrix V, int compute_left, int compute_right)
-
-