Blocks
Blocks, a part of algorithm transparency, is a division of scaled image into blocks of approximately same size. It is computed during feature extraction. Two block grids are defined, called primary and secondary, that are shifted by half a block relative to each other.
Blocks are used extensively throughout the algorithm. They are used to compute local contrast and derived mask data, equalized image, block orientation and smoothed orientation, parallel smoothing and orthogonal smoothing, and binarized image and derived data. They are used in many places to optimize out calculations over areas outside of fingerprint mask.
Key | MIME | Filename in ZIP |
---|---|---|
blocks | application/cbor | 004-blocks.cbor |
Visualization
The following visualization was created from this stage's CBOR data overlaid on top of the original fingerprint image. Visualization itself is not part of transparency data.
Format
Blocks are encoded as a CBOR data structure:
pixels
- Image size in pixels after scaling.primary
- Primary block grid that has all blocks of approximately the same size. See below for its structure.secondary
- Secondary block grid that is shifted by half a block relative to theprimary
grid. See below for its structure. It is one block longer along both x and y axes because of half-blocks on image edges.
Both primary
and secondary
block grids have the same structure.
blocks
- Number of blocks in the grid, measured separately forx
andy
axis.corners
- Number of block corners in the grid, measured separately forx
andy
axis. This is one higher thanblocks
field along both axes.x
- X positions of vertical lines that split the image into columns of blocks. These lines lie between pixels rather than on top of them. First line is the left edge of the image. Last line is the right edge.y
- Y positions of horizontal lines that split the image into rows of blocks. These lines lie between pixels rather than on top of them. First line is the top edge of the image. Last line is the bottom edge.
Positions are measured in pixels of the scaled image.
Axis y
starts at the top of the image and increases towards bottom.
Axis x
starts at the left edge of the image and increases to the right.
This orientation of axes applies to both pixels and higher level blocks.
Example: 004-blocks.cbor
{ "pixels": { "x": 388, "y": 374 }, "primary": { "blocks": { "x": 26, "y": 25 }, "corners": { "x": 27, "y": 26 }, "x": [ 0, 14, "... skipped 23 items in range 29 to 358 ...", 373, 388 ], "y": [ 0, 14, "... skipped 22 items in range 29 to 344 ...", 359, 374 ] }, "secondary": { "blocks": { "x": 27, "y": 26 }, "corners": { "x": 28, "y": 27 }, "x": [ 0, 7, "... skipped 24 items in range 21 to 365 ...", 380, 388 ], "y": [ 0, 7, "... skipped 23 items in range 21 to 351 ...", 366, 374 ] } }