1IM_MATINV(3) Library Functions Manual IM_MATINV(3)
2
3
4
6 im_matinv, im_matmul, im_mattrn - matrix operations on DOUBLEMASKs
7
8
10 #include <vips/vips.h>
11
12 DOUBLEMASK *im_matinv( in, name )
13 DOUBLEMASK *in;
14 char *name;
15
16 DOUBLEMASK *im_matmul( in1, in2, name )
17 DOUBLEMASK *in1, *in2;
18 char *name;
19
20 DOUBLEMASK *im_matcat( in1, in2, name )
21 DOUBLEMASK *in1, *in2;
22 char *name;
23
24 DOUBLEMASK *im_mattrn( in, name )
25 DOUBLEMASK *in;
26 char *name;
27
28
30 These functions treat DOUBLEMASKs as matricies, performing some of the
31 basics of matrix algebra on them. Code for im_matinv was taken from
32 Numerical Recipies in C, thanks!
33
34 There should be more matrix functions: those implemeneted are just suf‐
35 ficient for the Gallery's calibration routines. im_matadd, im_matiden‐
36 tity should really be added.
37
38 None of these functions damage their arguments.
39
40 im_matinv() inverts DOUBLEMASK in , returning a new DOUBLEMASK, called
41 name , which contains the inverse of in. If no inverse exists. NULL is
42 returned and im_errorstring set to a diagnostic message.
43
44 im_matmul() multiples the matrices held in in1 and in2, returning their
45 product in a matrix called name.
46
47 im_matcat() returns a new matrix formed by appending matrix in2 to the
48 end of matrix in1. The two matricies must be the same width. It is
49 useful for combining several im_measure()s into a single matrix.
50
51 im_mattrn() transposes matrix in, returning the transpose in new matrix
52 called name.
53
55 The functions returns a new DOUBLEMASK on sucess, and NULL on failure.
56
58 im_create_dmask(3), im_measure(3), etc.
59
61 National Gallery, 1992
62
64 J. Cupitt
65
66
67
68 2 May 1991 IM_MATINV(3)