Histogram

Histogram, a part of algorithm transparency, contains pixel value histogram for every primary block on the block map. Pixels are taken from scaled image. It is computed during feature extraction. Histogram is processed into smoothed histogram before it is used to compute clipped contrast.

KeywordSuffixZip
histogram.json006-histogram.json
histogram.dat007-histogram.dat

Visualization

Histogram visualization can be created from this stage's binary data combined with block map. Original fingerprint image is in the background. Visualization itself is not part of transparency data.

Array of histograms, one per block
Histogram is shown separately for every primary block on the image. Vertical axis of histograms is logarithmic.

Binary data

Histogram size can be obtained from dimensions field in the associated json data where the bin dimension is the resolution of the histogram. Width and height are identical to the number of primary blocks.

Binary data consists of rows of primary blocks ordered from top to bottom. Every row consists of blocks ordered left to right. Every block is a histogram with number of bins given by bin dimension in json data. Bins are ordered from lowest pixel values (0 = white) to highest (1 = black). Every bin in the histogram is a 32-bit big-endian non-negative integer that counts the number of pixels within the current primary block that fall within this bin.

Example: 007-histogram.dat

Json

Json data describes basic properties of the binary data, most importantly dimensions of the histogram. Axes x and y identify primary block of the image. Axis bin identifies slot in the histogram for given block.

Example: 006-histogram.json

{
  "axes": [
    "y",
    "x",
    "bin"
  ],
  "dimensions": [
    25,
    26,
    256
  ],
  "scalar": "int",
  "bitness": 32,
  "endianness": "big",
  "format": "signed"
}