Class CVisDMatrix
java.lang.Object
gov.nih.mipav.view.renderer.WildMagic.AAM.CVisDMatrix
- Direct Known Subclasses:
CDMatrix
* 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 invalid input: '&' 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
FieldsModifier and TypeFieldDescriptionstatic intstatic intstatic intstatic intintdouble[][]protected booleanprotected intprotected intstatic boolean -
Constructor Summary
ConstructorsConstructorDescriptionCVisDMatrix(int rows, int cols) CVisDMatrix(int rows, int cols, double[] storage) CVisDMatrix(int rows, int cols, double[][] storage) CVisDMatrix(CVisDMatrix refmatrix) -
Method Summary
Modifier and TypeMethodDescriptionadd(CVisDMatrix refmatrix) add_into(CVisDMatrix refmatrix) assign(double value) assign(CVisDMatrix mat) Column(int c) doubledoubleDeterminant(CVisDMatrix matrixInverse) intDgelss(int m, int n, double[][] AT, int nrhs, double[][] BT, double[] sVals, int[] pRank, double[][] X) intDgesv(int n, double[][] AT, int nrhs, double[] BT, double[][] XT) intDgesvd(int M, int N, double[][] a, char jobu, char jobv, double[][] U, double[] S, double[][] V) intDgetrf(int m, double[][] a, double[] p_det) voiddispose()div(double dbl) div_into(double dbl) intDposv(int n, double[][] A, int nrhs, double[] BT, double[][] XT) intDsyev(int m, double[][] a, double[] vals, double[][] vects) EqDiff(CVisDMatrix refmatrixA, CVisDMatrix refmatrixB) EqProd(CVisDMatrix refmatrixA, CVisDMatrix refmatrixB) EqSum(CVisDMatrix refmatrixA, CVisDMatrix refmatrixB) booleanequals(CVisDMatrix refmatrix) voidInvert()Inverted()booleanbooleanlessThan(CVisDMatrix refmatrix) mult(double dbl) mult(CVisDMatrix refmatrix) mult(CVisDVector refvector) mult_into(double dbl) mult_into(CVisDMatrix refmatrix) intNCols()neg()booleannot_equals(CVisDMatrix refmatrix) intNRows()voidResize(int rows, int cols) voidResize(int rows, int cols, double[][] storage) Row(int r) voidSetColumn(int c, CVisDVector v) voidSetRow(int r, CVisDVector v) voidSetSize(int rows, int cols) voidSetSize(int rows, int cols, double[][] storage) sub(CVisDMatrix refmatrix) sub_into(CVisDMatrix refmatrix) Submatrix(int newRows, int newCols, int i0, int j0) Submatrix(int newRows, int newCols, CVisDMatrix submat) Submatrix(int newRows, int newCols, CVisDMatrix submat, int i0, int j0) VisCrossProduct(CVisDVector v1, CVisDVector v2) voidVisCrossProduct(CVisDVector x, CVisDVector y, CVisDVector z) voidvoidintVisDMatrixLLS(CVisDMatrix A, CVisDMatrix B, CVisDMatrix X) voidVisDMatrixSolve(CVisDMatrix A, CVisDVector b, CVisDVector x) voidVisDMatrixSolveSPD(CVisDMatrix A, CVisDVector b, CVisDVector x, int n) voidVisDMatrixSqrtInverse(CVisDMatrix A, CVisDMatrix AsqrtInv) voidVisDMatrixSVD(CVisDMatrix A, CVisDVector s, CVisDMatrix U, CVisDMatrix V) voidVisDMatrixSVD(CVisDMatrix A, CVisDVector s, CVisDMatrix U, CVisDMatrix V, int compute_left, int compute_right) booleanVisDMatrixSymmetricEigen(CVisDMatrix A, CVisDVector vals, CVisDMatrix vects) voidVisOuterProduct(CVisDVector v1, CVisDVector v2)
-
Field Details
-
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 Details
-
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
-
-
Method Details
-
dispose
public void dispose() -
not_equals
-
add
-
sub
-
mult
-
mult
-
mult
-
div
-
Transpose
-
Submatrix
-
Submatrix
-
VisCrossProduct
-
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
-
assign
-
equals
-
lessThan
-
add_into
-
sub_into
-
mult_into
-
mult_into
-
div_into
-
neg
-
EqSum
-
EqDiff
-
EqProd
-
Dgetrf
public int Dgetrf(int m, double[][] a, double[] p_det) -
Invert
-
Inverted
-
Determinant
public double Determinant() -
Determinant
-
Transposed
-
IsSymmetric
public boolean IsSymmetric() -
VisGaussJordanSolveDMatrix
-
VisDMatrixSqrtInverse
-
VisDMatrixSqrtInverse
-
VisDMatrixSymmetricEigen
-
Dsyev
public int Dsyev(int m, double[][] a, double[] vals, double[][] vects) -
Submatrix
-
Row
-
Column
-
SetRow
-
SetColumn
-
VisOuterProduct
-
VisCrossProduct
-
VisDMatrixLeastSquares
-
VisDMatrixLeastSquares
-
VisDMatrixLeastSquares
-
VisDMatrixLeastSquares
-
VisDMatrixLLS
-
Dgelss
public int Dgelss(int m, int n, double[][] AT, int nrhs, double[][] BT, double[] sVals, int[] pRank, double[][] X) -
VisDMatrixSolveSPD
-
VisDMatrixSolveSPD
-
Dposv
public int Dposv(int n, double[][] A, int nrhs, double[] BT, double[][] XT) -
VisDMatrixSolve
-
VisDMatrixSolve
-
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
-
VisDMatrixSVD
public void VisDMatrixSVD(CVisDMatrix A, CVisDVector s, CVisDMatrix U, CVisDMatrix V, int compute_left, int compute_right)
-