Commit ebc2f696 authored by André Anjos's avatar André Anjos

[many] First package re-structuring to comply with new bob.bio system

parent b9cc1a45
.. vim: set fileencoding=utf-8 :
.. Pedro Tome <pedro.tome@idiap.ch>
.. Thu Jan 15 12:51:09 CEST 2015
.. Andre Anjos <andre.anjos@idiap.ch>
.. Fri 08 Jul 2016 15:38:56 CEST
.. image:: http://img.shields.io/badge/docs-stable-yellow.png
:target: http://pythonhosted.org/bob.fingervein/index.html
......@@ -18,54 +18,69 @@
:target: https://pypi.python.org/pypi/bob.fingervein
===================================
The Fingervein Recognition Library
===================================
=========================================
The Biometrics Vein Recognition Library
=========================================
Welcome to the Finger vein Recognition Library based on Bob.
This library is designed to perform a fair comparison of finger vein recognition algorithms.
It contains scripts to execute various kinds of finger vein recognition experiments on a variety of finger vein image databases, and running the help is as easy as going to the command line and typing::
Welcome to the Finger vein Recognition Library based on Bob. This library is
designed to perform a fair comparison of finger vein recognition algorithms.
It contains scripts to execute various kinds of finger vein recognition
experiments on a variety of finger vein image databases, and running the help
is as easy as going to the command line and typing::
$ bin/fingerveinverify.py --help
$ bin/veinverify.py --help
About
-----
This library is developed at the `Biometrics group <http://www.idiap.ch/scientific-research/research-groups/biometric-person-recognition>`_ at the `Idiap Research Institute <http://www.idiap.ch>`_.
The FingerVeinRecLib is designed to run finger vein recognition experiments in a comparable and reproducible manner.
This library is developed at the `Biometrics group
<http://www.idiap.ch/scientific-research/research-groups/biometric-person-recognition>`_
at the `Idiap Research Institute <http://www.idiap.ch>`_. The vein recognition
library is designed to run vein recognition experiments in a comparable and
reproducible manner.
.. note::
When you are working at Idiap_, you might get a version of the FingerVeinRecLib, where all paths are set up such that you can directly start running experiments.
Outside Idiap_, you need to set up the paths to point to your databases, please check `Read Further`_ on how to do that.
Databases
.........
To achieve this goal, interfaces to many publicly available facial image databases are contained, and default evaluation protocols are defined, e.g.:
---------
To achieve this goal, interfaces to some publicly available vein image
databases are contained, and default evaluation protocols are defined, e.g.:
- UTFVP - University of Twente Finger Vein Database [http://website]
- VERA Finger vein Database [http://www.idiap.ch/scientific-research/resources]
Algorithms
..........
Together with that, a broad variety of traditional and state-of-the-art finger vein recognition algorithms such as:
----------
Together with that, implementations of a variety of traditional and
state-of-the-art vein recognition algorithms are provided:
- Maximum Curvature [MNM+05]_
- Repeated Line Tracking [MNM+04]_
- Wide Line Detector [HDLTL+10]_
* Maximum Curvature [MNM+05]_
* Repeated Line Tracking [MNM+04]_
* Wide Line Detector [HDLTL+10]_
Tools to evaluate the results can easily be used to create scientific plots. We
also provide handles to run experiments using parallel processes or an SGE
grid.
is provided.
Furthermore, tools to evaluate the results can easily be used to create scientific plots, and interfaces to run experiments using parallel processes or an SGE grid are provided.
Extensions
..........
On top of these already pre-coded algorithms, the FingerVeinRecLib provides an easy Python interface for implementing new image preprocessors, feature types, finger vein recognition algorithms or database interfaces, which directly integrate into the fingervein recognition experiment.
Hence, after a short period of coding, researchers can compare their new invention directly with already existing algorithms in a fair manner.
----------
On top of these already pre-coded algorithms, the vein recognition library
provides an easy Python interface for implementing new image preprocessors,
feature types, finger vein recognition algorithms or database interfaces, which
directly integrate into the fingervein recognition experiment. Hence, after a
short period of coding, researchers can compare their new invention directly
with already existing algorithms in a fair manner.
References
..........
----------
.. [MNM+05] *N. Miura, A. Nagasaka, and T. Miyatake*. **Extraction of Finger-Vein Pattern Using Maximum Curvature Points in Image Profiles**. Proceedings on IAPR conference on machine vision applications, 9, pp. 347--350, 2005.
.. [MNM+05] *N. Miura, A. Nagasaka, and T. Miyatake*. **Extraction of Finger-Vein Pattern Using Maximum Curvature Points in Image Profiles**. Proceedings on IAPR conference on machine vision applications, 9, pp. 347--350, 2005.
.. [MNM+04] *N. Miura, A. Nagasaka, and T. Miyatake*. **Feature extraction of finger vein patterns based on repeated line tracking and its application to personal identification**. Machine Vision and Applications, Vol. 15, Num. 4, pp. 194--203, 2004.
......@@ -75,39 +90,36 @@ References
Installation
------------
To download the FingerVeinRecLib, please go to http://pypi.python.org/pypi/fingerveinreclib, click on the **download** button and extract the .zip file to a folder of your choice.
To download the finger vein library, go to
http://pypi.python.org/pypi/bob.bio.vein click on the **download** button and
extract the .zip file to a folder of your choice.
The FingerVeinRecLib is a satellite package of the free signal processing and machine learning library Bob_, and some of its algorithms rely on the `CSU Face Recognition Resources`_.
These two dependencies have to be downloaded manually, as explained in the following.
Bob
...
You will need a copy of Bob in version 1.2.0 or newer to run the algorithms.
Please download Bob_ from its webpage.
After downloading, you should go to the console and write::
The FingerVeinRecLib is a satellite package of the free signal processing and
machine learning library Bob_. We advise you install Bob first and then use
that installation to bootstrap the installation of this package::
$ python bootstrap.py
$ bin/buildout
This will download all required packages and install them locally.
If you don't want all the database packages to be downloaded, please remove the xbob.db.[database] lines from the ``eggs`` section of the file **buildout.cfg** in the main directory before calling the three commands above.
This will download any further dependencies and install them locally.
Test your installation
......................
Running tests
-------------
To verify that your installation worked as expected, you might want to run our test utilities::
To verify that your installation worked as expected, you might want to run our
unit tests with::
$ bin/nosetests
Usually, all tests should pass, if you use the latest packages of Bob_.
With other versions of Bob_, you might find some failing tests, or some errors might occur.
Cite our paper
--------------
If you use the FingerVeinRecLib in any of your experiments, please cite the following paper::
If you use this library in any of your experiments, please cite the following
paper::
@inproceedings{Tome_IEEEBIOSIG2014,
author = {Tome, Pedro and Vanoni, Matthias and Marcel, S{\'{e}}bastien},
......@@ -121,11 +133,7 @@ If you use the FingerVeinRecLib in any of your experiments, please cite the foll
ocation = {Darmstadt, Germay},
pdf = {http://publications.idiap.ch/downloads/papers/2014/Tome_IEEEBIOSIG2014.pdf}
}
.. _bob: http://www.idiap.ch/software/bob
.. _idiap: http://www.idiap.ch
.. _bioidiap at github: http://www.github.com/bioidiap
#see http://peak.telecommunity.com/DevCenter/setuptools#namespace-packages
__import__('pkg_resources').declare_namespace(__name__)
# see https://docs.python.org/3/library/pkgutil.html
from pkgutil import extend_path
__path__ = extend_path(__path__, __name__)
# see https://docs.python.org/3/library/pkgutil.html
from pkgutil import extend_path
__path__ = extend_path(__path__, __name__)
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment