Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
bob
bob.bio.base
Commits
b404f0d5
Commit
b404f0d5
authored
Jul 10, 2018
by
Amir MOHAMMADI
Browse files
Merge branch 'annotate' into 'master'
Documentation changes in bob bio annotate See merge request
!168
parents
d1351af8
792c7b8a
Pipeline
#21757
passed with stages
in 16 minutes and 10 seconds
Changes
3
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
bob/bio/base/script/annotate.py
View file @
b404f0d5
...
...
@@ -5,66 +5,49 @@ import json
import
click
from
os.path
import
dirname
,
isfile
,
expanduser
from
bob.extension.scripts.click_helper
import
(
verbosity_option
,
ConfigCommand
,
ResourceOption
)
verbosity_option
,
ConfigCommand
,
ResourceOption
,
log_parameters
)
from
bob.io.base
import
create_directories_safe
from
bob.bio.base.tools.grid
import
indices
logger
=
logging
.
getLogger
(
__name__
)
@
click
.
command
(
entry_point_group
=
'bob.bio.config'
,
cls
=
ConfigCommand
)
ANNOTATE_EPILOG
=
'''
\b
Examples:
$ bob bio annotate -vvv -d <database> -a <annotator> -o /tmp/annotations
$ jman submit --array 64 -- bob bio annotate ... --array 64
'''
@
click
.
command
(
entry_point_group
=
'bob.bio.config'
,
cls
=
ConfigCommand
,
epilog
=
ANNOTATE_EPILOG
)
@
click
.
option
(
'--database'
,
'-d'
,
required
=
True
,
cls
=
ResourceOption
,
entry_point_group
=
'bob.bio.database'
)
entry_point_group
=
'bob.bio.database'
,
help
=
'''The database that you want to annotate.'''
)
@
click
.
option
(
'--annotator'
,
'-a'
,
required
=
True
,
cls
=
ResourceOption
,
entry_point_group
=
'bob.bio.annotator'
)
@
click
.
option
(
'--output-dir'
,
'-o'
,
required
=
True
,
cls
=
ResourceOption
)
@
click
.
option
(
'--force'
,
'-f'
,
is_flag
=
True
,
cls
=
ResourceOption
)
@
click
.
option
(
'--array'
,
type
=
click
.
INT
,
default
=
1
,
cls
=
ResourceOption
)
entry_point_group
=
'bob.bio.annotator'
,
help
=
'A callable that takes the database and a sample (biofile) '
'of the database and returns the annotations in a dictionary.'
)
@
click
.
option
(
'--output-dir'
,
'-o'
,
required
=
True
,
cls
=
ResourceOption
,
help
=
'The directory to save the annotations.'
)
@
click
.
option
(
'--force'
,
'-f'
,
is_flag
=
True
,
cls
=
ResourceOption
,
help
=
'Whether to overwrite existing annotations.'
)
@
click
.
option
(
'--array'
,
type
=
click
.
INT
,
default
=
1
,
cls
=
ResourceOption
,
help
=
'Use this option alongside gridtk to submit this script as '
'an array job.'
)
@
click
.
option
(
'--database-directories-file'
,
cls
=
ResourceOption
,
default
=
expanduser
(
'~/.bob_bio_databases.txt'
))
default
=
expanduser
(
'~/.bob_bio_databases.txt'
),
help
=
'(Deprecated) To support loading of old databases.'
)
@
verbosity_option
(
cls
=
ResourceOption
)
def
annotate
(
database
,
annotator
,
output_dir
,
force
,
array
,
database_directories_file
,
**
kwargs
):
"""Annotates a database.
The annotations are written in text file (json) format which can be read
back using :any:`bob.db.base.read_annotation_file` (annotation_type='json')
\b
Parameters
----------
database : :any:`bob.bio.database`
The database that you want to annotate. Can be a ``bob.bio.database``
entry point or a path to a Python file which contains a variable
named `database`.
annotator : callable
A function that takes the database and a sample (biofile) of the
database and returns the annotations in a dictionary. Can be a
``bob.bio.annotator`` entry point or a path to a Python file which
contains a variable named `annotator`.
output_dir : str
The directory to save the annotations.
force : bool, optional
Whether to overwrite existing annotations.
array : int, optional
Use this option alongside gridtk to submit this script as an array job.
verbose : int, optional
Increases verbosity (see help for --verbose).
\b
[CONFIG]... Configuration files. It is possible to pass one or
several Python files (or names of ``bob.bio.config``
entry points) which contain the parameters listed
above as Python variables. The options through the
command-line (see below) will override the values of
configuration files.
"""
logger
.
debug
(
'database: %s'
,
database
)
logger
.
debug
(
'annotator: %s'
,
annotator
)
logger
.
debug
(
'force: %s'
,
force
)
logger
.
debug
(
'output_dir: %s'
,
output_dir
)
logger
.
debug
(
'array: %s'
,
array
)
logger
.
debug
(
'database_directories_file: %s'
,
database_directories_file
)
logger
.
debug
(
'kwargs: %s'
,
kwargs
)
log_parameters
(
logger
)
# Some databases need their original_directory to be replaced
database
.
replace_directories
(
database_directories_file
)
...
...
bob/bio/base/script/baseline.py
View file @
b404f0d5
...
...
@@ -25,7 +25,7 @@ logger = logging.getLogger("bob.bio.base")
@
click
.
argument
(
'database'
,
required
=
True
)
@
verbosity_option
()
@
click
.
pass_context
def
baseline
(
ctx
,
baseline
,
database
):
def
baseline
(
ctx
,
baseline
,
database
,
**
kwargs
):
"""Run a biometric recognition baseline.
\b
...
...
@@ -65,7 +65,7 @@ def baseline(ctx, baseline, database):
sub_directory
=
os
.
path
.
join
(
database
,
baseline
)
else
:
sub_directory
=
baseline
logger
.
debug
(
'Database groups are %s'
,
database_data
[
"groups"
])
# call verify with newly generated config file. We will create a new config
...
...
bob/bio/base/script/gen.py
View file @
b404f0d5
...
...
@@ -87,7 +87,7 @@ def write_scores_to_file(neg, pos, filename, n_sys=1, five_col=False):
@
click
.
option
(
'-n'
,
'--n-sys'
,
default
=
1
,
type
=
click
.
INT
,
show_default
=
True
)
@
click
.
option
(
'--five-col/--four-col'
,
default
=
False
,
show_default
=
True
)
@
verbosity_option
()
def
gen
(
outdir
,
mean_match
,
mean_non_match
,
n_sys
,
five_col
):
def
gen
(
outdir
,
mean_match
,
mean_non_match
,
n_sys
,
five_col
,
**
kwargs
):
"""Generate random scores.
Generates random scores in 4col or 5col format. The scores are generated
using Gaussian distribution whose mean is an input
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment