ifw-odp  2.0.0-alpha
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
clipm_align.h
Go to the documentation of this file.
1 
2 /*********************************************************************
3  * E.S.O. - VLT project
4  *
5  * "@(#) $Id: clipm_align.h 177213 2008-12-05 15:33:51Z hlorch $"
6  *
7  * Functions for object alignment
8  *
9  * who when what
10  * -------- ---------- ----------------------------------------------
11  * hlorch 2006-10-04 created
12  */
13 
14 #ifndef CLIPM_ALIGN_H
15 #define CLIPM_ALIGN_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  Types
33  -----------------------------------------------------------------------------*/
34 
115 /* Doxygen requires more than the brief description, so remember to provide it
116  * everywhere below. The brief description is interpreted as the first line
117  * up to the first point(.). */
118 
120 typedef unsigned int clipm_align_opt;
121 
127 extern const clipm_align_opt CLIPM_ALIGN_SHIFT;
133 extern const clipm_align_opt CLIPM_ALIGN_SCALE;
141 extern const clipm_align_opt CLIPM_ALIGN_ROTATE;
148 extern const clipm_align_opt CLIPM_ALIGN_FREE;
155 extern const clipm_align_opt CLIPM_ALIGN_ROBUST;
156 
159 /*-----------------------------------------------------------------------------
160  Prototypes
161  -----------------------------------------------------------------------------*/
162 
164  char *str,
165  clipm_align_opt opt);
166 
167 cpl_error_code clipm_align_points( const cpl_matrix *ref_points,
168  const cpl_matrix *in_points,
169  const cpl_matrix *ref_variances,
170  const cpl_matrix *in_variances,
171  clipm_align_opt align_mode_bitmask,
172  cpl_matrix **transform_matrix,
173  cpl_matrix **shift,
174  cpl_matrix **residuals);
175 
176 cpl_error_code clipm_align_correlate( const cpl_image *ref_img,
177  const cpl_image *test_img,
178  const cpl_matrix *ref_locations,
179  const cpl_matrix *test_locations,
180  unsigned int area_size,
181  double max_distance,
182  clipm_align_opt align_mode_bitmask,
183  cpl_matrix **pixel_transform_matrix,
184  cpl_matrix **pixel_transshiftvector,
185  cpl_matrix **all_pixelshifts,
186  cpl_matrix **all_locationshifts,
187  cpl_matrix **all_uncertainties,
188  cpl_array **all_error_codes);
189 
190 /*----------------------------------------------------------------------------*/
191 
192 #ifdef __cplusplus
193 } /* extern "C" */
194 #endif
195 
196 #endif /* CLIPM_ALIGN_H */
const clipm_align_opt CLIPM_ALIGN_SHIFT
Shifting allowed.
Definition: clipm_align.c:50
cpl_error_code clipm_align_correlate(const cpl_image *ref_img, const cpl_image *test_img, const cpl_matrix *ref_locations, const cpl_matrix *test_locations, unsigned int area_size, double max_distance, clipm_align_opt align_mode_bitmask, cpl_matrix **pixel_transform_matrix, cpl_matrix **pixel_transshiftvector, cpl_matrix **all_pixelshifts, cpl_matrix **all_locationshifts, cpl_matrix **all_uncertainties, cpl_array **all_error_codes)
Align two images by correlation of sub-regions.
Definition: clipm_align.c:1456
const clipm_align_opt CLIPM_ALIGN_ROTATE
Rotation allowed.
Definition: clipm_align.c:52
const clipm_align_opt CLIPM_ALIGN_ROBUST
Robust computation, ignore outliers.
Definition: clipm_align.c:54
const clipm_align_opt CLIPM_ALIGN_SCALE
Scaling allowed.
Definition: clipm_align.c:51
cpl_error_code clipm_align_points(const cpl_matrix *ref_points, const cpl_matrix *in_points, const cpl_matrix *ref_variances, const cpl_matrix *in_variances, clipm_align_opt align_mode_bitmask, cpl_matrix **transform_matrix, cpl_matrix **shift, cpl_matrix **residuals)
The linear transformation between two sets of point coordinates is determined.
Definition: clipm_align.c:678
void clipm_align_opt_sprint_literal(char *str, clipm_align_opt opt)
Print alignment option in human-readable form into a string.
Definition: clipm_align.c:483
unsigned int clipm_align_opt
Alignment option type.
Definition: clipm_align.h:120
const clipm_align_opt CLIPM_ALIGN_FREE
All parameters are free.
Definition: clipm_align.c:53