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 moduleMinutiaeClassificator
. 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. ThrowsCoarseNetPathMissingException
orFineNetPathMissingException
when missing path to respective model's weights fileload_classification_module()
- used for compiling classification module ClassifyNet. ThrowsClassifyNetPathMissingException
when missing path to its weights fileget_extracted_minutiae(image_path, as_image = True)
- used for extracting minutiae points from input image. Image is determined byimage_path
(path to image file). Whenas_image = True
minutiae points are marked in input image and updated image is returned asPIL.Image
. Ifas_image = False
minutiae_points are returned asnumpy.array
. If MinutiaeNet not loaded throwsMinutiaeNetNotLoadedException
get_classified_minutiae(image_path, extracted_minutiae, as_image = True)
- used for classifying extracted minutiae points. Accepts same arguments as previous method and additionalyextracted_minutiae
, which isnumpy.array
in same shape asget_extracted_minutiae
output. If ClassifyNet not loaded throwsClassifyNetNotLoadedException
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 byminutiae_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
- CoarseNet: Googledrive || Dropbox
- FineNet: Googledrive || Dropbox
- ClassifyNet: Googledrive
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for MinutiaeClassificator-0.1.9.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | e1692833d4c80917e1fd78845a51b90b6ee9ff6338e3ccad150f51a7f32c5284 |
|
MD5 | 4ba10d8c9a686b353e1038b33b045a67 |
|
BLAKE2b-256 | 05e10943e682c0dc940bdb24638e8c91f8d5dce1decdd602e6ce4b7cdc6e715c |