Skip to main content

Minutiae extraction and classification tool

Project description

MinutiaeClassificator

MinutiaeClassificator is a Python library for extracting and classifiying minutiae from fingerprint images.

MinutiaeClassificator contains 2 modules:

  • MinutiaeNet - module responsible for extracting minutiae points from fingerprint image. Using neural network architecture from MinutiaeNet
  • ClassifyNet - module responsible for classifying extraced minutiae points. Architecture based on FineNet module of MinutiaeNet

Requirements: software

  • Python 2.7 - we are planning to update module for Python 3.x in future
  • CUDA - MinutiaeClassificator using TensorFlow GPU acceleration

Installation

Use the package manager pip to install foobar. We reccomend to use it in anaconda enviroment. Installation in anaconda enviroment:

conda install cudatoolkit=<version compatible with the system CUDA>
pip install minutiaeclassificator

API

Import modules

  • MinutiaeClassificator.exceptions.MinutiaeClassificatorExceptions - module containing library specific exceptions:

    • CoarseNetPathMissingException
    • FineNetPathMissingException
    • ClassifyNetPathMissingException
    • MinutiaeNetNotLoadedException
    • ClassifyNetNotLoadedException
  • MinutiaeClassificator.MinutiaeClassificatorWrapper - main module contains library module MinutiaeClassificator. It is main module for accessing library. It contains methods:

    • get_coarse_net_path(coarse_net_path) - used for setting path to pretrained model of submodule CoarseNet.
    • get_fine_net_path(fine_net_path) - used for setting path to pretrained model of submodule FineNet.
    • get_classify_net_path(classify_net_path) - used for setting path to pretrained model of submodule ClassifyNet.
    • load_extraction_module() - used for compiling extraction module MinutiaeNet. Throws CoarseNetPathMissingException or FineNetPathMissingException when missing path to respective model's weights file
    • load_classification_module() - used for compiling classification module ClassifyNet. Throws ClassifyNetPathMissingException when missing path to its weights file
    • get_extracted_minutiae(image_path, as_image = True) - used for extracting minutiae points from input image. Image is determined by image_path (path to image file). When as_image = True minutiae points are marked in input image and updated image is returned as PIL.Image. If as_image = False minutiae_points are returned as numpy.array. If MinutiaeNet not loaded throws MinutiaeNetNotLoadedException
    • get_classified_minutiae(image_path, extracted_minutiae, as_image = True) - used for classifying extracted minutiae points. Accepts same arguments as previous method and additionaly extracted_minutiae, which is numpy.array in same shape as get_extracted_minutiae output. If ClassifyNet not loaded throws ClassifyNetNotLoadedException
    • get_extracted_and_classified_minutiae(image_path, as_image = True) - wrapper over previous two methods. Extracts and then classify extracted minutiae.
    • get_single_classified_minutiae(minutiae_patch_path) - used for classification of singe minutiae point image. Image is determined by minutiae_patch_path(path to image file). In version 1.0.0, library is able to classify minutiae points into 6 classes:
      • ending
      • bifurcation
      • fragment
      • enclosure
      • crossbar
      • other

Models

Usage

from MinutiaeClassificator.MinutiaeClassificatorWrapper import MinutiaeClassificator
from MinutiaeClassificator.exceptions.MinutiaeClassificatorExceptions import 
                                                        ClassifyNetPathMissingException

minutiaeClassificator = MinutiaeClassificator()
minutiaeClassificator.get_classify_net_path('path to file')

try:
    minutiaeClassificator.load_classification_module()
except ClassifyNetPathMissingException:
    do something...

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

MinutiaeClassificator-1.0.0.tar.gz (39.3 kB view details)

Uploaded Source

File details

Details for the file MinutiaeClassificator-1.0.0.tar.gz.

File metadata

  • Download URL: MinutiaeClassificator-1.0.0.tar.gz
  • Upload date:
  • Size: 39.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.1

File hashes

Hashes for MinutiaeClassificator-1.0.0.tar.gz
Algorithm Hash digest
SHA256 2e028391d051e4604acd1d541fab54b3df51074727d34ad8adbbdddc7d3516c4
MD5 be59cd6e0df4fb438658b719b01c99c8
BLAKE2b-256 f49957cd5f8c106b149641211222090b425634b0b251b77b661dc4ec9efaf245

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page