Various macros
The include files dip_macros.h contains a number of useful macros.
Math macros
DIP_ABS( x ) | Absolute value of x |
DIP_MAX( x, y ) | Maximum of x and y |
DIP_MIN( x, y ) | Minimum of x and y |
DIP_FUNC( funcName, suffix ) | Attaches the suffix to the function name, and puts and underscore in between. |
DIP_SWAP( x, y, z ) | Swaps variables x and y, using temporary variable z. Must be followed by a trailing ";" |
Macros for handling complex numbers:
DIP_REAL( x ) | Real part of complex number x |
DIP_IMAGINARY( x ) | Imaginary part of complex number x |
DIP_SQUARE_MODULUS( x ) | Square modulus of complex number x |
DIP_MODULUS( x ) | Modulus of complex number x |
DIP_PHASE( x ) | Phase of complex number x |
Binary I/O macros
DIP_BINARY_MASK( mask, plane ) | Computes a binary mask from the plane value |
DIP_BINARY_READ( in, mask ) | Returns the binary value from in |
DIP_BINARY_WRITE( out, val, mask ) | Writes the value of val to out |
Random access I/O macros:
DIP_PIXEL_GET( ip, pos, stride, value ) DIP_PIXEL_SET( ip, pos, stride, value )
get/set the value of the pixel at position pos from data pointer ip with strides stride. Both pos and stride are dip_IntegerArrays.
DIP_PIXEL_ADD( ip, pos, stride, value ) DIP_PIXEL_SUB( ip, pos, stride, value ) DIP_PIXEL_MUL( ip, pos, stride, value ) DIP_PIXEL_DIV( ip, pos, stride, value )
add/subtract/multlipy/divide the value with the pixel-value at position pos from data pointer ip with strides stride. Both pos and stride are dip_IntegerArrays.