|
Woolz Image Processing
Version 1.7.5
|
Matrix allocation and maintenance functions. More...
Functions | |
| AlgMatrix | AlgMatrixNew (AlgMatrixType aType, size_t nR, size_t nC, size_t nE, double tol, AlgError *dstErr) |
| Allocates a new matrix or the requested type. More... | |
| AlgMatrixRect * | AlgMatrixRectNew (size_t nR, size_t nC, AlgError *dstErr) |
| Allocates a new rectangular matrix. More... | |
| void | AlgMatrixFree (AlgMatrix mat) |
| Frees a matrix. More... | |
| void | AlgMatrixRectFree (AlgMatrixRect *mat) |
| Frees a rectangular matrix. More... | |
| AlgMatrixSym * | AlgMatrixSymNew (size_t nN, AlgError *dstErr) |
| Allocates a new symmetric matrix. More... | |
| void | AlgMatrixSymFree (AlgMatrixSym *mat) |
| Frees a symmetric matrix. More... | |
| AlgMatrixLLR * | AlgMatrixLLRNew (size_t nR, size_t nC, size_t nE, double tol, AlgError *dstErr) |
| Allocates a new linked list row matrix. More... | |
| void | AlgMatrixLLRFree (AlgMatrixLLR *mat) |
| Frees a linked list row matrix. More... | |
| AlgMatrixLLRE * | AlgMatrixLLRENew (AlgMatrixLLR *mat) |
| Gets a linked list row matrix entry from the matrix. The return value may be NULL if none are available and the entries need to be expanded sing AlgMatrixLLRExpand(). More... | |
| void | AlgMatrixLLREFree (AlgMatrixLLR *mat, AlgMatrixLLRE *p) |
| Returns a linked list row matrix entry to the free stack of the matrix. More... | |
| AlgError | AlgMatrixWriteAscii (AlgMatrix mat, FILE *fP) |
| Writes a matrix in numeric ASCI format to the given file file. The rows are on separate lines and the columns of each row are white space seperated. More... | |
| AlgMatrix | AlgMatrixReadAscii (AlgMatrixType mType, double tol, FILE *fP, const char *fSep, size_t recMax, AlgError *dstErr) |
| Reads a matrix of the requested type from an ASCII file. If the type is ALG_MATRIX_SYM then only the first half of each row will be used, although all must be given. More... | |
| AlgError | AlgMatrixSet (AlgMatrix mat, size_t row, size_t col, double val) |
| AlgError | AlgMatrixLLRCopyInPlace (AlgMatrixLLR *aM, AlgMatrixLLR *bM) |
| Copy the second LLR matrix to the first. More... | |
| AlgError | AlgMatrixLLRSet (AlgMatrixLLR *mat, size_t row, size_t col, double val) |
| This can have one of three actions: More... | |
| double | AlgMatrixValue (AlgMatrix mat, size_t row, size_t col) |
| Returns the value in the matrix at the given coordinates. More... | |
| double | AlgMatrixLLRValue (AlgMatrixLLR *mat, size_t row, size_t col) |
| Returns the value in the matrix at the given coordinates. More... | |
| AlgError | AlgMatrixLLRExpand (AlgMatrixLLR *mat, size_t nE) |
| Ensures that there are at least the requested number of free linked list row matrix entries available. More... | |
| void | AlgMatrixZero (AlgMatrix mat) |
| Sets all elements of the matrix to zero. More... | |
| void | AlgMatrixRectZero (AlgMatrixRect *mat) |
| Sets all elements of the matrix to zero. More... | |
| void | AlgMatrixSymZero (AlgMatrixSym *mat) |
| Sets all elements of the matrix to zero. More... | |
| void | AlgMatrixLLRZero (AlgMatrixLLR *mat) |
| Sets all elements of the matrix to zero. More... | |
| AlgError | AlgMatrixSetAll (AlgMatrix mat, double val) |
| Sets all elements of the given matrix to the given value. More... | |
| void | AlgMatrixRectSetAll (AlgMatrixRect *mat, double val) |
| Sets all elements of the given rectangular matrix to the given value. More... | |
| void | AlgMatrixSymSetAll (AlgMatrixSym *mat, double val) |
| Sets all elements of the given symmetric matrix to the given value. More... | |
| AlgError | AlgMatrixLLRSetAll (AlgMatrixLLR *mat, double val) |
| Sets all elements of the given linked list row matrix to the given value. This is not an efficient use of a linked list row matrix since all values will be allocate and set. More... | |
| void | AlgMatrixLLRERemove (AlgMatrixLLR *mat, size_t row, size_t col) |
| Removes the entry at the given coordinates. More... | |
Matrix allocation and maintenance functions.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
| void AlgMatrixFree | ( | AlgMatrix | mat | ) |
Frees a matrix.
| mat | Given matrix. |
References ALG_MATRIX_LLR, ALG_MATRIX_RECT, ALG_MATRIX_SYM, AlgMatrixLLRFree(), AlgMatrixRectFree(), AlgMatrixSymFree(), _AlgMatrix::core, _AlgMatrix::llr, _AlgMatrix::rect, _AlgMatrix::sym, and _AlgMatrixCore::type.
Referenced by AlgMatrixReadAscii(), WlzAffineTransformLSqDQ2D(), WlzAffineTransformLSqDQ3D(), WlzAffineTransformLSqGen2D(), WlzAffineTransformLSqGen3D(), WlzAffineTransformLSqReg2D(), WlzAffineTransformLSqReg3D(), WlzBasisFnConf2DFromCPts(), WlzBasisFnGauss2DFromCPts(), WlzBasisFnIMQ2DFromCPts(), WlzBasisFnIMQ3DFromCPts(), WlzBasisFnMQ2DFromCPts(), WlzBasisFnMQ3DFromCPts(), WlzBasisFnPoly2DFromCPts(), WlzBasisFnScalarMOS3DFromCPts(), WlzBasisFnTPS2DFromCPts(), WlzCMeshCompSurfMap(), WlzCMeshMeshMeshProduct(), WlzCMeshProduct(), WlzCMeshToDomObjValues(), WlzDGTensorPDFeature(), WlzDGTensorSDFeature(), WlzGeomCurvature(), WlzGeometryLSqOPlane(), WlzKrigReallocBuffers2D(), and WlzKrigReallocBuffers3D().
| void AlgMatrixRectFree | ( | AlgMatrixRect * | mat | ) |
Frees a rectangular matrix.
| mat | Rectangular matrix. |
References AlcDouble2Free(), AlcFree(), and _AlgMatrixRect::array.
Referenced by AlgMatrixFree(), AlgMatrixSVSolve(), AlgPolynomialLSq(), WlzCMeshExpansion(), WlzCMeshExpValues(), and WlzFitPlaneSVD().
| void AlgMatrixSymFree | ( | AlgMatrixSym * | mat | ) |
Frees a symmetric matrix.
| mat | symmetric matrix. |
References AlcDouble2Free(), AlcFree(), and _AlgMatrixSym::array.
Referenced by AlgMatrixFree().
| void AlgMatrixLLRFree | ( | AlgMatrixLLR * | mat | ) |
Frees a linked list row matrix.
| mat | Linked list row matrix. |
References AlcFree(), AlcFreeStackFree(), _AlgMatrixLLR::blk, and _AlgMatrixLLR::tbl.
Referenced by AlgMatrixFree(), and AlgMatrixLLRNew().