Coverage for src/bob/pad/face/database/oulu_npu.py: 100%

19 statements  

« prev     ^ index     » next       coverage.py v7.3.2, created at 2023-12-06 23:20 +0100

1import logging 

2 

3from clapper.rc import UserDefaults 

4 

5from bob.bio.base.database.utils import download_file 

6from bob.pad.base.database import FileListPadDatabase 

7from bob.pad.face.database import VideoPadSample 

8 

9logger = logging.getLogger(__name__) 

10rc = UserDefaults("bobrc.toml") 

11 

12 

13def OuluNpuPadDatabase( 

14 protocol="Protocol_1", 

15 selection_style=None, 

16 max_number_of_frames=None, 

17 step_size=None, 

18 annotation_directory=None, 

19 annotation_type=None, 

20 fixed_positions=None, 

21 **kwargs, 

22): 

23 name = "pad-face-oulunpu-7bfb90c9.tar.gz" 

24 dataset_protocols_path = download_file( 

25 urls=[f"http://www.idiap.ch/software/bob/data/bob/bob.pad.face/{name}"], 

26 destination_sub_directory="protocols/pad", 

27 destination_filename=name, 

28 checksum="7bfb90c9", 

29 ) 

30 

31 if annotation_directory is None: 

32 name = "annotations-oulunpu-mtcnn-903addac.tar.gz" 

33 annotation_directory = download_file( 

34 urls=[ 

35 f"http://www.idiap.ch/software/bob/data/bob/bob.pad.face/{name}" 

36 ], 

37 destination_sub_directory="annotations", 

38 destination_filename=name, 

39 checksum="903addac", 

40 ) 

41 annotation_type = "eyes-center" 

42 

43 transformer = VideoPadSample( 

44 original_directory=rc.get("bob.db.oulu_npu.directory"), 

45 annotation_directory=annotation_directory, 

46 selection_style=selection_style, 

47 max_number_of_frames=max_number_of_frames, 

48 step_size=step_size, 

49 ) 

50 

51 database = FileListPadDatabase( 

52 name="oulunpu", 

53 dataset_protocols_path=dataset_protocols_path, 

54 protocol=protocol, 

55 transformer=transformer, 

56 **kwargs, 

57 ) 

58 database.annotation_type = annotation_type 

59 database.fixed_positions = fixed_positions 

60 return database