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
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e028391d051e4604acd1d541fab54b3df51074727d34ad8adbbdddc7d3516c4 |
|
MD5 | be59cd6e0df4fb438658b719b01c99c8 |
|
BLAKE2b-256 | f49957cd5f8c106b149641211222090b425634b0b251b77b661dc4ec9efaf245 |