ifw-odp  2.0.0-alpha
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
clipm_priv_matrix.h
Go to the documentation of this file.
1 
2 /*********************************************************************
3  * E.S.O. - VLT project
4  *
5  * "@(#) $Id: clipm_priv_matrix.h 262676 2014-12-08 13:28:51Z cgarcia $"
6  *
7  * PRIVATE functions for matrix handling
8  *
9  * who when what
10  * -------- ---------- ----------------------------------------------
11  * hlorch 2007-02-07 created
12  */
13 
14 #ifndef CLIPM_PRIV_MATRIX_H
15 #define CLIPM_PRIV_MATRIX_H
16 
17 /*-----------------------------------------------------------------------------
18  Includes
19  -----------------------------------------------------------------------------*/
20 
21 #include <cpl.h>
22 
23 /*-----------------------------------------------------------------------------
24  Declaration Block
25  -----------------------------------------------------------------------------*/
26 
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30 
31 /*-----------------------------------------------------------------------------
32  Prototypes
33  -----------------------------------------------------------------------------*/
34 
36  const cpl_image *image,
37  const cpl_size window_xxyy[4],
38  const int vflip);
39 
40 cpl_error_code clipm_priv_matrix_round( cpl_matrix *matrix);
41 
43  const cpl_matrix *matrix);
44 
46  const cpl_matrix *matrix);
47 
49  const cpl_matrix *matrix,
50  const int *selection,
51  int select_nonzero);
52 
54  cpl_matrix *matrix,
55  const cpl_vector *in,
56  cpl_size col,
57  cpl_size start_row);
59  cpl_vector *in,
60  const cpl_matrix *matrix,
61  cpl_size col,
62  cpl_size start_row);
63 
65  double angle,
66  const double *centre_xy,
67  cpl_matrix **transform,
68  cpl_matrix **shift);
69 
71  const cpl_matrix *transf,
72  const cpl_matrix *shift,
73  cpl_matrix **inv_transf,
74  cpl_matrix **inv_shift);
75 
77  const cpl_matrix *points,
78  const cpl_matrix *transformation,
79  const cpl_matrix *shift);
80 
82  const double centre_xy[2],
83  double angle,
84  const double size_lw[2]);
85 
86 void clipm_priv_matrix_null( cpl_matrix **m);
87 
88 /*----------------------------------------------------------------------------*/
89 
90 #ifdef __cplusplus
91 } /* extern "C" */
92 #endif
93 
94 #endif /* CLIPM_PRIV_MATRIX_H */
cpl_error_code clipm_priv_matrix_transform_invert(const cpl_matrix *transf, const cpl_matrix *shift, cpl_matrix **inv_transf, cpl_matrix **inv_shift)
Compute the inverse transform.
Definition: clipm_priv_matrix.c:672
cpl_error_code clipm_priv_matrix_copy_col_vector(cpl_matrix *matrix, const cpl_vector *in, cpl_size col, cpl_size start_row)
Copy the content of a vector into a matrix column (or a part of it).
Definition: clipm_priv_matrix.c:459
cpl_matrix * clipm_priv_matrix_get_median_rows(const cpl_matrix *matrix)
Get the medians of the values in the matrix rows respectively.
Definition: clipm_priv_matrix.c:248
cpl_matrix * clipm_priv_matrix_new_from_image_window(const cpl_image *image, const cpl_size window_xxyy[4], const int vflip)
Extract an image window into a matrix, flip vertically.
Definition: clipm_priv_matrix.c:89
cpl_matrix * clipm_priv_matrix_create_corners_rectangle(const double centre_xy[2], double angle, const double size_lw[2])
Create a matrix containing the corner points of a rectangle.
Definition: clipm_priv_matrix.c:851
cpl_error_code clipm_priv_matrix_round(cpl_matrix *matrix)
Round the elements of a matrix to the nearest integer.
Definition: clipm_priv_matrix.c:206
cpl_error_code clipm_priv_matrix_copy_vector_col(cpl_vector *in, const cpl_matrix *matrix, cpl_size col, cpl_size start_row)
Copy the content of a matrix column (or a part of it) into a vector.
Definition: clipm_priv_matrix.c:531
cpl_matrix * clipm_priv_matrix_transform_points(const cpl_matrix *points, const cpl_matrix *transformation, const cpl_matrix *shift)
Transform a pointlist.
Definition: clipm_priv_matrix.c:765
cpl_error_code clipm_priv_matrix_transform_create_rot2d(double angle, const double *centre_xy, cpl_matrix **transform, cpl_matrix **shift)
cpl_matrix * clipm_priv_matrix_select_cols(const cpl_matrix *matrix, const int *selection, int select_nonzero)
Return selected columns in a new matrix.
Definition: clipm_priv_matrix.c:370
void clipm_priv_matrix_null(cpl_matrix **m)
Delete a CPL matrix object and set the pointer to NULL.
Definition: clipm_priv_matrix.c:929
cpl_matrix * clipm_priv_matrix_get_mean_rows(const cpl_matrix *matrix)
Get the means of the values in the matrix rows respectively.
Definition: clipm_priv_matrix.c:305