This package was developed during my Ph.D. as a mean to share frequently-used code snippets among larger projects and easily make tests.
It contains:
- the algorithms developed in Pierluigi Maponi, Riccardo Piergallini, and Filippo Santarelli. “Fingerprint Orientation Refinement Through Iterative Smoothing”. In: Signal & Image Processing : An International Journal 8.5 (Oct. 2017), pp. 29-43.
- some algorithms of the NBIS library ported to Python
- utilities for parameters selection through CMA-ES
- a partial implementation of the SFinGe generator
- fingerprint visualization utilities
- estimators to make part of the package Scikit-Learn compliant
- utilities for complex field manipulation, calculus and visualization
- functions for image and mask manipulation
- some procedures for signal processing, among which an implementation of the Fast anisotropic Gauss filter introduced by Geusebroek, J-M., Arnold WM Smeulders, and Joost Van De Weijer. "Fast anisotropic gauss filtering." IEEE Transactions on Image Processing 12.8 (2003): 938-943.
Note: Regretfully, I am not maintaining this package anymore, since I no longer work with fingerprints.
Installing it the usual way, through pip
, is not possible because there are functions written in C that need to be compiled and linked. If you are not interested in these C functions, you can skip most of the following steps and slightly modify the setup script to disable their compilation.
The package should be installed using make
, but please ensure to meet all the requirements. You can read Makefile
and setup.py
for a deeper understanding of what is under the hood, however the installation steps should be as follows.
- Create a folder where all the required libraries will be installed as static libraries, let's call it
LIBDIR
. Even though this is not convenient for reusing such libraries in other projects, this reflects the folder structure in my system at that time and I not going to change it soon. - Install the NBIS library as separate static libraries and not as a single
.a
file in a folder callednbis-install
underLIBDIR
. You can follow the guidelines in the official repository. - Install OpenBLAS as static libraries in a folder called
openblas-install
underLIBDIR
. - Install Lapack as static libraries in a folder called
lp-install
underLIBDIR
. - Install Armadillo as static libraries in a folder called
armadillo-install
underLIBDIR
. - Install OpenCV as static libraries in a folder called
cv-install
underLIBDIR
. - Run
LIBDIR=/path/to/LIBDIR && make install
Other targets are available to make
:
dev
to install in development modeclean
to clean the project directory from compilation and installation leftoveruninstall
rebuild
, that is a short forclean uninstall install
doc
to produce Sphinx documentation from the scripts. Although far from being comprehensive, it can be a good help to start with the package.undoc
to remove the documentation folder.
Due to the fast development required during the Ph.D. I was not able to generate a suite of tests. Actually, most of the functions need to be thoroughly checked and any good hearted contributor will be welcomed.
Any contribution will be very much appreciated. Feel free to contact me in case of any doubts about contributing.
- Filippo Santarelli - Initial work
This project is licensed under the MIT License - see the LICENSE file for details.