Pixelwise orientation
Pixelwise orientation, a part of algorithm transparency, contains orientation vector for every pixel of the image. Orientation vector encodes orientation angle (essentially an inclination angle of straight line) along with the strength of orientation signal in that pixel. Pixelwise orientation is computed from equalized image during feature extraction. It is processed into block orientation.
Key | MIME | Filename in ZIP |
---|---|---|
pixelwise-orientation | application/cbor | 013-pixelwise-orientation.cbor |
Visualization
Visualization of pixelwise orientation was constructed from this stage's binary data alone. The apparent fingerprint structure is implicitly present in the data due to the nature of orientation detector rather than being explicitly added to the visualization. Visualization itself is not part of transparency data.
Format
Pixelwise orientation is a matrix (2-dimensional array) of planar (2-component) vectors, one vector per image pixel. Each vector represents local ridge orientation in vector format (see below). Pixels outside the mask or with no orientation information have their vectors zeroed.
Vectors represent special orientation angles defined as follows. Length of the vector indicates strength or quality of the orientation data for that pixel. Vectors have their Y axis pointing down and X axis pointing right. Vector can be converted to orientation angle in range from 0 to 360 degrees by assuming that vector for zero angle points right and vectors rotate clockwise with increasing angle.
Orientation angles are something completely different from direction angles. For example, right and left directions have the same horizontal orientation. Orientation can be thought of as an infinite straight line. Zero orientation angle represents horizontal orientation and increasing the angle turns the orientation clockwise. Orientation angle of 180 degrees represents vertical orientation. Orientation then increases further clockwise and reaches horizontal orientation again at 360 degrees.
Pixelwise orientation is encoded in CBOR:
width
- Image width in pixels.height
- Image height in pixels.vectors
- Array of2 * width * height
64-bit floating-point numbers representing orientation vectors. Every vector is represented by two components, X and Y, written sequentially in the array. The 2-dimensional pixel space is mapped into 1-dimensional array by sorting pixels by Y position top to bottom and then by X position left to right.
Example: 013-pixelwise-orientation.cbor
{ "width": 388, "height": 374, "vectors": [ 0.0, 0.0, "... skipped 290,220 items in range -11.8 to 14.0 ...", 0.0, 0.0 ] }