Coverage for src/bob/bio/vein/database/verafinger_contactless.py: 100%

12 statements  

« prev     ^ index     » next       coverage.py v7.6.0, created at 2024-07-12 23:27 +0200

1#!/usr/bin/env python 

2# vim: set fileencoding=utf-8 : 

3# Victor <vbros@idiap.ch> 

4 

5""" 

6 VERA-Fingervein-Contactless database implementation 

7""" 

8 

9from clapper.rc import UserDefaults 

10 

11import bob.io.base 

12 

13from bob.bio.base.database import CSVDatabase, FileSampleLoader 

14 

15rc = UserDefaults("bobrc.toml") 

16 

17 

18class VerafingerContactless(CSVDatabase): 

19 """ 

20 The VERA Fingervein Contactless database contains 1330 finger vein images of 133 persons, 

21 with id ranging from 1 to 137 (with 4 defects). 

22 Both hands of the subjects have been imaged over 5 different sessions, with a total of 10 images per person. 

23 The sensor is described in `this paper <https://ieeexplore.ieee.org/abstract/document/7314596>`_. 

24 

25 .. warning:: 

26 

27 To use this dataset protocol, you need to have the original files of the VERA Fingervein Contactless dataset. 

28 Once you have it downloaded, please run the following command to set the path for Bob 

29 

30 .. code-block:: sh 

31 

32 bob config set bob.bio.vein.verafinger_contactless.directory [DATABASE PATH] 

33 

34 

35 **Metadata** 

36 

37 Associated to each sample, you may find the metadata configuration for each capture : 

38 

39 * EXPOSURE : exposure time (in ms) 

40 * ORTHOLED : Power of the ORTHOLED (in % of the max power) 

41 * CENTERLED : Power of the CENTERLED (in % of the max power) 

42 * CROSSLED : Power of the CROSSLED (in % of the max power) 

43 

44 

45 **Protocols** 

46 

47 **NOM (Normal Operation Mode) protocol** 

48 

49 * Development set : Even subject ids 

50 * Evaluation set : Odd subject ids 

51 * Models : session 1 & 2 

52 * Probes : session 3, 4 &5 

53 

54 """ 

55 

56 name = "verafinger_contactless" 

57 category = "vein" 

58 dataset_protocols_name = "verafinger_contactless.tar.gz" 

59 dataset_protocols_urls = [ 

60 "https://www.idiap.ch/software/bob/databases/latest/vein/verafinger_contactless-656ef935.tar.gz", 

61 "http://www.idiap.ch/software/bob/databases/latest/vein/verafinger_contactless-656ef935.tar.gz", 

62 ] 

63 dataset_protocols_hash = "656ef935" 

64 

65 def __init__(self, protocol): 

66 super().__init__( 

67 name=self.name, 

68 protocol=protocol, 

69 transformer=FileSampleLoader( 

70 data_loader=bob.io.base.load, 

71 dataset_original_directory=rc.get( 

72 "bob.bio.vein.verafinger_contactless.directory", "" 

73 ), 

74 extension="", 

75 ), 

76 score_all_vs_all=True, 

77 )