Available transformation options. These options can be combined bit-wise to allow respective transformation options.
More...
Available transformation options. These options can be combined bit-wise to allow respective transformation options.
- Supported Alignment Modes:
The following alignment modes are supported by CLIPM aligning functions.
- An alignment mode of type clipm_align_opt should be given by a bit-wise combination of the options below.
- CLIPM_ALIGN_FREE overrides scaling, rotation and shift, and allows for any linear transformation, including deformations and projections.
- CLIPM_ALIGN_ROBUST is so far only supported together with (and only with) CLIPM_ALIGN_SHIFT.
- CLIPM_ALIGN_ROTATE is only supported for two-dimensional input (x and y).
- The following combinations of modes are supported (shown column-wise):
Alignment Mode | Combinations |
CLIPM_ALIGN_SHIFT | 1 | 0 | 1 |
0 | 1 | 0 | 1 | X | 1 |
CLIPM_ALIGN_SCALE | 0 | 1 | 1 |
0 | 0 | 1 | 1 | X | 0 |
CLIPM_ALIGN_ROTATE | 0 | 0 | 0 |
1 | 1 | 1 | 1 | X | 0 |
CLIPM_ALIGN_FREE | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 1 | 0 |
CLIPM_ALIGN_ROBUST | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 1 |
Notes: | | | |
only 2-dim | |
Median |
- Compatibility:
- MIDAS users will find the same functionality as the function ALIGN/IMAGE with the following mode combinations:
MIDAS align mode |
CLIPM align mode |
SHIFT | CLIPM_ALIGN_SHIFT |
UNIT | CLIPM_ALIGN_SHIFT | CLIPM_ALIGN_ROTATE |
EQUAL | CLIPM_ALIGN_SHIFT | CLIPM_ALIGN_SCALE |
CLIPM_ALIGN_ROTATE |
FREE | CLIPM_ALIGN_FREE |
- Note
- Enabling/disabling rotation and/or scaling influences the shift result.
◆ clipm_align_opt
◆ clipm_align_opt_sprint_literal()
Print alignment option in human-readable form into a string.
- Parameters
-
str | Output string pointer (pre-allocated), unchecked |
opt | Alignment option bitmask |
- Returns
- Nothing
The pre-allocated output string must be at least 5*6+5+25+1=61 characters long. It is not checked for NULL.
- Error Handling:
- None.
◆ CLIPM_ALIGN_FREE
All parameters are free.
Distortion/shearing is also allowed. CLIPM_ALIGN_SHIFT, CLIPM_ALIGN_SCALE, and CLIPM_ALIGN_ROTATE are overridden.
◆ CLIPM_ALIGN_ROBUST
Robust computation, ignore outliers.
Outliers are determined and ignored. This is so far only implemented for the mode CLIPM_ALIGN_SHIFT, where it means the median translation.
◆ CLIPM_ALIGN_ROTATE
Rotation allowed.
For the two-dimensional case, the rotation will be determined, i.e. the transformation matrix will be a (evt. scaled) rotation matrix. Other numbers of dimensions are not implemented yet.
◆ CLIPM_ALIGN_SCALE
Scaling allowed.
Scaling is allowed as part of the transformation.
◆ CLIPM_ALIGN_SHIFT
Shifting allowed.
Shifting is allowed as part of the transformation.