Traced skeleton

SourceAFIS » Algorithm » Transparency » 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.

KeyMIMEFilename in ZIP
ridges-traced-skeletonapplication/cbor024-ridges-traced-skeleton.cbor
valleys-traced-skeletonapplication/cbor032-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.

Fingerprint skeleton in red color with minutiae marked blue and cyan and original fingerprint in the background
Traced fingerprint skeleton. Endings are marked blue and bifurcations cyan.

Format

Skeleton is a CBOR-encoded data structure:

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
        }
      ]
    }
  ]
}