Traced skeleton
Traced skeleton, a part of algorithm transparency, is constructed during feature extraction from thinned skeleton separately for ridges and valleys. Traced skeleton is a graph of ridges (or valleys) and skeleton minutiae where ridges (or valleys) end. Skeleton minutiae are just points that have no defined direction yet. Ridges (or valleys) are made of pixels that describe path of the ridge (or valley) between two skeleton minutiae. Traced skeleton is then filtered by removing dots, pores, gaps, tails, and fragments. It is then harvested for skeleton minutiae.
Key | MIME | Filename in ZIP |
---|---|---|
ridges-traced-skeleton | application/cbor | 024-ridges-traced-skeleton.cbor |
valleys-traced-skeleton | application/cbor | 032-valleys-traced-skeleton.cbor |
Visualization
Visualization of traced skeleton was constructed from this stage's CBOR and binary data with original fingerprint image in the background. Visualization itself is not part of transparency data.
Format
Skeleton is a CBOR-encoded data structure:
width
- Image width in pixels.height
- Image height in pixels.minutiae
- Positions of skeleton minutiae on the image, i.e. points where ridges start or end. Axisy
starts at the top of the image and increases towards bottom. Axisx
starts at the left edge of the image and increases to the right.ridges
- List of skeleton ridge records.start
- Offset of the starting minutia inminutiae
.end
- Offset of the ending minutia inminutiae
.points
- List of pixels that form the ridge. Each pixel is defined by integer coordinatesx
andy
in the same coordinate space asminutiae
.
Example: 024-ridges-traced-skeleton.cbor
{ "width": 388, "height": 374, "minutiae": [ { "x": 146, "y": 1 }, { "x": 169, "y": 1 }, "... skipped 186 items ...", { "x": 126, "y": 369 }, { "x": 132, "y": 369 } ], "ridges": [ { "start": 0, "end": 50, "points": [ { "x": 146, "y": 1 }, { "x": 145, "y": 1 }, "... skipped 107 items ...", { "x": 69, "y": 102 }, { "x": 69, "y": 103 } ] }, { "start": 1, "end": 65, "points": [ { "x": 169, "y": 1 }, { "x": 168, "y": 1 }, "... skipped 147 items ...", { "x": 67, "y": 132 }, { "x": 66, "y": 132 } ] }, "... skipped 143 items ...", { "start": 186, "end": 187, "points": [ { "x": 135, "y": 368 }, { "x": 136, "y": 368 }, "... skipped 114 items ...", { "x": 251, "y": 367 }, { "x": 252, "y": 368 } ] }, { "start": 188, "end": 189, "points": [ { "x": 126, "y": 369 }, { "x": 127, "y": 369 }, "... skipped 3 items ...", { "x": 131, "y": 369 }, { "x": 132, "y": 369 } ] } ] }