From 3949767a88ad8a9060cbf28e585d2d304b72e6fd Mon Sep 17 00:00:00 2001 From: Olegs NIKISINS <onikisins@italix03.idiap.ch> Date: Mon, 16 Oct 2017 15:48:06 +0200 Subject: [PATCH] Added the doc and tests and config for the putvein database --- bob/bio/vein/configurations/putvein.py | 56 ++++++++++++++++++++++++++ bob/bio/vein/tests/test_databases.py | 11 +++++ doc/links.rst | 2 +- doc/references.rst | 3 ++ doc/resources.rst | 10 +++++ setup.py | 1 + test-requirements.txt | 1 + 7 files changed, 83 insertions(+), 1 deletion(-) create mode 100644 bob/bio/vein/configurations/putvein.py diff --git a/bob/bio/vein/configurations/putvein.py b/bob/bio/vein/configurations/putvein.py new file mode 100644 index 0000000..f8e2325 --- /dev/null +++ b/bob/bio/vein/configurations/putvein.py @@ -0,0 +1,56 @@ +#!/usr/bin/env python +# vim: set fileencoding=utf-8 : +# Mon 26 Sep 2016 17:21:42 CEST + +"""`PUT Vein`_ is a database for biometric palm and wrist vein recognition. + +PUT Vein pattern database consists of 2400 images presenting human vein patterns. +Half of images (1200 images) contain a palm vein pattern and the remaining images contain a wrist vein pattern (another 1200 images). +Data was acquired from both hands of 50 students. Thus, it has 100 different patterns for palm and wrist region. +Pictures ware taken in 3 series, 4 pictures each, with at least one week interval between each series. +Images in database have 1280x960 resolution and are stored as 24-bit bitmap. Database consist of 2 main splits: +hand and wrist, allowing to investigate both modalities. +The reference citation is [KK10]_. + +You can download the raw data of the `PUT Vein`_ database by following +the link. +""" + +from ..database.putvein import PutveinBioDatabase + +_putvein_directory = "[YOUR_PUTVEIN_IMAGE_DIRECTORY]" +"""Value of ``~/.bob_bio_databases.txt`` for this database""" + +database = PutveinBioDatabase( + original_directory = _putvein_directory, + original_extension = '.bmp', + ) +"""The :py:class:`bob.bio.base.database.BioDatabase` derivative with PUT Vein +database settings + +.. warning:: + + This class only provides a programmatic interface to load data in an orderly + manner, respecting usage protocols. It does **not** contain the raw + datafiles. You should procure those yourself. + +Notice that ``original_directory`` is set to ``[YOUR_PUTVEIN_IMAGE_DIRECTORY]``. +You must make sure to create ``${HOME}/.bob_bio_databases.txt`` setting this +value to the place where you actually installed the PUT Vein Database, as +explained in the section :ref:`bob.bio.vein.baselines`. +""" + +protocol = 'wrist-LR_1' +"""The default protocol to use for tests + +You may modify this at runtime by specifying the option ``--protocol`` on the +command-line of ``verify.py`` or using the keyword ``protocol`` on a +configuration file that is loaded **after** this configuration resource. +""" + + + + + + + diff --git a/bob/bio/vein/tests/test_databases.py b/bob/bio/vein/tests/test_databases.py index 7b60e95..e3adf5c 100644 --- a/bob/bio/vein/tests/test_databases.py +++ b/bob/bio/vein/tests/test_databases.py @@ -42,3 +42,14 @@ def test_fv3d(): except IOError as e: raise SkipTest( "The database could not queried; probably the db.sql3 file is missing. Here is the error: '%s'" % e) + + +@db_available('putvein') +def test_putvein(): + module = bob.bio.base.load_resource('putvein', 'config', + preferred_package='bob.bio.vein') + try: + check_database(module.database, protocol='wrist-LR_1', groups=('dev',)) + except IOError as e: + raise SkipTest( + "The database could not queried; probably the db.sql3 file is missing. Here is the error: '%s'" % e) \ No newline at end of file diff --git a/doc/links.rst b/doc/links.rst index 54efc7b..976477b 100644 --- a/doc/links.rst +++ b/doc/links.rst @@ -15,7 +15,7 @@ .. _vera fingervein: https://www.idiap.ch/dataset/vera-fingervein .. _3d fingervein: https://www.idiap.ch/dataset/3d-fingervein .. _utfvp: http://scs.ewi.utwente.nl/downloads/show,Finger%20Vein/ -.. _put: http://biometrics.put.poznan.pl/vein-dataset/ +.. _put vein: http://biometrics.put.poznan.pl/vein-dataset/ .. _installation: https://www.idiap.ch/software/bob/install .. _dependencies: https://gitlab.idiap.ch/bob/bob/wikis/Dependencies .. _mailing list: https://www.idiap.ch/software/bob/discuss diff --git a/doc/references.rst b/doc/references.rst index f9ac086..fad3f3a 100644 --- a/doc/references.rst +++ b/doc/references.rst @@ -24,3 +24,6 @@ .. [TVM14] *Pedro Tome, Matthias Vanoni and Sébastien Marcel*, **On the Vulnerability of Finger Vein Recognition to Spoofing**, in: IEEE International Conference of the Biometrics Special Interest Group (BIOSIG), Darmstadt, Germay, pages 1 - 10, IEEE, 2014 .. [TV13] *B. Ton and R. Veldhuis*, **A high quality finger vascular pattern dataset collected using a custom designed capturing device**, in: IAPR International Conference on Biometrics (ICB), 2013. + +.. [KK10] *R. Kabacinski and *M. Kowalski, **Human Vein Pattern Segmentation from Low Quality Images - A Comparison of Methods**, in: Image Processing and Communications Challenges 2, pp. 105-112, 2010. + diff --git a/doc/resources.rst b/doc/resources.rst index 13af433..7da970a 100644 --- a/doc/resources.rst +++ b/doc/resources.rst @@ -52,6 +52,16 @@ UTFVP Database .. automodule:: bob.bio.vein.configurations.fv3d :members: + +.. _bob.bio.vein.resources.database.putvein: + +PUT Vein Databas +====================== + +.. automodule:: bob.bio.vein.configurations.putvein + :members: + + .. _bob.bio.vein.resources.recognition: Recognition Systems diff --git a/setup.py b/setup.py index 26e7228..e7914ad 100644 --- a/setup.py +++ b/setup.py @@ -36,6 +36,7 @@ setup( 'verafinger = bob.bio.vein.configurations.verafinger', 'utfvp = bob.bio.vein.configurations.utfvp', 'fv3d = bob.bio.vein.configurations.fv3d', + 'putvein = bob.bio.vein.configurations.putvein', # baselines 'mc = bob.bio.vein.configurations.maximum_curvature', diff --git a/test-requirements.txt b/test-requirements.txt index b0e16a2..69f4eac 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -1,3 +1,4 @@ bob.db.utfvp bob.db.verafinger bob.db.fv3d +bob.db.putvein -- GitLab