wbia.control package¶
Submodules¶
wbia.control.DB_SCHEMA module¶
Module Licence and docstring
TODO: ideally the wbia.constants module would not be used here and each function would use its own constant variables that are suffixed with the last version number that they existed in
Todo
Add a table for original_image_path Add column for image exif orientation
- CommandLine:
- python -m wbia.control.DB_SCHEMA –test-autogen_db_schema
-
wbia.control.DB_SCHEMA.
VALID_VERSIONS
= {'0.0.0': (None, None, None), '1.0.0': (None, <function update_1_0_0>, <function post_1_0_0>), '1.0.1': (None, <function update_1_0_1>, None), '1.0.2': (None, <function update_1_0_2>, None), '1.1.0': (None, <function update_1_1_0>, None), '1.1.1': (None, <function update_1_1_1>, None), '1.2.0': (None, <function update_1_2_0>, <function post_1_2_0>), '1.2.1': (None, <function update_1_2_1>, <function post_1_2_1>), '1.3.0': (None, <function update_1_3_0>, None), '1.3.1': (<function pre_1_3_1>, <function update_1_3_1>, None), '1.3.2': (None, <function update_1_3_2>, None), '1.3.3': (None, <function update_1_3_3>, None), '1.3.4': (None, <function update_1_3_4>, <function post_1_3_4>), '1.3.5': (None, <function update_1_3_5>, None), '1.3.6': (None, <function update_1_3_6>, None), '1.3.7': (None, <function update_1_3_7>, None), '1.3.8': (None, <function update_1_3_8>, None), '1.3.9': (None, <function update_1_3_9>, None), '1.4.0': (None, <function update_1_4_0>, None), '1.4.1': (None, <function update_1_4_1>, None), '1.4.2': (None, <function update_1_4_2>, None), '1.4.3': (None, <function update_1_4_3>, None), '1.4.4': (None, <function update_1_4_4>, None), '1.4.5': (None, <function update_1_4_5>, None), '1.4.6': (None, <function update_1_4_6>, None), '1.4.7': (None, <function update_1_4_7>, <function post_1_4_7>), '1.4.8': (<function pre_1_4_8>, <function update_1_4_8>, None), '1.4.9': (<function pre_1_4_9>, <function update_1_4_9>, <function post_1_4_9>), '1.5.0': (None, <function update_1_5_0>, None), '1.5.1': (None, <function update_1_5_1>, None), '1.5.2': (None, <function update_1_5_2>, <function post_1_5_2>), '1.5.3': (None, <function update_1_5_3>, None), '1.5.4': (None, <function update_1_5_4>, None), '1.5.5': (None, <function update_1_5_5>, None), '1.6.0': (None, <function update_1_6_0>, None), '1.6.1': (None, <function update_1_6_1>, <function post_1_6_1>), '1.6.2': (None, <function update_1_6_2>, None), '1.6.3': (None, <function update_1_6_3>, None), '1.6.4': (None, <function update_1_6_4>, <function post_1_6_4>), '1.6.5': (None, <function update_1_6_5>, None), '1.6.6': (None, <function update_1_6_6>, None), '1.6.7': (None, <function update_1_6_7>, None), '1.6.8': (None, <function update_1_6_8>, None), '1.6.9': (None, <function update_1_6_9>, None), '1.7.0': (None, <function update_1_7_0>, <function post_1_7_0>), '1.7.1': (None, <function update_1_7_1>, None), '1.8.0': (None, <function update_1_8_0>, None), '1.8.1': (None, <function update_1_8_1>, None), '1.8.2': (None, <function update_1_8_2>, None), '1.8.3': (None, <function update_1_8_3>, None), '2.0.0': (None, <function update_2_0_0>, None)}¶ When updating versions need to test and modify in IBEISController._init_sqldbcore
Type: SeeAlso
-
wbia.control.DB_SCHEMA.
autogen_db_schema
()[source]¶ - CommandLine:
- python -m wbia.control.DB_SCHEMA –test-autogen_db_schema python -m wbia.control.DB_SCHEMA –test-autogen_db_schema –diff=1 python -m wbia.control.DB_SCHEMA –test-autogen_db_schema -n=-1 python -m wbia.control.DB_SCHEMA –test-autogen_db_schema -n=0 python -m wbia.control.DB_SCHEMA –test-autogen_db_schema -n=1 python -m wbia.control.DB_SCHEMA –force-incremental-db-update python -m wbia.control.DB_SCHEMA –test-autogen_db_schema –write python -m wbia.control.DB_SCHEMA –test-autogen_db_schema –force-incremental-db-update –dump-autogen-schema python -m wbia.control.DB_SCHEMA –test-autogen_db_schema –force-incremental-db-update
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.DB_SCHEMA import * # NOQA >>> autogen_db_schema()
-
wbia.control.DB_SCHEMA.
dump_schema_sql
()[source]¶ - CommandLine:
- python -m wbia.control.DB_SCHEMA dump_schema_sql
-
wbia.control.DB_SCHEMA.
pre_1_3_1
(db, ibs=None)[source]¶ need to ensure that visual uuid columns are unique before we add that constaint to sql. This will remove any annotations that are not unique
-
wbia.control.DB_SCHEMA.
update_1_3_1
(db, ibs=None)[source]¶ update the visual_uuid to be a superkey by adding a constraint
-
wbia.control.DB_SCHEMA.
update_1_3_5
(db, ibs=None)[source]¶ expand datasets to use new quality measures
-
wbia.control.DB_SCHEMA.
update_1_4_8
(db, ibs=None)[source]¶ change notes to tag_text_data add configuration that made the match add the score of the match add concept of: DEFINIATELY MATCHES, DOES NOT MATCH, CAN NOT DECIDE
Probably want a separate table for the config_rowid matching results because the primary key needs to be (config_rowid, aid1, aid2) OR just (config_rowid, annotmatch_rowid)
wbia.control.DB_SCHEMA_CURRENT module¶
AUTOGENERATED ON 10:14:54 2019/07/09 AutogenCommandLine:
python -m wbia.control.DB_SCHEMA –test-autogen_db_schema –force-incremental-db-update –write python -m wbia.control.DB_SCHEMA –test-autogen_db_schema –force-incremental-db-update –diff=1 python -m wbia.control.DB_SCHEMA –test-autogen_db_schema –force-incremental-db-update
wbia.control.IBEISControl module¶
This module contains the definition of IBEISController. This object allows access to a single database. Construction of this object should be done using wbia.opendb().
Todo
Module Licence and docstring
- load plugin logic:
- known plugin list - plugin_register.txt / dirs/symlinks in plugin folder
- disabled flags
- try import && register
- except flag errored
- init db
- check versioning / update
- (determine plugin import ordering?)
- inject and initialize plugins
Note
- There are functions that are injected into the controller that are not
- defined in this module.
- Functions in the IBEISController have been split up into several
- submodules.
- look at the modules listed in autogenmodname_list to see the full list of
- functions that will be injected into an IBEISController object
- Recently, these functions have been enumerated in
- wbia.control._autogen_explicit_controller.py, and explicitly added to the
controller using subclassing. This submodule only provides function headers, the source code still
resides in the injected modules.
-
class
wbia.control.IBEISControl.
IBEISController
(dbdir=None, ensure=True, wbaddr=None, verbose=True, request_dbversion=None, request_stagingversion=None, force_serial=None)[source]¶ Bases:
object
IBEISController docstring
- NameingConventions:
- chip - cropped region of interest in an image, maps to one animal cid - chip unique id gid - image unique id (could just be the relative file path) name - name unique id imgsetid - imageset unique id aid - region of interest unique id annot - an annotation i.e. region of interest for a chip theta - angle of rotation for a chip
-
base_uri
¶ Base database URI without a specific database name
-
get_big_cachedir
()[source]¶ Returns: - database directory where aggregate results are
- stored
Return type: bigcachedir (str)
-
get_current_log_text
()[source]¶ Example
>>> # xdoctest: +REQUIRES(--web-tests) >>> import wbia >>> with wbia.opendb_with_web('testdb1') as (ibs, client): ... resp = client.get('/log/current/') >>> resp.json {'status': {'success': True, 'code': 200, 'message': '', 'cache': -1}, 'response': None}
-
get_database_icon
(max_dsize=(None, 192), aid=None)[source]¶ Parameters: max_dsize (tuple) – (default = (None, 192)) Returns: None Return type: None - CommandLine:
- python -m wbia.control.IBEISControl –exec-get_database_icon –show python -m wbia.control.IBEISControl –exec-get_database_icon –show –db Oxford
Example
>>> # DISABLE_DOCTEST >>> from wbia.control.IBEISControl import * # NOQA >>> import wbia >>> ibs = wbia.opendb(defaultdb='testdb1') >>> icon = self.get_database_icon() >>> ut.quit_if_noshow() >>> import wbia.plottool as pt >>> pt.imshow(icon) >>> ut.show_if_requested()
-
get_db_init_uuid
()[source]¶ Returns: The SQLDatabaseController’s initialization UUID Return type: UUID - RESTful:
- Method: GET URL: /api/core/db/uuid/init/
-
get_dbname
()[source]¶ Returns: database name Return type: list_ (list) - RESTful:
- Method: GET URL: /api/core/db/name/
-
get_detectimg_cachedir
()[source]¶ Returns: - database directory of image resized for
- detections
Return type: detectimgdir (str)
-
get_flann_cachedir
()[source]¶ Returns: - database directory where the FLANN KD-Tree is
- stored
Return type: flanndir (str)
-
get_qres_cachedir
()[source]¶ Returns: database directory where query results are stored Return type: qresdir (str)
-
get_smart_patrol_dir
(ensure=True)[source]¶ Parameters: ensure (bool) – Returns: str smart_patrol_dpath - CommandLine:
- python -m wbia.control.IBEISControl –test-get_smart_patrol_dir
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.IBEISControl import * # NOQA >>> import wbia >>> # build test data >>> ibs = wbia.opendb('testdb1') >>> ensure = True >>> # execute function >>> smart_patrol_dpath = ibs.get_smart_patrol_dir(ensure) >>> # verify results >>> ut.assertpath(smart_patrol_dpath, verbose=True)
-
is_using_postgres_db
¶ Indicates whether this controller is using postgres as the database
-
rrr
(verbose=True, reload_module=True)¶ special class reloading function This function is often injected as rrr of classes
-
show_depc_annot_graph
(*args, **kwargs)[source]¶ - CommandLine:
- python -m wbia.control.IBEISControl –test-show_depc_annot_graph –show python -m wbia.control.IBEISControl –test-show_depc_annot_graph –show –reduced
Example
>>> # SCRIPT >>> from wbia.control.IBEISControl import * # NOQA >>> import wbia # NOQA >>> ibs = wbia.opendb('testdb1') >>> reduced = ut.get_argflag('--reduced') >>> ibs.show_depc_annot_graph(reduced=reduced) >>> ut.show_if_requested()
-
show_depc_annot_table_input
(tablename, *args, **kwargs)[source]¶ - CommandLine:
- python -m wbia.control.IBEISControl –test-show_depc_annot_table_input –show –tablename=vsone python -m wbia.control.IBEISControl –test-show_depc_annot_table_input –show –tablename=neighbor_index python -m wbia.control.IBEISControl –test-show_depc_annot_table_input –show –tablename=feat_neighbs –testmode
Example
>>> # SCRIPT >>> from wbia.control.IBEISControl import * # NOQA >>> import wbia # NOQA >>> ibs = wbia.opendb('testdb1') >>> tablename = ut.get_argval('--tablename') >>> ibs.show_depc_annot_table_input(tablename) >>> ut.show_if_requested()
-
show_depc_image_graph
(**kwargs)[source]¶ - CommandLine:
- python -m wbia.control.IBEISControl –test-show_depc_image_graph –show python -m wbia.control.IBEISControl –test-show_depc_image_graph –show –reduced
Example
>>> # SCRIPT >>> from wbia.control.IBEISControl import * # NOQA >>> import wbia # NOQA >>> ibs = wbia.opendb('testdb1') >>> reduced = ut.get_argflag('--reduced') >>> ibs.show_depc_image_graph(reduced=reduced) >>> ut.show_if_requested()
-
wbia.control.IBEISControl.
request_IBEISController
(dbdir=None, ensure=True, wbaddr=None, verbose=False, use_cache=True, request_dbversion=None, request_stagingversion=None, force_serial=False, asproxy=None, check_hsdb=True)[source]¶ Alternative to directory instantiating a new controller object. Might return a memory cached object
Parameters: - dbdir (str) – databse directory
- ensure (bool) –
- wbaddr (None) –
- verbose (bool) –
- use_cache (bool) – use the global wbia controller cache. Make sure this is false if calling from a Thread. (default=True)
- request_dbversion (str) – developer flag. Do not use.
- request_stagingversion (str) – developer flag. Do not use.
Returns: ibs
Return type: - CommandLine:
- python -m wbia.control.IBEISControl –test-request_IBEISController
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.IBEISControl import * # NOQA >>> from wbia.init.sysres import get_workdir >>> dbdir = '/'.join([get_workdir(), 'testdb1']) >>> ensure = True >>> wbaddr = None >>> verbose = True >>> use_cache = False >>> ibs = request_IBEISController(dbdir, ensure, wbaddr, verbose, >>> use_cache) >>> result = str(ibs) >>> print(result)
wbia.control.STAGING_SCHEMA module¶
Module Licence and docstring
TODO: ideally the wbia.constants module would not be used here and each function would use its own constant variables that are suffixed with the last version number that they existed in
- CommandLine:
- python -m wbia.control.STAGING_SCHEMA –test-autogen_staging_schema
-
wbia.control.STAGING_SCHEMA.
VALID_VERSIONS
= {'0.0.0': (None, None, None), '1.0.0': (None, <function update_1_0_0>, None), '1.0.1': (None, <function update_1_0_1>, None), '1.0.2': (None, <function update_1_0_2>, <function post_1_0_2>), '1.0.3': (None, <function update_1_0_3>, None), '1.1.0': (None, <function update_1_1_0>, None), '1.1.1': (None, <function update_1_1_1>, None), '1.2.0': (None, <function update_1_2_0>, None)}¶ When updating versions need to test and modify in IBEISController._init_sqldbcore
Type: SeeAlso
-
wbia.control.STAGING_SCHEMA.
autogen_staging_schema
()[source]¶ - CommandLine:
- python -m wbia.control.STAGING_SCHEMA –test-autogen_staging_schema python -m wbia.control.STAGING_SCHEMA –test-autogen_staging_schema –diff=1 python -m wbia.control.STAGING_SCHEMA –test-autogen_staging_schema -n=-1 python -m wbia.control.STAGING_SCHEMA –test-autogen_staging_schema -n=0 python -m wbia.control.STAGING_SCHEMA –test-autogen_staging_schema -n=1 python -m wbia.control.STAGING_SCHEMA –force-incremental-db-update python -m wbia.control.STAGING_SCHEMA –test-autogen_staging_schema –write python -m wbia.control.STAGING_SCHEMA –test-autogen_staging_schema –force-incremental-db-update –dump-autogen-schema python -m wbia.control.STAGING_SCHEMA –test-autogen_staging_schema –force-incremental-db-update
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.STAGING_SCHEMA import * # NOQA >>> autogen_staging_schema()
wbia.control.STAGING_SCHEMA_CURRENT module¶
AUTOGENERATED ON 10:10:32 2019/05/29 AutogenCommandLine:
python -m wbia.control.STAGING_SCHEMA –test-autogen_staging_schema –force-incremental-db-update –write python -m wbia.control.STAGING_SCHEMA –test-autogen_staging_schema –force-incremental-db-update –diff=1 python -m wbia.control.STAGING_SCHEMA –test-autogen_staging_schema –force-incremental-db-update
wbia.control._autogen_party_funcs module¶
Autogenerated IBEISController functions
- TemplateInfo:
- autogen_time = 15:14:53 2015/03/11 autogen_key = party
- ToRegenerate:
- python -m wbia.templates.template_generator –key party –Tcfg with_api_cache=False with_web_api=False with_deleters=False –diff python -m wbia.templates.template_generator –key party –Tcfg with_api_cache=False with_web_api=False with_deleters=False –write
-
wbia.control._autogen_party_funcs.
add_party
(ibs, party_tag_list)[source]¶ Returns: returns party_rowid_list of added (or already existing partys) - TemplateInfo:
- Tadder_native tbl = party
- RESTful:
- Method: POST URL: /api/autogen/
-
wbia.control._autogen_party_funcs.
get_party_rowid_from_superkey
(ibs, party_tag_list, eager=True, nInput=None)[source]¶ party_rowid_list <- party[party_tag_list]
Parameters: lists (superkey) – party_tag_list Returns: party_rowid_list - TemplateInfo:
- Tgetter_native_rowid_from_superkey tbl = party
- RESTful:
- Method: GET URL: /api/autogen/party_rowid_from_superkey/
-
wbia.control._autogen_party_funcs.
get_party_tag
(ibs, party_rowid_list, eager=True, nInput=None)[source]¶ party_tag_list <- party.party_tag[party_rowid_list]
gets data from the “native” column “party_tag” in the “party” table
Parameters: party_rowid_list (list) – Returns: party_tag_list Return type: list - TemplateInfo:
- Tgetter_table_column col = party_tag tbl = party
- RESTful:
- Method: GET URL: /api/autogen/party/tag/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control._autogen_party_funcs import * # NOQA >>> ibs, qreq_ = testdata_ibs() >>> party_rowid_list = ibs._get_all_party_rowids() >>> eager = True >>> party_tag_list = ibs.get_party_tag(party_rowid_list, eager=eager) >>> assert len(party_rowid_list) == len(party_tag_list)
wbia.control._sql_helpers module¶
-
wbia.control._sql_helpers.
autogenerate_nth_schema_version
(schema_spec, n=-1)[source]¶ dumps, prints, or diffs autogen schema based on command line
Parameters: n (int) – - CommandLine:
- python -m wbia.control._sql_helpers –test-autogenerate_nth_schema_version
Example
>>> # DISABLE_DOCTEST >>> from wbia.control._sql_helpers import * # NOQA >>> from wbia.control import DB_SCHEMA >>> # build test data >>> schema_spec = DB_SCHEMA >>> n = 1 >>> # execute function >>> tablename = autogenerate_nth_schema_version(schema_spec, n) >>> # verify results >>> result = str(tablename) >>> print(result)
-
wbia.control._sql_helpers.
compare_string_versions
(a, b)[source]¶ Example
>>> # ENABLE_DOCTEST >>> from wbia.control._sql_helpers import * # NOQA >>> a = '1.1.1' >>> b = '1.0.0' >>> result1 = compare_string_versions(a, b) >>> result2 = compare_string_versions(b, a) >>> result3 = compare_string_versions(a, a) >>> result = ', '.join(map(str, [result1, result2, result3])) >>> print(result) 1, -1, 0
-
wbia.control._sql_helpers.
database_backup
(db_dir, db_fname, backup_dir, max_keep=2048, manual=True)[source]¶ >>> db_dir = ibs.get_ibsdir() >>> db_fname = ibs.sqldb_fname >>> backup_dir = ibs.backupdir >>> max_keep = MAX_KEEP >>> manual = False
-
wbia.control._sql_helpers.
ensure_correct_version
(ibs, db, version_expected, schema_spec, dobackup=True, verbose=True)[source]¶ FIXME: AN SQL HELPER FUNCTION SHOULD BE AGNOSTIC TO CONTROLER OBJECTS
ensure_correct_version
Parameters: - ibs (IBEISController) –
- db (SQLController) –
- version_expected (str) – version you want to be at
- schema_spec (module) – schema module
- dobackup (bool) –
Example
>>> # DISABLE_DOCTEST >>> from wbia.control._sql_helpers import * # NOQA >>> ibs = '?' >>> db = ibs.db >>> version_expected = ibs.db_version_expected >>> schema_spec = DB_SCHEMA >>> dobackup = True >>> result = ensure_correct_version(ibs, db, version_expected, schema_spec, dobackup) >>> print(result)
Parameters: schema_spec (module) – module of schema specifications
-
wbia.control._sql_helpers.
ensure_daily_database_backup
(db_dir, db_fname, backup_dir, max_keep=2048)[source]¶
-
wbia.control._sql_helpers.
fix_metadata_consistency
(db)[source]¶ duct tape function
db.print_table_csv(‘metadata’)
-
wbia.control._sql_helpers.
get_backupdir
(db_dir, db_fname)[source]¶ - CommandLine:
- python -m _sql_helpers get_backupdir –show
Example
>>> # DISABLE_DOCTEST >>> from wbia.control._sql_helpers import * # NOQA >>> import wbia >>> ibs = wbia.opendb(defaultdb='testdb1') >>> db_dir = ibs.get_ibsdir() >>> db_fname = ibs.sqldb_fname >>> backup_dir = ibs.backupdir >>> result = get_backupdir(db_dir, db_fname)
-
wbia.control._sql_helpers.
get_nth_test_schema_version
(schema_spec, n=-1)[source]¶ Gets a fresh and empty test version of a schema
Parameters: - schema_spec (module) – schema module to get nth version of
- n (int) – version index (-1 is the latest)
-
wbia.control._sql_helpers.
revert_to_backup
(ibs)[source]¶ Parameters: db_dir – - CommandLine:
- python -m wbia.control._sql_helpers –exec-revert_to_backup
Example
>>> # SCRIPT >>> from wbia.control._sql_helpers import * # NOQA >>> import wbia >>> ibs = wbia.opendb(defaultdb='elephants') >>> result = revert_to_backup(ibs) >>> print(result)
wbia.control.accessor_decors module¶
-
wbia.control.accessor_decors.
cache_getter
(tblname, colname=None, cfgkeys=None, force=False, debug=False)[source]¶ Creates a getter cacher the class must have a table_cache property varargs are currently unallowed
Parameters: Returns: closure_getter_cacher
Return type: function
- CommandLine:
- python -m wbia.control.accessor_decors –test-cache_getter
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.accessor_decors import * # NOQA >>> import wbia >>> from wbia import constants as const >>> ibs = wbia.opendb('testdb1') >>> #ibs = wbia.opendb('PZ_MTEST') >>> valid_nids = ibs.get_valid_nids() >>> tblname = const.NAME_TABLE >>> colname = 'annot_rowid' >>> rowid_list = valid_nids >>> rowid_list1 = rowid_list[::2] >>> rowid_list2 = rowid_list[::3] >>> rowid_list3 = rowid_list[1::2] >>> kwargs = {} >>> getter_func = ut.get_method_func(ibs.get_name_aids) >>> wrp_getter_cacher = cache_getter(tblname, colname, force=True, debug=False)(getter_func) >>> ### Test Getter (caches) >>> val_list1 = getter_func(ibs, rowid_list1) >>> val_list2 = wrp_getter_cacher(ibs, rowid_list1) >>> print(ut.repr2(ibs.table_cache)) >>> val_list3 = wrp_getter_cacher(ibs, rowid_list1) >>> val_list4 = wrp_getter_cacher(ibs, rowid_list2) >>> print(ut.repr2(ibs.table_cache)) >>> val_list5 = wrp_getter_cacher(ibs, rowid_list3) >>> val_list = wrp_getter_cacher(ibs, rowid_list) >>> ut.assert_eq(val_list1, val_list2, 'run1') >>> ut.assert_eq(val_list1, val_list2, 'run2') >>> print(ut.repr2(ibs.table_cache)) >>> ### Test Setter (invalidates) >>> setter_func = ibs.set_name_texts >>> wrp_cache_invalidator = cache_invalidator(tblname, force=True)(lambda *a: None) >>> wrp_cache_invalidator(ibs, rowid_list1) >>> print(ut.repr2(ibs.table_cache))
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.accessor_decors import * # NOQA >>> import wbia >>> from wbia import constants as const >>> from wbia.control.manual_feat_funcs import FEAT_KPTS >>> ibs = wbia.opendb('testdb1') >>> tblname = const.FEATURE_TABLE, >>> colname = FEAT_KPTS >>> aid_list = ibs.get_valid_aids()[0:1] >>> # Check that config2 actually gets you different vectors in the cache >>> qreq_ = ibs.new_query_request(aid_list, aid_list, cfgdict={'affine_invariance': False}) >>> config2_ = qreq_.extern_query_config2 >>> kpts_list1 = ibs.get_annot_kpts(aid_list, config2_=None) >>> kpts_list2 = ibs.get_annot_kpts(aid_list, config2_=config2_) >>> kp1 = kpts_list1[0][0:1] >>> kp2 = kpts_list2[0][0:1] >>> assert kp1.T[3] != 0 >>> assert kp2.T[3] == 0 >>> assert kp2.T[2] == kp2.T[4]
- Ignore:
- %timeit getter_func(ibs, rowid_list) %timeit wrp_getter_cacher(ibs, rowid_list)
-
wbia.control.accessor_decors.
cache_invalidator
(tblname, colnames=None, rowidx=None, force=False)[source]¶ cacher decorator
Parameters: - tablename (str) – the table that the owns the underlying cache
- colnames (list) – the list of cached column that this function will invalidate
- rowidx (int) – the position (not including self) of the invalidated table’s native rowid in the writer function’s argument signature. If this does not exist you should use None. (default=None)
-
wbia.control.accessor_decors.
dev_cache_getter
(tblname, colname, *args, **kwargs)[source]¶ cache getter for when the database is gaurenteed not to change
-
wbia.control.accessor_decors.
getter
(func)[source]¶ Getter decorator for functions which takes as the first input a unique id list and returns a heterogeous list of values
-
wbia.control.accessor_decors.
getter_1to1
(func)¶ Getter decorator for functions which takes as the first input a unique id list and returns a heterogeous list of values
-
wbia.control.accessor_decors.
getter_1toM
(func)¶ Getter decorator for functions which takes as the first input a unique id list and returns a homogenous list of values
-
wbia.control.accessor_decors.
getter_numpy
(func)[source]¶ Getter decorator for functions which takes as the first input a unique id list and returns a heterogeous list of values
-
wbia.control.accessor_decors.
getter_numpy_vector_output
(func)[source]¶ Getter decorator for functions which takes as the first input a unique id list and returns a heterogeous list of values
-
wbia.control.accessor_decors.
getter_vector_output
(func)[source]¶ Getter decorator for functions which takes as the first input a unique id list and returns a homogenous list of values
-
wbia.control.accessor_decors.
ider
(func)[source]¶ This function takes returns ids subject to conditions
-
wbia.control.accessor_decors.
init_tablecache
()[source]¶ Returns: tablecache Return type: defaultdict - CommandLine:
- python -m wbia.control.accessor_decors –test-init_tablecache
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.accessor_decors import * # NOQA >>> result = init_tablecache() >>> print(result)
wbia.control.autowrap_api_decorators module¶
wbia.control.controller_inject module¶
Todo
Move flask registering into another file. Should also make the actual flask registration lazy. It should only be executed if a web instance is being started.
python -c “import wbia”
-
exception
wbia.control.controller_inject.
WebDuplicateUUIDException
(qdup_pos_map={}, ddup_pos_map={})[source]¶
-
exception
wbia.control.controller_inject.
WebException
(message, rawreturn=None, code=400)[source]¶ Bases:
utool.util_dev.NiceRepr
,Exception
-
exception
wbia.control.controller_inject.
WebInvalidInput
(message, key=None, value=None, image=False)[source]¶
-
exception
wbia.control.controller_inject.
WebInvalidUUIDException
(invalid_image_uuid_list=[], invalid_annot_uuid_list=[])[source]¶
-
exception
wbia.control.controller_inject.
WebMatchThumbException
(reference, qannot_uuid, dannot_uuid, version, message)[source]¶
-
exception
wbia.control.controller_inject.
WebMissingUUIDException
(missing_image_uuid_list=[], missing_annot_uuid_list=[])[source]¶
-
exception
wbia.control.controller_inject.
WebUnknownUUIDException
(unknown_uuid_type_list, unknown_uuid_list)[source]¶
-
wbia.control.controller_inject.
api_remote_wbia
(remote_wbia_url, remote_api_func, remote_wbia_port=5001, **kwargs)[source]¶
-
wbia.control.controller_inject.
authentication_challenge
()[source]¶ Sends a 401 response that enables basic auth.
-
wbia.control.controller_inject.
authentication_either
(func)[source]¶ authenticated by either hash or user
-
wbia.control.controller_inject.
authentication_hash_validate
()[source]¶ This function is called to check if a username / password combination is valid.
-
wbia.control.controller_inject.
authentication_user_validate
()[source]¶ This function is called to check if a username / password combination is valid.
-
wbia.control.controller_inject.
crossdomain
(origin=None, methods=None, headers=None, max_age=21600, attach_to_all=True, automatic_options=True)[source]¶
-
wbia.control.controller_inject.
dev_autogen_explicit_imports
()[source]¶ - CommandLine:
- python -m wbia –tf dev_autogen_explicit_imports
Example
>>> # SCRIPT >>> from wbia.control.controller_inject import * # NOQA >>> dev_autogen_explicit_imports()
-
wbia.control.controller_inject.
dev_autogen_explicit_injects
()[source]¶ - CommandLine:
- python -m wbia –tf dev_autogen_explicit_injects
Example
>>> # SCRIPT >>> from wbia.control.controller_inject import * # NOQA >>> dev_autogen_explicit_injects()
-
wbia.control.controller_inject.
get_wbia_flask_api
(__name__, DEBUG_PYTHON_STACK_TRACE_JSON_RESPONSE=False)[source]¶ For function calls that resolve to api calls and return json.
-
wbia.control.controller_inject.
get_wbia_flask_route
(__name__)[source]¶ For function calls that resolve to webpages and return html.
-
wbia.control.controller_inject.
make_ibs_register_decorator
(modname)[source]¶ builds variables and functions that controller injectable modules need.
-
wbia.control.controller_inject.
translate_wbia_webcall
(func, *args, **kwargs)[source]¶ Called from flask request context
Parameters: func (function) – live python function Returns: (output, True, 200, None, jQuery_callback) Return type: tuple Example
>>> # xdoctest: +REQUIRES(--web-tests) >>> from wbia.control.controller_inject import * # NOQA >>> import wbia >>> with wbia.opendb_with_web('testdb1') as (ibs, client): ... aids = client.get('/api/annot/').json ... failrsp = client.post('/api/annot/uuids/') ... failrsp2 = client.get('/api/query/chips/simple_dict//', data={'qaid_list': [0], 'daid_list': [0]}) ... log_text = client.get('/api/query/chips/simple_dict/', data={'qaid_list': [0], 'daid_list': [0]}) >>> print('\n---\nfailrsp =\n%s' % (failrsp.data,)) >>> print('\n---\nfailrsp2 =\n%s' % (failrsp2.data,)) >>> print('Finished test') Finished test
wbia.control.docker_control module¶
-
wbia.control.docker_control.
docker_check_container
(ibs, container_name, clone=None, retry_count=20, retry_timeout=15)[source]¶
-
wbia.control.docker_control.
docker_container_urls_from_name
(ibs, container_name, clone=None)[source]¶
-
wbia.control.docker_control.
docker_ensure
(ibs, container_name, check_container=True, clone=None)[source]¶
-
wbia.control.docker_control.
docker_pull_image
(ibs, image_name)[source]¶ The process of logging into the Azure Container Registry is arcane and complex. In the meantime we’ll assume that any image we need in the ACR has been downloaded by a logged-in user.
Host: wildme.azurecr.io Username: example@example.com Password: asecurepassword
Login Script:
Install Azure CLI
https://docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest
az logout
Logout of any user you may already be using with az-cli
az login
Follow instructions to https://microsoft.com/devicelogin, input the code
Login as example@example.com with password above
az acr login –name wildme
Login to the Azure Container Registry (ACR) for Docker
Verify login with “cat ~/.docker/config.json | jq “.auths” and look for “wildme.azurecr.io”
docker pull wildme.azurecr.io/wbia/example-image:latest
Pull latest nightly image
-
wbia.control.docker_control.
docker_register_config
(ibs, container_name, image_name, container_check_func=None, run_args={}, ensure_new=False)[source]¶
-
wbia.control.docker_control.
docker_run
(ibs, image_name, container_name, override_run_args, clone=None, ensure_new=False)[source]¶
-
wbia.control.docker_control.
is_local_port_open
(port)[source]¶ Parameters: port (int) – Returns: Return type: bool References
http://stackoverflow.com/questions/7436801/identifying-listening-ports-using-python
- CommandLine:
- python -m utool.util_web is_local_port_open –show
Example
>>> # DISABLE_DOCTEST >>> from utool.util_web import * # NOQA >>> port = 32183 >>> assert is_local_port_open(80) is False, 'port 80 should always be closed' >>> assert is_local_port_open(port) is True, 'maybe this port is actually used?'
wbia.control.manual_annot_funcs module¶
- Autogen:
- python -c “import utool as ut; ut.write_modscript_alias(‘Tgen.sh’, ‘wbia.templates.template_generator’)” # NOQA sh Tgen.sh –key annot –invert –Tcfg with_getters=True with_setters=True –modfname manual_annot_funcs –funcname-filter=age_m # NOQA sh Tgen.sh –key annot –invert –Tcfg with_getters=True with_setters=True –modfname manual_annot_funcs –funcname-filter=is_ # NOQA sh Tgen.sh –key annot –invert –Tcfg with_getters=True with_setters=True –modfname manual_annot_funcs –funcname-filter=is_ –diff # NOQA
-
wbia.control.manual_annot_funcs.
add_annots
(ibs, gid_list, bbox_list=None, theta_list=None, species_list=None, nid_list=None, name_list=None, vert_list=None, annot_uuid_list=None, yaw_list=None, viewpoint_list=None, quality_list=None, multiple_list=None, interest_list=None, canonical_list=None, detect_confidence_list=None, notes_list=None, annot_visual_uuid_list=None, annot_semantic_uuid_list=None, species_rowid_list=None, staged_uuid_list=None, staged_user_id_list=None, quiet_delete_thumbs=False, prevent_visual_duplicates=True, skip_cleaning=False, delete_thumb=True, **kwargs)[source]¶ Adds an annotation to images
- # TODO:
- remove annot_visual_uuid_list and annot_semantic_uuid_list They are always inferred
Parameters: - gid_list (list) – image rowids to add annotation to
- bbox_list (list) – of [x, y, w, h] bounding boxes for each image (supply verts instead)
- theta_list (list) – orientations of annotations
- species_list (list) –
- nid_list (list) –
- name_list (list) –
- detect_confidence_list (list) –
- notes_list (list) –
- vert_list (list) – alternative to bounding box
- annot_uuid_list (list) –
- yaw_list (list) –
- annot_visual_uuid_list (list) –
- annot_semantic_uuid_list (list) –
- quiet_delete_thumbs (bool) –
Returns: aid_list
Return type: - CommandLine:
- python -m wbia.control.manual_annot_funcs –test-add_annots python -m wbia.control.manual_annot_funcs –test-add_annots –verbose –print-caller
- Ignore:
- theta_list = None species_list = None nid_list = None name_list = None detect_confidence_list = None notes_list = None vert_list = None annot_uuid_list = None yaw_list = None quiet_delete_thumbs = False prevent_visual_duplicates = False
- RESTful:
- Method: POST URL: /api/annot/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.IBEISControl import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> prevalid = ibs.get_valid_aids() >>> num_add = 2 >>> gid_list = ibs.get_valid_gids()[0:num_add] >>> bbox_list = [(int(w * .1), int(h * .6), int(w * .5), int(h * .3)) ... for (w, h) in ibs.get_image_sizes(gid_list)] >>> # Add a test annotation >>> print('Testing add_annots') >>> aid_list = ibs.add_annots(gid_list, bbox_list=bbox_list) >>> bbox_list2 = ibs.get_annot_bboxes(aid_list) >>> vert_list2 = ibs.get_annot_verts(aid_list) >>> theta_list2 = ibs.get_annot_thetas(aid_list) >>> name_list2 = ibs.get_annot_names(aid_list) >>> print('Ensure=False. Should get back None chip fpaths') >>> chip_fpaths2 = ibs.get_annot_chip_fpath(aid_list, ensure=False) >>> assert [fpath is None for fpath in chip_fpaths2], 'should not have fpaths' >>> print('Ensure=True. Should get back None chip fpaths') >>> chip_fpaths = ibs.get_annot_chip_fpath(aid_list, ensure=True) >>> assert all([ut.checkpath(fpath, verbose=True) for fpath in chip_fpaths]), 'paths should exist' >>> ut.assert_eq(len(aid_list), num_add) >>> ut.assert_eq(len(vert_list2[0]), 4) >>> assert bbox_list2 == bbox_list, 'bboxes are unequal' >>> # Be sure to remove test annotation >>> # if this test fails a resetdbs might be nessary >>> result = '' >>> visual_uuid_list = ibs.get_annot_visual_uuids(aid_list) >>> semantic_uuid_list = ibs.get_annot_semantic_uuids(aid_list) >>> result += str(visual_uuid_list) + '\n' >>> result += str(semantic_uuid_list) + '\n' >>> print('Cleaning up. Removing added annotations') >>> ibs.delete_annots(aid_list) >>> assert not any([ut.checkpath(fpath, verbose=True) for fpath in chip_fpaths]), 'chip paths' >>> postvalid = ibs.get_valid_aids() >>> assert prevalid == postvalid, 'prevalid != postvalid' >>> result += str(postvalid) >>> print(result) [UUID('30f7639b-5161-a561-2c4f-41aed64e5b65'), UUID('5ccbb26d-104f-e655-cf2b-cf92e0ad2fd2')] [UUID('58905a72-dd31-c42b-d5b5-2312adfc7cba'), UUID('dd58665a-2a8b-8e84-4919-038c80bd9be0')] [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
Example
>>> # Test with prevent_visual_duplicates on >>> # ENABLE_DOCTEST >>> from wbia.control.IBEISControl import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> prevalid = ibs.get_valid_aids() >>> num_add = 1 >>> gid_list = ibs.get_valid_gids()[0:1] * num_add >>> bbox_list = [(int(w * .1), int(h * .6), int(w * .5), int(h * .3)) ... for (w, h) in ibs.get_image_sizes(gid_list)] >>> bbox_list2 = [(int(w * .2), int(h * .6), int(w * .5), int(h * .3)) ... for (w, h) in ibs.get_image_sizes(gid_list)] >>> # Add a test annotation >>> print('Testing add_annots') >>> aid_list1 = ibs.add_annots(gid_list, bbox_list=bbox_list, prevent_visual_duplicates=True) >>> aid_list2 = ibs.add_annots(gid_list, bbox_list=bbox_list, prevent_visual_duplicates=True) >>> aid_list3 = ibs.add_annots(gid_list, bbox_list=bbox_list2, prevent_visual_duplicates=True) >>> assert aid_list1 == aid_list2, 'aid_list1 == aid_list2' >>> assert aid_list1 != aid_list3, 'aid_list1 != aid_list3' >>> aid_list_new = aid_list1 + aid_list3 >>> result = aid_list_new >>> print('Cleaning up. Removing added annotations') >>> ibs.delete_annots(aid_list_new)
-
wbia.control.manual_annot_funcs.
annotation_src_api
(rowid=None)[source]¶ Returns the base64 encoded image of annotation <aid>
- RESTful:
- Method: GET URL: /api/annot/<aid>/
-
wbia.control.manual_annot_funcs.
compute_annot_visual_semantic_uuids
(ibs, gid_list, include_preprocess=False, **kwargs)[source]¶
-
wbia.control.manual_annot_funcs.
delete_annot_nids
(ibs, aid_list)[source]¶ Remove name assocation from the list of input aids. Does this by setting each annotations nid to the UNKNOWN name rowid
- RESTful:
- Method: DELETE URL: /api/annot/name/rowid/
-
wbia.control.manual_annot_funcs.
delete_annot_speciesids
(ibs, aid_list)[source]¶ Deletes nids of a list of annotations
- RESTful:
- Method: DELETE URL: /api/annot/species/rowid/
-
wbia.control.manual_annot_funcs.
delete_annots
(ibs, aid_list)[source]¶ deletes annotations from the database
- RESTful:
- Method: DELETE URL: /api/annot/
Parameters: - ibs (IBEISController) – wbia controller object
- aid_list (int) – list of annotation ids
- CommandLine:
- python -m wbia.control.manual_annot_funcs –test-delete_annots python -m wbia.control.manual_annot_funcs –test-delete_annots –debug-api-cache python -m wbia.control.manual_annot_funcs –test-delete_annots
- SeeAlso:
- back.delete_annot
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> from os.path import exists >>> import wbia >>> ibs = wbia.opendb(defaultdb='testdb1') >>> ibs.delete_empty_nids() >>> # Add some annotations to delete >>> num_add = 2 >>> gid_list = ibs.get_valid_gids()[0:num_add] >>> nid = ibs.make_next_nids(1)[0] >>> nid_list = [nid] * num_add >>> bbox_list = [(int(w * .1), int(h * .6), int(w * .5), int(h * .3)) ... for (w, h) in ibs.get_image_sizes(gid_list)] >>> new_aid_list = ibs.add_annots(gid_list, bbox_list=bbox_list, >>> nid_list=nid_list) >>> ibs.get_annot_nids(new_aid_list) >>> ut.assert_lists_eq(ibs.get_annot_nids(new_aid_list), nid_list) >>> assert ibs.get_name_aids(nid) == new_aid_list, 'annots should all have same name' >>> assert new_aid_list == ibs.get_name_aids(nid), 'inverse name mapping should work' >>> #thumpaths = ibs.get_image_thumbpath(gid_list, ensure_paths=True, **{'thumbsize': 221}) >>> #assert any(ut.lmap(exists, thumpaths)), 'thumbs should be there' >>> before_aids = ibs.get_image_aids(gid_list) >>> print('BEFORE gids: ' + str(before_aids)) >>> result = ibs.delete_annots(new_aid_list) >>> assert ibs.get_name_aids(nid) == [], 'annots should be removed' >>> after_aids = ibs.get_image_aids(gid_list) >>> #thumpaths = ibs.get_image_thumbpath(gid_list, ensure_paths=False, **{'thumbsize': 221}) >>> #assert not any(ut.lmap(exists, thumpaths)), 'thumbs should be gone' >>> assert after_aids != before_aids, 'the invalidators must have bugs' >>> print('AFTER gids: ' + str(after_aids)) >>> valid_aids = ibs.get_valid_aids() >>> assert [aid not in valid_aids for aid in new_aid_list], 'should no longer be valid aids' >>> print(result) >>> ibs.delete_empty_nids()
-
wbia.control.manual_annot_funcs.
filter_annotation_set
(ibs, aid_list, include_only_gid_list=None, yaw='no-filter', is_exemplar=None, is_staged=False, species=None, is_known=None, hasgt=None, minqual=None, has_timestamp=None, sort=False, is_canonical=None, min_timedelta=None)[source]¶
-
wbia.control.manual_annot_funcs.
get_annot_age_months_est
(ibs, aid_list, eager=True, nInput=None)[source]¶ annot_age_months_est_list <- annot.annot_age_months_est[aid_list]
gets data from the annotation’s native age in months
Parameters: aid_list (list) – Returns: annot_age_months_est_list Return type: list - RESTful:
- Method: GET URL: /api/annot/age/months/
-
wbia.control.manual_annot_funcs.
get_annot_age_months_est_max
(ibs, aid_list, eager=True, nInput=None)[source]¶ annot_age_months_est_max_list <- annot.annot_age_months_est_max[aid_list]
gets data from the “native” column “annot_age_months_est_max” in the “annot” table
Parameters: aid_list (list) – Returns: annot_age_months_est_max_list Return type: list - RESTful:
- Method: GET URL: /api/annot/age/months/max/
Example
>>> # DISABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> ibs, config2_ = testdata_ibs() >>> aid_list = ibs._get_all_aids() >>> eager = True >>> annot_age_months_est_max_list = ibs.get_annot_age_months_est_max(aid_list, eager=eager) >>> assert len(aid_list) == len(annot_age_months_est_max_list)
-
wbia.control.manual_annot_funcs.
get_annot_age_months_est_max_texts
(ibs, aid_list, eager=True, nInput=None)[source]¶ annot_age_months_est_max_texts_list <- annot.annot_age_months_est_max_texts[aid_list]
gets string versions of the annotation’s native max age in months
Parameters: aid_list (list) – Returns: annot_age_months_est_max_list Return type: list - RESTful:
- Method: GET URL: /api/annot/age/months/max/text/
-
wbia.control.manual_annot_funcs.
get_annot_age_months_est_min
(ibs, aid_list, eager=True, nInput=None)[source]¶ annot_age_months_est_min_list <- annot.annot_age_months_est_min[aid_list]
gets data from the “native” column “annot_age_months_est_min” in the “annot” table
Parameters: aid_list (list) – Returns: annot_age_months_est_min_list Return type: list - RESTful:
- Method: GET URL: /api/annot/age/months/min/
Example
>>> # DISABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> ibs, config2_ = testdata_ibs() >>> aid_list = ibs._get_all_aids() >>> eager = True >>> annot_age_months_est_min_list = ibs.get_annot_age_months_est_min(aid_list, eager=eager) >>> assert len(aid_list) == len(annot_age_months_est_min_list)
-
wbia.control.manual_annot_funcs.
get_annot_age_months_est_min_texts
(ibs, aid_list, eager=True, nInput=None)[source]¶ annot_age_months_est_min_texts_list <- annot.annot_age_months_est_min_texts[aid_list]
gets string versions of the annotation’s native min age in months
Parameters: aid_list (list) – Returns: annot_age_months_est_min_list Return type: list - RESTful:
- Method: GET URL: /api/annot/age/months/min/text/
-
wbia.control.manual_annot_funcs.
get_annot_age_months_est_texts
(ibs, aid_list, eager=True, nInput=None)[source]¶ annot_age_months_est_texts_list <- annot.annot_age_months_est_texts[aid_list]
gets string versions of the annotation’s native combined age in months
Parameters: aid_list (list) – Returns: annot_age_months_est_text_list Return type: list - RESTful:
- Method: GET URL: /api/annot/age/months/text/
-
wbia.control.manual_annot_funcs.
get_annot_aid
(ibs, aid_list, eager=True, nInput=None)[source]¶ self verifier .. rubric:: Example
>>> # ENABLE_DOCTEST >>> from wbia.control.IBEISControl import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> aid_list = ibs.get_valid_aids() + [None, -1, 10434320432] >>> aid_list_ = ibs.get_annot_aid(aid_list) >>> assert [r is None for r in aid_list_[-3:]] >>> assert [r is not None for r in aid_list_[0:-3]]
-
wbia.control.manual_annot_funcs.
get_annot_aids_from_semantic_uuid
(ibs, semantic_uuid_list)[source]¶ Parameters: semantic_uuid_list (list) – Returns: annot rowids Return type: list
-
wbia.control.manual_annot_funcs.
get_annot_aids_from_uuid
(ibs, uuid_list)[source]¶ Returns: annot rowids Return type: list_ (list) - RESTful:
- Method: GET URL: /api/annot/rowid/uuid/
-
wbia.control.manual_annot_funcs.
get_annot_aids_from_visual_uuid
(ibs, visual_uuid_list)[source]¶ Parameters: visual_uuid_list (list) – Returns: annot rowids Return type: list
-
wbia.control.manual_annot_funcs.
get_annot_bboxes
(ibs, aid_list)[source]¶ Returns: annotation bounding boxes in image space Return type: bbox_list (list) - RESTful:
- Method: GET URL: /api/annot/bbox/
-
wbia.control.manual_annot_funcs.
get_annot_canonical
(ibs, aid_list, default_none_to_false=True)[source]¶ - RESTful:
- Method: GET URL: /api/annot/canonical/
Example
>>> # DISABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb(defaultdb='testdb1') >>> aid_list = ibs.get_valid_aids() >>> flag_list = get_annot_canonical(ibs, aid_list) >>> result = ('flag_list = %s' % (ut.repr2(flag_list),)) >>> print(result)
-
wbia.control.manual_annot_funcs.
get_annot_class_labels
(ibs, aid_list)[source]¶ DEPRICATE?
Returns: identifying animal name and view Return type: list of tuples
-
wbia.control.manual_annot_funcs.
get_annot_contact_aids
(ibs, aid_list, daid_list=None, check_isect=False, assume_unique=False)[source]¶ Returns the other aids that appear in the same image that this annotation is from.
Parameters: - ibs (IBEISController) – wbia controller object
- aid_list (list) –
- CommandLine:
- python -m wbia.control.manual_annot_funcs –test-get_annot_contact_aids;1
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> aid_list = ibs.get_valid_aids() >>> contact_aids = ibs.get_annot_contact_aids(aid_list) >>> contact_gids = ibs.unflat_map(ibs.get_annot_gids, contact_aids) >>> gid_list = ibs.get_annot_gids(aid_list) >>> for gids, gid, aids, aid in zip(contact_gids, gid_list, contact_aids, aid_list): ... assert ut.allsame(gids), 'annots should be from same image' ... assert len(gids) == 0 or gids[0] == gid, 'and same image as parent annot' ... assert aid not in aids, 'should not include self'
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb2') >>> aid_list = ibs.get_valid_aids() >>> contact_aids = ibs.get_annot_contact_aids(aid_list) >>> contact_gids = ibs.unflat_map(ibs.get_annot_gids, contact_aids) >>> gid_list = ibs.get_annot_gids(aid_list) >>> print('contact_aids = %r' % (contact_aids,)) >>> for gids, gid, aids, aid in zip(contact_gids, gid_list, contact_aids, aid_list): ... assert ut.allsame(gids), 'annots should be from same image' ... assert len(gids) == 0 or gids[0] == gid, 'and same image as parent annot' ... assert aid not in aids, 'should not include self'
-
wbia.control.manual_annot_funcs.
get_annot_detect_confidence
(ibs, aid_list)[source]¶ Returns: a list confidences that the annotations is a valid detection Return type: list_ (list) - RESTful:
- Method: GET URL: /api/annot/detect/confidence/
-
wbia.control.manual_annot_funcs.
get_annot_exemplar_flags
(ibs, aid_list)[source]¶ returns if an annotation is an exemplar
Parameters: - ibs (IBEISController) – wbia controller object
- aid_list (int) – list of annotation ids
Returns: annot_exemplar_flag_list - True if annotation is an exemplar
Return type: - CommandLine:
- python -m wbia.control.manual_annot_funcs –test-get_annot_exemplar_flags
- RESTful:
- Method: GET URL: /api/annot/exemplar/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> aid_list = ibs.get_valid_aids() >>> gid_list = get_annot_exemplar_flags(ibs, aid_list) >>> result = str(gid_list) >>> print(result)
-
wbia.control.manual_annot_funcs.
get_annot_gar_rowids
(ibs, aid_list)[source]¶ Auto-docstr for ‘get_annot_gar_rowids’
-
wbia.control.manual_annot_funcs.
get_annot_gids
(ibs, aid_list, assume_unique=False)[source]¶ Get parent image rowids of annotations
Parameters: aid_list (list) – Returns: image rowids Return type: gid_list (list) - RESTful:
- Method: GET URL: /api/annot/image/rowid/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> aid_list = ibs.get_valid_aids() >>> result = get_annot_gids(ibs, aid_list) >>> print(result)
-
wbia.control.manual_annot_funcs.
get_annot_groundfalse
(ibs, aid_list, valid_aids=None, filter_unknowns=True, daid_list=None)[source]¶ gets all annotations with different names
Returns: a list of aids which are known to be different for each Return type: groundfalse_list (list) Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> aid_list = ibs.get_valid_aids() >>> groundfalse_list = get_annot_groundfalse(ibs, aid_list) >>> result = str(groundfalse_list) >>> print(result)
-
wbia.control.manual_annot_funcs.
get_annot_groundtruth
(ibs, aid_list, is_exemplar=None, noself=True, daid_list=None)[source]¶ gets all annotations with the same names
Parameters: Returns: a list of aids with the same name foreach aid in aid_list. a set of aids belonging to the same name is called a groundtruth. A list of these is called a groundtruth_list.
Return type: groundtruth_list (list)
- CommandLine:
- python -m wbia.control.manual_annot_funcs –test-get_annot_groundtruth:0 python -m wbia.control.manual_annot_funcs –test-get_annot_groundtruth:1 python -m wbia.control.manual_annot_funcs –test-get_annot_groundtruth:2 python -m –tf get_annot_groundtruth:0 –db=PZ_Master0 –aids=97 –exec-mode
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb(defaultdb='testdb1') >>> aid_list = ut.get_argval('--aids', list, ibs.get_valid_aids()) >>> is_exemplar, noself, daid_list = None, True, None >>> groundtruth_list = ibs.get_annot_groundtruth(aid_list, is_exemplar, noself, daid_list) >>> result = 'groundtruth_list = ' + str(groundtruth_list) >>> print(result) groundtruth_list = [[], [3], [2], [], [6], [5], [], [], [], [], [], [], []]
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> aid_list = ibs.get_valid_aids() >>> is_exemplar, noself, daid_list = True, True, None >>> groundtruth_list = ibs.get_annot_groundtruth(aid_list, is_exemplar, noself, daid_list) >>> result = str(groundtruth_list) >>> print(result) [[], [3], [2], [], [6], [5], [], [], [], [], [], [], []]
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> aid_list = ibs.get_valid_aids() >>> is_exemplar, noself, daid_list = False, False, aid_list >>> groundtruth_list = ibs.get_annot_groundtruth(aid_list, is_exemplar, noself, daid_list) >>> result = str(groundtruth_list) >>> print(result) [[1], [], [], [4], [], [], [], [], [9], [], [11], [], []]
-
wbia.control.manual_annot_funcs.
get_annot_has_groundtruth
(ibs, aid_list, is_exemplar=None, noself=True, daid_list=None)[source]¶ Parameters: Returns: has_gt_list
Return type: - CommandLine:
- python -m wbia.control.manual_annot_funcs –test-get_annot_has_groundtruth
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> aid_list = ibs.get_valid_aids() >>> is_exemplar = None >>> noself = True >>> daid_list = None >>> has_gt_list = get_annot_has_groundtruth(ibs, aid_list, is_exemplar, noself, daid_list) >>> result = str(has_gt_list) >>> print(result)
-
wbia.control.manual_annot_funcs.
get_annot_hashid_semantic_uuid
(ibs, aid_list, prefix='')[source]¶ builds an aggregate semantic hash id for a list of aids
Parameters: Returns: semantic_uuid_hashid
Return type: - CommandLine:
- python -m wbia.control.manual_annot_funcs –test-get_annot_hashid_semantic_uuid
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb(defaultdb='testdb1') >>> aid_list = ibs.get_valid_aids() >>> annots = ibs.annots() >>> prefix = '' >>> semantic_uuid_hashid = get_annot_hashid_semantic_uuid(ibs, aid_list, prefix) >>> result = ut.repr2(annots.semantic_uuids[0:2], nl=1) + '\n' >>> result += ('semantic_uuid_hashid = ' + str(semantic_uuid_hashid)) >>> print(result) [ UUID('...'), UUID('...'), ] semantic_uuid_hashid = SUUIDS-13-...
-
wbia.control.manual_annot_funcs.
get_annot_hashid_uuid
(ibs, aid_list, prefix='')[source]¶ builds an aggregate random hash id for a list of aids
- RESTful:
- Method: GET URL: /api/annot/uuid/hashid/
-
wbia.control.manual_annot_funcs.
get_annot_hashid_visual_uuid
(ibs, aid_list, prefix='', pathsafe=False)[source]¶ builds an aggregate visual hash id for a list of aids
Parameters: _new (bool) – Eventually we will change the hashing scheme and all old data will be invalidated. (default=False)
-
wbia.control.manual_annot_funcs.
get_annot_image_contributor_tag
(ibs, aid_list)[source]¶ Auto-docstr for ‘get_annot_image_contributor_tag’
-
wbia.control.manual_annot_funcs.
get_annot_image_datetime_str
(ibs, aid_list)[source]¶ Parameters: - ibs (IBEISController) – wbia controller object
- aid_list (int) – list of annotation ids
Returns: datetime_list
Return type: - CommandLine:
- python -m wbia.control.manual_annot_funcs –test-get_annot_image_datetime_str
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> aid_list = ibs.get_valid_aids() >>> datetime_list = get_annot_image_datetime_str(ibs, aid_list) >>> result = str(datetime_list) >>> print(result)
-
wbia.control.manual_annot_funcs.
get_annot_image_gps
(ibs, aid_list)[source]¶ Parameters: aid_list (list) – Returns: unixtime_list Return type: list - RESTful:
- Method: GET URL: /api/annot/image/gps/
-
wbia.control.manual_annot_funcs.
get_annot_image_gps2
(ibs, aid_list)[source]¶ fixes the (-1, -1) issue. returns nan instead.
-
wbia.control.manual_annot_funcs.
get_annot_image_names
(ibs, aid_list)[source]¶ Parameters: aid_list (list) – Returns: gname_list the image names of each annotation Return type: list of strs - RESTful:
- Method: GET URL: /api/annot/image/name/
-
wbia.control.manual_annot_funcs.
get_annot_image_paths
(ibs, aid_list)[source]¶ Parameters: aid_list (list) – Returns: gpath_list the image paths of each annotation Return type: list of strs - RESTful:
- Method: GET URL: /api/annot/image/file/path/
-
wbia.control.manual_annot_funcs.
get_annot_image_set_texts
(ibs, aid_list)[source]¶ Auto-docstr for ‘get_annot_image_contributor_tag’
- RESTful:
- Method: GET URL: /api/annot/imageset/text/
-
wbia.control.manual_annot_funcs.
get_annot_image_unixtimes
(ibs, aid_list, **kwargs)[source]¶ Parameters: aid_list (list) – Returns: unixtime_list Return type: list - RESTful:
- Method: GET URL: /api/annot/image/unixtime/
-
wbia.control.manual_annot_funcs.
get_annot_image_unixtimes_asfloat
(ibs, aid_list)[source]¶ Parameters: - ibs (IBEISController) – wbia controller object
- aid_list (list) – list of annotation rowids
Returns: unixtime_list
Return type: - CommandLine:
- python -m wbia.control.manual_annot_funcs –exec-get_annot_image_unixtimes_asfloat –show –db PZ_MTEST
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb(defaultdb='testdb1') >>> aid_list = ibs.get_valid_aids() >>> unixtime_list = get_annot_image_unixtimes_asfloat(ibs, aid_list) >>> result = ('unixtime_list = %s' % (str(unixtime_list),)) >>> print(result) >>> ut.quit_if_noshow() >>> import wbia.plottool as pt >>> ut.show_if_requested()
-
wbia.control.manual_annot_funcs.
get_annot_image_uuids
(ibs, aid_list)[source]¶ Parameters: aid_list (list) – Returns: image_uuid_list Return type: list - CommandLine:
- python -m wbia.control.manual_annot_funcs –test-get_annot_image_uuids –enableall
- RESTful:
- Method: GET URL: /api/annot/image/uuid/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> aid_list = ibs.get_valid_aids()[0:1] >>> result = get_annot_image_uuids(ibs, aid_list) >>> print(result) [UUID('66ec193a-1619-b3b6-216d-1784b4833b61')]
-
wbia.control.manual_annot_funcs.
get_annot_images
(ibs, aid_list)[source]¶ Parameters: aid_list (list) – Returns: the images of each annotation Return type: list of ndarrays - CommandLine:
- python -m wbia.control.manual_annot_funcs –test-get_annot_images
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> aid_list = ibs.get_valid_aids()[0:1] >>> image_list = ibs.get_annot_images(aid_list) >>> result = str(list(map(np.shape, image_list))) >>> print(result) [(715, 1047, 3)]
-
wbia.control.manual_annot_funcs.
get_annot_imgset_uuids
(ibs, aid_list)[source]¶ Get parent image rowids of annotations
Parameters: aid_list (list) – Returns: imageset uuids Return type: imgset_uuid_list (list) - RESTful:
- Method: GET URL: /api/annot/imageset/uuid/
-
wbia.control.manual_annot_funcs.
get_annot_imgsetids
(ibs, aid_list)[source]¶ Get parent image rowids of annotations
Parameters: aid_list (list) – Returns: imageset rowids Return type: imgsetid_list (list) - RESTful:
- Method: GET URL: /api/annot/imageset/rowid/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> aid_list = ibs.get_valid_aids() >>> result = get_annot_gids(ibs, aid_list) >>> print(result)
-
wbia.control.manual_annot_funcs.
get_annot_interest
(ibs, aid_list)[source]¶ - RESTful:
- Method: GET URL: /api/annot/interest/
Example
>>> # DISABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb(defaultdb='testdb1') >>> aid_list = ibs.get_valid_aids() >>> flag_list = get_annot_interest(ibs, aid_list) >>> result = ('flag_list = %s' % (ut.repr2(flag_list),)) >>> print(result)
-
wbia.control.manual_annot_funcs.
get_annot_isjunk
(ibs, aid_list)[source]¶ Auto-docstr for ‘get_annot_isjunk’
-
wbia.control.manual_annot_funcs.
get_annot_metadata
(ibs, aid_list, return_raw=False)[source]¶ Returns: annot metadata dictionary Return type: list_ (list) - RESTful:
- Method: GET URL: /api/annot/metadata/
-
wbia.control.manual_annot_funcs.
get_annot_missing_uuid
(ibs, uuid_list)[source]¶ Returns: a list of missing annot uuids Return type: list_ (list)
-
wbia.control.manual_annot_funcs.
get_annot_multiple
(ibs, aid_list)[source]¶ - RESTful:
- Method: GET URL: /api/annot/multiple/
Example
>>> # DISABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb(defaultdb='testdb1') >>> aid_list = ibs.get_valid_aids() >>> flag_list = get_annot_multiple(ibs, aid_list) >>> result = ('flag_list = %s' % (ut.repr2(flag_list),)) >>> print(result)
-
wbia.control.manual_annot_funcs.
get_annot_name_rowids
(ibs, aid_list, distinguish_unknowns=True, assume_unique=False)[source]¶ Returns: the name id of each annotation. Return type: list_ (list) - CommandLine:
- python -m wbia.control.manual_annot_funcs –exec-get_annot_name_rowids
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> from wbia import constants as const >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> aid_list = ibs.get_valid_aids() >>> distinguish_unknowns = True >>> nid_arr1 = np.array(ibs.get_annot_name_rowids(aid_list, distinguish_unknowns=distinguish_unknowns)) >>> nid_arr2 = np.array(ibs.get_annot_name_rowids(aid_list, distinguish_unknowns=False)) >>> nid_arr2 = np.array(ibs.get_annot_name_rowids(None, distinguish_unknowns=True)) >>> assert const.UNKNOWN_LBLANNOT_ROWID == 0 >>> assert np.all(nid_arr1[np.where(const.UNKNOWN_LBLANNOT_ROWID == nid_arr2)[0]] < 0)
-
wbia.control.manual_annot_funcs.
get_annot_name_texts
(ibs, aid_list, distinguish_unknowns=False)[source]¶ Parameters: aid_list (list) – Returns: - name_list. e.g: [‘fred’, ‘sue’, …]
- for each annotation identifying the individual
Return type: list or strs - RESTful:
- Method: GET URL: /api/annot/name/text/
- CommandLine:
- python -m wbia.control.manual_annot_funcs –test-get_annot_name_texts
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> aid_list = ibs.get_valid_aids()[::2] >>> result = ut.repr2(get_annot_name_texts(ibs, aid_list), nl=False) >>> print(result) ['____', 'easy', 'hard', 'jeff', '____', '____', 'zebra']
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> aid_list = ibs.get_valid_aids()[::2] >>> result = ut.repr2(get_annot_name_texts(ibs, aid_list, True), nl=False) >>> print(result) ['____1', 'easy', 'hard', 'jeff', '____9', '____11', 'zebra']
-
wbia.control.manual_annot_funcs.
get_annot_name_uuids
(ibs, aid_list, **kwargs)[source]¶ alias
- RESTful:
- Method: GET URL: /api/annot/name/uuid/
-
wbia.control.manual_annot_funcs.
get_annot_names
(ibs, aid_list, distinguish_unknowns=False)[source]¶ alias
-
wbia.control.manual_annot_funcs.
get_annot_nids
(ibs, aid_list, distinguish_unknowns=True)[source]¶ alias
- RESTful:
- Method: GET URL: /api/annot/name/rowid/
-
wbia.control.manual_annot_funcs.
get_annot_notes
(ibs, aid_list)[source]¶ Returns: a list of annotation notes Return type: annotation_notes_list (list) - RESTful:
- Method: GET URL: /api/annot/note/
-
wbia.control.manual_annot_funcs.
get_annot_num_contact_aids
(ibs, aid_list)[source]¶ Auto-docstr for ‘get_annot_num_contact_aids’
-
wbia.control.manual_annot_funcs.
get_annot_num_groundtruth
(ibs, aid_list, is_exemplar=None, noself=True, daid_list=None)[source]¶ Returns: number of other chips with the same name Return type: list_ (list) - CommandLine:
- python -m wbia.control.manual_annot_funcs –test-get_annot_num_groundtruth python -m wbia.control.manual_annot_funcs –test-get_annot_num_groundtruth:0 python -m wbia.control.manual_annot_funcs –test-get_annot_num_groundtruth:1
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> aid_list = ibs.get_valid_aids() >>> noself = True >>> result = get_annot_num_groundtruth(ibs, aid_list, noself=noself) >>> print(result) [0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0]
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> aid_list = ibs.get_valid_aids() >>> noself = False >>> result = get_annot_num_groundtruth(ibs, aid_list, noself=noself) >>> print(result) [1, 2, 2, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1]
-
wbia.control.manual_annot_funcs.
get_annot_num_verts
(ibs, aid_list)[source]¶ Returns: the number of vertices that form the polygon of each chip Return type: nVerts_list (list) - RESTful:
- Method: GET URL: /api/annot/num/vert/
-
wbia.control.manual_annot_funcs.
get_annot_otherimage_aids
(ibs, aid_list, daid_list=None, assume_unique=False)[source]¶ Auto-docstr for ‘get_annot_otherimage_aids’
-
wbia.control.manual_annot_funcs.
get_annot_parent_aid
(ibs, aid_list)[source]¶ Returns: a list of parent (in terms of parts) annotation rowids. Return type: list_ (list)
-
wbia.control.manual_annot_funcs.
get_annot_part_rowids
(ibs, aid_list, is_staged=False)[source]¶ Returns: a list of part rowids for each image by aid
Return type: list_ (list)
Parameters: - ibs (IBEISController) – wbia controller object
- aid_list (list) –
Returns: part_rowids_list
Return type: - RESTful:
- Method: GET URL: /api/annot/part/rowid/
-
wbia.control.manual_annot_funcs.
get_annot_probchip_fpath
(ibs, aid_list, config2_=None)[source]¶ Returns paths to probability images.
Parameters: - ibs (IBEISController) – wbia controller object
- aid_list (list) – list of annotation rowids
- config2 (dict) – (default = None)
Returns: probchip_fpath_list
Return type: - CommandLine:
- python -m wbia.control.manual_annot_funcs –exec-get_annot_probchip_fpath –show
Example
>>> # DISABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb(defaultdb='PZ_MTEST') >>> aid_list = ibs.get_valid_aids()[0:10] >>> config2_ = {'fw_detector': 'cnn'} >>> probchip_fpath_list = get_annot_probchip_fpath(ibs, aid_list, config2_) >>> result = ('probchip_fpath_list = %s' % (str(probchip_fpath_list),)) >>> print(result) >>> ut.quit_if_noshow() >>> import wbia.plottool as pt >>> iteract_obj = pt.interact_multi_image.MultiImageInteraction(probchip_fpath_list, nPerPage=4) >>> iteract_obj.start() >>> ut.show_if_requested()
-
wbia.control.manual_annot_funcs.
get_annot_qualities
(ibs, aid_list, eager=True)[source]¶ annot_quality_list <- annot.annot_quality[aid_list]
gets data from the “native” column “annot_quality” in the “annot” table
Parameters: aid_list (list) – Returns: annot_quality_list Return type: list - TemplateInfo:
- Tgetter_table_column col = annot_quality tbl = annot
- SeeAlso:
- wbia.const.QUALITY_INT_TO_TEXT
- RESTful:
- Method: GET URL: /api/annot/quality/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> ibs, qreq_ = testdata_ibs() >>> aid_list = ibs._get_all_aids() >>> eager = True >>> annot_quality_list = ibs.get_annot_qualities(aid_list, eager=eager) >>> print('annot_quality_list = %r' % (annot_quality_list,)) >>> assert len(aid_list) == len(annot_quality_list)
-
wbia.control.manual_annot_funcs.
get_annot_quality_texts
(ibs, aid_list)[source]¶ Auto-docstr for ‘get_annot_quality_texts’
- RESTful:
- Method: GET URL: /api/annot/quality/text/
-
wbia.control.manual_annot_funcs.
get_annot_reviewed
(ibs, aid_list)[source]¶ Returns: “All Instances Found” flag, true if all objects of interest Return type: list_ (list) (animals) have an ANNOTATION in the annot
- RESTful:
- Method: GET URL: /api/annot/reviewed/
-
wbia.control.manual_annot_funcs.
get_annot_rotated_verts
(ibs, aid_list)[source]¶ Returns: verticies after rotation by theta. Return type: rotated_vert_list (list) - RESTful:
- Method: GET URL: /api/annot/vert/rotated/
-
wbia.control.manual_annot_funcs.
get_annot_rowids_from_partial_vuuids
(ibs, partial_vuuid_strs)[source]¶ Parameters: - ibs (IBEISController) – wbia controller object
- partial_uuid_list (list) –
- CommandLine:
- python -m wbia.control.manual_annot_funcs –test-get_annots_from_partial_uuids
Example
>>> # DISABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> aid_list = ibs.get_valid_aids()[::2] >>> vuuids = ibs.get_annot_visual_uuids(aid_list) >>> partial_vuuid_strs = [u[0:4] for u in map(str, vuuids)] >>> aids_list = get_annot_rowids_from_partial_vuuids(ibs, partial_uuid_list) >>> print(result) [[1], [3], [5], [7], [9], [11], [13]]
-
wbia.control.manual_annot_funcs.
get_annot_rowids_from_visual_uuid
(ibs, visual_uuid_list)¶ Parameters: visual_uuid_list (list) – Returns: annot rowids Return type: list
-
wbia.control.manual_annot_funcs.
get_annot_rows
(ibs, aid_list)[source]¶ Auto-docstr for ‘get_annot_rows’
-
wbia.control.manual_annot_funcs.
get_annot_semantic_uuid_info
(ibs, aid_list, _visual_infotup=None)[source]¶ Semenatic uuids are made up of visual and semantic information. Semantic information is name, species, yaw. Visual info is image uuid, verts, and theta
Parameters: Returns: semantic_infotup (image_uuid_list, verts_list, theta_list, yaw_list, name_list, species_list)
Return type: - CommandLine:
- python -m wbia.control.manual_annot_funcs –test-get_annot_semantic_uuid_info
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> aid_list = ibs.get_valid_aids()[0:2] >>> semantic_infotup = ibs.get_annot_semantic_uuid_info(aid_list) >>> result = ut.repr2(list(zip(*semantic_infotup))[1]) >>> print(result) (UUID('d8903434-942f-e0f5-d6c2-0dcbe3137bf7'), ((0, 0), (1035, 0), (1035, 576), (0, 576)), 0.0, 'left', 'easy', 'zebra_plains')
-
wbia.control.manual_annot_funcs.
get_annot_semantic_uuids
(ibs, aid_list)[source]¶ annot_semantic_uuid_list <- annot.annot_semantic_uuid[aid_list]
gets data from the “native” column “annot_semantic_uuid” in the “annot” table
Parameters: aid_list (list) – Returns: annot_semantic_uuid_list Return type: list - CommandLine:
- python -m wbia.control.manual_annot_funcs –test-get_annot_semantic_uuids
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> ibs, qreq_ = testdata_ibs() >>> aid_list = ibs._get_all_aids()[0:1] >>> annot_semantic_uuid_list = ibs.get_annot_semantic_uuids(aid_list) >>> assert len(aid_list) == len(annot_semantic_uuid_list) >>> print(annot_semantic_uuid_list) [UUID('9acc1a8e-b35f-11b5-f844-9e8fd5dd7ad9')]
-
wbia.control.manual_annot_funcs.
get_annot_sex
(ibs, aid_list, eager=True, nInput=None)[source]¶ Auto-docstr for ‘get_annot_sex’
- RESTful:
- Method: GET URL: /api/annot/sex/
-
wbia.control.manual_annot_funcs.
get_annot_sex_texts
(ibs, aid_list, eager=True, nInput=None)[source]¶ Auto-docstr for ‘get_annot_sex_texts’
- RESTful:
- Method: GET URL: /api/annot/sex/text/
-
wbia.control.manual_annot_funcs.
get_annot_species
(ibs, aid_list)[source]¶ alias
- RESTful:
- Method: GET URL: /api/annot/species/
-
wbia.control.manual_annot_funcs.
get_annot_species_rowids
(ibs, aid_list)[source]¶ species_rowid_list <- annot.species_rowid[aid_list]
gets data from the “native” column “species_rowid” in the “annot” table
Parameters: aid_list (list) – Returns: species_rowid_list Return type: list - RESTful:
- Method: GET URL: /api/annot/species/rowid/
-
wbia.control.manual_annot_funcs.
get_annot_species_texts
(ibs, aid_list)[source]¶ Parameters: aid_list (list) – Returns: species_list - a list of strings [‘plains_zebra’, ‘grevys_zebra’, …] for each annotation identifying the species Return type: list - CommandLine:
- python -m wbia.control.manual_annot_funcs –test-get_annot_species_texts
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> aid_list = ibs.get_valid_aids()[1::3] >>> result = ut.repr2(get_annot_species_texts(ibs, aid_list), nl=False) >>> print(result) ['zebra_plains', 'zebra_plains', '____', 'bear_polar']
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('PZ_MTEST') >>> aid_list = ibs.get_valid_aids() >>> species_list = get_annot_species_texts(ibs, aid_list) >>> result = ut.repr2(list(set(species_list)), nl=False) >>> print(result) ['zebra_plains']
- RESTful:
- Method: GET URL: /api/annot/species/text/
-
wbia.control.manual_annot_funcs.
get_annot_species_uuids
(ibs, aid_list)[source]¶ species_rowid_list <- annot.species_rowid[aid_list]
Parameters: aid_list (list) – Returns: species_uuid_list Return type: list - RESTful:
- Method: GET URL: /api/annot/species/uuid/
-
wbia.control.manual_annot_funcs.
get_annot_staged_flags
(ibs, aid_list)[source]¶ returns if an annotation is staged
Parameters: - ibs (IBEISController) – wbia controller object
- aid_list (int) – list of annotation ids
Returns: annot_staged_flag_list - True if annotation is staged
Return type: - CommandLine:
- python -m wbia.control.manual_annot_funcs –test-get_annot_staged_flags
- RESTful:
- Method: GET URL: /api/annot/staged/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> aid_list = ibs.get_valid_aids() >>> gid_list = get_annot_staged_flags(ibs, aid_list) >>> result = str(gid_list) >>> print(result)
-
wbia.control.manual_annot_funcs.
get_annot_staged_metadata
(ibs, aid_list, return_raw=False)[source]¶ Returns: annot metadata dictionary Return type: list_ (list) - RESTful:
- Method: GET URL: /api/annot/staged/metadata/
-
wbia.control.manual_annot_funcs.
get_annot_staged_user_ids
(ibs, aid_list)[source]¶ returns if an annotation is staged
Parameters: - ibs (IBEISController) – wbia controller object
- aid_list (int) – list of annotation ids
Returns: annot_staged_user_id_list - True if annotation is staged
Return type: - CommandLine:
- python -m wbia.control.manual_annot_funcs –test-get_annot_staged_user_ids
- RESTful:
- Method: GET URL: /api/annot/staged/user/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> aid_list = ibs.get_valid_aids() >>> gid_list = get_annot_staged_user_ids(ibs, aid_list) >>> result = str(gid_list) >>> print(result)
-
wbia.control.manual_annot_funcs.
get_annot_staged_uuids
(ibs, aid_list)[source]¶ Returns: annot_uuid_list a list of image uuids by aid Return type: list - RESTful:
- Method: GET URL: /api/annot/staged/uuid/
-
wbia.control.manual_annot_funcs.
get_annot_tag_text
(ibs, aid_list, eager=True, nInput=None)[source]¶ annot_tags_list <- annot.annot_tags[aid_list]
gets data from the “native” column “annot_tags” in the “annot” table
Parameters: aid_list (list) – Returns: annot_tags_list Return type: list Example
>>> # DISABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> ibs, config2_ = testdata_ibs() >>> aid_list = ibs._get_all_aids() >>> eager = True >>> annot_tags_list = ibs.get_annot_tag_text(aid_list, eager=eager) >>> assert len(aid_list) == len(annot_tags_list)
-
wbia.control.manual_annot_funcs.
get_annot_thetas
(ibs, aid_list)[source]¶ Returns: a list of floats describing the angles of each chip Return type: theta_list (list) - CommandLine:
- python -m wbia.control.manual_annot_funcs –test-get_annot_thetas
- RESTful:
- Method: GET URL: /api/annot/theta/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('NAUT_test') >>> aid_list = ibs.get_valid_aids() >>> result = get_annot_thetas(ibs, aid_list) >>> print(result) [2.75742, 0.792917, 2.53605, 2.67795, 0.946773, 2.56729]
-
wbia.control.manual_annot_funcs.
get_annot_uuids
(ibs, aid_list)[source]¶ Returns: annot_uuid_list a list of image uuids by aid Return type: list - RESTful:
- Method: GET URL: /api/annot/uuid/
-
wbia.control.manual_annot_funcs.
get_annot_verts
(ibs, aid_list)[source]¶ Returns: the vertices that form the polygon of each chip Return type: vert_list (list) - RESTful:
- Method: GET URL: /api/annot/vert/
-
wbia.control.manual_annot_funcs.
get_annot_viewpoint_code
(ibs, aids)[source]¶ - Doctest:
>>> from wbia.control.manual_annot_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> aid_list = ibs.get_valid_aids()[::3] >>> result = get_annot_viewpoint_code(ibs, aid_list) >>> print(result) ['left', 'left', 'unknown', 'left', 'unknown']
-
wbia.control.manual_annot_funcs.
get_annot_viewpoints
(ibs, aid_list, assume_unique=False)[source]¶ Returns: the viewpoint for the annotation Return type: viewpoint_text (list) - RESTful:
- Method: GET URL: /api/annot/viewpoint/
-
wbia.control.manual_annot_funcs.
get_annot_visual_uuid_info
(ibs, aid_list)[source]¶ Returns information used to compute annotation UUID. The image uuid, annotation verticies, are theta is hashted together to
compute the visual uuid.The visual uuid does not include name or species information.
get_annot_visual_uuid_info
Parameters: aid_list (list) – Returns: visual_infotup (image_uuid_list, verts_list, theta_list) Return type: tuple - SeeAlso:
- get_annot_visual_uuids get_annot_semantic_uuid_info
- CommandLine:
- python -m wbia.control.manual_annot_funcs –test-get_annot_visual_uuid_info
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> aid_list = ibs.get_valid_aids()[0:2] >>> visual_infotup = ibs.get_annot_visual_uuid_info(aid_list) >>> result = str(list(zip(*visual_infotup))[0]) >>> print(result) (UUID('66ec193a-1619-b3b6-216d-1784b4833b61'), ((0, 0), (1047, 0), (1047, 715), (0, 715)), 0.0)
-
wbia.control.manual_annot_funcs.
get_annot_visual_uuids
(ibs, aid_list)[source]¶ The image uuid, annotation verticies, are theta is hashted together to compute the visual uuid. The visual uuid does not include name or species information.
annot_visual_uuid_list <- annot.annot_visual_uuid[aid_list]
gets data from the “native” column “annot_visual_uuid” in the “annot” table
Parameters: aid_list (list) – Returns: annot_visual_uuid_list Return type: list - CommandLine:
- python -m wbia.control.manual_annot_funcs –test-get_annot_visual_uuids
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> ibs, qreq_ = testdata_ibs() >>> aid_list = ibs._get_all_aids()[0:1] >>> annot_visual_uuid_list = ibs.get_annot_visual_uuids(aid_list) >>> assert len(aid_list) == len(annot_visual_uuid_list) >>> print(annot_visual_uuid_list) [UUID('8687dcb6-1f1f-fdd3-8b72-8f36f9f41905')]
[UUID(‘76de0416-7c92-e1b3-4a17-25df32e9c2b4’)]
-
wbia.control.manual_annot_funcs.
get_annot_yaw_texts
(ibs, aid_list, assume_unique=False)[source]¶ Auto-docstr for ‘get_annot_yaw_texts’
DEPRICATE
- RESTful:
- Method: GET URL: /api/annot/yaw/text/
-
wbia.control.manual_annot_funcs.
get_annot_yaws
(ibs, aid_list, assume_unique=False)[source]¶ A yaw is the yaw of the annotation in radians yaw is inverted. Will be fixed soon.
DEPRICATE
- The following views have these angles of yaw:
left side - 0.50 tau radians front side - 0.25 tau radians right side - 0.00 tau radians back side - 0.75 tau radians
tau = 2 * pi
- SeeAlso:
- wbia.const.VIEWTEXT_TO_YAW_RADIANS
Returns: the yaw (in radians) for the annotation Return type: yaw_list (list) - CommandLine:
- python -m wbia.control.manual_annot_funcs –test-get_annot_yaws
- RESTful:
- Method: GET URL: /api/annot/yaw/
Example
>>> # DISABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> aid_list = ibs.get_valid_aids()[::3] >>> result = get_annot_yaws(ibs, aid_list) >>> print(result) [3.141592653589793, 3.141592653589793, None, 3.141592653589793, None]
-
wbia.control.manual_annot_funcs.
get_annot_yaws_asfloat
(ibs, aid_list)[source]¶ Ensures that Nones are returned as nans
DEPRICATE
-
wbia.control.manual_annot_funcs.
get_num_annotations
(ibs, **kwargs)[source]¶ Number of valid annotations
-
wbia.control.manual_annot_funcs.
get_valid_aids
(ibs, imgsetid=None, include_only_gid_list=None, yaw='no-filter', is_exemplar=None, is_staged=False, species=None, is_known=None, hasgt=None, minqual=None, has_timestamp=None, min_timedelta=None)[source]¶ High level function for getting all annotation ids according a set of filters.
- Note: The yaw value cannot be None as a default because None is used as a
- filtering value
Parameters: - ibs (IBEISController) – wbia controller object
- imgsetid (int) – imageset id (default = None)
- include_only_gid_list (list) – if specified filters annots not in these gids (default = None)
- yaw (str) – (default = ‘no-filter’)
- is_exemplar (bool) – if specified filters annots to either be or not be exemplars (default = None)
- species (str) – (default = None)
- is_known (bool) – (default = None)
- min_timedelta (int) – minimum timedelta between annots of known individuals
- hasgt (bool) – (default = None)
Returns: aid_list - a list of valid ANNOTATION unique ids
Return type: - CommandLine:
- python -m wbia.control.manual_annot_funcs –test-get_valid_aids
- Ignore:
- ibs.print_annotation_table()
- RESTful:
- Method: GET URL: /api/annot/
Example
>>> # FIXME failing-test (22-Jul-2020) This test is failing and it's not clear how to fix it >>> # xdoctest: +SKIP >>> from wbia.control.manual_annot_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> ut.exec_funckw(get_valid_aids, globals()) >>> imgsetid = 1 >>> yaw = 'no-filter' >>> species = ibs.const.TEST_SPECIES.ZEB_PLAIN >>> is_known = False >>> ibs.delete_all_imagesets() >>> ibs.compute_occurrences(config={'use_gps': False, 'seconds_thresh': 600}) >>> aid_list = get_valid_aids(ibs, imgsetid=imgsetid, species=species, is_known=is_known) >>> ut.assert_eq(ibs.get_annot_names(aid_list), [ibs.const.UNKNOWN] * 2, 'bad name') >>> ut.assert_eq(ibs.get_annot_species(aid_list), [species] * 2, 'bad species') >>> ut.assert_eq(ibs.get_annot_exemplar_flags(aid_list), [False] * 2, 'bad exemplar') >>> result = str(aid_list) >>> print(result)
[1, 4]
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> aid_list1 = get_valid_aids(ibs, is_exemplar=True) >>> aid_list2 = get_valid_aids(ibs, is_exemplar=False) >>> intersect_aids = set(aid_list1).intersection(aid_list2) >>> ut.assert_eq(len(aid_list1), 9) >>> ut.assert_eq(len(aid_list2), 4) >>> ut.assert_eq(len(intersect_aids), 0)
- Ignore:
import utool as ut setup = ut.codeblock(
‘’’ import wbia ibs = wbia.opendb(‘PZ_Master1’) ‘’’) stmt_list = [
- ut.codeblock(
- ‘’’ ibs.db.get_all_rowids_where(ibs.const.ANNOTATION_TABLE, wbia.control.DB_SCHEMA.ANNOT_PARENT_ROWID + ” IS NULL”, tuple()) ‘’’),
- ut.codeblock(
- ‘’’ ibs.db.get_all_rowids(ibs.const.ANNOTATION_TABLE) ‘’’),
] iterations = 100 verbose = True _ = ut.timeit_compare(stmt_list, setup=setup, iterations=iterations, verbose=verbose)
-
wbia.control.manual_annot_funcs.
get_valid_annot_uuids
(ibs)[source]¶ Returns: annot_uuid_list a list of image uuids for all valid aids Return type: list
-
wbia.control.manual_annot_funcs.
set_annot_age_months_est_max
(ibs, aid_list, annot_age_months_est_max_list, duplicate_behavior='error')[source]¶ annot_age_months_est_max_list -> annot.annot_age_months_est_max[aid_list]
Parameters: - aid_list –
- annot_age_months_est_max_list –
- TemplateInfo:
- Tsetter_native_column tbl = annot col = annot_age_months_est_max
- RESTful:
- Method: PUT URL: /api/annot/age/months/max/
-
wbia.control.manual_annot_funcs.
set_annot_age_months_est_min
(ibs, aid_list, annot_age_months_est_min_list, duplicate_behavior='error')[source]¶ annot_age_months_est_min_list -> annot.annot_age_months_est_min[aid_list]
Parameters: - aid_list –
- annot_age_months_est_min_list –
- TemplateInfo:
- Tsetter_native_column tbl = annot col = annot_age_months_est_min
- RESTful:
- Method: PUT URL: /api/annot/age/months/min/
-
wbia.control.manual_annot_funcs.
set_annot_bboxes
(ibs, aid_list, bbox_list, delete_thumbs=True, **kwargs)[source]¶ Sets bboxes of a list of annotations by aid,
Parameters: - aid_list (list of rowids) – list of annotation rowids
- bbox_list (list of (x, y, w, h)) – new bounding boxes for each aid
Note
set_annot_bboxes is a proxy for set_annot_verts
- RESTful:
- Method: PUT URL: /api/annot/bbox/
-
wbia.control.manual_annot_funcs.
set_annot_canonical
(ibs, aid_list, flag_list)[source]¶ Sets the annot all instances found bit
- RESTful:
- Method: PUT URL: /api/annot/canonical/
-
wbia.control.manual_annot_funcs.
set_annot_detect_confidence
(ibs, aid_list, confidence_list)[source]¶ Sets annotation notes
- RESTful:
- Method: PUT URL: /api/annot/detect/confidence/
-
wbia.control.manual_annot_funcs.
set_annot_exemplar_flags
(ibs, aid_list, flag_list)[source]¶ Sets if an annotation is an exemplar
- RESTful:
- Method: PUT URL: /api/annot/exemplar/
-
wbia.control.manual_annot_funcs.
set_annot_interest
(ibs, aid_list, flag_list, quiet_delete_thumbs=False, delete_thumbs=True)[source]¶ Sets the annot all instances found bit
- RESTful:
- Method: PUT URL: /api/annot/interest/
-
wbia.control.manual_annot_funcs.
set_annot_metadata
(ibs, aid_list, metadata_dict_list)[source]¶ Sets the annot’s metadata using a metadata dictionary
- RESTful:
- Method: PUT URL: /api/annot/metadata/
- CommandLine:
- python -m wbia.control.manual_annot_funcs –test-set_annot_metadata
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> import wbia >>> import random >>> # build test data >>> ibs = wbia.opendb('testdb1') >>> aid_list = ibs.get_valid_aids()[0:1] >>> metadata_dict_list = [ >>> {'test': random.uniform(0.0, 1.0)}, >>> ] >>> print(ut.repr2(metadata_dict_list)) >>> ibs.set_annot_metadata(aid_list, metadata_dict_list) >>> # verify results >>> metadata_dict_list_ = ibs.get_annot_metadata(aid_list) >>> print(ut.repr2(metadata_dict_list_)) >>> assert metadata_dict_list == metadata_dict_list_ >>> metadata_str_list = [ut.to_json(metadata_dict) for metadata_dict in metadata_dict_list] >>> print(ut.repr2(metadata_str_list)) >>> metadata_str_list_ = ibs.get_annot_metadata(aid_list, return_raw=True) >>> print(ut.repr2(metadata_str_list_)) >>> assert metadata_str_list == metadata_str_list_
-
wbia.control.manual_annot_funcs.
set_annot_multiple
(ibs, aid_list, flag_list)[source]¶ Sets the annot all instances found bit
- RESTful:
- Method: PUT URL: /api/annot/multiple/
-
wbia.control.manual_annot_funcs.
set_annot_name_rowids
(ibs, aid_list, name_rowid_list, notify_wildbook=True, assert_wildbook=False)[source]¶ name_rowid_list -> annot.name_rowid[aid_list]
Sets names/nids of a list of annotations.
Parameters: Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> aid_list = ibs.get_valid_aids()[0:2] >>> # check clean state >>> ut.assert_eq(ibs.get_annot_names(aid_list), ['____', 'easy']) >>> ut.assert_eq(ibs.get_annot_exemplar_flags(aid_list), [0, 1]) >>> # run function >>> name_list = ['easy', '____'] >>> name_rowid_list = ibs.get_name_rowids_from_text(name_list) >>> ibs.set_annot_name_rowids(aid_list, name_rowid_list) >>> # check results >>> ut.assert_eq(ibs.get_annot_names(aid_list), ['easy', '____']) >>> ut.assert_eq(ibs.get_annot_exemplar_flags(aid_list), [0, 0]) >>> # restore database state >>> ibs.set_annot_names(aid_list, ['____', 'easy']) >>> ibs.set_annot_exemplar_flags(aid_list, [0, 1]) >>> ut.assert_eq(ibs.get_annot_names(aid_list), ['____', 'easy']) >>> ut.assert_eq(ibs.get_annot_exemplar_flags(aid_list), [0, 1])
-
wbia.control.manual_annot_funcs.
set_annot_name_texts
(ibs, aid_list, name_list)[source]¶ alias
- RESTful:
- Method: GET URL: /api/annot/name/
-
wbia.control.manual_annot_funcs.
set_annot_names
(ibs, aid_list, name_list, **kwargs)[source]¶ Sets the attrlbl_value of type(INDIVIDUAL_KEY) Sets names/nids of a list of annotations.
- CommandLine:
- python -m wbia.control.manual_annot_funcs –test-set_annot_names –enableall
- RESTful:
- Method: PUT URL: /api/annot/name/
Example
>>> # DISABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> aid_list = ibs.get_valid_aids() >>> name_list1 = get_annot_names(ibs, aid_list) >>> name_list2 = [name + '_TESTAUG' for name in name_list1] >>> set_annot_names(ibs, aid_list, name_list2) >>> name_list3 = get_annot_names(ibs, aid_list) >>> set_annot_names(ibs, aid_list, name_list1) >>> name_list4 = get_annot_names(ibs, aid_list) >>> assert name_list2 == name_list3 >>> assert name_list4 == name_list1 >>> assert name_list4 != name_list2 >>> print(result)
-
wbia.control.manual_annot_funcs.
set_annot_notes
(ibs, aid_list, notes_list)[source]¶ Sets annotation notes
- RESTful:
- Method: PUT URL: /api/annot/note/
-
wbia.control.manual_annot_funcs.
set_annot_parent_rowid
(ibs, aid_list, parent_aid_list)[source]¶ Sets the annotation’s parent aid. TODO DEPRICATE IN FAVOR OF SEPARATE PARTS TABLE
- RESTful:
- Method: PUT URL: /api/annot/parent/rowid/
-
wbia.control.manual_annot_funcs.
set_annot_qualities
(ibs, aid_list, annot_quality_list)[source]¶ annot_quality_list -> annot.annot_quality[aid_list]
A quality is an integer representing the following types:
Parameters: - aid_list –
- annot_quality_list –
- SeeAlso:
- wbia.const.QUALITY_INT_TO_TEXT
- RESTful:
- Method: PUT URL: /api/annot/quality/
-
wbia.control.manual_annot_funcs.
set_annot_quality_texts
(ibs, aid_list, quality_text_list)[source]¶ Auto-docstr for ‘set_annot_quality_texts’
- RESTful:
- Method: PUT URL: /api/annot/quality/text/
-
wbia.control.manual_annot_funcs.
set_annot_reviewed
(ibs, aid_list, reviewed_list)[source]¶ Sets the annot all instances found bit
- RESTful:
- Method: PUT URL: /api/annot/reviewed/
-
wbia.control.manual_annot_funcs.
set_annot_sex
(ibs, aid_list, name_sex_list, eager=True, nInput=None)[source]¶ Auto-docstr for ‘set_annot_sex’
- RESTful:
- Method: PUT URL: /api/annot/sex/
-
wbia.control.manual_annot_funcs.
set_annot_sex_texts
(ibs, aid_list, name_sex_text_list, eager=True, nInput=None)[source]¶ Auto-docstr for ‘set_annot_sex_texts’
- RESTful:
- Method: PUT URL: /api/annot/sex/text/
-
wbia.control.manual_annot_funcs.
set_annot_species
(ibs, aid_list, species_text_list, **kwargs)[source]¶ Sets species/speciesids of a list of annotations. Convenience function for set_annot_lblannot_from_value
- RESTful:
- Method: PUT URL: /api/annot/species/
-
wbia.control.manual_annot_funcs.
set_annot_species_rowids
(ibs, aid_list, species_rowid_list)[source]¶ species_rowid_list -> annot.species_rowid[aid_list]
Sets species/speciesids of a list of annotations.
Parameters: - aid_list –
- species_rowid_list –
- RESTful:
- Method: PUT URL: /api/annot/species/rowid/
-
wbia.control.manual_annot_funcs.
set_annot_staged_metadata
(ibs, aid_list, metadata_dict_list)[source]¶ Sets the annot’s staged metadata using a metadata dictionary
- RESTful:
- Method: PUT URL: /api/annot/staged/metadata/
- CommandLine:
- python -m wbia.control.manual_annot_funcs –test-set_annot_metadata
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> import wbia >>> import random >>> # build test data >>> ibs = wbia.opendb('testdb1') >>> aid_list = ibs.get_valid_aids()[0:1] >>> metadata_dict_list = [ >>> {'test': random.uniform(0.0, 1.0)}, >>> ] >>> print(ut.repr2(metadata_dict_list)) >>> ibs.set_annot_metadata(aid_list, metadata_dict_list) >>> # verify results >>> metadata_dict_list_ = ibs.get_annot_metadata(aid_list) >>> print(ut.repr2(metadata_dict_list_)) >>> assert metadata_dict_list == metadata_dict_list_ >>> metadata_str_list = [ut.to_json(metadata_dict) for metadata_dict in metadata_dict_list] >>> print(ut.repr2(metadata_str_list)) >>> metadata_str_list_ = ibs.get_annot_metadata(aid_list, return_raw=True) >>> print(ut.repr2(metadata_str_list_)) >>> assert metadata_str_list == metadata_str_list_
-
wbia.control.manual_annot_funcs.
set_annot_staged_user_ids
(ibs, aid_list, user_id_list)[source]¶ Sets the staged annotation user id
- RESTful:
- Method: PUT URL: /api/annot/staged/user/
-
wbia.control.manual_annot_funcs.
set_annot_staged_uuids
(ibs, aid_list, annot_uuid_list)[source]¶ Returns: all nids of known animals (does not include unknown names) Return type: list_ (list)
-
wbia.control.manual_annot_funcs.
set_annot_tag_text
(ibs, aid_list, annot_tags_list, duplicate_behavior='error')[source]¶ annot_tags_list -> annot.annot_tags[aid_list]
Parameters: - aid_list –
- annot_tags_list –
-
wbia.control.manual_annot_funcs.
set_annot_thetas
(ibs, aid_list, theta_list, delete_thumbs=True, update_visual_uuids=True, notify_root=True)[source]¶ Sets thetas of a list of chips by aid
- RESTful:
- Method: PUT URL: /api/annot/theta/
-
wbia.control.manual_annot_funcs.
set_annot_verts
(ibs, aid_list, verts_list, theta_list=None, interest_list=None, canonical_list=None, delete_thumbs=True, update_visual_uuids=True, notify_root=True)[source]¶ Sets the vertices [(x, y), …] of a list of chips by aid
- RESTful:
- Method: PUT URL: /api/annot/vert/
-
wbia.control.manual_annot_funcs.
set_annot_viewpoint_code
(ibs, aids, view_codes, _code_update=True)[source]¶
-
wbia.control.manual_annot_funcs.
set_annot_viewpoint_int
(ibs, aids, view_ints, _code_update=True)[source]¶
-
wbia.control.manual_annot_funcs.
set_annot_viewpoints
(ibs, aid_list, viewpoint_list, purge_cache=True, only_allow_known=True, _yaw_update=False, _code_update=True)[source]¶ Sets the viewpoint of the annotation
- RESTful:
- Method: PUT URL: /api/annot/viewpoint/
-
wbia.control.manual_annot_funcs.
set_annot_yaw_texts
(ibs, aid_list, yaw_text_list)[source]¶ Auto-docstr for ‘set_annot_yaw_texts’
DEPRICATE
- RESTful:
- Method: PUT URL: /api/annot/yaw/text/
-
wbia.control.manual_annot_funcs.
set_annot_yaws
(ibs, aid_list, yaw_list, input_is_degrees=False)[source]¶ Sets the yaw of a list of chips by aid
DEPRICATE
A yaw is the yaw of the annotation in radians yaw is inverted. Will be fixed soon.
Note
- The following views have these angles of yaw:
- left side - 0.00 tau radians front side - 0.25 tau radians right side - 0.50 tau radians back side - 0.75 tau radians (tau = 2 * pi)
- SeeAlso:
- wbia.const.VIEWTEXT_TO_YAW_RADIANS
References
http://upload.wikimedia.org/wikipedia/commons/7/7e/Rollpitchyawplain.png
- RESTful:
- Method: PUT URL: /api/annot/yaw/
-
wbia.control.manual_annot_funcs.
update_annot_semantic_uuids
(ibs, aid_list, _visual_infotup=None)[source]¶ Ensures that annots have the proper semantic uuids
-
wbia.control.manual_annot_funcs.
update_annot_visual_uuids
(ibs, aid_list)[source]¶ Ensures that annots have the proper visual uuids
Parameters: - ibs (IBEISController) – wbia controller object
- aid_list (list) – list of annotation rowids
- CommandLine:
- python -m wbia.control.manual_annot_funcs update_annot_visual_uuids –db PZ_Master1 python -m wbia.control.manual_annot_funcs update_annot_visual_uuids python -m wbia update_annot_visual_uuids –db PZ_Master1 python -m wbia update_annot_visual_uuids –db PZ_Master0 python -m wbia update_annot_visual_uuids –db PZ_MTEST
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annot_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb(defaultdb='testdb1') >>> aid_list = ibs._get_all_aids()[0:1] >>> update_annot_visual_uuids(ibs, aid_list) >>> result = ibs.get_annot_visual_uuids(aid_list)[0] >>> print(result) 8687dcb6-1f1f-fdd3-8b72-8f36f9f41905
wbia.control.manual_annotgroup_funcs module¶
Autogenerated IBEISController functions
- TemplateInfo:
- autogen_time = 13:31:28 2015/04/28 autogen_key = annotgroup
- ToRegenerate:
- python -m wbia.templates.template_generator –key annotgroup –Tcfg with_web_api=True with_api_cache=False with_deleters=True no_extern_deleters=True –diff python -m wbia.templates.template_generator –key annotgroup –Tcfg with_web_api=True with_api_cache=False with_deleters=True no_extern_deleters=True –write
-
wbia.control.manual_annotgroup_funcs.
add_annotgroup
(ibs, annotgroup_uuid_list, annotgroup_text_list, annotgroup_note_list)[source]¶ Returns: returns annotgroup_rowid_list of added (or already existing annotgroups) - TemplateInfo:
- Tadder_native tbl = annotgroup
-
wbia.control.manual_annotgroup_funcs.
delete_annotgroup
(ibs, annotgroup_rowid_list, config2_=None)[source]¶ annotgroup.delete(annotgroup_rowid_list)
delete annotgroup rows
Parameters: annotgroup_rowid_list – Returns: num_deleted Return type: int - TemplateInfo:
- Tdeleter_native_tbl tbl = annotgroup
Example
>>> # DISABLE_DOCTEST >>> from wbia.control.manual_annotgroup_funcs import * # NOQA >>> ibs, config2_ = testdata_ibs() >>> annotgroup_rowid_list = ibs._get_all_annotgroup_rowids()[:2] >>> num_deleted = ibs.delete_annotgroup(annotgroup_rowid_list) >>> print('num_deleted = %r' % (num_deleted,))
-
wbia.control.manual_annotgroup_funcs.
get_annotgroup_gar_rowids
(ibs, annotgroup_rowid_list, eager=True, nInput=None)[source]¶ Auto-docstr for ‘get_annotgroup_gar_rowids’
- RESTful:
- Method: GET URL: /api/annotgroup/gar/rowids/
-
wbia.control.manual_annotgroup_funcs.
get_annotgroup_note
(ibs, annotgroup_rowid_list, eager=True, nInput=None)[source]¶ annotgroup_note_list <- annotgroup.annotgroup_note[annotgroup_rowid_list]
gets data from the “native” column “annotgroup_note” in the “annotgroup” table
Parameters: annotgroup_rowid_list (list) – Returns: annotgroup_note_list Return type: list - TemplateInfo:
- Tgetter_table_column col = annotgroup_note tbl = annotgroup
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annotgroup_funcs import * # NOQA >>> ibs, config2_ = testdata_ibs() >>> annotgroup_rowid_list = ibs._get_all_annotgroup_rowids() >>> eager = True >>> annotgroup_note_list = ibs.get_annotgroup_note(annotgroup_rowid_list, eager=eager) >>> assert len(annotgroup_rowid_list) == len(annotgroup_note_list)
-
wbia.control.manual_annotgroup_funcs.
get_annotgroup_rowid_from_superkey
(ibs, annotgroup_text_list, eager=True, nInput=None)[source]¶ annotgroup_rowid_list <- annotgroup[annotgroup_text_list]
Parameters: lists (superkey) – annotgroup_text_list Returns: annotgroup_rowid_list - TemplateInfo:
- Tgetter_native_rowid_from_superkey tbl = annotgroup
-
wbia.control.manual_annotgroup_funcs.
get_annotgroup_text
(ibs, annotgroup_rowid_list, eager=True, nInput=None)[source]¶ annotgroup_text_list <- annotgroup.annotgroup_text[annotgroup_rowid_list]
gets data from the “native” column “annotgroup_text” in the “annotgroup” table
Parameters: annotgroup_rowid_list (list) – Returns: annotgroup_text_list Return type: list - TemplateInfo:
- Tgetter_table_column col = annotgroup_text tbl = annotgroup
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annotgroup_funcs import * # NOQA >>> ibs, config2_ = testdata_ibs() >>> annotgroup_rowid_list = ibs._get_all_annotgroup_rowids() >>> eager = True >>> annotgroup_text_list = ibs.get_annotgroup_text(annotgroup_rowid_list, eager=eager) >>> assert len(annotgroup_rowid_list) == len(annotgroup_text_list)
-
wbia.control.manual_annotgroup_funcs.
get_annotgroup_uuid
(ibs, annotgroup_rowid_list, eager=True, nInput=None)[source]¶ annotgroup_uuid_list <- annotgroup.annotgroup_uuid[annotgroup_rowid_list]
gets data from the “native” column “annotgroup_uuid” in the “annotgroup” table
Parameters: annotgroup_rowid_list (list) – Returns: annotgroup_uuid_list Return type: list - TemplateInfo:
- Tgetter_table_column col = annotgroup_uuid tbl = annotgroup
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annotgroup_funcs import * # NOQA >>> ibs, config2_ = testdata_ibs() >>> annotgroup_rowid_list = ibs._get_all_annotgroup_rowids() >>> eager = True >>> annotgroup_uuid_list = ibs.get_annotgroup_uuid(annotgroup_rowid_list, eager=eager) >>> assert len(annotgroup_rowid_list) == len(annotgroup_uuid_list)
-
wbia.control.manual_annotgroup_funcs.
set_annotgroup_note
(ibs, annotgroup_rowid_list, annotgroup_note_list, duplicate_behavior='error')[source]¶ annotgroup_note_list -> annotgroup.annotgroup_note[annotgroup_rowid_list]
Parameters: - annotgroup_rowid_list –
- annotgroup_note_list –
- TemplateInfo:
- Tsetter_native_column tbl = annotgroup col = annotgroup_note
-
wbia.control.manual_annotgroup_funcs.
set_annotgroup_uuid
(ibs, annotgroup_rowid_list, annotgroup_uuid_list, duplicate_behavior='error')[source]¶ annotgroup_uuid_list -> annotgroup.annotgroup_uuid[annotgroup_rowid_list]
Parameters: - annotgroup_rowid_list –
- annotgroup_uuid_list –
- TemplateInfo:
- Tsetter_native_column tbl = annotgroup col = annotgroup_uuid
wbia.control.manual_annotmatch_funcs module¶
Autogenerated IBEISController functions
- TemplateInfo:
- autogen_time = 11:34:25 2016/01/05 autogen_key = annotmatch
- ToRegenerate:
- python -m wbia.templates.template_generator –key annotmatch –Tcfg with_web_api=False with_api_cache=False with_deleters=True no_extern_deleters=True –diff python -m wbia.templates.template_generator –key annotmatch –Tcfg with_web_api=False with_api_cache=False with_deleters=True no_extern_deleters=True –write
-
wbia.control.manual_annotmatch_funcs.
add_annotmatch
(ibs, aid1_list, aid2_list, annotmatch_evidence_decision_list=None, annotmatch_meta_decision_list=None, annotmatch_confidence_list=None, annotmatch_tag_text_list=None, annotmatch_reviewer_list=None, annotmatch_posixtime_modified_list=None, anotmatch_count_list=None)[source]¶ Returns: returns annotmatch_rowid_list of added (or already existing annotmatchs) - TemplateInfo:
- Tadder_native tbl = annotmatch
-
wbia.control.manual_annotmatch_funcs.
delete_annotmatch
(ibs, annotmatch_rowid_list)[source]¶ annotmatch.delete(annotmatch_rowid_list)
delete annotmatch rows
Parameters: annotmatch_rowid_list – Returns: num_deleted Return type: int - TemplateInfo:
- Tdeleter_native_tbl tbl = annotmatch
Example
>>> # DISABLE_DOCTEST >>> from wbia.control.manual_annotmatch_funcs import * # NOQA >>> ibs, config2_ = testdata_annotmatch() >>> annotmatch_rowid_list = ibs._get_all_annotmatch_rowids()[:2] >>> num_deleted = ibs.delete_annotmatch(annotmatch_rowid_list) >>> print('num_deleted = %r' % (num_deleted,))
-
wbia.control.manual_annotmatch_funcs.
get_annotmatch_aid1
(ibs, annotmatch_rowid_list, eager=True, nInput=None)[source]¶ aid1_list <- annotmatch.aid1[annotmatch_rowid_list]
gets data from the “native” column “aid1” in the “annotmatch” table
Parameters: annotmatch_rowid_list (list) – Returns: aid1_list Return type: list - TemplateInfo:
- Tgetter_table_column col = aid1 tbl = annotmatch
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annotmatch_funcs import * # NOQA >>> ibs, config2_ = testdata_annotmatch() >>> annotmatch_rowid_list = ibs._get_all_annotmatch_rowids() >>> eager = True >>> aid1_list = ibs.get_annotmatch_aid1(annotmatch_rowid_list, eager=eager) >>> assert len(annotmatch_rowid_list) == len(aid1_list)
-
wbia.control.manual_annotmatch_funcs.
get_annotmatch_aid2
(ibs, annotmatch_rowid_list, eager=True, nInput=None)[source]¶ aid2_list <- annotmatch.aid2[annotmatch_rowid_list]
gets data from the “native” column “aid2” in the “annotmatch” table
Parameters: annotmatch_rowid_list (list) – Returns: aid2_list Return type: list - TemplateInfo:
- Tgetter_table_column col = aid2 tbl = annotmatch
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annotmatch_funcs import * # NOQA >>> ibs, config2_ = testdata_annotmatch() >>> annotmatch_rowid_list = ibs._get_all_annotmatch_rowids() >>> eager = True >>> aid2_list = ibs.get_annotmatch_aid2(annotmatch_rowid_list, eager=eager) >>> assert len(annotmatch_rowid_list) == len(aid2_list)
-
wbia.control.manual_annotmatch_funcs.
get_annotmatch_confidence
(ibs, annotmatch_rowid_list, eager=True, nInput=None)[source]¶ annotmatch_confidence_list <- annotmatch.annotmatch_confidence[annotmatch_rowid_list]
gets data from the “native” column “annotmatch_confidence” in the “annotmatch” table
Parameters: annotmatch_rowid_list (list) – Returns: annotmatch_confidence_list Return type: list - TemplateInfo:
- Tgetter_table_column col = annotmatch_confidence tbl = annotmatch
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annotmatch_funcs import * # NOQA >>> ibs, config2_ = testdata_annotmatch() >>> annotmatch_rowid_list = ibs._get_all_annotmatch_rowids() >>> eager = True >>> annotmatch_confidence_list = ibs.get_annotmatch_confidence(annotmatch_rowid_list, eager=eager) >>> assert len(annotmatch_rowid_list) == len(annotmatch_confidence_list)
-
wbia.control.manual_annotmatch_funcs.
get_annotmatch_count
(ibs, annotmatch_rowid_list, eager=True, nInput=None)[source]¶
-
wbia.control.manual_annotmatch_funcs.
get_annotmatch_evidence_decision
(ibs, annotmatch_rowid_list, eager=True, nInput=None)[source]¶ gets data from the “native” column “annotmatch_evidence_decision” in the “annotmatch” table
Parameters: annotmatch_rowid_list (list) – Returns: annotmatch_evidence_decision_list Return type: list - TemplateInfo:
- Tgetter_table_column col = annotmatch_evidence_decision tbl = annotmatch
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annotmatch_funcs import * # NOQA >>> ibs, config2_ = testdata_annotmatch() >>> annotmatch_rowid_list = ibs._get_all_annotmatch_rowids() >>> eager = True >>> decisions = ibs.get_annotmatch_evidence_decision(annotmatch_rowid_list, eager=eager) >>> assert len(annotmatch_rowid_list) == len(decisions)
-
wbia.control.manual_annotmatch_funcs.
get_annotmatch_meta_decision
(ibs, annotmatch_rowid_list, eager=True, nInput=None)[source]¶
-
wbia.control.manual_annotmatch_funcs.
get_annotmatch_posixtime_modified
(ibs, annotmatch_rowid_list, eager=True, nInput=None)[source]¶ annotmatch_posixtime_modified_list <- annotmatch.annotmatch_posixtime_modified[annotmatch_rowid_list]
gets data from the “native” column “annotmatch_posixtime_modified” in the “annotmatch” table
Parameters: annotmatch_rowid_list (list) – Returns: annotmatch_posixtime_modified_list Return type: list - TemplateInfo:
- Tgetter_table_column col = annotmatch_posixtime_modified tbl = annotmatch
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annotmatch_funcs import * # NOQA >>> ibs, config2_ = testdata_annotmatch() >>> annotmatch_rowid_list = ibs._get_all_annotmatch_rowids() >>> eager = True >>> annotmatch_posixtime_modified_list = ibs.get_annotmatch_posixtime_modified(annotmatch_rowid_list, eager=eager) >>> assert len(annotmatch_rowid_list) == len(annotmatch_posixtime_modified_list)
-
wbia.control.manual_annotmatch_funcs.
get_annotmatch_reviewer
(ibs, annotmatch_rowid_list, eager=True, nInput=None)[source]¶ annotmatch_reviewer_list <- annotmatch.annotmatch_reviewer[annotmatch_rowid_list]
gets data from the “native” column “annotmatch_reviewer” in the “annotmatch” table
Parameters: annotmatch_rowid_list (list) – Returns: annotmatch_reviewer_list Return type: list - TemplateInfo:
- Tgetter_table_column col = annotmatch_reviewer tbl = annotmatch
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annotmatch_funcs import * # NOQA >>> ibs, config2_ = testdata_annotmatch() >>> annotmatch_rowid_list = ibs._get_all_annotmatch_rowids() >>> eager = True >>> annotmatch_reviewer_list = ibs.get_annotmatch_reviewer(annotmatch_rowid_list, eager=eager) >>> assert len(annotmatch_rowid_list) == len(annotmatch_reviewer_list)
-
wbia.control.manual_annotmatch_funcs.
get_annotmatch_rowid
(ibs, annotmatch_rowid_list, eager=True, nInput=None)[source]¶ annotmatch_rowid_list <- annotmatch.annotmatch_rowid[annotmatch_rowid_list]
gets data from the “native” column “annotmatch_rowid” in the “annotmatch” table
Parameters: annotmatch_rowid_list (list) – Returns: annotmatch_rowid_list Return type: list - TemplateInfo:
- Tgetter_table_column col = annotmatch_rowid tbl = annotmatch
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annotmatch_funcs import * # NOQA >>> ibs, config2_ = testdata_annotmatch() >>> annotmatch_rowid_list = ibs._get_all_annotmatch_rowids() >>> eager = True >>> annotmatch_rowid_list = ibs.get_annotmatch_rowid(annotmatch_rowid_list, eager=eager) >>> assert len(annotmatch_rowid_list) == len(annotmatch_rowid_list)
-
wbia.control.manual_annotmatch_funcs.
get_annotmatch_rowid_from_superkey
(ibs, aid1_list, aid2_list, eager=True, nInput=None)[source]¶ annotmatch_rowid_list <- annotmatch[aid1_list, aid2_list]
Parameters: lists (superkey) – aid1_list, aid2_list Returns: annotmatch_rowid_list - TemplateInfo:
- Tgetter_native_rowid_from_superkey tbl = annotmatch
-
wbia.control.manual_annotmatch_funcs.
get_annotmatch_tag_text
(ibs, annotmatch_rowid_list, eager=True, nInput=None)[source]¶ annotmatch_tag_text_list <- annotmatch.annotmatch_tag_text[annotmatch_rowid_list]
gets data from the “native” column “annotmatch_tag_text” in the “annotmatch” table
Parameters: annotmatch_rowid_list (list) – Returns: annotmatch_tag_text_list Return type: list - TemplateInfo:
- Tgetter_table_column col = annotmatch_tag_text tbl = annotmatch
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_annotmatch_funcs import * # NOQA >>> ibs, config2_ = testdata_annotmatch() >>> annotmatch_rowid_list = ibs._get_all_annotmatch_rowids() >>> eager = True >>> annotmatch_tag_text_list = ibs.get_annotmatch_tag_text(annotmatch_rowid_list, eager=eager) >>> assert len(annotmatch_rowid_list) == len(annotmatch_tag_text_list)
-
wbia.control.manual_annotmatch_funcs.
set_annotmatch_confidence
(ibs, annotmatch_rowid_list, annotmatch_confidence_list, duplicate_behavior='error')[source]¶ annotmatch_confidence_list -> annotmatch.annotmatch_confidence[annotmatch_rowid_list]
Parameters: - annotmatch_rowid_list –
- annotmatch_confidence_list –
- TemplateInfo:
- Tsetter_native_column tbl = annotmatch col = annotmatch_confidence
-
wbia.control.manual_annotmatch_funcs.
set_annotmatch_count
(ibs, annotmatch_rowid_list, annotmatch_count_list, duplicate_behavior='error')[source]¶
-
wbia.control.manual_annotmatch_funcs.
set_annotmatch_evidence_decision
(ibs, annotmatch_rowid_list, annotmatch_evidence_decision_list, duplicate_behavior='error')[source]¶
-
wbia.control.manual_annotmatch_funcs.
set_annotmatch_meta_decision
(ibs, annotmatch_rowid_list, annotmatch_meta_decision_list, duplicate_behavior='error')[source]¶
-
wbia.control.manual_annotmatch_funcs.
set_annotmatch_posixtime_modified
(ibs, annotmatch_rowid_list, annotmatch_posixtime_modified_list, duplicate_behavior='error')[source]¶ annotmatch_posixtime_modified_list -> annotmatch.annotmatch_posixtime_modified[annotmatch_rowid_list]
Parameters: - annotmatch_rowid_list –
- annotmatch_posixtime_modified_list –
- TemplateInfo:
- Tsetter_native_column tbl = annotmatch col = annotmatch_posixtime_modified
-
wbia.control.manual_annotmatch_funcs.
set_annotmatch_reviewer
(ibs, annotmatch_rowid_list, annotmatch_reviewer_list, duplicate_behavior='error')[source]¶ annotmatch_reviewer_list -> annotmatch.annotmatch_reviewer[annotmatch_rowid_list]
Parameters: - annotmatch_rowid_list –
- annotmatch_reviewer_list –
- TemplateInfo:
- Tsetter_native_column tbl = annotmatch col = annotmatch_reviewer
-
wbia.control.manual_annotmatch_funcs.
set_annotmatch_tag_text
(ibs, annotmatch_rowid_list, annotmatch_tag_text_list, duplicate_behavior='error')[source]¶ annotmatch_tag_text_list -> annotmatch.annotmatch_tag_text[annotmatch_rowid_list]
Parameters: - annotmatch_rowid_list –
- annotmatch_tag_text_list –
- TemplateInfo:
- Tsetter_native_column tbl = annotmatch col = annotmatch_tag_text
wbia.control.manual_chip_funcs module¶
-
wbia.control.manual_chip_funcs.
delete_annot_chips
(ibs, aid_list, config2_=None, fallback=True)[source]¶ Clears annotation data (does not remove the annotation)
- RESTful:
- Method: DELETE URL: /api/chip/
-
wbia.control.manual_chip_funcs.
delete_part_chips
(ibs, part_rowid_list, config2_=None)[source]¶ Clears part data
- RESTful:
- Method: DELETE URL: /api/pchip/
-
wbia.control.manual_chip_funcs.
get_annot_chip_dlensqrd
(ibs, aid_list, config2_=None)[source]¶ Parameters: - ibs (IBEISController) – wbia controller object
- aid_list (list) –
Returns: topx2_dlen_sqrd
Return type: - CommandLine:
- python -m wbia.control.manual_chip_funcs get_annot_chip_dlensqrd
- RESTful:
- Method: GET URL: /api/chip/dlensqrd/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_chip_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> aid_list = ibs.get_valid_aids() >>> config2_ = {'dim_size': 450, 'resize_dim': 'area'} >>> topx2_dlen_sqrd = ibs.get_annot_chip_dlensqrd(aid_list, config2_=config2_) >>> result = str(topx2_dlen_sqrd) >>> print(result) [435409, 476505, 422500, 422500, 422500, 437924, 405000, 405000, 447805, 420953, 405008, 406265, 512674]
-
wbia.control.manual_chip_funcs.
get_annot_chip_fpath
(ibs, aid_list, ensure=True, config2_=None, check_external_storage=False, num_retries=1)[source]¶ Returns the cached chip uri based off of the current configuration.
Returns: cfpaths defined by ANNOTATIONs Return type: chip_fpath_list (list) - RESTful:
- Method: GET URL: /api/chip/fpath/
-
wbia.control.manual_chip_funcs.
get_annot_chip_sizes
(ibs, aid_list, ensure=True, config2_=None)[source]¶ Parameters: - ibs (IBEISController) – wbia controller object
- aid_list (int) – list of annotation ids
- ensure (bool) – eager evaluation if True
Returns: chipsz_list - the (width, height) of computed annotation chips.
Return type: - CommandLine:
- python -m wbia.control.manual_chip_funcs get_annot_chip_sizes
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_chip_funcs import * # NOQA >>> import wbia >>> # build test data >>> ibs = wbia.opendb('testdb1') >>> aid_list = ibs.get_valid_aids()[0:3] >>> ensure = True >>> config2_ = {'dim_size': 450, 'resize_dim': 'area'} >>> # execute function >>> chipsz_list = get_annot_chip_sizes(ibs, aid_list, ensure, config2_=config2_) >>> # verify results >>> result = str(chipsz_list) >>> print(result) [(545, 372), (603, 336), (520, 390)]
-
wbia.control.manual_chip_funcs.
get_annot_chip_thumb_path2
(ibs, aid_list, thumbsize=None, config=None)[source]¶ get chip thumb info The return type of this is interpreted and computed in ~/code/guitool/guitool/api_thumb_delegate.py
Parameters: Returns: thumbtup_list - [(thumb_path, img_path, imgsize, bboxes, thetas)]
Return type: - CommandLine:
- python -m wbia.control.manual_chip_funcs –test-get_annot_chip_thumbtup
- RESTful:
- Method: GET URL: /api/chip/thumbtup/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_chip_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> aid_list = ibs.get_valid_aids()[1:2] >>> thumbsize = 128 >>> result = get_annot_chip_thumbtup(ibs, aid_list, thumbsize) >>> print(result)
-
wbia.control.manual_chip_funcs.
get_annot_chip_thumbpath
(ibs, aid_list, thumbsize=None, config2_=None)[source]¶ just constructs the path. does not compute it. that is done by api_thumb_delegate
- RESTful:
- Method: GET URL: /api/chip/thumbpath/
-
wbia.control.manual_chip_funcs.
get_annot_chip_thumbtup
(ibs, aid_list, thumbsize=None, config2_=None)[source]¶ get chip thumb info The return type of this is interpreted and computed in ~/code/guitool/guitool/api_thumb_delegate.py
Parameters: Returns: thumbtup_list - [(thumb_path, img_path, imgsize, bboxes, thetas)]
Return type: - CommandLine:
- python -m wbia.control.manual_chip_funcs –test-get_annot_chip_thumbtup
- RESTful:
- Method: GET URL: /api/chip/thumbtup/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_chip_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> aid_list = ibs.get_valid_aids()[1:2] >>> thumbsize = 128 >>> result = get_annot_chip_thumbtup(ibs, aid_list, thumbsize) >>> print(result)
-
wbia.control.manual_chip_funcs.
get_annot_chips
(ibs, aid_list, config2_=None, ensure=True, verbose=False, eager=True)[source]¶ Parameters: - ibs (IBEISController) – wbia controller object
- aid_list (int) – list of annotation ids
- ensure (bool) – eager evaluation if True
- config2 (QueryRequest) – query request object with hyper-parameters
Returns: chip_list
Return type: - CommandLine:
- python -m wbia.control.manual_chip_funcs get_annot_chips
- RESTful:
- Method: GET URL: /api/chip/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_chip_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> aid_list = ibs.get_valid_aids()[0:5] >>> config2_ = {'dim_size': 450, 'resize_dim': 'area'} >>> chip_list = get_annot_chips(ibs, aid_list, config2_) >>> chip_sum_list = [chip.sum() for chip in chip_list] >>> target = [96053684, 65140000, 67223205, 109367378, 73995663] >>> ut.assert_almost_eq(chip_sum_list, target, 15000) >>> print(chip_sum_list)
-
wbia.control.manual_chip_funcs.
get_part_chips
(ibs, part_rowid_list, config2_=None, ensure=True, verbose=False, eager=True)[source]¶ Parameters: - ibs (IBEISController) – wbia controller object
- part_rowid_list (int) – list of part ids
- ensure (bool) – eager evaluation if True
- config2 (QueryRequest) – query request object with hyper-parameters
Returns: chip_list
Return type: - CommandLine:
- python -m wbia.control.manual_chip_funcs get_part_chips
- RESTful:
- Method: GET URL: /api/pchip/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_chip_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> aid_list = ibs.get_valid_aids() >>> aid_list = aid_list[:10] >>> bbox_list = ibs.get_annot_bboxes(aid_list) >>> bbox_list = [ >>> (xtl + 100, ytl + 100, w - 100, h - 100) >>> for xtl, ytl, w, h in bbox_list >>> ] >>> part_rowid_list = ibs.add_parts(aid_list, bbox_list=bbox_list) >>> config2_ = {'dim_size': 450, 'resize_dim': 'area'} >>> chip_list = get_part_chips(ibs, part_rowid_list, config2_) >>> chip_sum_list = [chip.sum() for chip in chip_list] >>> target = [86765003, 62005000, 61333186, 111424764, 63590900, 51397198, 139395045, 84100000, 41254190, 89657450] >>> ut.assert_almost_eq(chip_sum_list, target, 50000) >>> print(chip_sum_list)
wbia.control.manual_feat_funcs module¶
python -c “import utool as ut; ut.write_modscript_alias(‘Tgen.sh’, ‘wbia.templates.template_generator’)” sh Tgen.sh –key feat –Tcfg with_setters=False with_getters=True with_adders=True –modfname manual_feat_funcs sh Tgen.sh –key feat –Tcfg with_deleters=True –autogen_modname manual_feat_funcs
-
wbia.control.manual_feat_funcs.
delete_annot_feats
(ibs, aid_list, config2_=None)[source]¶ annot.feat.delete(aid_list)
Parameters: aid_list – - TemplateInfo:
- Tdeleter_rl_depenant root = annot leaf = feat
- CommandLine:
- python -m wbia.control.manual_feat_funcs –test-delete_annot_feats python -m wbia.control.manual_feat_funcs –test-delete_annot_feats –verb-control
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_feat_funcs import * # NOQA >>> ibs, config2_ = testdata_ibs() >>> aid_list = ibs._get_all_aids()[:1] >>> fids_list = ibs.get_annot_feat_rowids(aid_list, config2_=config2_, ensure=True) >>> num_deleted1 = ibs.delete_annot_feats(aid_list, config2_=config2_) >>> ut.assert_eq(num_deleted1, len(fids_list)) >>> num_deleted2 = ibs.delete_annot_feats(aid_list, config2_=config2_) >>> ut.assert_eq(num_deleted2, 0)
-
wbia.control.manual_feat_funcs.
get_annot_feat_rowids
(ibs, aid_list, ensure=True, eager=True, nInput=None, config2_=None, num_retries=1)[source]¶ - CommandLine:
- python -m wbia.control.manual_feat_funcs get_annot_feat_rowids –show
Example
>>> # ENABLE_DOCTEST >>> from wbia.algo.hots.query_request import * # NOQA >>> import wbia >>> ibs = wbia.opendb(defaultdb='testdb1') >>> aids = ibs.get_valid_aids()[0:3] >>> config2_ = {} >>> ibs.delete_annot_feats(aids, config2_=config2_) # Remove the chips >>> ut.remove_file_list(ibs.get_annot_chip_fpath(aids, config2_=config2_)) >>> qfids = ibs.get_annot_feat_rowids(aids, ensure=True, config2_=config2_)
-
wbia.control.manual_feat_funcs.
get_annot_kpts
(ibs, aid_list, ensure=True, eager=True, nInput=None, config2_=None)[source]¶ Parameters: - aid_list (int) – list of annotation ids
- ensure (bool) – eager evaluation if True
- eager (bool) –
- nInput (None) –
- config2 (QueryRequest) – query request object with hyper-parameters
Returns: annotation descriptor keypoints
Return type: kpts_list (list)
- CommandLine:
- python -m wbia.control.manual_feat_funcs –test-get_annot_kpts –show python -m wbia.control.manual_feat_funcs –test-get_annot_kpts –show –darken .9 python -m wbia.control.manual_feat_funcs –test-get_annot_kpts –show –darken .9 –verbose python -m wbia.control.manual_feat_funcs –test-get_annot_kpts –show –darken .9 –verbose –no-affine-invariance python -m wbia.control.manual_feat_funcs –test-get_annot_kpts –show –darken .9 –verbose –no-affine-invariance –scale_max=20 python -m wbia.control.manual_feat_funcs –test-get_annot_kpts –show –feat_type=hesaff+siam128 ipython -i – –show –feat_type=hesaff+siam128
Example
>>> # SLOW_DOCTEST >>> # xdoctest: +SKIP >>> from wbia.control.manual_feat_funcs import * # NOQA >>> import vtool as vt >>> import numpy as np >>> import wbia >>> import wbia.viz.interact >>> # build test data >>> qreq1_ = wbia.testdata_qreq_(defaultdb='testdb1', p=['default:RI=True']) >>> qreq2_ = wbia.testdata_qreq_(defaultdb='testdb1', p=['default:RI=False']) >>> ibs = qreq1_.ibs >>> aid_list = qreq1_.get_external_qaids() >>> with ut.Indenter('[TEST_GET_ANNOT_KPTS]'): ... print('qreq1 params: ' + qreq1_.qparams.feat_cfgstr) ... print('qreq2 params: ' + qreq2_.qparams.feat_cfgstr) ... print('id(qreq1): ' + str(id(qreq1_))) ... print('id(qreq2): ' + str(id(qreq2_))) ... #print('feat_config_rowid1 = %r' % (ibs.get_feat_config_rowid(config2_=qreq1_.extern_query_config2),)) ... #print('feat_config_rowid2 = %r' % (ibs.get_feat_config_rowid(config2_=qreq2_.extern_query_config2),)) >>> # Force recomputation of features >>> with ut.Indenter('[DELETE1]'): ... ibs.delete_annot_feats(aid_list, config2_=qreq1_.extern_query_config2) >>> with ut.Indenter('[DELETE2]'): ... ibs.delete_annot_feats(aid_list, config2_=qreq2_.extern_query_config2) >>> eager, ensure, nInput = True, True, None >>> # execute function >>> with ut.Indenter('[GET1]'): ... kpts1_list = get_annot_kpts(ibs, aid_list, ensure, eager, nInput, qreq1_.extern_query_config2) >>> with ut.Indenter('[GET2]'): ... kpts2_list = get_annot_kpts(ibs, aid_list, ensure, eager, nInput, qreq2_.extern_query_config2) >>> # verify results >>> assert not np.all(vt.get_oris(kpts1_list[0]) == 0) >>> assert np.all(vt.get_oris(kpts2_list[0]) == 0) >>> ut.quit_if_noshow() >>> #wbia.viz.viz_chip.show_chip(ibs, aid_list[0], config2_=qreq1_, ori=True) >>> wbia.viz.interact.interact_chip.ishow_chip(ibs, aid_list[0], config2_=qreq1_.extern_query_config2, ori=True, fnum=1) >>> wbia.viz.interact.interact_chip.ishow_chip(ibs, aid_list[0], config2_=qreq2_.extern_query_config2, ori=True, fnum=2) >>> ut.show_if_requested()
-
wbia.control.manual_feat_funcs.
get_annot_num_feats
(ibs, aid_list, ensure=True, eager=True, nInput=None, config2_=None, _debug=False)[source]¶ Parameters: aid_list (list) – Returns: num descriptors per annotation Return type: nFeats_list (list) - CommandLine:
- python -m wbia.control.manual_feat_funcs –test-get_annot_num_feats
Example
>>> # ENABLE_DOCTEST >>> # this test might fail on different machines due to >>> # determenism bugs in hesaff maybe? or maybe jpeg... >>> # in which case its hopeless >>> from wbia.control.manual_feat_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> aid_list = ibs.get_valid_aids()[0:3] >>> config2_ = {'dim_size': 450, 'resize_dim': 'area'} >>> nFeats_list = get_annot_num_feats(ibs, aid_list, ensure=True, config2_=config2_, _debug=True) >>> print('nFeats_list = %r' % (nFeats_list,)) >>> assert len(nFeats_list) == 3 >>> ut.assert_inbounds(nFeats_list[0], 1200, 1263) >>> ut.assert_inbounds(nFeats_list[1], 900, 923) >>> ut.assert_inbounds(nFeats_list[2], 1300, 1344)
- Ignore:
- depc = ibs.depc_annot tablename = ‘feat’ input_rowids = aid_list colnames = ‘num_feats’ config = config2_
wbia.control.manual_featweight_funcs module¶
-
wbia.control.manual_featweight_funcs.
get_annot_fgweight_rowids
(ibs, aid_list, config2_=None, ensure=True)[source]¶ Parameters: - CommandLine:
- python -m wbia.control.manual_featweight_funcs get_annot_fgweight_rowids
-
wbia.control.manual_featweight_funcs.
get_annot_fgweights
(ibs, aid_list, config2_=None, ensure=True)[source]¶ Parameters: - CommandLine:
- python -m wbia.control.manual_featweight_funcs get_annot_fgweights
Example
>>> # xdoctest: +REQUIRES(module:wbia_cnn) >>> # ENABLE_DOCTEST >>> from wbia.control.manual_featweight_funcs import * # NOQA >>> import wbia >>> import numpy as np >>> ibs = wbia.opendb(defaultdb='PZ_MTEST') >>> aid_list = [1, 2] >>> config2_ = None >>> ensure = True >>> fgws_list = get_annot_fgweights(ibs, aid_list, config2_, ensure) >>> depth = ut.depth_profile(fgws_list) >>> assert np.all(np.array(depth) > [1200, 1400]) >>> percent_ = (fgws_list[0] > .5).sum() / len(fgws_list[0]) >>> print('Calculated percent = %0.04f' % (percent_, )) >>> assert percent_ > .6 and percent_ < .8, 'should be around 0.7472'
wbia.control.manual_garelate_funcs module¶
Autogenerated IBEISController functions
- TemplateInfo:
- autogen_time = 13:34:34 2015/04/28 autogen_key = gar
- ToRegenerate:
- python -m wbia.templates.template_generator –key gar –Tcfg with_web_api=True with_api_cache=False with_deleters=True no_extern_deleters=True –diff python -m wbia.templates.template_generator –key gar –Tcfg with_web_api=True with_api_cache=False with_deleters=True no_extern_deleters=True –write
-
wbia.control.manual_garelate_funcs.
add_gar
(ibs, annotgroup_rowid_list, aid_list)[source]¶ Returns: returns gar_rowid_list of added (or already existing gars) - TemplateInfo:
- Tadder_native tbl = gar
-
wbia.control.manual_garelate_funcs.
delete_gar
(ibs, gar_rowid_list, config2_=None)[source]¶ gar.delete(gar_rowid_list)
delete gar rows
Parameters: gar_rowid_list – Returns: num_deleted Return type: int - TemplateInfo:
- Tdeleter_native_tbl tbl = gar
Example
>>> # DISABLE_DOCTEST >>> from wbia.control.manual_garelate_funcs import * # NOQA >>> ibs, config2_ = testdata_ibs() >>> gar_rowid_list = ibs._get_all_gar_rowids()[:2] >>> num_deleted = ibs.delete_gar(gar_rowid_list) >>> print('num_deleted = %r' % (num_deleted,))
-
wbia.control.manual_garelate_funcs.
get_gar_aid
(ibs, gar_rowid_list, eager=True, nInput=None)[source]¶ aid_list <- gar.aid[gar_rowid_list]
gets data from the “native” column “aid” in the “gar” table
Parameters: gar_rowid_list (list) – Returns: aid_list Return type: list - TemplateInfo:
- Tgetter_table_column col = aid tbl = gar
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_garelate_funcs import * # NOQA >>> ibs, config2_ = testdata_ibs() >>> gar_rowid_list = ibs._get_all_gar_rowids() >>> eager = True >>> aid_list = ibs.get_gar_aid(gar_rowid_list, eager=eager) >>> assert len(gar_rowid_list) == len(aid_list)
-
wbia.control.manual_garelate_funcs.
get_gar_annotgroup_rowid
(ibs, gar_rowid_list, eager=True, nInput=None)[source]¶ annotgroup_rowid_list <- gar.annotgroup_rowid[gar_rowid_list]
gets data from the “native” column “annotgroup_rowid” in the “gar” table
Parameters: gar_rowid_list (list) – Returns: annotgroup_rowid_list Return type: list - TemplateInfo:
- Tgetter_table_column col = annotgroup_rowid tbl = gar
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_garelate_funcs import * # NOQA >>> ibs, config2_ = testdata_ibs() >>> gar_rowid_list = ibs._get_all_gar_rowids() >>> eager = True >>> annotgroup_rowid_list = ibs.get_gar_annotgroup_rowid(gar_rowid_list, eager=eager) >>> assert len(gar_rowid_list) == len(annotgroup_rowid_list)
-
wbia.control.manual_garelate_funcs.
get_gar_rowid_from_superkey
(ibs, annotgroup_rowid_list, aid_list, eager=True, nInput=None)[source]¶ gar_rowid_list <- gar[annotgroup_rowid_list, aid_list]
Parameters: lists (superkey) – annotgroup_rowid_list, aid_list Returns: gar_rowid_list - TemplateInfo:
- Tgetter_native_rowid_from_superkey tbl = gar
wbia.control.manual_gsgrelate_funcs module¶
- CommandLine:
- # Autogenerate ImageSet Functions # key should be the table name # the write flag makes a file, but dont use that python -m wbia.templates.template_generator –key imageset_image_relationship –onlyfn
-
wbia.control.manual_gsgrelate_funcs.
add_image_relationship
(ibs, gid_list, imgsetid_list)[source]¶ Adds a relationship between an image and and imageset
-
wbia.control.manual_gsgrelate_funcs.
delete_empty_imgsetids
(ibs)[source]¶ Removes imagesets without images
Parameters: ibs (IBEISController) – wbia controller object - CommandLine:
- python -m wbia.control.manual_gsgrelate_funcs –test-delete_empty_imgsetids
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_gsgrelate_funcs import * # NOQA >>> import wbia >>> # build test data >>> ibs = wbia.opendb('testdb1') >>> # execute function >>> result = ibs.delete_empty_imgsetids() >>> # verify results >>> print(result)
-
wbia.control.manual_gsgrelate_funcs.
delete_gsgr_image_relations
(ibs, gid_list)[source]¶ Removes relationship between input images and all imagesets
-
wbia.control.manual_gsgrelate_funcs.
delete_gsgr_imageset_relations
(ibs, imgsetid_list)[source]¶ Removes relationship between input imagesets and all images
-
wbia.control.manual_gsgrelate_funcs.
get_gsgr_rowid_from_superkey
(ibs, gid_list, imgsetid_list)[source]¶ Returns: eg-relate-ids from info constrained to be unique (imgsetid, gid) Return type: gsgrid_list (list)
-
wbia.control.manual_gsgrelate_funcs.
get_image_gsgrids
(ibs, gid_list)[source]¶ Returns: a list of imageset-image-relationship rowids for each imageid Return type: list_ (list)
-
wbia.control.manual_gsgrelate_funcs.
unrelate_images_and_imagesets
(ibs, gid_list, imgsetid_list)[source]¶ Seems to unrelate specific image imageset pairs
Parameters: - ibs (IBEISController) – wbia controller object
- gid_list (list) –
- imgsetid_list (list) –
Returns: gids_list
Return type: - CommandLine:
- python -m wbia.control.manual_gsgrelate_funcs –test-unrelate_images_and_imagesets python -c “import utool; print(utool.auto_docstr(‘wbia.control.manual_gsgrelate_funcs’, ‘delete_gsgr_image_relations’))”
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_gsgrelate_funcs import * # NOQA >>> import wbia >>> # build test data >>> ibs = wbia.opendb('testdb1') >>> # Reset and compute imagesets >>> ibs.delete_all_imagesets() >>> ibs.compute_occurrences(config={'use_gps': False, 'seconds_thresh': 600}) >>> imgsetid_list = ibs.get_valid_imgsetids() >>> gids_list = ibs.get_imageset_gids(imgsetid_list) >>> assert len(imgsetid_list) == 2, 'bad len %r' % (len(imgsetid_list),) >>> assert len(gids_list) == 2, 'bad len %r' % (len(gids_list),) >>> assert len(gids_list[0]) == 7, 'bad len %r' % (len(gids_list[0]),) >>> assert len(gids_list[1]) == 6, 'bad len %r' % (len(gids_list[1]),) >>> # Add imageset 2 gids to imageset 1 so an image belongs to multiple imagesets >>> imgset2_gids = gids_list[1][0:1] >>> imgset1_imgsetids = imgsetid_list[0:1] >>> ibs.add_image_relationship(imgset2_gids, imgset1_imgsetids) >>> # Now delete the image from the imageset 2 >>> imgset2_imgsetids = imgsetid_list[1:2] >>> # execute function >>> ibs.unrelate_images_and_imagesets(imgset2_gids, imgset2_imgsetids) >>> # verify results >>> ibs.print_egpairs_table() >>> imgsetid_list_ = ibs.get_valid_imgsetids() >>> gids_list_ = ibs.get_imageset_gids(imgsetid_list_) >>> result = str(gids_list_) >>> print(result) >>> # imgset2_gids should now only be in imageset1 >>> assert imgset2_gids[0] in gids_list_[0], 'imgset2_gids should now only be in imageset1' >>> assert imgset2_gids[0] not in gids_list_[1], 'imgset2_gids should now only be in imageset1'
wbia.control.manual_image_funcs module¶
Functions for images and encoutners that will be injected into an IBEISController instance.
- CommandLine:
# Autogenerate ImageSet Functions # key should be the table name # the write flag makes a file, but dont use that python -m wbia.templates.template_generator –key image –onlyfn python -m wbia.templates.template_generator –key image –fnfilt timedelta_posix –modfname manual_image_funcs # NOQA python -m wbia.templates.template_generator –key image –fnfilt location –modfname manual_image_funcs # NOQA python -m wbia.templates.template_generator –key image –fnfilt set_.*time –modfname manual_image_funcs # NOQA
image_timedelta_posix
-
wbia.control.manual_image_funcs.
add_images
(ibs, gpath_list, params_list=None, as_annots=False, auto_localize=None, location_for_names=None, ensure_unique=False, ensure_loadable=True, ensure_exif=True, **kwargs)[source]¶ Adds a list of image paths to the database.
Initially we set the image_uri to exactely the given gpath. Later we change the uri, but keeping it the same here lets us process images asychronously.
Parameters: - gpath_list (list) – list of image paths to add
- params_list (list) – metadata list for corresponding images that can either be specified outright or can be parsed from the image data directly if None
- as_annots (bool) – if True, an annotation is automatically added for the entire image
- auto_localize (bool) – if None uses the default specified in ibs.cfg
- ensure (bool) – check to see if the images exist on a *NIX system. Defaults to True
Returns: gids are image rowids
Return type: gid_list (list of rowids)
- RESTful:
- Method: POST URL: /api/image/
- CommandLine:
- python -m wbia.control.manual_image_funcs –test-add_images
- Doctest:
>>> # Test returns None on fail to add >>> from wbia.control.manual_image_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> gpath_list = ['doesnotexist.jpg'] >>> assert not ut.checkpath(gpath_list[0]) >>> gid_list = ibs.add_images(gpath_list) >>> assert len(gid_list) == len(gpath_list) >>> assert gid_list[0] is None
- Doctest:
>>> # FIXME failing-test (22-Jul-2020) This test is failing and it's not clear how to fix it >>> # xdoctest: +SKIP >>> # test double add >>> from wbia.control.manual_image_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> new_gpath_list = [ut.grab_test_imgpath('carl.jpg')] >>> new_gids1 = ibs.add_images(new_gpath_list, auto_localize=False) >>> new_gids2 = ibs.add_images(new_gpath_list, auto_localize=False) >>> #new_gids2 = ibs.add_images(new_gpath_list, auto_localize=True) >>> assert new_gids1 == new_gids2, 'should be the same' >>> new_gpath_list2 = ibs.get_image_paths(new_gids1) >>> assert new_gpath_list == new_gpath_list2, 'should not move when autolocalize is False' >>> # Clean things up >>> ibs.delete_images(new_gids1)
-
wbia.control.manual_image_funcs.
delete_image_thumbs
(ibs, gid_list, **config2_)[source]¶ Removes image thumbnails from disk
- RESTful:
- Method: DELETE URL: /api/image/thumb/
- Ignore:
>>> # UNPORTED_DOCTEST >>> gpath_list = ut.get_test_gpaths(ndata=None)[0:4] >>> gid_list = ibs.add_images(gpath_list) >>> bbox_list = [(0, 0, 100, 100)] * len(gid_list) >>> name_list = ['a', 'b', 'a', 'd'] >>> aid_list = ibs.add_annots(gid_list, bbox_list=bbox_list, >>> name_list=name_list) >>> assert len(aid_list) != 0, "No annotations added" >>> thumbpath_list = ibs.get_image_thumbpath(gid_list) >>> gpath_list = ibs.get_image_paths(gid_list) >>> ibs.delete_image_thumbs(gid_list) >>> assert utool.is_list(thumbpath_list), "thumbpath_list is not a list" >>> assert utool.is_list(gpath_list), "gpath_list is not a list" >>> for path in thumbpath_list: >>> assert not utool.checkpath(path), "Thumbnail not deleted" >>> for path in gpath_list: >>> utool.assertpath(path)
-
wbia.control.manual_image_funcs.
delete_images
(ibs, gid_list, trash_images=True)[source]¶ deletes images from the database that belong to gids
- RESTful:
- Method: DELETE URL: /api/image/
- Ignore:
>>> # UNPORTED_DOCTEST >>> gpath_list = ut.get_test_gpaths(ndata=None)[0:4] >>> gid_list = ibs.add_images(gpath_list) >>> bbox_list = [(0, 0, 100, 100)] * len(gid_list) >>> name_list = ['a', 'b', 'a', 'd'] >>> aid_list = ibs.add_annots(gid_list, bbox_list=bbox_list, name_list=name_list) >>> gid = gid_list[0] >>> assert gid is not None, "gid is None" >>> aid_list = ibs.get_image_aids(gid) >>> assert len(aid_list) == 1, "Length of aid_list=%r" % (len(aid_list),) >>> aid = aid_list[0] >>> assert aid is not None, "aid is None" >>> cid = ibs.get_annot_chip_rowids(aid, ensure=False) >>> fid = ibs.get_annot_feat_rowids(aid, ensure=False) >>> assert cid is None, "cid=%r should be None" % (cid,) >>> assert fid is None, "fid=%r should be None" % (fid,) >>> cid = ibs.get_annot_chip_rowids(aid, ensure=True) >>> fid = ibs.get_annot_feat_rowids(aid, ensure=True) >>> assert cid is not None, "cid should be computed" >>> assert fid is not None, "fid should be computed" >>> gthumbpath = ibs.get_image_thumbpath(gid) >>> athumbpath = ibs.get_annot_chip_thumbpath(aid) >>> ibs.delete_images(gid) >>> all_gids = ibs.get_valid_gids() >>> all_aids = ibs.get_valid_aids() >>> all_cids = ibs.get_valid_cids() >>> all_fids = ibs.get_valid_fids() >>> assert gid not in all_gids, "gid still exists" >>> assert aid not in all_aids, "rid %r still exists" % aid >>> assert fid not in all_fids, "fid %r still exists" % fid >>> assert cid not in all_cids, "cid %r still exists" % cid >>> assert not utool.checkpath(gthumbpath), "Thumbnail still exists" >>> assert not utool.checkpath(athumbpath), "ANNOTATION Thumbnail still exists"
-
wbia.control.manual_image_funcs.
get_image_aids
(ibs, gid_list, is_staged=False)[source]¶ Returns: a list of aids for each image by gid
Return type: list_ (list)
Parameters: - ibs (IBEISController) – wbia controller object
- gid_list (list) –
Returns: aids_list
Return type: - CommandLine:
- python -m wbia.control.manual_image_funcs –test-get_image_aids
- RESTful:
- Method: GET URL: /api/image/annot/rowid/
Example
>>> # DISABLE_DOCTEST >>> from wbia.control.manual_image_funcs import * # NOQA >>> import wbia >>> # build test data >>> ibs = wbia.opendb('testdb1') >>> gid_list = ibs.get_annot_gids(ibs.get_valid_aids()) >>> gid_list = gid_list + gid_list[::5] >>> # execute function >>> aids_list = get_image_aids(ibs, gid_list) >>> # verify results >>> result = str(aids_list) >>> print(result) [[1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [1], [6], [11]]
- Ignore:
- logger.info(‘len(gid_list) = %r’ % (len(gid_list),)) logger.info(‘len(input_list) = %r’ % (len(input_list),)) logger.info(‘len(pair_list) = %r’ % (len(pair_list),)) logger.info(‘len(aidscol) = %r’ % (len(aidscol),)) logger.info(‘len(gidscol) = %r’ % (len(gidscol),)) logger.info(‘len(unique_gids) = %r’ % (len(unique_gids),))
-
wbia.control.manual_image_funcs.
get_image_aids_of_species
(ibs, gid_list, species=None)[source]¶ Returns: a list of aids for each image by gid filtered by species Return type: list_ (list) - RESTful:
- Method: GET URL: /api/image/annot/rowid/species/
-
wbia.control.manual_image_funcs.
get_image_contributor_rowid
(ibs, gid_list, eager=True, nInput=None)[source]¶ contributor_rowid_list <- image.contributor_rowid[gid_list]
gets data from the “native” column “contributor_rowid” in the “image” table
Parameters: gid_list (list) – Returns: contributor_rowid_list - list of image contributor rowids by gid Return type: list - TemplateInfo:
- Tgetter_table_column col = contributor_rowid tbl = image
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_image_funcs import * # NOQA >>> ibs, config2_ = testdata_ibs() >>> gid_list = ibs._get_all_image_rowids() >>> eager = True >>> contributor_rowid_list = ibs.get_image_contributor_rowid(gid_list, eager=eager) >>> assert len(gid_list) == len(contributor_rowid_list)
-
wbia.control.manual_image_funcs.
get_image_contributor_tag
(ibs, gid_list, eager=True, nInput=None)[source]¶ contributor_tag_list <- image.contributor_tag[gid_list]
Parameters: gid_list (list) – Returns: contributor_tag_list Return type: list - TemplateInfo:
- Tgetter_extern tbl = image externtbl = contributor externcol = contributor_tag
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_image_funcs import * # NOQA >>> ibs, config2_ = testdata_ibs() >>> gid_list = ibs._get_all_image_rowids() >>> eager = True >>> contributor_tag_list = ibs.get_image_contributor_tag(gid_list, eager=eager) >>> assert len(gid_list) == len(contributor_tag_list)
-
wbia.control.manual_image_funcs.
get_image_detect_confidence
(ibs, gid_list)[source]¶ Returns: image detection confidence as the max of ANNOTATION confidences Return type: list_ (list) - RESTful:
- Method: GET URL: /api/image/detect/confidence/
-
wbia.control.manual_image_funcs.
get_image_detectpaths
(ibs, gid_list)[source]¶ Returns: a list of image paths resized to a constant area for detection Return type: list_ (list)
-
wbia.control.manual_image_funcs.
get_image_enabled
(ibs, gid_list)[source]¶ Returns: “Image Enabled” flag, true if the image is enabled Return type: list_ (list)
-
wbia.control.manual_image_funcs.
get_image_exts
(ibs, gid_list)[source]¶ Returns: a list of image uuids by gid Return type: list_ (list)
-
wbia.control.manual_image_funcs.
get_image_gid
(ibs, gid_list, eager=True, nInput=None)[source]¶ self verifier
- CommandLine:
- python -m wbia.control.manual_image_funcs –exec-get_image_gid
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.IBEISControl import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> gid_list = ibs.get_valid_gids() + [None, -1, 10434320432] >>> gid_list_ = ibs.get_image_gid(gid_list) >>> assert [r is None for r in gid_list_[-3:]] >>> assert [r is not None for r in gid_list_[0:-3]] >>> print('gid_list_ = %r' % (gid_list_,))
-
wbia.control.manual_image_funcs.
get_image_gids_from_uuid
(ibs, uuid_list)[source]¶ Returns: a list of original image names Return type: list_ (list) - RESTful:
- Method: GET URL: /api/image/rowid/uuid/
-
wbia.control.manual_image_funcs.
get_image_gnames
(ibs, gid_list)[source]¶ Parameters: gid_list (list) – Returns: gname_list - a list of original image names Return type: list - CommandLine:
- python -m wbia.control.manual_image_funcs –test-get_image_gnames
- RESTful:
- Method: GET URL: /api/image/file/name/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_image_funcs import * # NOQA >>> import wbia >>> # build test data >>> ibs = wbia.opendb('testdb1') >>> gid_list = ibs.get_valid_gids() >>> # execute function >>> gname_list = get_image_gnames(ibs, gid_list) >>> # verify results >>> result = ut.repr2(gname_list, nl=1) >>> print(result) [ 'easy1.JPG', 'easy2.JPG', 'easy3.JPG', 'hard1.JPG', 'hard2.JPG', 'hard3.JPG', 'jeff.png', 'lena.jpg', 'occl1.JPG', 'occl2.JPG', 'polar1.jpg', 'polar2.jpg', 'zebra.jpg', ]
-
wbia.control.manual_image_funcs.
get_image_gps
(ibs, gid_list)[source]¶ Returns: -1 if no timedata exists for a given gid Return type: gps_list (list) - RESTful:
- Method: GET URL: /api/image/gps/
-
wbia.control.manual_image_funcs.
get_image_gps2
(ibs, gid_list)[source]¶ Like get_image_gps, but fixes the SQL problem where -1 indicates a nan value.
Returns: -1 if no timedata exists for a given gid Return type: gps_list (list) - RESTful:
- Method: GET URL: /api/image/gps/
-
wbia.control.manual_image_funcs.
get_image_hash
(ibs, gid_list=None, algo='md5')[source]¶ Parameters: - ibs (IBEISController) – wbia controller object
- gid_list (list) – a list of image absolute paths to img_dir
Returns: hash_list
Return type: - CommandLine:
- python -m wbia.control.manual_image_funcs –test-get_image_hash
- RESTful:
- Method: GET URL: /api/image/file/hash/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_image_funcs import * # NOQA >>> import wbia >>> # build test data >>> ibs = wbia.opendb('testdb1') >>> gid_list = ibs.get_valid_gids()[:1] >>> image_path = ibs.get_image_paths(gid_list) >>> print('Hashing: %r' % (image_path, )) >>> hash_list = ibs.get_image_hash(gid_list, algo='md5') >>> assert hash_list[0] in ['56498e54b5ebbcbbcff60c91a135e8a3', 'ab31dc5e1355247a0ea5ec940802a468'], 'Found %r' % (hash_list, ) >>> hash_list = ibs.get_image_hash(gid_list, algo='sha1') >>> assert hash_list[0] in ['277e8dac1e5929c097f3fcbca2c77d92e1401d5f', '66ec193a1619b3b6216d1784b4833b6194b13384'], 'Found %r' % (hash_list, ) >>> hash_list = ibs.get_image_hash(gid_list, algo='sha256') >>> assert hash_list[0] in ['ca03a0d7427c3d2f02e62e157e8d8ea5b7284be67ca67fc391a5747368d3ab0e', 'fd09d22ec18c32d9db2cd026a9511ab228aadf0e5f7271760413448ddd16d483'], 'Found %r' % (hash_list, ) >>> hash_list = ibs.get_image_hash(gid_list, algo='sha512') >>> assert hash_list[0] in ['7b43dbc709a8cf903170b414f48a0bb7b569b703d9393c20a2cff95c42fd252ed2098bc56cba8eed393bcdf3388e55eee917908c6b0d1b4bc78cf76b1e918d99', '81d1d8ee4c8640b9aad26e4cc03536ed30a43b69e166748ec940a8f00e4776be93f4ac6367a06d92b772a9a60dc104c6f999e7197c2584fdc4cffcac2da71506'], 'Found %r' % (hash_list, )
-
wbia.control.manual_image_funcs.
get_image_heights
(ibs, gid_list)[source]¶ Returns: a list of (width, height) tuples Return type: list_ (list) - RESTful:
- Method: GET URL: /api/image/height/
-
wbia.control.manual_image_funcs.
get_image_imagesettext
(ibs, gid_list)[source]¶ Returns: a list of imagesettexts for each image by gid Return type: list_ (list) - RESTful:
- Method: GET URL: /api/image/imageset/text/
-
wbia.control.manual_image_funcs.
get_image_imgdata
(ibs, gid_list, ignore_orient=False, **kwargs)[source]¶ alias for get_images with standardized name
-
wbia.control.manual_image_funcs.
get_image_imgsetids
(ibs, gid_list)[source]¶ Returns: a list of imageset ids for each image by gid Return type: list_ (list) - RESTful:
- Method: GET URL: /api/image/imageset/rowid/
-
wbia.control.manual_image_funcs.
get_image_lat
(ibs, gid_list)[source]¶ - RESTful:
- Method: GET URL: /api/image/lat/
-
wbia.control.manual_image_funcs.
get_image_location_codes
(ibs, gid_list, eager=True)[source]¶ image_location_code_list <- image.image_location_code[gid_list]
gets data from the “native” column “image_location_code” in the “image” table
Parameters: gid_list (list) – Returns: image_location_code_list Return type: list - TemplateInfo:
- Tgetter_table_column col = image_location_code tbl = image
- RESTful:
- Method: GET URL: /api/image/location/code/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_image_funcs import * # NOQA >>> ibs, config2_ = testdata_ibs() >>> gid_list = ibs._get_all_image_rowids() >>> eager = True >>> image_location_code_list = ibs.get_image_location_codes(gid_list, eager=eager) >>> assert len(gid_list) == len(image_location_code_list)
-
wbia.control.manual_image_funcs.
get_image_lon
(ibs, gid_list)[source]¶ - RESTful:
- Method: GET URL: /api/image/lon/
-
wbia.control.manual_image_funcs.
get_image_metadata
(ibs, gid_list, return_raw=False)[source]¶ Returns: image metadata dictionary Return type: list_ (list) - RESTful:
- Method: GET URL: /api/image/metadata/
-
wbia.control.manual_image_funcs.
get_image_missing_uuid
(ibs, uuid_list)[source]¶ Returns: a list of missing image uuids Return type: list_ (list)
-
wbia.control.manual_image_funcs.
get_image_name_uuids
(ibs, gid_list)[source]¶ Parameters: - ibs (IBEISController) – wbia controller object
- gid_list (list) –
Returns: name_uuids_list - the name uuids associated with an image id
Return type: - CommandLine:
- python -m wbia.control.manual_image_funcs –test-get_image_nids
- RESTful:
- Method: GET URL: /api/image/name/uuid/
-
wbia.control.manual_image_funcs.
get_image_nids
(ibs, gid_list)[source]¶ Parameters: - ibs (IBEISController) – wbia controller object
- gid_list (list) –
Returns: nids_list - the name ids associated with an image id
Return type: - CommandLine:
- python -m wbia.control.manual_image_funcs –test-get_image_nids
- RESTful:
- Method: GET URL: /api/image/name/rowid/
Example
>>> # DISABLE_DOCTEST >>> from wbia.control.manual_image_funcs import * # NOQA >>> import wbia >>> # build test data >>> ibs = wbia.opendb('testdb1') >>> gid_list = ibs.get_valid_gids() >>> # execute function >>> nids_list = ibs.get_image_nids(gid_list) >>> # verify results >>> result = str(nids_list) >>> print(result)
-
wbia.control.manual_image_funcs.
get_image_notes
(ibs, gid_list)[source]¶ Returns: image notes Return type: list_ (list) - RESTful:
- Method: GET URL: /api/image/note/
-
wbia.control.manual_image_funcs.
get_image_num_annotations
(ibs, gid_list)[source]¶ Returns: the number of chips in each image Return type: list_ (list) - RESTful:
- Method: GET URL: /api/image/num/annot/
-
wbia.control.manual_image_funcs.
get_image_orientation
(ibs, gid_list)[source]¶ - RESTful:
- Method: GET URL: /api/image/orientation/
-
wbia.control.manual_image_funcs.
get_image_orientation_str
(ibs, gid_list)[source]¶ - RESTful:
- Method: GET URL: /api/image/orientation/str/
-
wbia.control.manual_image_funcs.
get_image_party_rowids
(ibs, gid_list, eager=True, nInput=None)[source]¶ party_rowid_list <- image.party_rowid[gid_list]
gets data from the “native” column “party_rowid” in the “image” table
Parameters: gid_list (list) – Returns: party_rowid_list Return type: list - TemplateInfo:
- Tgetter_table_column col = party_rowid tbl = image
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_image_funcs import * # NOQA >>> ibs, config2_ = testdata_ibs() >>> gid_list = ibs._get_all_image_rowids() >>> eager = True >>> party_rowid_list = ibs.get_image_party_rowids(gid_list, eager=eager) >>> assert len(gid_list) == len(party_rowid_list)
-
wbia.control.manual_image_funcs.
get_image_party_tag
(ibs, gid_list, eager=True, nInput=None)[source]¶ party_tag_list <- image.party_tag[gid_list]
Parameters: gid_list (list) – Returns: party_tag_list Return type: list - TemplateInfo:
- Tgetter_extern tbl = image externtbl = party externcol = party_tag
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_image_funcs import * # NOQA >>> ibs, config2_ = testdata_ibs() >>> gid_list = ibs._get_all_image_rowids() >>> eager = True >>> party_tag_list = ibs.get_image_party_tag(gid_list, eager=eager) >>> assert len(gid_list) == len(party_tag_list)
-
wbia.control.manual_image_funcs.
get_image_paths
(ibs, gid_list)[source]¶ Parameters: - ibs (IBEISController) – wbia controller object
- gid_list (list) – a list of image absolute paths to img_dir
Returns: gpath_list
Return type: - CommandLine:
- python -m wbia.control.manual_image_funcs –test-get_image_paths
- RESTful:
- Method: GET URL: /api/image/file/path/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_image_funcs import * # NOQA >>> import wbia >>> # build test data >>> ibs = wbia.opendb('testdb1') >>> #gid_list = ibs.get_valid_gids() >>> #gpath_list = get_image_paths(ibs, gid_list) >>> new_gpath = ut.unixpath(ut.grab_test_imgpath('carl.jpg')) >>> gid_list = ibs.add_images([new_gpath], auto_localize=False) >>> new_gpath_list = get_image_paths(ibs, gid_list) >>> ut.assert_eq(new_gpath, new_gpath_list[0]) >>> result = str(new_gpath_list) >>> ibs.delete_images(gid_list) >>> print(result)
-
wbia.control.manual_image_funcs.
get_image_reviewed
(ibs, gid_list)[source]¶ Returns: “All Instances Found” flag, true if all objects of interest Return type: list_ (list) (animals) have an ANNOTATION in the image
- RESTful:
- Method: GET URL: /api/image/reviewed/
-
wbia.control.manual_image_funcs.
get_image_sizes
(ibs, gid_list)[source]¶ Returns: a list of (width, height) tuples Return type: list_ (list) - RESTful:
- Method: GET URL: /api/image/size/
-
wbia.control.manual_image_funcs.
get_image_species_rowids
(ibs, gid_list)[source]¶ Returns: the name ids associated with an image id Return type: list_ (list) - RESTful:
- Method: GET URL: /api/image/species/rowid/
-
wbia.control.manual_image_funcs.
get_image_species_uuids
(ibs, gid_list)[source]¶ Returns: the name ids associated with an image id Return type: list_ (list) - RESTful:
- Method: GET URL: /api/image/species/uuid/
-
wbia.control.manual_image_funcs.
get_image_thumbnail
(ibs, gid_list, **config)[source]¶ Returns: the thumbnail path of each gid Return type: list_ (list)
-
wbia.control.manual_image_funcs.
get_image_thumbpath
(ibs, gid_list, ensure_paths=False, **config)[source]¶ Returns: the thumbnail path of each gid Return type: list_ (list)
-
wbia.control.manual_image_funcs.
get_image_thumbtup
(ibs, gid_list, **kwargs)[source]¶ Returns: thumbtup_list - [(thumb_path, img_path, imgsize, bboxes, thetas)] Return type: list
-
wbia.control.manual_image_funcs.
get_image_timedelta_posix
(ibs, gid_list, eager=True)[source]¶ image_timedelta_posix_list <- image.image_timedelta_posix[gid_list]
# TODO: INTEGRATE THIS FUNCTION. CURRENTLY OFFSETS ARE ENCODIED DIRECTLY IN UNIXTIME
gets data from the “native” column “image_timedelta_posix” in the “image” table
Parameters: gid_list (list) – Returns: image_timedelta_posix_list Return type: list - TemplateInfo:
- Tgetter_table_column col = image_timedelta_posix tbl = image
- RESTful:
- Method: GET URL: /api/image/timedelta/posix/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_image_funcs import * # NOQA >>> ibs, config2_ = testdata_ibs() >>> gid_list = ibs._get_all_image_rowids() >>> eager = True >>> image_timedelta_posix_list = ibs.get_image_timedelta_posix(gid_list, eager=eager) >>> assert len(gid_list) == len(image_timedelta_posix_list)
-
wbia.control.manual_image_funcs.
get_image_unixtime
(ibs, gid_list, timedelta_correction=True)[source]¶ Returns: a list of times that the images were taken by gid. Return type: list_ (list) Returns: -1 if no timedata exists for a given gid Return type: list_ (list) - RESTful:
- Method: GET URL: /api/image/unixtime/
-
wbia.control.manual_image_funcs.
get_image_unixtime2
(ibs, gid_list, **kwargs)[source]¶ alias for get_image_unixtime_asfloat
-
wbia.control.manual_image_funcs.
get_image_unixtime_asfloat
(ibs, gid_list, **kwargs)[source]¶ Returns: a list of times that the images were taken by gid. Return type: list_ (list) Returns: np.nan if no timedata exists for a given gid Return type: list_ (list)
-
wbia.control.manual_image_funcs.
get_image_uris
(ibs, gid_list)[source]¶ Returns: a list of image uris relative to the image dir by gid Return type: list_ (list) - RESTful:
- Method: GET URL: /api/image/uri/
-
wbia.control.manual_image_funcs.
get_image_uris_original
(ibs, gid_list)[source]¶ Returns: a list of (original) image uris relative to the image dir by gid Return type: list_ (list) - RESTful:
- Method: GET URL: /api/image/uri/original/
-
wbia.control.manual_image_funcs.
get_image_uuids
(ibs, gid_list)[source]¶ Returns: a list of image uuids by gid
Return type: list_ (list)
Parameters: - ibs (IBEISController) – wbia controller object
- gid_list (list) –
Returns: image_uuid_list
Return type: - CommandLine:
- python -m wbia.control.manual_image_funcs –test-get_image_uuids
- RESTful:
- Method: GET URL: /api/image/uuid/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_image_funcs import * # NOQA >>> import wbia >>> # build test data >>> ibs = wbia.opendb('testdb1') >>> gid_list = ibs.get_valid_gids() >>> # execute function >>> image_uuid_list = ibs.get_image_uuids(gid_list) >>> # verify results >>> result = ut.repr2(image_uuid_list, nl=1) >>> print(result) [ UUID('66ec193a-1619-b3b6-216d-1784b4833b61'), UUID('d8903434-942f-e0f5-d6c2-0dcbe3137bf7'), UUID('b73b72f4-4acb-c445-e72c-05ce02719d3d'), UUID('0cd05978-3d83-b2ee-2ac9-798dd571c3b3'), UUID('0a9bc03d-a75e-8d14-0153-e2949502aba7'), UUID('2deeff06-5546-c752-15dc-2bd0fdb1198a'), UUID('68ca272d-26f7-1dbb-76e9-08d192c1a4a7'), UUID('42fdad98-369a-2cbc-67b1-983d6d6a3a60'), UUID('c459d381-fd74-1d99-6215-e42e3f432ea9'), UUID('33fd9813-3a2b-774b-3fcc-4360d1ae151b'), UUID('97e8ea74-873f-2092-b372-f928a7be30fa'), UUID('588bc218-83a5-d400-21aa-d499832632b0'), UUID('163a890c-36f2-981e-3529-c552b6d668a3'), ]
-
wbia.control.manual_image_funcs.
get_image_widths
(ibs, gid_list)[source]¶ Returns: a list of (width, height) tuples Return type: list_ (list) - RESTful:
- Method: GET URL: /api/image/width/
-
wbia.control.manual_image_funcs.
get_images
(ibs, gid_list, ignore_orient=False, **kwargs)[source]¶ Returns: a list of images in numpy matrix form by gid
Return type: list_ (list)
Parameters: - ibs (IBEISController) – wbia controller object
- gid_list (list) –
Returns: image_list
Return type: - CommandLine:
- python -m wbia.control.manual_image_funcs –test-get_images
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_image_funcs import * # NOQA >>> import wbia >>> # build test data >>> ibs = wbia.opendb('testdb1') >>> gid_list = ibs.get_valid_gids()[0:1] >>> # execute function >>> image_list = get_images(ibs, gid_list) >>> # verify results >>> result = str(image_list[0].shape) >>> print(result) (715, 1047, 3)
-
wbia.control.manual_image_funcs.
get_valid_gids
(ibs, imgsetid=None, imgsetid_list=(), require_unixtime=False, require_gps=None, reviewed=None, **kwargs)[source]¶ Parameters: - ibs (IBEISController) – wbia controller object
- imgsetid (None) –
- require_unixtime (bool) –
- reviewed (None) –
Returns: gid_list
Return type: - CommandLine:
- python -m wbia.control.manual_image_funcs –test-get_valid_gids
- RESTful:
- Method: GET URL: /api/image/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_image_funcs import * # NOQA >>> import wbia >>> # build test data >>> ibs = wbia.opendb('testdb1') >>> imgsetid = None >>> require_unixtime = False >>> reviewed = None >>> # execute function >>> gid_list = get_valid_gids(ibs, imgsetid, require_unixtime, reviewed) >>> # verify results >>> result = str(gid_list) >>> print(result) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
-
wbia.control.manual_image_funcs.
get_valid_image_rowids
(ibs, imgsetid=None, require_unixtime=False, reviewed=None)[source]¶ alias
-
wbia.control.manual_image_funcs.
get_valid_image_uuids
(ibs)[source]¶ Returns: a list of image uuids for all valid gids Return type: list_ (list) Parameters: ibs (IBEISController) – wbia controller object Returns: image_uuid_list Return type: list - CommandLine:
- python -m wbia.control.manual_image_funcs –test-get_image_uuids
-
wbia.control.manual_image_funcs.
image_base64_api
(rowid=None, thumbnail=False, fresh=False, **kwargs)[source]¶ Returns the base64 encoded image of image <rowid>
- RESTful:
- Method: GET URL: /api/image/<rowid>/
-
wbia.control.manual_image_funcs.
localize_images
(ibs, gid_list_=None, cache_uri_dict=None, cleanup=True)[source]¶ Moves the images into the wbia image cache. Images are renamed to img_uuid.ext
Parameters: - ibs (IBEISController) – wbia controller object
- gid_list (list) –
- CommandLine:
- python -m wbia.control.manual_image_funcs –test-localize_images
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_image_funcs import * # NOQA >>> import wbia >>> import os >>> # build test data >>> ibs = wbia.opendb('testdb1') >>> gpath_list = [ut.unixpath(ut.grab_test_imgpath('carl.jpg'))] >>> gid_list_ = ibs.add_images(gpath_list, auto_localize=False) >>> gpath_list2 = ibs.get_image_paths(gid_list_) >>> ut.assert_eq(gpath_list, gpath_list2, 'should not move when autolocalize is False') >>> # execute function >>> result = localize_images(ibs, gid_list_) >>> gpath_list3 = ibs.get_image_paths(gid_list_) >>> assert gpath_list3 != gpath_list2, 'should now be different gpath_list3=%r' % (gpath_list3,) >>> gpath3 = gpath_list3[0] >>> rel_gpath3 = ut.relpath_unix(gpath3, ibs.get_workdir()) >>> result = rel_gpath3 >>> print(result) >>> # Clean things up >>> paths = ibs.get_image_paths(gid_list_) >>> ibs.delete_images(gid_list_) >>> for path in paths: >>> assert not os.path.exists(path)
- Ignore:
- ibs.vd()
-
wbia.control.manual_image_funcs.
set_image_cameratrap
(ibs, gid_list, cameratrap_list)[source]¶ Sets the image all instances found bit
-
wbia.control.manual_image_funcs.
set_image_contributor_rowid
(ibs, gid_list, contributor_rowid_list, **kwargs)[source]¶ Sets the image contributor rowid
-
wbia.control.manual_image_funcs.
set_image_enabled
(ibs, gid_list, enabled_list)[source]¶ Sets the image all instances found bit
-
wbia.control.manual_image_funcs.
set_image_gps
(ibs, gid_list, gps_list=None, lat_list=None, lon_list=None)[source]¶ - see get_image_gps for how the gps_list should look.
- lat and lon should be given in degrees
- RESTful:
- Method: PUT URL: /api/image/gps/
-
wbia.control.manual_image_funcs.
set_image_gps_str
(ibs, gid_list, gps_str_list)[source]¶ - see get_image_gps for how the gps_list should look.
- lat and lon should be given in degrees
- RESTful:
- Method: PUT URL: /api/image/gps/
-
wbia.control.manual_image_funcs.
set_image_imagesettext
(ibs, gid_list, imagesettext_list)[source]¶ Sets the encoutertext of each image
- RESTful:
- Method: PUT URL: /api/image/imageset/text/
-
wbia.control.manual_image_funcs.
set_image_imgsetids
(ibs, gid_list, imgsetid_list)[source]¶ Sets the encoutertext of each image
- RESTful:
- Method: PUT URL: /api/image/imageset/rowid/
-
wbia.control.manual_image_funcs.
set_image_location_codes
(ibs, gid_list, image_location_code_list, duplicate_behavior='error')[source]¶ image_location_code_list -> image.image_location_code[gid_list]
Parameters: - gid_list –
- image_location_code_list –
- TemplateInfo:
- Tsetter_native_column tbl = image col = image_location_code
- RESTful:
- Method: PUT URL: /api/image/location/code/
-
wbia.control.manual_image_funcs.
set_image_metadata
(ibs, gid_list, metadata_dict_list)[source]¶ Sets the image’s metadata using a metadata dictionary
- RESTful:
- Method: PUT URL: /api/image/metadata/
- CommandLine:
- python -m wbia.control.manual_image_funcs –test-set_image_metadata
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_image_funcs import * # NOQA >>> import wbia >>> import random >>> # build test data >>> ibs = wbia.opendb('testdb1') >>> gid_list = ibs.get_valid_gids()[0:1] >>> metadata_dict_list = [ >>> {'test': random.uniform(0.0, 1.0)}, >>> ] >>> print(ut.repr2(metadata_dict_list)) >>> ibs.set_image_metadata(gid_list, metadata_dict_list) >>> # verify results >>> metadata_dict_list_ = ibs.get_image_metadata(gid_list) >>> print(ut.repr2(metadata_dict_list_)) >>> assert metadata_dict_list == metadata_dict_list_ >>> metadata_str_list = [ut.to_json(metadata_dict) for metadata_dict in metadata_dict_list] >>> print(ut.repr2(metadata_str_list)) >>> metadata_str_list_ = ibs.get_image_metadata(gid_list, return_raw=True) >>> print(ut.repr2(metadata_str_list_)) >>> assert metadata_str_list == metadata_str_list_
-
wbia.control.manual_image_funcs.
set_image_notes
(ibs, gid_list, notes_list)[source]¶ Sets the image all instances found bit
- RESTful:
- Method: PUT URL: /api/image/note/
-
wbia.control.manual_image_funcs.
set_image_orientation
(ibs, gid_list, orientation_list)[source]¶ - RESTful:
- Method: PUT URL: /api/image/orientation/
-
wbia.control.manual_image_funcs.
set_image_party_rowids
(ibs, gid_list, party_rowid_list, duplicate_behavior='error')[source]¶ party_rowid_list -> image.party_rowid[gid_list]
Parameters: - gid_list –
- party_rowid_list –
- TemplateInfo:
- Tsetter_native_column tbl = image col = party_rowid
-
wbia.control.manual_image_funcs.
set_image_reviewed
(ibs, gid_list, reviewed_list)[source]¶ Sets the image all instances found bit
- RESTful:
- Method: PUT URL: /api/image/reviewed/
-
wbia.control.manual_image_funcs.
set_image_time_posix
(ibs, gid_list, image_time_posix_list, duplicate_behavior='error')[source]¶ image_time_posix_list -> image.image_time_posix[gid_list]
- SeeAlso:
- set_image_unixtime
Parameters: - gid_list –
- image_time_posix_list –
- TemplateInfo:
- Tsetter_native_column tbl = image col = image_time_posix
- RESTful:
- Method: PUT URL: /api/image/time/posix/
-
wbia.control.manual_image_funcs.
set_image_timedelta_posix
(ibs, gid_list, image_timedelta_posix_list, duplicate_behavior='error')[source]¶ image_timedelta_posix_list -> image.image_timedelta_posix[gid_list]
Parameters: - gid_list –
- image_timedelta_posix_list –
- TemplateInfo:
- Tsetter_native_column tbl = image col = image_timedelta_posix
- RESTful:
- Method: PUT URL: /api/image/timedelta/posix/
-
wbia.control.manual_image_funcs.
set_image_unixtime
(ibs, gid_list, unixtime_list, duplicate_behavior='error')[source]¶ - Sets the image unixtime (does not modify exif yet)
- alias for set_image_time_posix
- RESTful:
- Method: PUT URL: /api/image/unixtime/
- CommandLine:
- python -m wbia.control.manual_image_funcs –test-set_image_unixtime
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_image_funcs import * # NOQA >>> import wbia >>> import random >>> import time >>> # build test data >>> ibs = wbia.opendb('testdb1') >>> gid_list = ibs.get_valid_gids()[0:5] >>> unixtime_list = [ >>> random.randint(1, int(time.time())) >>> for _ in gid_list >>> ] >>> print(ut.repr2(unixtime_list)) >>> ibs.set_image_unixtime(gid_list, unixtime_list) >>> # verify results >>> unixtime_list_ = ibs.get_image_unixtime(gid_list) >>> print(ut.repr2(unixtime_list_)) >>> assert unixtime_list == unixtime_list_
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_image_funcs import * # NOQA >>> import wbia >>> import random >>> import time >>> # build test data >>> ibs = wbia.opendb('testdb1') >>> gid_list = ibs.get_valid_gids()[0:5] >>> gid_list = gid_list + gid_list >>> unixtime_list = [ >>> random.randint(1, int(time.time())) >>> for _ in gid_list >>> ] >>> try: >>> print(ut.repr2(unixtime_list)) >>> ibs.set_image_unixtime(gid_list, unixtime_list) >>> except AssertionError: >>> pass
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_image_funcs import * # NOQA >>> import wbia >>> import random >>> import time >>> # build test data >>> ibs = wbia.opendb('testdb1') >>> gid_list = ibs.get_valid_gids()[0:5] >>> unixtime_list = [ >>> random.randint(1, int(time.time())) >>> for _ in gid_list >>> ] >>> gid_list = gid_list + gid_list >>> unixtime_list = unixtime_list + unixtime_list >>> print(ut.repr2(unixtime_list)) >>> ibs.set_image_unixtime(gid_list, unixtime_list) >>> # verify results >>> unixtime_list_ = ibs.get_image_unixtime(gid_list) >>> print(ut.repr2(unixtime_list_)) >>> assert unixtime_list == unixtime_list_
-
wbia.control.manual_image_funcs.
set_image_uris
(ibs, gid_list, new_gpath_list)[source]¶ Sets the image URIs to a new local path. This is used when localizing or unlocalizing images. An absolute path can either be on this machine or on the cloud A relative path is relative to the wbia image cache on this machine.
- RESTful:
- Method: PUT URL: /api/image/uri/
-
wbia.control.manual_image_funcs.
set_image_uris_original
(ibs, gid_list, new_gpath_list, overwrite=False)[source]¶ Sets the (original) image URIs to a new local path.
Parameters: overwrite (bool) – If overwrite, replace the information in the database. This ensures that original uris cannot be accidentally overwritten. Defaults to False. - RESTful:
- Method: PUT URL: /api/image/uri/original/
wbia.control.manual_imageset_funcs module¶
-
wbia.control.manual_imageset_funcs.
add_imagesets
(ibs, imagesettext_list, imageset_uuid_list=None, notes_list=None, occurence_flag_list=None)[source]¶ Adds a list of imagesets.
Parameters: Returns: added imageset rowids
Return type: imgsetid_list (list)
- RESTful:
- Method: POST URL: /api/imageset/
-
wbia.control.manual_imageset_funcs.
delete_imagesets
(ibs, imgsetid_list)[source]¶ Removes imagesets and thier relationships (images are not effected)
- RESTful:
- Method: DELETE URL: /api/imageset/
-
wbia.control.manual_imageset_funcs.
get_imageset_aids
(ibs, imgsetid_list)[source]¶ Returns: a list of list of aids in each imageset Return type: aids_list (list) - RESTful:
- Method: GET URL: /api/imageset/annot/rowid/
Parameters: - ibs (IBEISController) – wbia controller object
- imgsetid_list (list) –
Returns: aids_list
Return type: - CommandLine:
- python -m wbia.control.manual_imageset_funcs –test-get_imageset_aids
Example
>>> # DISABLE_DOCTEST >>> from wbia.control.manual_imageset_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb(defaultdb='testdb1') >>> ibs.delete_imagesets(ibs.get_valid_imgsetids()) >>> ibs.compute_occurrences(config={'use_gps': False, 'seconds_thresh': 600}) >>> imgsetid_list = ibs.get_valid_imgsetids() >>> aids_list = get_imageset_aids(ibs, imgsetid_list) >>> result = ('aids_list = %s' % (str(aids_list),)) >>> print(result)
-
wbia.control.manual_imageset_funcs.
get_imageset_custom_filtered_aids
(ibs, imgsetid_list)[source]¶ hacks to filter aids to only certain views and qualities
-
wbia.control.manual_imageset_funcs.
get_imageset_duration
(ibs, imageset_rowid_list)[source]¶ gets the imageset’s duration
Parameters: imageset_rowid_list (list) – Returns: imageset_duration Return type: list - RESTful:
- Method: GET URL: /api/imageset/duration/
-
wbia.control.manual_imageset_funcs.
get_imageset_end_time_posix
(ibs, imageset_rowid_list)[source]¶ imageset_end_time_posix_list <- imageset.imageset_end_time_posix[imageset_rowid_list]
gets data from the “native” column “imageset_end_time_posix” in the “imageset” table
Parameters: imageset_rowid_list (list) – Returns: imageset_end_time_posix_list Return type: list - TemplateInfo:
- Tgetter_table_column col = imageset_end_time_posix tbl = imageset
- RESTful:
- Method: GET URL: /api/imageset/time/posix/end/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_imageset_funcs import * # NOQA >>> ibs, config2_ = testdata_ibs() >>> imageset_rowid_list = ibs._get_all_imageset_rowids() >>> imageset_end_time_posix_list = ibs.get_imageset_end_time_posix(imageset_rowid_list) >>> assert len(imageset_rowid_list) == len(imageset_end_time_posix_list)
-
wbia.control.manual_imageset_funcs.
get_imageset_fraction_annotmatch_reviewed
(ibs, imgsetid_list)[source]¶
-
wbia.control.manual_imageset_funcs.
get_imageset_fraction_names_with_exemplar
(ibs, imgsetid_list)[source]¶ Example
>>> # DISABLE_DOCTEST >>> from wbia.control.manual_imageset_funcs import * # NOQA >>> import wbia # NOQA >>> ibs = wbia.opendb('testdb2') >>> imgsetid_list = ibs._get_all_imageset_rowids() >>> fraction_exemplared_names_list = ibs.get_imageset_fraction_names_with_exemplar(imgsetid_list)
-
wbia.control.manual_imageset_funcs.
get_imageset_gids
(ibs, imgsetid_list)[source]¶ Returns: a list of list of gids in each imageset Return type: gids_list (list) - RESTful:
- Method: GET URL: /api/imageset/image/rowid/
-
wbia.control.manual_imageset_funcs.
get_imageset_gps_lats
(ibs, imageset_rowid_list)[source]¶ imageset_gps_lat_list <- imageset.imageset_gps_lat[imageset_rowid_list]
gets data from the “native” column “imageset_gps_lat” in the “imageset” table
Parameters: imageset_rowid_list (list) – Returns: imageset_gps_lat_list Return type: list - TemplateInfo:
- Tgetter_table_column col = imageset_gps_lat tbl = imageset
- RESTful:
- Method: GET URL: /api/imageset/gps/lat/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_imageset_funcs import * # NOQA >>> ibs, config2_ = testdata_ibs() >>> imageset_rowid_list = ibs._get_all_imageset_rowids() >>> imageset_gps_lat_list = ibs.get_imageset_gps_lats(imageset_rowid_list) >>> assert len(imageset_rowid_list) == len(imageset_gps_lat_list)
-
wbia.control.manual_imageset_funcs.
get_imageset_gps_lons
(ibs, imageset_rowid_list)[source]¶ imageset_gps_lon_list <- imageset.imageset_gps_lon[imageset_rowid_list]
gets data from the “native” column “imageset_gps_lon” in the “imageset” table
Parameters: imageset_rowid_list (list) – Returns: imageset_gps_lon_list Return type: list - TemplateInfo:
- Tgetter_table_column col = imageset_gps_lon tbl = imageset
- RESTful:
- Method: GET URL: /api/imageset/gps/lon/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_imageset_funcs import * # NOQA >>> ibs, config2_ = testdata_ibs() >>> imageset_rowid_list = ibs._get_all_imageset_rowids() >>> imageset_gps_lon_list = ibs.get_imageset_gps_lons(imageset_rowid_list) >>> assert len(imageset_rowid_list) == len(imageset_gps_lon_list)
-
wbia.control.manual_imageset_funcs.
get_imageset_gsgrids
(ibs, imgsetid_list=None, gid_list=None)[source]¶ Returns: a list of imageset-image-relationship rowids for each encouterid Return type: list_ (list)
-
wbia.control.manual_imageset_funcs.
get_imageset_image_uuids
(ibs, imgsetid_list)[source]¶ Returns: a list of list of gids in each imageset Return type: gids_list (list) - RESTful:
- Method: GET URL: /api/imageset/image/uuid/
-
wbia.control.manual_imageset_funcs.
get_imageset_imgsetids_from_text
(ibs, imagesettext_list, ensure=True)[source]¶ Returns: a list of imgsetids corresponding to each imageset imagesettext Return type: list_ (list) #FIXME: make new naming scheme for non-primary-key-getters get_imageset_imgsetids_from_text_from_text
- RESTful:
- Method: GET URL: /api/imageset/rowid/text/
-
wbia.control.manual_imageset_funcs.
get_imageset_imgsetids_from_uuid
(ibs, uuid_list)[source]¶ Returns: a list of imgsetids corresponding to each imageset imagesettext Return type: list_ (list) #FIXME: make new naming scheme for non-primary-key-getters get_imageset_imgsetids_from_text_from_text
- RESTful:
- Method: GET URL: /api/imageset/rowid/uuid/
-
wbia.control.manual_imageset_funcs.
get_imageset_metadata
(ibs, imageset_rowid_list, return_raw=False)[source]¶ Returns: imageset metadata dictionary Return type: list_ (list) - RESTful:
- Method: GET URL: /api/imageset/metadata/
-
wbia.control.manual_imageset_funcs.
get_imageset_name_uuids
(ibs, imgsetid_list)[source]¶ Returns: a list of list of known name uuids in each imageset Return type: name_uuid_list (list) - CommandLine:
- python -m wbia.control.manual_imageset_funcs –test-get_imageset_name_uuids
- RESTful:
- Method: GET URL: /api/imageset/name/uuid/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_imageset_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> ibs.delete_imagesets(ibs.get_valid_imgsetids()) >>> ibs.compute_occurrences(config={'use_gps': False, 'seconds_thresh': 600}) >>> imgsetid_list = ibs.get_valid_imgsetids() >>> nids_list = ibs.get_imageset_nids(imgsetid_list) >>> result = nids_list >>> print(result) [[1, 2, 3], [4, 5, 6, 7]]
-
wbia.control.manual_imageset_funcs.
get_imageset_nids
(ibs, imgsetid_list)[source]¶ Returns: a list of list of known nids in each imageset Return type: list_ (list) - CommandLine:
- python -m wbia.control.manual_imageset_funcs –test-get_imageset_nids
- RESTful:
- Method: GET URL: /api/imageset/name/rowid/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_imageset_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> ibs.delete_imagesets(ibs.get_valid_imgsetids()) >>> ibs.compute_occurrences(config={'use_gps': False, 'seconds_thresh': 600}) >>> imgsetid_list = ibs.get_valid_imgsetids() >>> nids_list = ibs.get_imageset_nids(imgsetid_list) >>> result = nids_list >>> print(result) [[1, 2, 3], [4, 5, 6, 7]]
-
wbia.control.manual_imageset_funcs.
get_imageset_note
(ibs, imgsetid_list)[source]¶ Returns: imageset_note of each imgsetid in imgsetid_list Return type: list_ (list) - RESTful:
- Method: GET URL: /api/imageset/note/
-
wbia.control.manual_imageset_funcs.
get_imageset_notes
(ibs, imageset_rowid_list)[source]¶ imageset_note_list <- imageset.imageset_note[imageset_rowid_list]
gets data from the “native” column “imageset_note” in the “imageset” table
Parameters: imageset_rowid_list (list) – Returns: imageset_note_list Return type: list - TemplateInfo:
- Tgetter_table_column col = imageset_note tbl = imageset
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_imageset_funcs import * # NOQA >>> ibs, config2_ = testdata_ibs() >>> imageset_rowid_list = ibs._get_all_imageset_rowids() >>> imageset_note_list = ibs.get_imageset_notes(imageset_rowid_list) >>> assert len(imageset_rowid_list) == len(imageset_note_list)
-
wbia.control.manual_imageset_funcs.
get_imageset_num_aids
(ibs, imgsetid_list)[source]¶ Returns: number of images in each imageset Return type: nGids_list (list) - RESTful:
- Method: GET URL: /api/imageset/num/annot/
-
wbia.control.manual_imageset_funcs.
get_imageset_num_annotmatch_reviewed
(ibs, imgsetid_list)[source]¶ - RESTful:
- Method: GET URL: /api/imageset/num/annotmatch/reviewed/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_imageset_funcs import * # NOQA >>> import wbia # NOQA >>> ibs = wbia.opendb('testdb1') >>> imgsetid_list = ibs._get_all_imageset_rowids() >>> num_annots_reviewed_list = ibs.get_imageset_num_annotmatch_reviewed(imgsetid_list)
-
wbia.control.manual_imageset_funcs.
get_imageset_num_annots_reviewed
(ibs, imgsetid_list)[source]¶ - RESTful:
- Method: GET URL: /api/imageset/num/annot/reviewed/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_imageset_funcs import * # NOQA >>> ibs, config2_ = testdata_ibs() >>> # Reset and compute imagesets >>> ibs.delete_all_imagesets() >>> ibs.compute_occurrences(config={'use_gps': False, 'seconds_thresh': 600}) >>> imgsetid_list = ibs.get_valid_imgsetids() >>> num_reviwed_list = ibs.get_imageset_num_imgs_reviewed(imgsetid_list) >>> result = num_reviwed_list >>> print(result) [0, 0]
-
wbia.control.manual_imageset_funcs.
get_imageset_num_gids
(ibs, imgsetid_list)[source]¶ Returns: number of images in each imageset Return type: nGids_list (list) - RESTful:
- Method: GET URL: /api/imageset/num/image/
-
wbia.control.manual_imageset_funcs.
get_imageset_num_imgs_reviewed
(ibs, imgsetid_list)[source]¶ - RESTful:
- Method: GET URL: /api/imageset/num/image/reviewed/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_imageset_funcs import * # NOQA >>> ibs, config2_ = testdata_ibs() >>> # Reset and compute imagesets >>> ibs.delete_all_imagesets() >>> ibs.compute_occurrences(config={'use_gps': False, 'seconds_thresh': 600}) >>> imgsetid_list = ibs.get_valid_imgsetids() >>> num_reviwed_list = ibs.get_imageset_num_imgs_reviewed(imgsetid_list) >>> result = num_reviwed_list >>> print(result) [0, 0]
-
wbia.control.manual_imageset_funcs.
get_imageset_num_names_with_exemplar
(ibs, imgsetid_list)[source]¶ - RESTful:
- Method: GET URL: /api/imageset/num/name/exemplar/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_imageset_funcs import * # NOQA >>> import wbia # NOQA >>> ibs = wbia.opendb('testdb1') >>> imgsetid_list = ibs._get_all_imageset_rowids() >>> num_annots_reviewed_list = ibs.get_imageset_num_annotmatch_reviewed(imgsetid_list)
-
wbia.control.manual_imageset_funcs.
get_imageset_occurrence_flags
(ibs, imageset_rowid_list)[source]¶ imageset_occurrence_flag_list <- imageset.imageset_occurrence_flag[imageset_rowid_list]
gets data from the “native” column “imageset_occurrence_flag” in the “imageset” table
Parameters: imageset_rowid_list (list) – Returns: imageset_occurrence_flag_list Return type: list - TemplateInfo:
- Tgetter_table_column col = imageset_occurrence_flag tbl = imageset
- RESTful:
- Method: GET URL: /api/imageset/occurrence/
- CommandLine:
- python -m wbia.control.manual_imageset_funcs –test-get_imageset_occurrence_flags
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_imageset_funcs import * # NOQA >>> ibs, config2_ = testdata_ibs() >>> imageset_rowid_list = ibs._get_all_imageset_rowids() >>> imageset_occurrence_flag_list = ibs.get_imageset_occurrence_flags(imageset_rowid_list) >>> assert len(imageset_rowid_list) == len(imageset_occurrence_flag_list)
-
wbia.control.manual_imageset_funcs.
get_imageset_percent_annotmatch_reviewed_str
(ibs, imgsetid_list)[source]¶
-
wbia.control.manual_imageset_funcs.
get_imageset_percent_imgs_reviewed_str
(ibs, imgsetid_list)[source]¶
-
wbia.control.manual_imageset_funcs.
get_imageset_percent_names_with_exemplar_str
(ibs, imgsetid_list)[source]¶
-
wbia.control.manual_imageset_funcs.
get_imageset_processed_flags
(ibs, imageset_rowid_list)[source]¶ imageset_processed_flag_list <- imageset.imageset_processed_flag[imageset_rowid_list]
gets data from the “native” column “imageset_processed_flag” in the “imageset” table
Parameters: imageset_rowid_list (list) – Returns: imageset_processed_flag_list Return type: list - TemplateInfo:
- Tgetter_table_column col = imageset_processed_flag tbl = imageset
- RESTful:
- Method: GET URL: /api/imageset/processed/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_imageset_funcs import * # NOQA >>> ibs, config2_ = testdata_ibs() >>> imageset_rowid_list = ibs._get_all_imageset_rowids() >>> imageset_processed_flag_list = ibs.get_imageset_processed_flags(imageset_rowid_list) >>> assert len(imageset_rowid_list) == len(imageset_processed_flag_list)
-
wbia.control.manual_imageset_funcs.
get_imageset_shipped_flags
(ibs, imageset_rowid_list)[source]¶ imageset_shipped_flag_list <- imageset.imageset_shipped_flag[imageset_rowid_list]
gets data from the “native” column “imageset_shipped_flag” in the “imageset” table
Parameters: imageset_rowid_list (list) – Returns: imageset_shipped_flag_list Return type: list - TemplateInfo:
- Tgetter_table_column col = imageset_shipped_flag tbl = imageset
- RESTful:
- Method: GET URL: /api/imageset/shipped/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_imageset_funcs import * # NOQA >>> ibs, config2_ = testdata_ibs() >>> imageset_rowid_list = ibs._get_all_imageset_rowids() >>> imageset_shipped_flag_list = ibs.get_imageset_shipped_flags(imageset_rowid_list) >>> assert len(imageset_rowid_list) == len(imageset_shipped_flag_list)
-
wbia.control.manual_imageset_funcs.
get_imageset_smart_waypoint_ids
(ibs, imageset_rowid_list)[source]¶ imageset_smart_waypoint_id_list <- imageset.imageset_smart_waypoint_id[imageset_rowid_list]
gets data from the “native” column “imageset_smart_waypoint_id” in the “imageset” table
Parameters: imageset_rowid_list (list) – Returns: imageset_smart_waypoint_id_list Return type: list - TemplateInfo:
- Tgetter_table_column col = imageset_smart_waypoint_id tbl = imageset
- RESTful:
- Method: GET URL: /api/imageset/smart/waypoint/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_imageset_funcs import * # NOQA >>> ibs, config2_ = testdata_ibs() >>> imageset_rowid_list = ibs._get_all_imageset_rowids() >>> imageset_smart_waypoint_id_list = ibs.get_imageset_smart_waypoint_ids(imageset_rowid_list) >>> assert len(imageset_rowid_list) == len(imageset_smart_waypoint_id_list)
-
wbia.control.manual_imageset_funcs.
get_imageset_smart_xml_contents
(ibs, imageset_rowid_list)[source]¶
-
wbia.control.manual_imageset_funcs.
get_imageset_smart_xml_fnames
(ibs, imageset_rowid_list)[source]¶ imageset_smart_xml_fname_list <- imageset.imageset_smart_xml_fname[imageset_rowid_list]
gets data from the “native” column “imageset_smart_xml_fname” in the “imageset” table
Parameters: imageset_rowid_list (list) – Returns: imageset_smart_xml_fname_list Return type: list - TemplateInfo:
- Tgetter_table_column col = imageset_smart_xml_fname tbl = imageset
- RESTful:
- Method: GET URL: /api/imageset/smart/xml/file/name/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_imageset_funcs import * # NOQA >>> ibs, config2_ = testdata_ibs() >>> imageset_rowid_list = ibs._get_all_imageset_rowids() >>> imageset_smart_xml_fname_list = ibs.get_imageset_smart_xml_fnames(imageset_rowid_list) >>> assert len(imageset_rowid_list) == len(imageset_smart_xml_fname_list)
-
wbia.control.manual_imageset_funcs.
get_imageset_start_time_posix
(ibs, imageset_rowid_list)[source]¶ imageset_start_time_posix_list <- imageset.imageset_start_time_posix[imageset_rowid_list]
gets data from the “native” column “imageset_start_time_posix” in the “imageset” table
Parameters: imageset_rowid_list (list) – Returns: imageset_start_time_posix_list Return type: list - TemplateInfo:
- Tgetter_table_column col = imageset_start_time_posix tbl = imageset
- RESTful:
- Method: GET URL: /api/imageset/time/posix/start/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_imageset_funcs import * # NOQA >>> ibs, config2_ = testdata_ibs() >>> imageset_rowid_list = ibs._get_all_imageset_rowids() >>> imageset_start_time_posix_list = ibs.get_imageset_start_time_posix(imageset_rowid_list) >>> assert len(imageset_rowid_list) == len(imageset_start_time_posix_list)
-
wbia.control.manual_imageset_funcs.
get_imageset_text
(ibs, imgsetid_list)[source]¶ Returns: imageset_text of each imgsetid in imgsetid_list Return type: list_ (list) - RESTful:
- Method: GET URL: /api/imageset/text/
-
wbia.control.manual_imageset_funcs.
get_imageset_uuid
(ibs, imgsetid_list)[source]¶ Returns: imageset_uuid of each imgsetid in imgsetid_list Return type: list_ (list) - RESTful:
- Method: GET URL: /api/imageset/uuid/
-
wbia.control.manual_imageset_funcs.
get_imageset_uuids
(ibs, imgsetid_list)[source]¶ Parameters: - ibs (IBEISController) – wbia controller object
- imgsetid_list (list) –
Returns: annot_uuids_list
Return type: - RESTful:
- Method: GET URL: /api/imageset/annot/uuid/
- CommandLine:
- python -m wbia.control.manual_imageset_funcs –test-get_imageset_aids
Example
>>> # DISABLE_DOCTEST >>> from wbia.control.manual_imageset_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb(defaultdb='testdb1') >>> ibs.delete_imagesets(ibs.get_valid_imgsetids()) >>> ibs.compute_occurrences(config={'use_gps': False, 'seconds_thresh': 600}) >>> imgsetid_list = ibs.get_valid_imgsetids() >>> aids_list = get_imageset_aids(ibs, imgsetid_list) >>> result = ('aids_list = %s' % (str(aids_list),)) >>> print(result)
-
wbia.control.manual_imageset_funcs.
get_valid_imgsetids
(ibs, min_num_gids=0, processed=None, shipped=None, is_occurrence=None, is_special=None)[source]¶ FIX NAME imgagesetids
Returns: list of all imageset ids Return type: list_ (list) - RESTful:
- Method: GET URL: /api/imageset/
-
wbia.control.manual_imageset_funcs.
set_imageset_end_time_posix
(ibs, imageset_rowid_list, imageset_end_time_posix_list)[source]¶ imageset_end_time_posix_list -> imageset.imageset_end_time_posix[imageset_rowid_list]
Parameters: - imageset_rowid_list –
- imageset_end_time_posix_list –
- TemplateInfo:
- Tsetter_native_column tbl = imageset col = imageset_end_time_posix
- RESTful:
- Method: PUT URL: /api/imageset/time/posix/end/
-
wbia.control.manual_imageset_funcs.
set_imageset_gps_lats
(ibs, imageset_rowid_list, imageset_gps_lat_list)[source]¶ imageset_gps_lat_list -> imageset.imageset_gps_lat[imageset_rowid_list]
Parameters: - imageset_rowid_list –
- imageset_gps_lat_list –
- TemplateInfo:
- Tsetter_native_column tbl = imageset col = imageset_gps_lat
- RESTful:
- Method: PUT URL: /api/imageset/gps/lat/
-
wbia.control.manual_imageset_funcs.
set_imageset_gps_lons
(ibs, imageset_rowid_list, imageset_gps_lon_list)[source]¶ imageset_gps_lon_list -> imageset.imageset_gps_lon[imageset_rowid_list]
Parameters: - imageset_rowid_list –
- imageset_gps_lon_list –
- TemplateInfo:
- Tsetter_native_column tbl = imageset col = imageset_gps_lon
- RESTful:
- Method: PUT URL: /api/imageset/gps/lon/
-
wbia.control.manual_imageset_funcs.
set_imageset_metadata
(ibs, imageset_rowid_list, metadata_dict_list)[source]¶ Sets the imageset’s metadata using a metadata dictionary
- RESTful:
- Method: PUT URL: /api/imageset/metadata/
-
wbia.control.manual_imageset_funcs.
set_imageset_notes
(ibs, imageset_rowid_list, imageset_note_list)[source]¶ imageset_note_list -> imageset.imageset_note[imageset_rowid_list]
Parameters: - imageset_rowid_list –
- imageset_note_list –
- TemplateInfo:
- Tsetter_native_column tbl = imageset col = imageset_note
-
wbia.control.manual_imageset_funcs.
set_imageset_occurrence_flags
(ibs, imageset_rowid_list, imageset_occurrence_flag_list)[source]¶ imageset_occurrence_flag_list -> imageset.imageset_occurrence_flag[imageset_rowid_list]
Parameters: - imageset_rowid_list –
- imageset_occurrence_flag_list –
- TemplateInfo:
- Tsetter_native_column tbl = imageset col = imageset_occurrence_flag
- RESTful:
- Method: PUT URL: /api/imageset/occurrence/
-
wbia.control.manual_imageset_funcs.
set_imageset_processed_flags
(ibs, imageset_rowid_list, imageset_processed_flag_list)[source]¶ imageset_processed_flag_list -> imageset.imageset_processed_flag[imageset_rowid_list]
Parameters: - imageset_rowid_list –
- imageset_processed_flag_list –
- TemplateInfo:
- Tsetter_native_column tbl = imageset col = imageset_processed_flag
- RESTful:
- Method: PUT URL: /api/imageset/processed/
-
wbia.control.manual_imageset_funcs.
set_imageset_shipped_flags
(ibs, imageset_rowid_list, imageset_shipped_flag_list)[source]¶ imageset_shipped_flag_list -> imageset.imageset_shipped_flag[imageset_rowid_list]
Parameters: - imageset_rowid_list –
- imageset_shipped_flag_list –
- TemplateInfo:
- Tsetter_native_column tbl = imageset col = imageset_shipped_flag
- RESTful:
- Method: PUT URL: /api/imageset/shipped/
-
wbia.control.manual_imageset_funcs.
set_imageset_smart_waypoint_ids
(ibs, imageset_rowid_list, imageset_smart_waypoint_id_list)[source]¶ imageset_smart_waypoint_id_list -> imageset.imageset_smart_waypoint_id[imageset_rowid_list]
Parameters: - imageset_rowid_list –
- imageset_smart_waypoint_id_list –
- TemplateInfo:
- Tsetter_native_column tbl = imageset col = imageset_smart_waypoint_id
- RESTful:
- Method: PUT URL: /api/imageset/smart/waypoint/
-
wbia.control.manual_imageset_funcs.
set_imageset_smart_xml_fnames
(ibs, imageset_rowid_list, imageset_smart_xml_fname_list)[source]¶ imageset_smart_xml_fname_list -> imageset.imageset_smart_xml_fname[imageset_rowid_list]
Parameters: - imageset_rowid_list –
- imageset_smart_xml_fname_list –
- TemplateInfo:
- Tsetter_native_column tbl = imageset col = imageset_smart_xml_fname
- RESTful:
- Method: PUT URL: /api/imageset/smart/xml/fname/
-
wbia.control.manual_imageset_funcs.
set_imageset_start_time_posix
(ibs, imageset_rowid_list, imageset_start_time_posix_list)[source]¶ imageset_start_time_posix_list -> imageset.imageset_start_time_posix[imageset_rowid_list]
Parameters: - imageset_rowid_list –
- imageset_start_time_posix_list –
- TemplateInfo:
- Tsetter_native_column tbl = imageset col = imageset_start_time_posix
- RESTful:
- Method: PUT URL: /api/imageset/time/posix/start/
-
wbia.control.manual_imageset_funcs.
set_imageset_text
(ibs, imgsetid_list, imageset_text_list)[source]¶ Sets names of imagesets (groups of animals)
- RESTful:
- Method: PUT URL: /api/imageset/text/
-
wbia.control.manual_imageset_funcs.
update_imageset_info
(ibs, imageset_rowid_list, **kwargs)[source]¶ sets start and end time for imagesets
FIXME: should not need to bulk update, should be handled as it goes
- RESTful:
- Method: PUT URL: /api/imageset/info/
Example
>>> # DISABLE_DOCTEST >>> imageset_rowid_list = ibs.get_valid_imgsetids()
wbia.control.manual_lblannot_funcs module¶
-
wbia.control.manual_lblannot_funcs.
add_annot_relationship
(ibs, aid_list, lblannot_rowid_list, alr_confidence_list=None)[source]¶ - Adds a relationship between annots and lblannots
- (annotations and labels of annotations)
-
wbia.control.manual_lblannot_funcs.
add_lblannots
(ibs, lbltype_rowid_list, value_list, note_list=None, lblannot_uuid_list=None)[source]¶ Adds new lblannots (labels of annotations) creates a new uuid for any new pair(type, value) #TODO: reverse order of rowid_list value_list in input
-
wbia.control.manual_lblannot_funcs.
delete_annot_relations
(ibs, aid_list)[source]¶ Deletes the relationship between an annotation and a label
-
wbia.control.manual_lblannot_funcs.
delete_annot_relations_oftype
(ibs, aid_list, _lbltype)[source]¶ Deletes the relationship between an annotation and a label
-
wbia.control.manual_lblannot_funcs.
delete_lblannots
(ibs, lblannot_rowid_list)[source]¶ deletes lblannots from the database
-
wbia.control.manual_lblannot_funcs.
get_alr_annot_rowids
(ibs, alrid_list)[source]¶ Parameters: alrid_list (list of rowids) – annot + label relationship rows get the annot_rowid belonging to each relationship
-
wbia.control.manual_lblannot_funcs.
get_alr_annot_rowids_from_lblannot_rowid
(ibs, lblannot_rowid_list)[source]¶ This is a 1toM getter
Get annotation rowids of labels. There may be more than one annotation per label.
Parameters: lblannot_rowid_list (list) – of lblannot (labels of annotations) rowids Returns: of lists annotation rowids Return type: aids_list (list)
-
wbia.control.manual_lblannot_funcs.
get_alr_confidence
(ibs, alrid_list)[source]¶ Parameters: alrid_list (list of rowids) – annot + label relationship rows Returns: confidence in an annotation relationship Return type: alr_confidence_list (list of rowids)
-
wbia.control.manual_lblannot_funcs.
get_alr_lblannot_rowids
(ibs, alrid_list)[source]¶ Parameters: alrid_list (list of rowids) – annot + label relationship rows Returns: label rowids (of annotations) Return type: lblannot_rowids_list (list of rowids)
-
wbia.control.manual_lblannot_funcs.
get_alrid_from_superkey
(ibs, aid_list, lblannot_rowid_list)[source]¶ Parameters: Returns: annot-label relationship id list
Return type: alrid_list (list)
-
wbia.control.manual_lblannot_funcs.
get_annot_alrids
(ibs, aid_list)[source]¶ FIXME: __name__ Get all the relationship ids belonging to the input annotations if lblannot lbltype is specified the relationship ids are filtered to be only of a specific lbltype/category/type
-
wbia.control.manual_lblannot_funcs.
get_annot_alrids_oftype
(ibs, aid_list, lbltype_rowid)[source]¶ Get all the relationship ids belonging to the input annotations where the relationship ids are filtered to be only of a specific lbltype/category/type
-
wbia.control.manual_lblannot_funcs.
get_annot_lblannot_rowids
(ibs, aid_list)[source]¶ Returns: the name id of each annotation. Return type: list_ (list)
-
wbia.control.manual_lblannot_funcs.
get_annot_lblannot_rowids_oftype
(ibs, aid_list, _lbltype=None)[source]¶ Returns: the name id of each annotation. Return type: list_ (list)
-
wbia.control.manual_lblannot_funcs.
get_annot_lblannot_value_of_lbltype
(ibs, aid_list, _lbltype, lblannot_value_getter)[source]¶ Returns: a list of strings [‘fred’, ‘sue’, …] for each chip identifying the animal Return type: lblannot_value_list (list)
-
wbia.control.manual_lblannot_funcs.
get_lblannot_rowid_from_superkey
(ibs, lbltype_rowid_list, value_list)[source]¶ Returns: lblannot_rowid_list from the superkey (lbltype, value) Return type: list_ (list)
-
wbia.control.manual_lblannot_funcs.
get_lblannot_rowid_from_uuid
(ibs, lblannot_uuid_list)[source]¶ UNSAFE
Returns: lblannot_rowid_list from the superkey (lbltype, value)
-
wbia.control.manual_lblannot_funcs.
get_lblannot_values
(ibs, lblannot_rowid_list, _lbltype=None)[source]¶ Returns: text lblannots
-
wbia.control.manual_lblannot_funcs.
set_alr_confidence
(ibs, alrid_list, confidence_list)[source]¶ sets annotation-lblannot-relationship confidence
-
wbia.control.manual_lblannot_funcs.
set_alr_lblannot_rowids
(ibs, alrid_list, lblannot_rowid_list)[source]¶ Associates whatever annotation is at row(alrid) with a new lblannot_rowid. (effectively changes the label value of the rowid)
-
wbia.control.manual_lblannot_funcs.
set_annot_lblannot_from_rowid
(ibs, aid_list, lblannot_rowid_list, _lbltype)[source]¶ Sets items/lblannot_rowids of a list of annotations.
-
wbia.control.manual_lblannot_funcs.
set_annot_lblannot_from_value
(ibs, aid_list, value_list, _lbltype, ensure=True)[source]¶ Associates the annot and lblannot of a specific type and value Adds the lblannot if it doesnt exist. Wrapper around convenience function for set_annot_from_lblannot_rowid
wbia.control.manual_lblimage_funcs module¶
-
wbia.control.manual_lblimage_funcs.
add_image_relationship_one
(ibs, gid_list, lblimage_rowid_list, glr_confidence_list=None)[source]¶ Adds a relationship between images and lblimages (imageations and labels of imageations)
-
wbia.control.manual_lblimage_funcs.
add_lblimages
(ibs, lbltype_rowid_list, value_list, note_list=None, lblimage_uuid_list=None)[source]¶ Adds new lblimages (labels of imageations) creates a new uuid for any new pair(type, value) #TODO: reverse order of rowid_list value_list in input
-
wbia.control.manual_lblimage_funcs.
get_glr_confidence
(ibs, glrid_list)[source]¶ Returns: confidence in an image relationship Return type: list_ (list)
-
wbia.control.manual_lblimage_funcs.
get_glr_image_rowids
(ibs, glrid_list)[source]¶ get the image_rowid belonging to each relationship
-
wbia.control.manual_lblimage_funcs.
get_glr_lblimage_rowids
(ibs, glrid_list)[source]¶ get the lblimage_rowid belonging to each relationship
-
wbia.control.manual_lblimage_funcs.
get_glrid_from_superkey
(ibs, gid_list, lblimage_rowid_list)[source]¶ Parameters: Returns: image-label relationship id list
Return type: glrid_list (list)
-
wbia.control.manual_lblimage_funcs.
get_image_glrids
(ibs, gid_list)[source]¶ FIXME: __name__ Get all the relationship ids belonging to the input images if lblimage lbltype is specified the relationship ids are filtered to be only of a specific lbltype/category/type
-
wbia.control.manual_lblimage_funcs.
get_lblimage_rowid_from_superkey
(ibs, lbltype_rowid_list, value_list)[source]¶ Returns: lblimage_rowid_list from the superkey (lbltype, value) Return type: list_ (list)
wbia.control.manual_lbltype_funcs module¶
-
wbia.control.manual_lbltype_funcs.
add_lbltype
(ibs, text_list, default_list)[source]¶ Adds a label type and its default value Should only be called at the begining of the program.
wbia.control.manual_meta_funcs module¶
controller functions for contributors, versions, configs, and other metadata
-
wbia.control.manual_meta_funcs.
add_contributors
(ibs, tag_list, uuid_list=None, name_first_list=None, name_last_list=None, loc_city_list=None, loc_state_list=None, loc_country_list=None, loc_zip_list=None, notes_list=None)[source]¶ Adds a list of contributors.
Returns: contributor rowids Return type: contributor_id_list (list) - RESTful:
- Method: POST URL: /api/contributor/
-
wbia.control.manual_meta_funcs.
add_metadata
(ibs, metadata_key_list, metadata_value_list, db)[source]¶ Adds metadata
Returns: metadata rowids Return type: metadata_rowid_list (list) - RESTful:
- Method: POST URL: /api/metadata/
-
wbia.control.manual_meta_funcs.
add_new_temp_contributor
(ibs, user_prompt=False, offset=None, autolocate=False)[source]¶ - RESTful:
- Method: POST URL: /api/contributor/new/temp/
-
wbia.control.manual_meta_funcs.
add_version
(ibs, versiontext_list)[source]¶ Adds an algorithm / actor configuration as a string
-
wbia.control.manual_meta_funcs.
delete_contributors
(ibs, contributor_rowid_list)[source]¶ deletes contributors from the database and all information associated
- RESTful:
- Method: DELETE URL: /api/contributor/
-
wbia.control.manual_meta_funcs.
ensure_contributor_rowids
(ibs, user_prompt=False, autolocate=False)[source]¶ Parameters: - ibs (IBEISController) – wbia controller object
- user_prompt (bool) –
Returns: Return type: - CommandLine:
- python -m wbia.control.manual_meta_funcs –test-ensure_contributor_rowids
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_meta_funcs import * # NOQA >>> import wbia >>> # build test data >>> ibs = wbia.opendb(db='testdb1') >>> gid_list = ibs.get_valid_gids() >>> ibs.delete_contributors(ibs.get_valid_contributor_rowids()) >>> contributor_rowid_list1 = ibs.get_image_contributor_rowid(gid_list) >>> assert ut.allsame(contributor_rowid_list1) >>> ut.assert_eq(contributor_rowid_list1[0], None) >>> user_prompt = ut.get_argflag('--user-prompt') >>> autolocate = ut.get_argflag('--user-prompt') >>> # execute function >>> result = ensure_contributor_rowids(ibs, user_prompt, autolocate) >>> # verify results >>> ibs.print_contributor_table() >>> print(result) >>> contributor_rowid_list2 = ibs.get_image_contributor_rowid(gid_list) >>> assert ut.allsame(contributor_rowid_list2) >>> ut.assert_eq(contributor_rowid_list2[0], 1)
-
wbia.control.manual_meta_funcs.
get_all_uncontributed_configs
(ibs)[source]¶ - RESTful:
- Method: GET URL: /api/contributor/configs/uncontributed/
-
wbia.control.manual_meta_funcs.
get_all_uncontributed_images
(ibs)[source]¶ - RESTful:
- Method: GET URL: /api/contributor/gids/uncontributed/
-
wbia.control.manual_meta_funcs.
get_config_contributor_rowid
(ibs, config_rowid_list)[source]¶ Returns: contributor’s rowid for algorithm configs Return type: cfgsuffix_list (list) - RESTful:
- Method: GET URL: /api/contributor/config/rowid/
-
wbia.control.manual_meta_funcs.
get_config_suffixes
(ibs, config_rowid_list)[source]¶ Returns: suffixes for algorithm configs Return type: cfgsuffix_list (list) - RESTful:
- Method: GET URL: /api/contributor/config/suffixes/
-
wbia.control.manual_meta_funcs.
get_contributor_city
(ibs, contributor_rowid_list)[source]¶ Returns: a contributor’s location - city Return type: contributor_city_list (list) - RESTful:
- Method: GET URL: /api/contributor/location/city/
-
wbia.control.manual_meta_funcs.
get_contributor_country
(ibs, contributor_rowid_list)[source]¶ Returns: a contributor’s location - country Return type: contributor_country_list (list) - RESTful:
- Method: GET URL: /api/contributor/location/country/
-
wbia.control.manual_meta_funcs.
get_contributor_first_name
(ibs, contributor_rowid_list)[source]¶ Returns: a contributor’s first name Return type: contributor_name_first_list (list) - RESTful:
- Method: GET URL: /api/contributor/name/first/
-
wbia.control.manual_meta_funcs.
get_contributor_gids
(ibs, contributor_rowid_list)[source]¶ TODO: Template 1_M reverse getter
Returns: gids for a contributor Return type: gid_list (list) - RESTful:
- Method: GET URL: /api/contributor/gids/
-
wbia.control.manual_meta_funcs.
get_contributor_imgsetids
(ibs, config_rowid_list)[source]¶ Returns: imgsetids for a contributor Return type: imgsetid_list (list) - RESTful:
- Method: GET URL: /api/contributor/imageset/rowids/
-
wbia.control.manual_meta_funcs.
get_contributor_last_name
(ibs, contributor_rowid_list)[source]¶ Returns: a contributor’s last name Return type: contributor_name_last_list (list) - RESTful:
- Method: GET URL: /api/contributor/name/last/
-
wbia.control.manual_meta_funcs.
get_contributor_location_string
(ibs, contributor_rowid_list)[source]¶ Returns: a contributor’s location Return type: contributor_list (list) - RESTful:
- Method: GET URL: /api/contributor/location/
-
wbia.control.manual_meta_funcs.
get_contributor_name_string
(ibs, contributor_rowid_list, include_tag=False)[source]¶ Returns: a contributor’s full name Return type: contributor_name_list (list) - RESTful:
- Method: GET URL: /api/contributor/name/
-
wbia.control.manual_meta_funcs.
get_contributor_note
(ibs, contributor_rowid_list)[source]¶ Returns: a contributor’s note Return type: contributor_note_list (list) - RESTful:
- Method: GET URL: /api/contributor/note/
-
wbia.control.manual_meta_funcs.
get_contributor_rowid_from_tag
(ibs, contributor_tag_list)[source]¶ Returns: a contributor Return type: contributor_tag_list (list) - RESTful:
- Method: GET URL: /api/contributor/rowid/tag/
-
wbia.control.manual_meta_funcs.
get_contributor_rowid_from_uuid
(ibs, contributor_uuid_list)[source]¶ Returns: a contributor Return type: contributor_uuid_list (list) - RESTful:
- Method: GET URL: /api/contributor/rowid/uuid/
-
wbia.control.manual_meta_funcs.
get_contributor_state
(ibs, contributor_rowid_list)[source]¶ Returns: a contributor’s location - state Return type: list_ (list) - RESTful:
- Method: GET URL: /api/contributor/location/state/
-
wbia.control.manual_meta_funcs.
get_contributor_tag
(ibs, contributor_rowid_list, eager=True, nInput=None)[source]¶ contributor_tag_list <- contributor.contributor_tag[contributor_rowid_list]
gets data from the “native” column “contributor_tag” in the “contributor” table
Parameters: contributor_rowid_list (list) – Returns: contributor_tag_list - a contributor’s tag Return type: list - TemplateInfo:
- Tgetter_table_column col = contributor_tag tbl = contributor
- CommandLine:
- python -m wbia.templates.template_generator –key contributor –Tcfg with_api_cache=False with_deleters=False
- RESTful:
- Method: GET URL: /api/contributor/tag/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_meta_funcs import * # NOQA >>> ibs, qreq_ = testdata_ibs() >>> contributor_rowid_list = ibs._get_all_contributor_rowids() >>> eager = True >>> contributor_tag_list = ibs.get_contributor_tag(contributor_rowid_list, eager=eager) >>> assert len(contributor_rowid_list) == len(contributor_tag_list)
-
wbia.control.manual_meta_funcs.
get_contributor_uuid
(ibs, contributor_rowid_list)[source]¶ Returns: a contributor’s uuid Return type: contributor_uuid_list (list) - RESTful:
- Method: GET URL: /api/contributor/uuid/
-
wbia.control.manual_meta_funcs.
get_contributor_zip
(ibs, contributor_rowid_list)[source]¶ Returns: a contributor’s location - zip Return type: contributor_zip_list (list) - RESTful:
- Method: GET URL: /api/contributor/location/zip/
-
wbia.control.manual_meta_funcs.
get_database_version
(ibs, db=None)[source]¶ Gets the specified database version from the controller
- RESTful:
- Method: GET URL: /api/core/dbversion/
-
wbia.control.manual_meta_funcs.
get_database_version_alias
(ibs, db=None)[source]¶ Alias: func:get_database_version
- RESTful:
- Method: GET URL: /api/core/version/
-
wbia.control.manual_meta_funcs.
get_metadata_rowid_from_metadata_key
(ibs, metadata_key_list, db)[source]¶ - RESTful:
- Method: GET URL: /api/metadata/rowid/key/
-
wbia.control.manual_meta_funcs.
get_metadata_value
(ibs, metadata_key_list, db)[source]¶ - RESTful:
- Method: GET URL: /api/metadata/value/
-
wbia.control.manual_meta_funcs.
get_valid_contributor_rowids
(ibs)[source]¶ Returns: list of all contributor ids Return type: list_ (list) Returns: contributor_rowids_list Return type: list - CommandLine:
- python -m wbia.control.manual_meta_funcs –test-get_valid_contributor_rowids
- RESTful:
- Method: GET URL: /api/contributor/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_meta_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> contributor_rowids_list = get_valid_contributor_rowids(ibs) >>> result = str(contributor_rowids_list) >>> print(result)
-
wbia.control.manual_meta_funcs.
get_version
(ibs)[source]¶ Returns the version of wbia
- RESTful
- Method: GET URL: /api/version/
-
wbia.control.manual_meta_funcs.
set_config_contributor_rowid
(ibs, config_rowid_list, contributor_rowid_list)[source]¶ Sets the config’s contributor rowid
- RESTful:
- Method: PUT URL: /api/config/contributor/rowid/
-
wbia.control.manual_meta_funcs.
set_config_contributor_unassigned
(ibs, contributor_rowid)[source]¶ - RESTful:
- Method: PUT URL: /api/config/contributor/unassigned/
-
wbia.control.manual_meta_funcs.
set_database_version
(ibs, db, version)[source]¶ Sets the specified database’s version from the controller
wbia.control.manual_name_funcs module¶
python -c “import utool as ut; ut.write_modscript_alias(‘Tgen.sh’, ‘wbia.templates.template_generator’)” # NOQA sh Tgen.sh –key name –invert –Tcfg with_getters=True with_setters=False –modfname manual_name_funcs # NOQA sh Tgen.sh –key name –invert –Tcfg with_getters=True with_setters=True –modfname manual_name_funcs –funcname-filter=sex # NOQA
-
wbia.control.manual_name_funcs.
add_names
(ibs, name_text_list, name_uuid_list=None, name_note_list=None)[source]¶ Adds a list of names.
Returns: their nids Return type: name_rowid_list (list) - RESTful:
- Method: POST URL: /api/name/
-
wbia.control.manual_name_funcs.
delete_empty_nids
(ibs)[source]¶ Removes names that have no Rois from the database
-
wbia.control.manual_name_funcs.
delete_names
(ibs, name_rowid_list, safe=True, strict=False, verbose=False)[source]¶ deletes names from the database
CAREFUL. YOU PROBABLY DO NOT WANT TO USE THIS at least ensure that no annot is associated with any of these nids
- RESTful:
- Method: DELETE URL: /api/name/
# Ignore: # >>> # UNPORTED_DOCTEST # >>> gpath_list = grabdata.get_test_gpaths(ndata=None)[0:4] # >>> gid_list = ibs.add_images(gpath_list) # >>> bbox_list = [(0, 0, 100, 100)]*len(gid_list) # >>> name_list = [‘a’, ‘b’, ‘a’, ‘d’] # >>> aid_list = ibs.add_annots(gid_list, bbox_list=bbox_list, name_list=name_list) # >>> assert len(aid_list) != 0, “No annotations added” # >>> nid_list = ibs.get_valid_nids() # >>> assert len(nid_list) != 0, “No names added” # >>> nid = nid_list[0] # >>> assert nid is not None, “nid is None” # >>> ibs.delete_names(nid) # >>> all_nids = ibs.get_valid_nids() # >>> assert nid not in all_nids, “NID not deleted”
-
wbia.control.manual_name_funcs.
get_empty_nids
(ibs, _nid_list=None)[source]¶ get name rowids that do not have any annotations (not including UNKONWN)
Returns: nid_list - all names without any animals (does not include unknown names) an nid is not invalid if it has a valid alias Return type: list - CommandLine:
- python -m wbia.control.manual_name_funcs –test-get_empty_nids
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_name_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> new_nid_list = ibs.make_next_nids(num=2) >>> empty_nids = ibs.get_empty_nids() >>> assert len(empty_nids) == 2, 'get_empty_nids fails1' >>> assert new_nid_list == empty_nids, 'get_empty_nids fails2' >>> ibs.delete_empty_nids() >>> empty_nids2 = ibs.get_empty_nids() >>> assert len(empty_nids2) == 0, 'get_empty_nids fails3' >>> result = str(empty_nids2) >>> print(result) []
-
wbia.control.manual_name_funcs.
get_name_age_months_est_max
(ibs, name_rowid_list)[source]¶ - RESTful:
- Method: GET URL: /api/name/age/months/max/
-
wbia.control.manual_name_funcs.
get_name_age_months_est_min
(ibs, name_rowid_list)[source]¶ - RESTful:
- Method: GET URL: /api/name/age/months/min/
-
wbia.control.manual_name_funcs.
get_name_aids
(ibs, nid_list, enable_unknown_fix=True, is_staged=False)[source]¶ # TODO: Rename to get_anot_rowids_from_name_rowid
Returns: aids_list a list of list of aids in each name Return type: list - RESTful:
- Method: GET URL: /api/name/annot/rowid/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_name_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> # Map annotations to name ids >>> aid_list = ibs.get_valid_aids() >>> nid_list = ibs.get_annot_name_rowids(aid_list) >>> # Get annotation ids for each name >>> aids_list = ibs.get_name_aids(nid_list) >>> # Run Assertion Test >>> groupid2_items = ut.group_items(aids_list, nid_list) >>> grouped_items = list(groupid2_items.values()) >>> passed_iter = map(ut.allsame, grouped_items) >>> passed_list = list(passed_iter) >>> assert all(passed_list), 'problem in get_name_aids' >>> # Print gropued items >>> print(ut.repr2(groupid2_items, newlines=False))
- Ignore;
from wbia.control.manual_name_funcs import * # NOQA import wbia #ibs = wbia.opendb(‘testdb1’) #ibs = wbia.opendb(‘PZ_MTEST’) ibs = wbia.opendb(‘PZ_Master0’) #ibs = wbia.opendb(‘GZ_ALL’)
nid_list = ibs.get_valid_nids() nid_list_ = [const.UNKNOWN_NAME_ROWID if nid <= 0 else nid for nid in nid_list]
- with ut.Timer(‘sql’):
- #aids_list1 = ibs.get_name_aids(nid_list, enable_unknown_fix=False) aids_list1 = ibs.db.get(const.ANNOTATION_TABLE, (ANNOT_ROWID,), nid_list_, id_colname=NAME_ROWID, unpack_scalars=False)
- with ut.Timer(‘hackquery + group’):
opstr = ‘’’ SELECT annot_rowid, name_rowid FROM annotations WHERE name_rowid IN
(%s) ORDER BY name_rowid ASC, annot_rowid ASC‘’’ % (’, ‘.join(map(str, nid_list))) pair_list = ibs.db.connection.execute(opstr).fetchall() aids = np.array(ut.get_list_column(pair_list, 0)) nids = np.array(ut.get_list_column(pair_list, 1)) unique_nids, groupx = vt.group_indices(nids) grouped_aids_ = vt.apply_grouping(aids, groupx) aids_list5 = [sorted(arr.tolist()) for arr in grouped_aids_]
- for aids1, aids5 in zip(aids_list1, aids_list5):
- if (aids1) != (aids5):
- logger.info(aids1) logger.info(aids5) logger.info(’—–‘)
ut.assert_lists_eq(list(map(tuple, aids_list5)), list(map(tuple, aids_list1)))
- with ut.Timer(‘numpy’):
- # alt method valid_aids = np.array(ibs.get_valid_aids()) valid_nids = np.array(ibs.get_annot_name_rowids(valid_aids, distinguish_unknowns=False)) aids_list2 = [valid_aids.take(np.flatnonzero(valid_nids == nid)).tolist() for nid in nid_list_]
- with ut.Timer(‘numpy2’):
- # alt method valid_aids = np.array(ibs.get_valid_aids()) valid_nids = np.array(ibs.get_annot_name_rowids(valid_aids, distinguish_unknowns=False)) aids_list3 = [valid_aids.take(np.flatnonzero(np.equal(valid_nids, nid))).tolist() for nid in nid_list_]
- with ut.Timer(‘numpy3’):
- # alt method valid_aids = np.array(ibs.get_valid_aids()) valid_nids = np.array(ibs.db.get_all_col_rows(const.ANNOTATION_TABLE, NAME_ROWID)) aids_list4 = [valid_aids.take(np.flatnonzero(np.equal(valid_nids, nid))).tolist() for nid in nid_list_]
assert aids_list2 == aids_list3 assert aids_list3 == aids_list4 assert aids_list1 == aids_list2
valid_aids = ibs.get_valid_aids() %timeit ibs.db.get_all_col_rows(‘annotations’, ‘rowid’) %timeit ibs.db.get_all_col_rows(‘annotations’, ‘name_rowid’) %timeit ibs.get_annot_name_rowids(valid_aids, distinguish_unknowns=False) %timeit ibs.get_valid_aids() %timeit ibs.get_annot_name_rowids(ibs.get_valid_aids(), distinguish_unknowns=False) valid_nids1 = ibs.get_annot_name_rowids(valid_aids, distinguish_unknowns=False) valid_nids2 = ibs.db.get_all_col_rows(‘annotations’, ‘name_rowid’) assert valid_nids1 == valid_nids2
ibs.db.fname ibs.db.fpath
import sqlite3
con = sqlite3.connect(ibs.db.fpath)
opstr = ‘’’ SELECT annot_rowid, name_rowid FROM annotations WHERE name_rowid IN
(SELECT name_rowid FROM name) ORDER BY name_rowid ASC, annot_rowid ASC‘’’
annot_rowid_list = con.execute(opstr).fetchall() aid_list = ut.get_list_column(annot_rowid_list, 0) nid_list = ut.get_list_column(annot_rowid_list, 1)
# HACKY HACKY HACK
- with ut.Timer(‘hackquery + group’):
#nid_list = ibs.get_valid_nids()[10:15] nid_list = ibs.get_valid_nids() opstr = ‘’’ SELECT annot_rowid, name_rowid FROM annotations WHERE name_rowid IN
(%s) ORDER BY name_rowid ASC, annot_rowid ASC‘’’ % (’, ‘.join(map(str, nid_list))) pair_list = ibs.db.connection.execute(opstr).fetchall() aids = np.array(ut.get_list_column(pair_list, 0)) nids = np.array(ut.get_list_column(pair_list, 1)) unique_nids, groupx = vt.group_indices(nids) grouped_aids_ = vt.apply_grouping(aids, groupx) grouped_aids = [arr.tolist() for arr in grouped_aids_]
- SELECT
- name_rowid, COUNT(annot_rowid) AS number, GROUP_CONCAT(annot_rowid) AS aid_list
FROM annotations WHERE name_rowid in (SELECT name_rowid FROM name)
GROUP BY name_rowidORDER BY name_rowid ASC
import vtool as vt vt vt.aid_list[0]
annot_rowid_list = con.execute(opstr).fetchall() opstr = ‘’’
SELECT annot_rowid FROM annotations WHERE name_rowid=? ‘’’cur = ibs.db.connection.cursor()
cur = con.execute(‘BEGIN IMMEDIATE TRANSACTION’) cur = ibs.db.connection res = [cur.execute(opstr, (nid,)).fetchall() for nid in nid_list_] cur.execute(‘COMMIT TRANSACTION’)
res = [ibs.db.cur.execute(opstr, (nid,)).fetchall() for nid in nid_list_]
-
wbia.control.manual_name_funcs.
get_name_alias_texts
(ibs, name_rowid_list)[source]¶ Returns: name_alias_text_list Return type: list_ (list) - CommandLine:
- python -m wbia.control.manual_name_funcs –test-get_name_texts
- CommandLine:
- python -m wbia.control.manual_name_funcs –test-get_name_alias_texts
- RESTful:
- Method: GET URL: /api/name/alias/text/
Example
>>> # DISABLE_DOCTEST >>> from wbia.control.manual_name_funcs import * # NOQA >>> import wbia >>> # build test data >>> ibs = wbia.opendb('testdb1') >>> name_rowid_list = ibs.get_valid_nids() >>> # execute function >>> name_alias_text_list = get_name_alias_texts(ibs, name_rowid_list) >>> # verify results >>> result = str(name_alias_text_list) >>> print(result) [None, None, None, None, None, None, None]
-
wbia.control.manual_name_funcs.
get_name_exemplar_aids
(ibs, nid_list)[source]¶ Returns: a list of list of cids in each name Return type: list_ (list) - CommandLine:
- python -m wbia.control.manual_name_funcs –test-get_name_exemplar_aids
- RESTful:
- Method: GET URL: /api/name/annot/rowid/examplar/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_name_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> aid_list = ibs.get_valid_aids() >>> nid_list = ibs.get_annot_name_rowids(aid_list) >>> exemplar_aids_list = ibs.get_name_exemplar_aids(nid_list) >>> result = [sorted(i) for i in exemplar_aids_list] >>> print(result) [[], [2, 3], [2, 3], [], [5, 6], [5, 6], [7], [8], [], [10], [], [12], [13]]
-
wbia.control.manual_name_funcs.
get_name_gids
(ibs, nid_list)[source]¶ Returns: the image ids associated with name ids Return type: list_ (list) - RESTful:
- Method: GET URL: /api/name/image/rowid/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_name_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> nid_list = ibs._get_all_known_name_rowids() >>> gids_list = ibs.get_name_gids(nid_list) >>> result = [sorted(gids) for gids in gids_list] >>> print(result) [[2, 3], [5, 6], [7], [8], [10], [12], [13]]
-
wbia.control.manual_name_funcs.
get_name_gps_tracks
(ibs, nid_list=None, aid_list=None)[source]¶ - CommandLine:
- python -m wbia.other.ibsfuncs –test-get_name_gps_tracks
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_name_funcs import * # NOQA >>> import wbia >>> # build test data >>> #ibs = wbia.opendb('PZ_Master0') >>> ibs = wbia.opendb('testdb1') >>> #nid_list = ibs.get_valid_nids() >>> aid_list = ibs.get_valid_aids() >>> nid_list, gps_track_list, aid_track_list = ibs.get_name_gps_tracks(aid_list=aid_list) >>> nonempty_list = list(map(lambda x: len(x) > 0, gps_track_list)) >>> ut.compress(nid_list, nonempty_list) >>> ut.compress(gps_track_list, nonempty_list) >>> ut.compress(aid_track_list, nonempty_list) >>> aid_track_list = list(map(sorted, aid_track_list)) >>> result = str(aid_track_list) >>> print(result) [[11], [], [4], [1], [2, 3], [5, 6], [7], [8], [10], [12], [13]]
-
wbia.control.manual_name_funcs.
get_name_has_split
(ibs, nid_list)[source]¶ - CommandLine:
- python -m wbia.other.ibsfuncs –test-get_name_speeds
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_name_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> nid_list = ibs._get_all_known_nids() >>> splits_list = ibs.get_name_has_split(nid_list) >>> result = str(splits_list) >>> print(result)
-
wbia.control.manual_name_funcs.
get_name_hourdiffs
(ibs, nid_list)[source]¶ - CommandLine:
- python -m wbia.other.ibsfuncs –test-get_name_hourdiffs
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_name_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> nid_list = ibs._get_all_known_nids() >>> hourdiffs_list = ibs.get_name_hourdiffs(nid_list) >>> result = hourdiffs_list >>> print(hourdiffs_list)
-
wbia.control.manual_name_funcs.
get_name_image_uuids
(ibs, nid_list)[source]¶ DEPRICATE
Returns: the image ids associated with name ids Return type: list_ (list) - RESTful:
- Method: GET URL: /api/name/image/uuid/
-
wbia.control.manual_name_funcs.
get_name_imgset_uuids
(ibs, nid_list)[source]¶ - RESTful:
- Method: GET URL: /api/name/imageset/uuid/
-
wbia.control.manual_name_funcs.
get_name_imgsetids
(ibs, nid_list)[source]¶ - RESTful:
- Method: GET URL: /api/name/imageset/rowid/
-
wbia.control.manual_name_funcs.
get_name_max_speed
(ibs, nid_list)[source]¶ - CommandLine:
- python -m wbia.other.ibsfuncs –test-get_name_max_speed
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_name_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> nid_list = ibs._get_all_known_nids() >>> maxspeed_list = ibs.get_name_max_speed(nid_list) >>> result = maxspeed_list >>> print(maxspeed_list)
-
wbia.control.manual_name_funcs.
get_name_metadata
(ibs, name_rowid_list, return_raw=False)[source]¶ Returns: name metadata dictionary Return type: list_ (list) - RESTful:
- Method: GET URL: /api/name/metadata/
-
wbia.control.manual_name_funcs.
get_name_notes
(ibs, name_rowid_list)[source]¶ Returns: notes_list - name notes Return type: list_ (list) - RESTful:
- Method: GET URL: /api/name/note/
-
wbia.control.manual_name_funcs.
get_name_num_annotations
(ibs, nid_list)[source]¶ Returns: the number of annotations for each name Return type: list_ (list) - CommandLine:
- python -m wbia.control.manual_name_funcs –test-get_name_num_annotations
- RESTful:
- Method: GET URL: /api/name/num/annot/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_name_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> nid_list = ibs._get_all_known_name_rowids() >>> result = get_name_num_annotations(ibs, nid_list) >>> print(result) [2, 2, 1, 1, 1, 1, 1]
-
wbia.control.manual_name_funcs.
get_name_num_exemplar_annotations
(ibs, nid_list)[source]¶ Returns: the number of annotations, which are exemplars for each name Return type: list_ (list) - RESTful:
- Method: GET URL: /api/name/num/annot/exemplar/
-
wbia.control.manual_name_funcs.
get_name_rowids_from_text
(ibs, name_text_list, ensure=True)[source]¶ Parameters: - ibs (IBEISController) – wbia controller object
- name_text_list (list) –
- ensure (bool) – adds as new names if non-existant (default = True)
Returns: Creates one if it doesnt exist
Return type: name_rowid_list (list)
- CommandLine:
- python -m wbia.control.manual_name_funcs –test-get_name_rowids_from_text:0 python -m wbia.control.manual_name_funcs –test-get_name_rowids_from_text:1
Todo
should ensure be defaulted to False?
- RESTful:
- Method: GET URL: /api/name/rowid/text/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_name_funcs import * # NOQA >>> import wbia >>> import utool as ut >>> ibs = wbia.opendb('testdb1') >>> name_text_list = [u'Fred', u'Sue', '____', u'zebra_grevys', 'TYPO', '____'] >>> ensure = False >>> name_rowid_list = ibs.get_name_rowids_from_text(name_text_list, ensure) >>> print(ut.repr2(list(zip(name_text_list, name_rowid_list)))) >>> ensure = True >>> name_rowid_list = ibs.get_name_rowids_from_text(name_text_list, ensure) >>> print(ut.repr2(list(zip(name_text_list, name_rowid_list)))) >>> ibs.print_name_table() >>> result = str(name_rowid_list) + '\n' >>> typo_rowids = ibs.get_name_rowids_from_text(['TYPO', 'Fred', 'Sue', 'zebra_grevys']) >>> ibs.delete_names(typo_rowids) >>> result += str(ibs._get_all_known_name_rowids()) >>> print('----') >>> ibs.print_name_table() >>> assert result == f'{name_rowid_list}\n[1, 2, 3, 4, 5, 6, 7]' >>> print(result)
-
wbia.control.manual_name_funcs.
get_name_rowids_from_text_
(ibs, name_text_list, ensure=True)[source]¶ Parameters: - ibs (IBEISController) – wbia controller object
- name_text_list (list) –
Returns: Return type: name_rowid_list (list)
- CommandLine:
- python -m wbia.control.manual_name_funcs –test-get_name_rowids_from_text_
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_name_funcs import * # NOQA >>> import wbia >>> import utool as ut # NOQA >>> ibs = wbia.opendb('testdb1') >>> name_text_list = [u'Fred', 'easy', u'Sue', '____', u'zebra_grevys', 'TYPO', 'jeff'] >>> name_rowid_list = ibs.get_name_rowids_from_text_(name_text_list) >>> ibs.print_name_table() >>> result = str(name_rowid_list) >>> print(result) [None, 1, None, 0, None, None, 3]
-
wbia.control.manual_name_funcs.
get_name_rowids_from_uuid
(ibs, uuid_list, nid_hack=False, ensure=True)[source]¶ Parameters: - ibs (IBEISController) – wbia controller object
- name_text_list (list) –
Returns: Return type: name_rowid_list (list)
-
wbia.control.manual_name_funcs.
get_name_sex
(ibs, name_rowid_list, eager=True, nInput=None)[source]¶ name_sex_list <- name.name_sex[name_rowid_list]
gets data from the “native” column “name_sex” in the “name” table
Parameters: name_rowid_list (list) – Returns: name_sex_list Return type: list - TemplateInfo:
- Tgetter_table_column col = name_sex tbl = name
- RESTful:
- Method: GET URL: /api/name/sex/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_name_funcs import * # NOQA >>> ibs, config2_ = testdata_ibs() >>> name_rowid_list = ibs._get_all_name_rowids() >>> eager = True >>> name_sex_list = ibs.get_name_sex(name_rowid_list, eager=eager) >>> assert len(name_rowid_list) == len(name_sex_list)
-
wbia.control.manual_name_funcs.
get_name_sex_text
(ibs, name_rowid_list, eager=True, nInput=None)[source]¶ - RESTful:
- Method: GET URL: /api/name/sex/text/
-
wbia.control.manual_name_funcs.
get_name_speeds
(ibs, nid_list)[source]¶ - CommandLine:
- python -m wbia.other.ibsfuncs –test-get_name_speeds
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_name_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> nid_list = ibs._get_all_known_nids() >>> speeds_list = get_name_speeds(ibs, nid_list) >>> result = str(speeds_list) >>> print(result)
-
wbia.control.manual_name_funcs.
get_name_temp_flag
(ibs, name_rowid_list, eager=True, nInput=None)[source]¶ name_temp_flag_list <- name.name_temp_flag[name_rowid_list]
gets data from the “native” column “name_temp_flag” in the “name” table
Parameters: name_rowid_list (list) – Returns: name_temp_flag_list Return type: list - TemplateInfo:
- Tgetter_table_column col = name_temp_flag tbl = name
- CommandLine:
- python -m wbia.control.manual_name_funcs –test-get_name_temp_flag
- RESTful:
- Method: GET URL: /api/name/temp/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_name_funcs import * # NOQA >>> ibs, config2_ = testdata_ibs() >>> name_rowid_list = ibs._get_all_name_rowids() >>> eager = True >>> name_temp_flag_list = ibs.get_name_temp_flag(name_rowid_list, eager=eager) >>> assert len(name_rowid_list) == len(name_temp_flag_list)
-
wbia.control.manual_name_funcs.
get_name_texts
(ibs, name_rowid_list, apply_fix=True)[source]¶ Returns: text names Return type: list_ (list) - CommandLine:
- python -m wbia.control.manual_name_funcs –test-get_name_texts
- RESTful:
- Method: GET URL: /api/name/text/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_name_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> name_rowid_list = ibs._get_all_known_name_rowids() >>> name_text_list = get_name_texts(ibs, name_rowid_list) >>> result = ut.repr2(name_text_list) >>> print(result) ['easy', 'hard', 'jeff', 'lena', 'occl', 'polar', 'zebra']
-
wbia.control.manual_name_funcs.
get_name_uuids
(ibs, nid_list)[source]¶ Returns: uuids_list - name uuids Return type: list_ (list) - RESTful:
- Method: GET URL: /api/name/uuid/
-
wbia.control.manual_name_funcs.
get_num_names
(ibs, **kwargs)[source]¶ Number of valid names
- CommandLine:
- python -m wbia.control.manual_name_funcs –test-get_num_names
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_name_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> result = get_num_names(ibs) >>> print(result) 7
-
wbia.control.manual_name_funcs.
get_valid_nids
(ibs, imgsetid=None, filter_empty=False, min_pername=None)[source]¶ Returns: all valid names with at least one animal (does not include unknown names) Return type: list_ (list) - RESTful:
- Method: GET URL: /api/name/
-
wbia.control.manual_name_funcs.
sanitize_name_texts
(ibs, name_text_list)[source]¶ - RESTful:
- Method: PUT URL: /api/name/sanitize
-
wbia.control.manual_name_funcs.
set_name_alias_texts
(ibs, name_rowid_list, name_alias_text_list)[source]¶ Returns: name_alias_text_list Return type: list_ (list) - CommandLine:
- python -m wbia.control.manual_name_funcs –test-get_name_texts
- RESTful:
- Method: PUT URL: /api/name/alias/text/
-
wbia.control.manual_name_funcs.
set_name_metadata
(ibs, name_rowid_list, metadata_dict_list)[source]¶ Sets the name’s metadata using a metadata dictionary
- RESTful:
- Method: PUT URL: /api/name/metadata/
-
wbia.control.manual_name_funcs.
set_name_notes
(ibs, name_rowid_list, notes_list)[source]¶ Sets a note for each name (multiple annotations)
- RESTful:
- Method: PUT URL: /api/name/note/
-
wbia.control.manual_name_funcs.
set_name_sex
(ibs, name_rowid_list, name_sex_list, duplicate_behavior='error')[source]¶ name_sex_list -> name.name_sex[name_rowid_list]
Parameters: - name_rowid_list –
- name_sex_list –
- TemplateInfo:
- Tsetter_native_column tbl = name col = name_sex
- RESTful:
- Method: PUT URL: /api/name/sex/
-
wbia.control.manual_name_funcs.
set_name_sex_text
(ibs, name_rowid_list, name_sex_text_list)[source]¶ - RESTful:
- Method: PUT URL: /api/name/sex/text/
-
wbia.control.manual_name_funcs.
set_name_temp_flag
(ibs, name_rowid_list, name_temp_flag_list, duplicate_behavior='error')[source]¶ name_temp_flag_list -> name.name_temp_flag[name_rowid_list]
Parameters: - name_rowid_list –
- name_temp_flag_list –
- TemplateInfo:
- Tsetter_native_column tbl = name col = name_temp_flag
- RESTful:
- Method: PUT URL: /api/name/temp/
-
wbia.control.manual_name_funcs.
set_name_texts
(ibs, name_rowid_list, name_text_list, verbose=False, notify_wildbook=False, assert_wildbook=False, update_json_log=True)[source]¶ Changes the name text. Does not affect the animals of this name. Effectively just changes the TEXT UUID
- CommandLine:
- python -m wbia.control.manual_name_funcs –test-set_name_texts
- RESTful:
- Method: PUT URL: /api/name/text/
Example
>>> # DISABLE_DOCTEST >>> from wbia.control.manual_name_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> nid_list = ibs.get_valid_nids()[0:2] >>> name_list = ibs.get_name_texts(nid_list) >>> result = set_name_texts(ibs, nid_list, name_list) >>> print(result)
wbia.control.manual_part_funcs module¶
- Autogen:
- python -c “import utool as ut; ut.write_modscript_alias(‘Tgen.sh’, ‘wbia.templates.template_generator’)” # NOQA sh Tgen.sh –key part –invert –Tcfg with_getters=True with_setters=True –modfname manual_part_funcs –funcname-filter=age_m # NOQA sh Tgen.sh –key part –invert –Tcfg with_getters=True with_setters=True –modfname manual_part_funcs –funcname-filter=is_ # NOQA sh Tgen.sh –key part –invert –Tcfg with_getters=True with_setters=True –modfname manual_part_funcs –funcname-filter=is_ –diff # NOQA
-
wbia.control.manual_part_funcs.
add_parts
(ibs, aid_list, bbox_list=None, theta_list=None, detect_confidence_list=None, notes_list=None, vert_list=None, part_uuid_list=None, viewpoint_list=None, quality_list=None, type_list=None, staged_uuid_list=None, staged_user_id_list=None, **kwargs)[source]¶ Adds an part to annotations
Parameters: Returns: part_rowid_list
Return type: - Ignore:
- detect_confidence_list = None notes_list = None part_uuid_list = None viewpoint_list = None quality_list = None type_list = None
- RESTful:
- Method: POST URL: /api/part/
-
wbia.control.manual_part_funcs.
delete_parts
(ibs, part_rowid_list)[source]¶ deletes parts from the database
- RESTful:
- Method: DELETE URL: /api/part/
Parameters: - ibs (IBEISController) – wbia controller object
- part_rowid_list (int) – list of part ids
-
wbia.control.manual_part_funcs.
filter_part_set
(ibs, part_rowid_list, include_only_aid_list=None, is_staged=False, viewpoint='no-filter', minqual=None)[source]¶
-
wbia.control.manual_part_funcs.
get_part_aids
(ibs, part_rowid_list, assume_unique=False)[source]¶ Get parent annotation rowids of parts
Parameters: part_rowid_list (list) – Returns: annot rowids Return type: aid_list (list) - RESTful:
- Method: GET URL: /api/part/annot/rowid/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_part_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> part_rowid_list = ibs.get_valid_part_rowids() >>> result = get_part_aids(ibs, part_rowid_list) >>> print(result)
-
wbia.control.manual_part_funcs.
get_part_bboxes
(ibs, part_rowid_list)[source]¶ Returns: part bounding boxes in image space Return type: bbox_list (list) - RESTful:
- Method: GET URL: /api/part/bbox/
-
wbia.control.manual_part_funcs.
get_part_contour
(ibs, part_rowid_list, return_raw=False)[source]¶ Returns: part contour dictionary Return type: list_ (list) - RESTful:
- Method: GET URL: /api/part/contour/
-
wbia.control.manual_part_funcs.
get_part_detect_confidence
(ibs, part_rowid_list)[source]¶ Returns: a list confidences that the parts is a valid detection Return type: list_ (list) - RESTful:
- Method: GET URL: /api/part/detect/confidence/
-
wbia.control.manual_part_funcs.
get_part_gids
(ibs, part_rowid_list, assume_unique=False)[source]¶ Get parent imageation rowids of parts
Parameters: part_rowid_list (list) – Returns: image rowids Return type: gid_list (list) - RESTful:
- Method: GET URL: /api/part/image/rowid/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_part_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> part_rowid_list = ibs.get_valid_part_rowids() >>> result = get_part_gids(ibs, part_rowid_list) >>> print(result)
-
wbia.control.manual_part_funcs.
get_part_isjunk
(ibs, part_rowid_list)[source]¶ Auto-docstr for ‘get_part_isjunk’
-
wbia.control.manual_part_funcs.
get_part_metadata
(ibs, part_rowid_list, return_raw=False)[source]¶ Returns: part metadata dictionary Return type: list_ (list) - RESTful:
- Method: GET URL: /api/part/metadata/
-
wbia.control.manual_part_funcs.
get_part_missing_uuid
(ibs, uuid_list)[source]¶ Returns: a list of missing part uuids Return type: list_ (list)
-
wbia.control.manual_part_funcs.
get_part_notes
(ibs, part_rowid_list)[source]¶ Returns: a list of part notes Return type: part_notes_list (list) - RESTful:
- Method: GET URL: /api/part/note/
-
wbia.control.manual_part_funcs.
get_part_num_verts
(ibs, part_rowid_list)[source]¶ Returns: the number of vertices that form the polygon of each part Return type: nVerts_list (list) - RESTful:
- Method: GET URL: /api/part/num/vert/
-
wbia.control.manual_part_funcs.
get_part_qualities
(ibs, part_rowid_list, eager=True)[source]¶ part_quality_list <- part.part_quality[part_rowid_list]
gets data from the “native” column “part_quality” in the “part” table
Parameters: part_rowid_list (list) – Returns: part_quality_list Return type: list - TemplateInfo:
- Tgetter_table_column col = part_quality tbl = part
- SeeAlso:
- wbia.const.QUALITY_INT_TO_TEXT
- RESTful:
- Method: GET URL: /api/part/quality/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_part_funcs import * # NOQA >>> ibs, qreq_ = testdata_ibs() >>> part_rowid_list = ibs._get_all_part_rowids() >>> eager = True >>> part_quality_list = ibs.get_part_qualities(part_rowid_list, eager=eager) >>> print('part_quality_list = %r' % (part_quality_list,)) >>> assert len(part_rowid_list) == len(part_quality_list)
-
wbia.control.manual_part_funcs.
get_part_quality_texts
(ibs, part_rowid_list)[source]¶ Auto-docstr for ‘get_part_quality_texts’
- RESTful:
- Method: GET URL: /api/part/quality/text/
-
wbia.control.manual_part_funcs.
get_part_reviewed
(ibs, part_rowid_list)[source]¶ Returns: “All Instances Found” flag, true if all objects of interest Return type: list_ (list) (animals) have an PART in the part
- RESTful:
- Method: GET URL: /api/part/reviewed/
-
wbia.control.manual_part_funcs.
get_part_rotated_verts
(ibs, part_rowid_list)[source]¶ Returns: verticies after rotation by theta. Return type: rotated_vert_list (list) - RESTful:
- Method: GET URL: /api/part/vert/rotated/
-
wbia.control.manual_part_funcs.
get_part_rowids_from_uuid
(ibs, uuid_list)[source]¶ Returns: part rowids Return type: list_ (list) - RESTful:
- Method: GET URL: /api/part/rowid/uuid/
-
wbia.control.manual_part_funcs.
get_part_rows
(ibs, part_rowid_list)[source]¶ Auto-docstr for ‘get_part_rows’
-
wbia.control.manual_part_funcs.
get_part_staged_flags
(ibs, part_rowid_list)[source]¶ returns if an part is staged
Parameters: - ibs (IBEISController) – wbia controller object
- part_rowid_list (int) – list of part ids
Returns: part_staged_flag_list - True if part is staged
Return type: - CommandLine:
- python -m wbia.control.manual_part_funcs –test-get_part_staged_flags
- RESTful:
- Method: GET URL: /api/part/staged/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_part_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> part_rowid_list = ibs.get_valid_part_rowids() >>> gid_list = get_part_staged_flags(ibs, part_rowid_list) >>> result = str(gid_list) >>> print(result)
-
wbia.control.manual_part_funcs.
get_part_staged_metadata
(ibs, part_rowid_list, return_raw=False)[source]¶ Returns: part metadata dictionary Return type: list_ (list) - RESTful:
- Method: GET URL: /api/part/staged/metadata/
-
wbia.control.manual_part_funcs.
get_part_staged_user_ids
(ibs, part_rowid_list)[source]¶ returns if an part is staged
Parameters: - ibs (IBEISController) – wbia controller object
- part_rowid_list (int) – list of part ids
Returns: part_staged_user_id_list - True if part is staged
Return type: - CommandLine:
- python -m wbia.control.manual_part_funcs –test-get_part_staged_user_ids
- RESTful:
- Method: GET URL: /api/part/staged/user/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_part_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> part_rowid_list = ibs.get_valid_part_rowids() >>> gid_list = get_part_staged_user_ids(ibs, part_rowid_list) >>> result = str(gid_list) >>> print(result)
-
wbia.control.manual_part_funcs.
get_part_staged_uuids
(ibs, aid_list)[source]¶ Returns: part_uuid_list a list of image uuids by aid Return type: list - RESTful:
- Method: GET URL: /api/part/staged/uuid/
-
wbia.control.manual_part_funcs.
get_part_tag_text
(ibs, part_rowid_list, **kwargs)[source]¶ part_tags_list <- part.part_tags[part_rowid_list]
gets data from the “native” column “part_tags” in the “part” table
Parameters: part_rowid_list (list) – Returns: part_tags_list Return type: list Example
>>> # DISABLE_DOCTEST >>> from wbia.control.manual_part_funcs import * # NOQA >>> ibs, config2_ = testdata_ibs() >>> part_rowid_list = ibs._get_all_part_rowids() >>> eager = True >>> part_tags_list = ibs.get_part_tag_text(part_rowid_list, eager=eager) >>> assert len(part_rowid_list) == len(part_tags_list)
-
wbia.control.manual_part_funcs.
get_part_thetas
(ibs, part_rowid_list)[source]¶ Returns: a list of floats describing the angles of each part Return type: theta_list (list) - CommandLine:
- python -m wbia.control.manual_part_funcs –test-get_part_thetas
- RESTful:
- Method: GET URL: /api/part/theta/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_part_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('NAUT_test') >>> part_rowid_list = ibs.get_valid_part_rowids() >>> result = get_part_thetas(ibs, part_rowid_list) >>> print(result) []
-
wbia.control.manual_part_funcs.
get_part_types
(ibs, part_rowid_list)[source]¶ Returns: a list of part notes Return type: part_notes_list (list) - RESTful:
- Method: GET URL: /api/part/note/
-
wbia.control.manual_part_funcs.
get_part_uuids
(ibs, part_rowid_list)[source]¶ Returns: part_uuid_list a list of part uuids by part_rowid Return type: list - RESTful:
- Method: GET URL: /api/part/uuid/
-
wbia.control.manual_part_funcs.
get_part_verts
(ibs, part_rowid_list)[source]¶ Returns: the vertices that form the polygon of each part Return type: vert_list (list) - RESTful:
- Method: GET URL: /api/part/vert/
-
wbia.control.manual_part_funcs.
get_part_viewpoints
(ibs, part_rowid_list)[source]¶ Returns: a list of part notes Return type: part_notes_list (list) - RESTful:
- Method: GET URL: /api/part/note/
-
wbia.control.manual_part_funcs.
get_valid_part_rowids
(ibs, include_only_aid_list=None, is_staged=False, viewpoint='no-filter', minqual=None)[source]¶
-
wbia.control.manual_part_funcs.
get_valid_part_uuids
(ibs)[source]¶ Returns: part_uuid_list a list of part uuids for all valid part_rowids Return type: list
-
wbia.control.manual_part_funcs.
part_src_api
(rowid=None)[source]¶ Returns the base64 encoded image of part <rowid>
- RESTful:
- Method: GET URL: /api/part/<rowid>/
-
wbia.control.manual_part_funcs.
set_part_bboxes
(ibs, part_rowid_list, bbox_list)[source]¶ Sets bboxes of a list of parts by part_rowid,
Parameters: - part_rowid_list (list of rowids) – list of part rowids
- bbox_list (list of (x, y, w, h)) – new bounding boxes for each part_rowid
Note
set_part_bboxes is a proxy for set_part_verts
- RESTful:
- Method: PUT URL: /api/part/bbox/
-
wbia.control.manual_part_funcs.
set_part_contour
(ibs, part_rowid_list, contour_dict_list)[source]¶ Sets the part’s contour using a contour dictionary
- RESTful:
- Method: PUT URL: /api/part/contour/
- CommandLine:
- python -m wbia.control.manual_part_funcs –test-set_part_contour
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_part_funcs import * # NOQA >>> import wbia >>> import random >>> # build test data >>> ibs = wbia.opendb('testdb1') >>> aid_list = ibs.get_valid_aids()[0:1] >>> bbox_list = [[0, 0, 100, 100]] * len(aid_list) >>> part_rowid_list = ibs.add_parts(aid_list, bbox_list=bbox_list) >>> contour_dict_list = [ >>> {'test': random.uniform(0.0, 1.0)}, >>> ] >>> print(ut.repr2(contour_dict_list)) >>> ibs.set_part_contour(part_rowid_list, contour_dict_list) >>> # verify results >>> contour_dict_list_ = ibs.get_part_contour(part_rowid_list) >>> print(ut.repr2(contour_dict_list_)) >>> assert contour_dict_list == contour_dict_list_ >>> contour_str_list = [ut.to_json(contour_dict) for contour_dict in contour_dict_list] >>> print(ut.repr2(contour_str_list)) >>> contour_str_list_ = ibs.get_part_contour(part_rowid_list, return_raw=True) >>> print(ut.repr2(contour_str_list_)) >>> assert contour_str_list == contour_str_list_ >>> ibs.delete_parts(part_rowid_list)
-
wbia.control.manual_part_funcs.
set_part_detect_confidence
(ibs, part_rowid_list, confidence_list)[source]¶ Sets part notes
- RESTful:
- Method: PUT URL: /api/part/detect/confidence/
-
wbia.control.manual_part_funcs.
set_part_metadata
(ibs, part_rowid_list, metadata_dict_list)[source]¶ Sets the part’s metadata using a metadata dictionary
- RESTful:
- Method: PUT URL: /api/part/metadata/
- CommandLine:
- python -m wbia.control.manual_part_funcs –test-set_part_metadata
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_part_funcs import * # NOQA >>> import wbia >>> import random >>> # build test data >>> ibs = wbia.opendb('testdb1') >>> aid_list = ibs.get_valid_aids()[0:1] >>> bbox_list = [[0, 0, 100, 100]] * len(aid_list) >>> part_rowid_list = ibs.add_parts(aid_list, bbox_list=bbox_list) >>> metadata_dict_list = [ >>> {'test': random.uniform(0.0, 1.0)}, >>> ] >>> print(ut.repr2(metadata_dict_list)) >>> ibs.set_part_metadata(part_rowid_list, metadata_dict_list) >>> # verify results >>> metadata_dict_list_ = ibs.get_part_metadata(part_rowid_list) >>> print(ut.repr2(metadata_dict_list_)) >>> assert metadata_dict_list == metadata_dict_list_ >>> metadata_str_list = [ut.to_json(metadata_dict) for metadata_dict in metadata_dict_list] >>> print(ut.repr2(metadata_str_list)) >>> metadata_str_list_ = ibs.get_part_metadata(part_rowid_list, return_raw=True) >>> print(ut.repr2(metadata_str_list_)) >>> assert metadata_str_list == metadata_str_list_ >>> ibs.delete_parts(part_rowid_list)
-
wbia.control.manual_part_funcs.
set_part_notes
(ibs, part_rowid_list, notes_list)[source]¶ Sets part notes
- RESTful:
- Method: PUT URL: /api/part/note/
-
wbia.control.manual_part_funcs.
set_part_qualities
(ibs, part_rowid_list, part_quality_list)[source]¶ part_quality_list -> part.part_quality[part_rowid_list]
A quality is an integer representing the following types:
Parameters: - part_rowid_list –
- part_quality_list –
- SeeAlso:
- wbia.const.QUALITY_INT_TO_TEXT
- RESTful:
- Method: PUT URL: /api/part/quality/
-
wbia.control.manual_part_funcs.
set_part_quality_texts
(ibs, part_rowid_list, quality_text_list)[source]¶ Auto-docstr for ‘set_part_quality_texts’
- RESTful:
- Method: PUT URL: /api/part/quality/text/
-
wbia.control.manual_part_funcs.
set_part_reviewed
(ibs, part_rowid_list, reviewed_list)[source]¶ Sets the part all instances found bit
- RESTful:
- Method: PUT URL: /api/part/reviewed/
-
wbia.control.manual_part_funcs.
set_part_staged_metadata
(ibs, part_rowid_list, metadata_dict_list)[source]¶ Sets the part’s staged metadata using a metadata dictionary
- RESTful:
- Method: PUT URL: /api/part/staged/metadata/
- CommandLine:
- python -m wbia.control.manual_part_funcs –test-set_part_staged_metadata
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_part_funcs import * # NOQA >>> import wbia >>> import random >>> # build test data >>> ibs = wbia.opendb('testdb1') >>> aid_list = ibs.get_valid_aids()[0:1] >>> bbox_list = [[0, 0, 100, 100]] * len(aid_list) >>> part_rowid_list = ibs.add_parts(aid_list, bbox_list=bbox_list) >>> metadata_dict_list = [ >>> {'test': random.uniform(0.0, 1.0)}, >>> ] * len(part_rowid_list) >>> print(ut.repr2(metadata_dict_list)) >>> ibs.set_part_staged_metadata(part_rowid_list, metadata_dict_list) >>> # verify results >>> metadata_dict_list_ = ibs.get_part_staged_metadata(part_rowid_list) >>> print(ut.repr2(metadata_dict_list_)) >>> assert metadata_dict_list == metadata_dict_list_ >>> metadata_str_list = [ut.to_json(metadata_dict) for metadata_dict in metadata_dict_list] >>> print(ut.repr2(metadata_str_list)) >>> metadata_str_list_ = ibs.get_part_staged_metadata(part_rowid_list, return_raw=True) >>> print(ut.repr2(metadata_str_list_)) >>> assert metadata_str_list == metadata_str_list_ >>> ibs.delete_parts(part_rowid_list)
-
wbia.control.manual_part_funcs.
set_part_staged_user_ids
(ibs, part_rowid_list, user_id_list)[source]¶ Sets the staged part user id
- RESTful:
- Method: PUT URL: /api/part/staged/user/
-
wbia.control.manual_part_funcs.
set_part_staged_uuids
(ibs, aid_list, part_uuid_list)[source]¶ Returns: all nids of known animals (does not include unknown names) Return type: list_ (list)
-
wbia.control.manual_part_funcs.
set_part_tag_text
(ibs, part_rowid_list, part_tags_list, duplicate_behavior='error')[source]¶ part_tags_list -> part.part_tags[part_rowid_list]
Parameters: - part_rowid_list –
- part_tags_list –
-
wbia.control.manual_part_funcs.
set_part_thetas
(ibs, part_rowid_list, theta_list)[source]¶ Sets thetas of a list of part_rowid_list
- RESTful:
- Method: PUT URL: /api/part/theta/
-
wbia.control.manual_part_funcs.
set_part_types
(ibs, part_rowid_list, type_list)[source]¶ Sets part notes
- RESTful:
- Method: PUT URL: /api/part/note/
-
wbia.control.manual_part_funcs.
set_part_verts
(ibs, part_rowid_list, verts_list, delete_thumbs=True, notify_root=True)[source]¶ Sets the vertices [(x, y), …] of a list of part_rowid_list
- RESTful:
- Method: PUT URL: /api/part/vert/
wbia.control.manual_review_funcs module¶
python -c “import utool as ut; ut.write_modscript_alias(‘Tgen.sh’, ‘wbia.templates.template_generator’)” sh Tgen.sh –key review –invert –Tcfg with_getters=True with_setters=False –modfname manual_review_funcs
# TODO: Fix this name it is too special case
-
wbia.control.manual_review_funcs.
add_review
(ibs, aid_1_list, aid_2_list, evidence_decision_list, meta_decision_list=None, review_uuid_list=None, identity_list=None, user_confidence_list=None, tags_list=None, review_client_start_time_posix=None, review_client_end_time_posix=None, review_server_start_time_posix=None, review_server_end_time_posix=None)[source]¶ Adds a list of reviews.
Returns: review_id_list - review rowids Return type: list - RESTful:
- Method: POST URL: /api/review/
- CommandLine:
- python -m wbia.control.manual_review_funcs –test-add_review
- Doctest:
>>> import wbia >>> from wbia.control.manual_review_funcs import * >>> ibs = wbia.opendb('testdb1') >>> ibs.staging.get_table_as_pandas('reviews') >>> # ensure it is empty >>> rowids = ibs.staging.get_all_rowids('reviews') >>> ibs.staging.delete_rowids('reviews', rowids) >>> ut.exec_funckw(ibs.add_review, globals()) >>> # Add some dummy reviews >>> aid_1_list = [1, 2, 3, 2] >>> aid_2_list = [2, 3, 4, 3] >>> evidence_decision_list = [1, 0, 1, 2] >>> new_rowids = ibs.add_review(aid_1_list, aid_2_list, >>> evidence_decision_list) >>> assert new_rowids == [1, 2, 3, 4] >>> table = ibs.staging.get_table_as_pandas('reviews') >>> print(table) >>> # Then delete them >>> ibs.staging.delete_rowids('reviews', new_rowids)
-
wbia.control.manual_review_funcs.
delete_review
(ibs, review_rowid_list)[source]¶ deletes reviews from the database
- RESTful:
- Method: DELETE URL: /api/review/
-
wbia.control.manual_review_funcs.
get_review_aid_tuple
(ibs, review_rowid_list, eager=True, nInput=None)[source]¶
-
wbia.control.manual_review_funcs.
get_review_counts_from_pairs
(ibs, aid_pairs, eager=True, nInput=None)[source]¶ Returns: review_counts_list - review counts Return type: list_ (list) - RESTful:
- Method: GET URL: /api/review/counts/tuple/
-
wbia.control.manual_review_funcs.
get_review_counts_from_tuple
(ibs, aid_1_list, aid_2_list, eager=True, nInput=None)[source]¶ Returns: review_counts_list - review counts Return type: list_ (list) - RESTful:
- Method: GET URL: /api/review/counts/tuple/
-
wbia.control.manual_review_funcs.
get_review_decisions_from_only
(ibs, aid_list, eager=True, nInput=None)[source]¶ Returns: review_tuple_decisions_list - review decisions Return type: list_ (list) - RESTful:
- Method: GET URL: /api/review/decisions/only/
-
wbia.control.manual_review_funcs.
get_review_exists_from_edges
(ibs, edges, eager=True, nInput=None)[source]¶
-
wbia.control.manual_review_funcs.
get_review_identities_from_tuple
(ibs, aid_1_list, aid_2_list, eager=True, nInput=None)[source]¶ Returns: review_identities_list - review identities Return type: list_ (list) - RESTful:
- Method: GET URL: /api/review/identities/tuple/
-
wbia.control.manual_review_funcs.
get_review_metadata
(ibs, review_rowid_list, return_raw=False)[source]¶ Returns: review metadata dictionary Return type: list_ (list) - RESTful:
- Method: GET URL: /api/review/metadata/
-
wbia.control.manual_review_funcs.
get_review_posix_client_start_time
(ibs, review_rowid_list)[source]¶
-
wbia.control.manual_review_funcs.
get_review_posix_server_start_time
(ibs, review_rowid_list)[source]¶
-
wbia.control.manual_review_funcs.
get_review_posix_times_from_tuple
(ibs, aid_1_list, aid_2_list, eager=True, nInput=None)[source]¶ Returns: identity_list - review posix times Return type: list_ (list) - RESTful:
- Method: GET URL: /api/review/time/posix/tuple/
-
wbia.control.manual_review_funcs.
get_review_rowid_from_superkey
(ibs, aid_1_list, aid_2_list, count_list, eager=False, nInput=None)[source]¶ Returns review_rowid_list
Parameters: lists (superkey) – review_rowid_list, aid_list Returns: review_rowid_list
-
wbia.control.manual_review_funcs.
get_review_rowids_between
(ibs, aids1, aids2=None, method=1)[source]¶ Find staging rowids between sets of aids
- Doctest:
>>> from wbia.control.manual_review_funcs import * >>> import wbia >>> ibs = wbia.opendb('PZ_MTEST') >>> aids1 = aids2 = [1, 2, 3, 4, 5, 6] >>> rowids_between = ibs.get_review_rowids_between >>> ids1 = sorted(rowids_between(aids1, aids2, method=1)) >>> ids2 = sorted(rowids_between(aids1, aids2, method=2)) >>> assert len(ub.find_duplicates(ids1)) == 0 >>> assert len(ub.find_duplicates(ids2)) == 0 >>> assert ids1 == ids2
-
wbia.control.manual_review_funcs.
get_review_rowids_from_aid1
(ibs, aid_list, eager=True, nInput=None)[source]¶
-
wbia.control.manual_review_funcs.
get_review_rowids_from_aid2
(ibs, aid_list, eager=True, nInput=None)[source]¶
-
wbia.control.manual_review_funcs.
get_review_rowids_from_aid_tuple
(ibs, aid_1_list, aid_2_list, eager=True, nInput=None)[source]¶ Aid pairs are undirected
Returns: review_rowid_list - review rowid list of lists Return type: list_ (list) - RESTful:
- Method: GET URL: /api/review/rowid/tuple/
-
wbia.control.manual_review_funcs.
get_review_rowids_from_edges
(ibs, edges, eager=True, nInput=None, directed=False)[source]¶
-
wbia.control.manual_review_funcs.
get_review_rowids_from_only
(ibs, aid_list, eager=True, nInput=None)[source]¶ Returns: review_rowids Return type: list_ (list) - RESTful:
- Method: GET URL: /api/review/rowids/only/
-
wbia.control.manual_review_funcs.
get_review_rowids_from_single
(ibs, aid_list, eager=True, nInput=None)[source]¶
Returns: review_tags_list - review tags (list of strings) Return type: list_ (list) - RESTful:
- Method: GET URL: /api/review/tags/tuple/
-
wbia.control.manual_review_funcs.
set_review_metadata
(ibs, review_rowid_list, metadata_dict_list)[source]¶ Sets the review’s metadata using a metadata dictionary
- RESTful:
- Method: PUT URL: /api/review/metadata/
- CommandLine:
- python -m wbia.control.manual_review_funcs –test-set_review_metadata
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_review_funcs import * # NOQA >>> import wbia >>> import random >>> # build test data >>> ibs = wbia.opendb('testdb1') >>> review_rowid_list = ibs.add_review([1], [2], [0]) >>> metadata_dict_list = [ >>> {'test': random.uniform(0.0, 1.0)}, >>> ] >>> print(ut.repr2(metadata_dict_list)) >>> ibs.set_review_metadata(review_rowid_list, metadata_dict_list) >>> # verify results >>> metadata_dict_list_ = ibs.get_review_metadata(review_rowid_list) >>> print(ut.repr2(metadata_dict_list_)) >>> assert metadata_dict_list == metadata_dict_list_ >>> metadata_str_list = [ut.to_json(metadata_dict) for metadata_dict in metadata_dict_list] >>> print(ut.repr2(metadata_str_list)) >>> metadata_str_list_ = ibs.get_review_metadata(review_rowid_list, return_raw=True) >>> print(ut.repr2(metadata_str_list_)) >>> assert metadata_str_list == metadata_str_list_ >>> ibs.delete_review(review_rowid_list)
wbia.control.manual_species_funcs module¶
python -c “import utool as ut; ut.write_modscript_alias(‘Tgen.sh’, ‘wbia.templates.template_generator’)” sh Tgen.sh –key species –invert –Tcfg with_getters=True with_setters=False –modfname manual_species_funcs
# TODO: Fix this name it is too special case
-
wbia.control.manual_species_funcs.
add_species
(ibs, species_nice_list, species_text_list=None, species_code_list=None, species_uuid_list=None, species_note_list=None, skip_cleaning=False)[source]¶ Adds a list of species.
Returns: speciesid_list - species rowids Return type: list - RESTful:
- Method: POST URL: /api/species/
- CommandLine:
- python -m wbia.control.manual_species_funcs –test-add_species
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_species_funcs import * # NOQA >>> import wbia >>> import utool as ut >>> ibs = wbia.opendb('testdb1') >>> species_text_list = [ ... 'jaguar', 'zebra_plains', 'zebra_plains', '____', 'TYPO', ... '____', 'zebra_grevys', 'bear_polar+head'] >>> species_rowid_list = ibs.add_species(species_text_list) >>> print(ut.repr2(list(zip(species_text_list, species_rowid_list)))) >>> ibs.print_species_table() >>> species_text = ibs.get_species_texts(species_rowid_list) >>> # Ensure we leave testdb1 in a clean state >>> ibs.delete_species(ibs.get_species_rowids_from_text(['jaguar', 'TYPO'])) >>> all_species_rowids = ibs._get_all_species_rowids() >>> result = ut.repr2(species_text, nl=False) + '\n' >>> result += ut.repr2(all_species_rowids, nl=False) + '\n' >>> result += ut.repr2(ibs.get_species_texts(all_species_rowids), nl=False) + '\n' >>> result += ut.repr2(ibs.get_species_codes(all_species_rowids), nl=False) >>> print(result) ['jaguar', 'zebra_plains', 'zebra_plains', '____', 'typo', '____', 'zebra_grevys', 'bear_polar+head'] [1, 2, 3, 6] ['zebra_plains', 'zebra_grevys', 'bear_polar', 'bear_polar+head'] ['PZ', 'GZ', 'PB', 'BP+H']
-
wbia.control.manual_species_funcs.
delete_empty_species
(ibs)[source]¶ deletes empty species from the database
-
wbia.control.manual_species_funcs.
delete_species
(ibs, species_rowid_list)[source]¶ deletes species from the database
CAREFUL. YOU PROBABLY DO NOT WANT TO USE THIS at least ensure that no annot is associated with any of these species rowids
- RESTful:
- Method: DELETE URL: /api/species/
-
wbia.control.manual_species_funcs.
get_all_species_nice
(ibs)[source]¶ Returns: all nids of known animals (does not include unknown names) Return type: list_ (list)
-
wbia.control.manual_species_funcs.
get_all_species_texts
(ibs)[source]¶ Returns: all nids of known animals (does not include unknown names) Return type: list_ (list)
-
wbia.control.manual_species_funcs.
get_species_codes
(ibs, species_rowid_list)[source]¶ Returns: code_list - species codes Return type: list_ (list) - RESTful:
- Method: GET URL: /api/species/code/
-
wbia.control.manual_species_funcs.
get_species_enabled
(ibs, species_rowid_list)[source]¶ Returns: “Species Enabled” flag, true if the species is enabled Return type: list_ (list)
-
wbia.control.manual_species_funcs.
get_species_nice
(ibs, species_rowid_list)[source]¶ Returns: species_text_list nice names Return type: list - CommandLine:
- python -m wbia.control.manual_species_funcs –test-get_species_nice –enableall
- RESTful:
- Method: GET URL: /api/species/nice/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_species_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> ibs._clean_species() >>> species_rowid_list = ibs._get_all_species_rowids() >>> result = get_species_nice(ibs, species_rowid_list) >>> result = ut.repr2(result) >>> print(result) ['Zebra (Plains)', "Zebra (Grevy's)", 'Polar Bear', 'bear_polar+head']
-
wbia.control.manual_species_funcs.
get_species_notes
(ibs, species_rowid_list)[source]¶ Returns: notes_list - species notes Return type: list_ (list) - RESTful:
- Method: GET URL: /api/species/note/
-
wbia.control.manual_species_funcs.
get_species_rowids_from_text
(ibs, species_text_list, ensure=True, **kwargs)[source]¶ Returns: Creates one if it doesnt exist Return type: species_rowid_list (list) - CommandLine:
- python -m wbia.control.manual_species_funcs –test-get_species_rowids_from_text:0 python -m wbia.control.manual_species_funcs –test-get_species_rowids_from_text:1
- RESTful:
- Method: GET URL: /api/species/rowid/text/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_species_funcs import * # NOQA >>> import wbia >>> import utool as ut >>> ibs = wbia.opendb('testdb1') >>> species_text_list = [ ... u'jaguar', u'zebra_plains', u'zebra_plains', '____', 'TYPO', ... '____', u'zebra_grevys', u'bear_polar'] >>> ensure = False >>> species_rowid_list = ibs.get_species_rowids_from_text(species_text_list, ensure) >>> # print(ut.repr2(list(zip(species_text_list, species_rowid_list)))) >>> ensure = True >>> species_rowid_list = ibs.get_species_rowids_from_text(species_text_list, ensure) >>> # print(ut.repr2(list(zip(species_text_list, species_rowid_list)))) >>> ibs.print_species_table() >>> species_text = ibs.get_species_texts(species_rowid_list) >>> # Ensure we leave testdb1 in a clean state >>> ibs.delete_species(ibs.get_species_rowids_from_text(['jaguar', 'TYPO'])) >>> all_species_rowids = ibs._get_all_species_rowids() >>> assert ut.repr2(species_text, nl=False) == ['jaguar', 'zebra_plains', 'zebra_plains', '____', 'typo', '____', 'zebra_grevys', 'bear_polar'] >>> assert ut.repr2(all_species_rowids, nl=False) == [1, 2, 3, 6] >>> assert ut.repr2(ibs.get_species_texts(all_species_rowids), nl=False) == ['zebra_plains', 'zebra_grevys', 'bear_polar', 'bear_polar+head']
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_species_funcs import * # NOQA >>> import wbia >>> import utool as ut # NOQA >>> ibs = wbia.opendb('testdb1') >>> species_text_list = [ ... u'jaguar', u'zebra_plains', u'zebra_plains', '____', 'TYPO', ... '____', u'zebra_grevys', u'bear_polar'] >>> ensure = False >>> species_rowid_list = ibs.get_species_rowids_from_text(species_text_list, ensure)
-
wbia.control.manual_species_funcs.
get_species_rowids_from_uuids
(ibs, species_uuid_list)[source]¶ Returns: Creates one if it doesnt exist Return type: species_rowid_list (list) - CommandLine:
- python -m wbia.control.manual_species_funcs –test-get_species_rowids_from_text:0 python -m wbia.control.manual_species_funcs –test-get_species_rowids_from_text:1
- RESTful:
- Method: GET URL: /api/species/rowid/uuid/
-
wbia.control.manual_species_funcs.
get_species_texts
(ibs, species_rowid_list)[source]¶ Returns: species_text_list text names Return type: list - CommandLine:
- python -m wbia.control.manual_species_funcs –test-get_species_texts –enableall
- RESTful:
- Method: GET URL: /api/species/text/
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_species_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb('testdb1') >>> species_rowid_list = ibs._get_all_species_rowids() >>> result = get_species_texts(ibs, species_rowid_list) >>> result = ut.repr2(result) >>> print(result) ['zebra_plains', 'zebra_grevys', 'bear_polar', 'bear_polar+head']
-
wbia.control.manual_species_funcs.
get_species_uuids
(ibs, species_rowid_list)[source]¶ Returns: uuids_list - species uuids Return type: list_ (list) - RESTful:
- Method: GET URL: /api/species/uuid/
-
wbia.control.manual_species_funcs.
sanitize_species_texts
(ibs, species_text_list)[source]¶ changes unknown species to the unknown value
Parameters: - ibs (IBEISController) – wbia controller object
- species_text_list (list) –
Returns: Return type: - CommandLine:
- python -m wbia.control.manual_species_funcs –test-sanitize_species_texts
- RESTful:
- Method: POST URL: /api/species/sanitize
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.manual_species_funcs import * # NOQA >>> import wbia >>> # build test data >>> ibs = wbia.opendb('testdb1') >>> species_text_list = ['foo', 'bar', 'zebra_plains'] >>> # execute function >>> species_text_list_ = sanitize_species_texts(ibs, species_text_list) >>> # verify results >>> result = ut.repr2(species_text_list_, nl=False) >>> print(result) ['foo', 'bar', 'zebra_plains']
wbia.control.manual_test_funcs module¶
python -c “import utool as ut; ut.write_modscript_alias(‘Tgen.sh’, ‘wbia.templates.template_generator’)” sh Tgen.sh –key test –invert –Tcfg with_getters=True with_setters=False –modfname manual_test_funcs
# TODO: Fix this name it is too special case
-
wbia.control.manual_test_funcs.
add_test
(ibs, test_challenge_list, test_response_list, test_result_list=None, test_uuid_list=None, test_user_identity_list=None)[source]¶
wbia.control.manual_wbiacontrol_funcs module¶
-
wbia.control.manual_wbiacontrol_funcs.
get_annot_kpts_distinctiveness
(ibs, aid_list, config2_=None, **kwargs)[source]¶ very hacky, but cute way to cache keypoint distinctivness
Parameters: - ibs (IBEISController) – wbia controller object
- aid_list (list) –
- dstncvs_normer (None) –
Returns: dstncvs_list
Return type: - CommandLine:
- python -m wbia.control.manual_wbiacontrol_funcs –test-get_annot_kpts_distinctiveness
Example
>>> # SLOW_DOCTEST >>> # xdoctest: +SKIP >>> from wbia.control.manual_wbiacontrol_funcs import * # NOQA >>> from wbia.algo.hots import distinctiveness_normalizer >>> import wbia >>> import numpy as np >>> config2_ = None >>> # build test data >>> ibs = wbia.opendb('testdb1') >>> aid_list = ibs.get_valid_aids(species=const.TEST_SPECIES.ZEB_PLAIN) >>> # execute function >>> aid_list1 = aid_list[::2] >>> aid_list2 = aid_list[1::3] >>> dstncvs_list1 = get_annot_kpts_distinctiveness(ibs, aid_list1) >>> dstncvs_list2 = get_annot_kpts_distinctiveness(ibs, aid_list2) >>> dstncvs_list = get_annot_kpts_distinctiveness(ibs, aid_list) >>> print(ut.depth_profile(dstncvs_list1)) >>> stats_dict = ut.dict_stack([ut.get_stats(dstncvs) for dstncvs in dstncvs_list]) >>> print(ut.repr2(stats_dict)) >>> assert np.all(np.array(stats_dict['min']) >= 0), 'distinctiveness was out of bounds' >>> assert np.all(np.array(stats_dict['max']) <= 1), 'distinctiveness was out of bounds'
-
wbia.control.manual_wbiacontrol_funcs.
get_feat_kpts_distinctiveness
(ibs, fid_list, dstncvs_normer=None, species_rowid=None, **kwargs)[source]¶
-
wbia.control.manual_wbiacontrol_funcs.
new_query_request
(ibs, qaid_list, daid_list, cfgdict=None, verbose=True, **kwargs)[source]¶ alias for wbia.algo.hots.query_request.new_wbia_query_request
Parameters: Returns: qreq_ - hyper-parameters
Return type: wbia.QueryRequest
wbia.control.manual_wildbook_funcs module¶
- CommandLine;
- # Reset IBEIS database (can skip if done) python -m wbia.tests.reset_testdbs –reset_mtest python -m wbia –tf reset_mtest
Notes
Moving components: java, tomcat, wildbook.war.
python -m utool.util_inspect check_module_usage –pat=”manual_wildbook_funcs.py”
- CommandLine;
# Start IA server python -m wbia –web –db PZ_MTEST
# Reset Wildbook database python -m wbia purge_local_wildbook
# Install Wildbook python -m wbia install_wildbook
# Startup Wildbook python -m wbia startup_wildbook_server –show
# Poll wildbook info python -m wbia get_wildbook_ia_url
# Login to wildbook (can skip) python -m wbia test_wildbook_login
# Ship ImageSets to wildbook python -m wbia wildbook_signal_imgsetid_list
# Change annotations names to a single name python -m wbia wildbook_signal_annot_name_changes:1
# Change annotations names back to normal python -m wbia wildbook_signal_annot_name_changes:2
-
wbia.control.manual_wildbook_funcs.
delete_wildbook_orphaned_annot_uuids
(ibs, auto_delete=True)[source]¶
-
wbia.control.manual_wildbook_funcs.
delete_wildbook_orphaned_image_uuids
(ibs, auto_delete=True)[source]¶
-
wbia.control.manual_wildbook_funcs.
get_wildbook_annot_uuids
(ibs, filter_match_against_on=True)[source]¶
-
wbia.control.manual_wildbook_funcs.
get_wildbook_ia_url
(ibs, wb_target=None)[source]¶ Where does wildbook expect us to be?
- CommandLine:
- python -m wbia get_wildbook_ia_url
Example
>>> # DISABLE_DOCTEST >>> from wbia.control.manual_wildbook_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb(defaultdb='PZ_MTEST') >>> ia_url = ibs.get_wildbook_ia_url() >>> print('ia_url = %r' % (ia_url,))
-
wbia.control.manual_wildbook_funcs.
wildbook_signal_annot_name_changes
(ibs, aid_list=None, wb_target=None, dryrun=False)[source]¶ Parameters: - CommandLine:
- python -m wbia wildbook_signal_annot_name_changes:0 –dryrun python -m wbia wildbook_signal_annot_name_changes:1 –dryrun python -m wbia wildbook_signal_annot_name_changes:1 python -m wbia wildbook_signal_annot_name_changes:2
- Setup:
>>> wb_target = None >>> dryrun = ut.get_argflag('--dryrun')
Example
>>> # DISABLE_DOCTEST >>> from wbia.control.manual_wildbook_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb(defaultdb='PZ_MTEST') >>> #gid_list = ibs.get_valid_gids()[0:10] >>> gid_list = ibs.get_valid_gids()[3:5] >>> aid_list = ut.flatten(ibs.get_image_aids(gid_list)) >>> # Test case where some names change, some do not. There are no new names. >>> old_nid_list = ibs.get_annot_name_rowids(aid_list) >>> new_nid_list = ut.list_roll(old_nid_list, 1) >>> ibs.set_annot_name_rowids(aid_list, new_nid_list) >>> result = ibs.wildbook_signal_annot_name_changes(aid_list, wb_target, dryrun) >>> ibs.set_annot_name_rowids(aid_list, old_nid_list)
Example
>>> # DISABLE_DOCTEST >>> from wbia.control.manual_wildbook_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb(defaultdb='PZ_MTEST') >>> #gid_list = ibs.get_valid_gids()[0:10] >>> gid_list = ibs.get_valid_gids()[3:5] >>> aid_list = ut.flatten(ibs.get_image_aids(gid_list)) >>> # Test case where all names change to one known name >>> #old_nid_list = ibs.get_annot_name_rowids(aid_list) >>> #new_nid_list = [old_nid_list[0]] * len(old_nid_list) >>> old_nid_list = [1, 2] >>> new_nid_list = [1, 1] >>> print('old_nid_list = %r' % (old_nid_list,)) >>> print('new_nid_list = %r' % (new_nid_list,)) >>> ibs.set_annot_name_rowids(aid_list, new_nid_list) >>> result = ibs.wildbook_signal_annot_name_changes(aid_list, wb_target, dryrun) >>> # Undo changes here (not undone in wildbook) >>> #ibs.set_annot_name_rowids(aid_list, old_nid_list)
Example
>>> # DISABLE_DOCTEST >>> from wbia.control.manual_wildbook_funcs import * # NOQA >>> import wbia >>> ibs = wbia.opendb(defaultdb='PZ_MTEST') >>> gid_list = ibs.get_valid_gids()[3:5] >>> aid_list = ut.flatten(ibs.get_image_aids(gid_list)) >>> old_nid_list = [1, 2] >>> ibs.set_annot_name_rowids(aid_list, old_nid_list) >>> # Signal what currently exists (should put them back to normal) >>> result = ibs.wildbook_signal_annot_name_changes(aid_list, wb_target, dryrun)
-
wbia.control.manual_wildbook_funcs.
wildbook_signal_imgsetid_list
(ibs, imgsetid_list=None, set_shipped_flag=True, open_url_on_complete=True, wb_target=None, dryrun=False)[source]¶ Exports specified imagesets to wildbook. This is a synchronous call.
Parameters: - RESTful:
- Method: PUT URL: /api/wildbook/signal/imageset/
- Ignore:
cd $CODE_DIR/Wildbook/tmp
# Ensure IA server is up python -m wbia –web –db PZ_MTEST
# Reset IBEIS database python -m wbia.tests.reset_testdbs –reset_mtest python -m wbia reset_mtest
# Completely remove Wildbook database python -m wbia purge_local_wildbook
# Install Wildbook python -m wbia install_wildbook
# Startup Wildbook python -m wbia startup_wildbook_server
# Login to wildbook python -m wbia test_wildbook_login
# Ship ImageSets to wildbook python -m wbia wildbook_signal_imgsetid_list
# Change annotations names to a single name python -m wbia wildbook_signal_annot_name_changes:1
# Change annotations names back to normal python -m wbia wildbook_signal_annot_name_changes:2
- CommandLine:
- python -m wbia wildbook_signal_imgsetid_list python -m wbia wildbook_signal_imgsetid_list –dryrun python -m wbia wildbook_signal_imgsetid_list –break
- SeeAlso:
- ~/local/build_scripts/init_wildbook.sh
Example
>>> # DISABLE_DOCTEST >>> from wbia.control.manual_wildbook_funcs import * # NOQA >>> dryrun = ut.get_argflag('--dryrun') >>> wb_target = None >>> import wbia >>> # Need to start a web server for wildbook to hook into >>> defaultdb = 'PZ_MTEST' >>> ibs = wbia.opendb(defaultdb=defaultdb) >>> #gid_list = ibs.get_valid_gids()[0:10] >>> gid_list = ibs.get_valid_gids()[3:6] >>> new_imgsetid = ibs.create_new_imageset_from_images(gid_list) # NOQA >>> imgsetid = new_imgsetid >>> print('new imageset uuid = %r' % (ibs.get_imageset_uuid(new_imgsetid),)) >>> print('new imageset text = %r' % (ibs.get_imageset_text(new_imgsetid),)) >>> imgsetid_list = [new_imgsetid] >>> ibs.set_imageset_processed_flags([new_imgsetid], [1]) >>> gid_list = ibs.get_imageset_gids(new_imgsetid) >>> ibs.set_image_reviewed(gid_list, [1] * len(gid_list)) >>> set_shipped_flag = True >>> open_url_on_complete = True >>> if ut.get_argflag('--bg'): >>> with wbia.opendb_bg_web(defaultdb, managed=True) as web_ibs: ... result = web_ibs.wildbook_signal_imgsetid_list(imgsetid_list, set_shipped_flag, open_url_on_complete, wb_target, dryrun) >>> else: ... result = ibs.wildbook_signal_imgsetid_list(imgsetid_list, set_shipped_flag, open_url_on_complete, wb_target, dryrun) >>> # cleanup >>> #ibs.delete_imagesets(new_imgsetid) >>> print(result)
-
wbia.control.manual_wildbook_funcs.
wildbook_signal_name_changes
(ibs, nid_list, new_name_list, wb_target=None, dryrun=False)[source]¶ Parameters: - CommandLine:
- python -m wbia wildbook_signal_name_changes:0 –dryrun python -m wbia wildbook_signal_name_changes:1 –dryrun python -m wbia wildbook_signal_name_changes:1 python -m wbia wildbook_signal_name_changes:2
- Setup:
>>> wb_target = None >>> dryrun = ut.get_argflag('--dryrun')
wbia.control.wildbook_manager module¶
Manages local wildbook installations.
- CommandLine:
- python -m utool.util_inspect check_module_usage –pat=”wildbook_manager.py”
- Utils:
- # TODO go to http://localhost:8080/wbia/createAssetStore.jsp tail -f ~/.config/wbia/tomcat/logs/catalina.out cat ~/.config/wbia/tomcat/logs/catalina.out python -m wbia shutdown_wildbook_server python -m wbia update_wildbook_install_config
-
wbia.control.wildbook_manager.
download_tomcat
()[source]¶ Put tomcat into a directory controlled by wbia
- CommandLine:
- # Reset python -c “import utool as ut; ut.delete(ut.unixjoin(ut.get_app_resource_dir(‘wbia’), ‘tomcat’))”
-
wbia.control.wildbook_manager.
ensure_local_war
(verbose=True)[source]¶ Ensures tomcat has been unpacked and the war is localized
- CommandLine:
- wbia ensure_local_war
Example
>>> # SCRIPT >>> from wbia.control.wildbook_manager import * # NOQA >>> result = ensure_local_war() >>> print(result)
-
wbia.control.wildbook_manager.
ensure_wb_mysql
()[source]¶ - CommandLine:
- python -m wbia ensure_wb_mysql
Example
>>> # SCRIPT >>> from wbia.control.wildbook_manager import * # NOQA >>> result = ensure_wb_mysql()
-
wbia.control.wildbook_manager.
find_installed_tomcat
(check_unpacked=True, strict=True)[source]¶ Asserts that tomcat was properly installed
Parameters: check_unpacked (bool) – (default = True) Returns: tomcat_dpath Return type: str - CommandLine:
- python -m wbia find_installed_tomcat
Example
>>> # ENABLE_DOCTEST >>> from wbia.control.wildbook_manager import * # NOQA >>> check_unpacked = False >>> strict = False >>> tomcat_dpath = find_installed_tomcat(check_unpacked, strict) >>> result = ('tomcat_dpath = %s' % (str(tomcat_dpath),)) >>> print(result)
-
wbia.control.wildbook_manager.
find_java_jvm
()[source]¶ - CommandLine:
- python -m wbia find_java_jvm
Example
>>> # DISABLE_DOCTEST >>> from wbia.control.wildbook_manager import * # NOQA >>> jvm_fpath = find_java_jvm() >>> result = ('jvm_fpath = %r' % (jvm_fpath,)) >>> print(result)
-
wbia.control.wildbook_manager.
find_or_download_tomcat
()[source]¶ Returns: tomcat_dpath Return type: str - CommandLine:
# Reset python -m purge_local_wildbook
python -m wbia –tf purge_local_wildbook python -m wbia –tf find_or_download_tomcat
Example
>>> # SCRIPT >>> from wbia.control.wildbook_manager import * # NOQA >>> tomcat_dpath = find_or_download_tomcat() >>> result = ('tomcat_dpath = %s' % (str(tomcat_dpath),)) >>> print(result)
-
wbia.control.wildbook_manager.
find_or_download_wilbook_warfile
(ensure=True, redownload=False)[source]¶ - scp jonc@pachy.cs.uic.edu:/var/lib/tomcat/webapps/wbia.war
- ~/Downloads/pachy_wbia.war wget
-
wbia.control.wildbook_manager.
find_tomcat
(verbose=True)[source]¶ Searches likely places for tomcat to be installed
Returns: tomcat_dpath Return type: str - Ignore:
- locate –regex “tomcat/webapps$”
- CommandLine:
- python -m wbia find_tomcat
Example
>>> # SCRIPT >>> from wbia.control.wildbook_manager import * # NOQA >>> tomcat_dpath = find_tomcat() >>> result = ('tomcat_dpath = %s' % (str(tomcat_dpath),)) >>> print(result)
-
wbia.control.wildbook_manager.
get_wildbook_tomcat_path
(ibs, tomcat_dpath=None, wb_target=None)[source]¶
-
wbia.control.wildbook_manager.
install_wildbook
(verbose=True)[source]¶ Script to setup wildbook on a unix based system (hopefully eventually this will generalize to win32)
- CommandLine:
# Reset wbia purge_local_wildbook wbia ensure_wb_mysql wbia ensure_local_war # Setup wbia install_wildbook # wbia install_wildbook –nomysql # Startup wbia startup_wildbook_server –show
- Alternates:
- wbia install_wildbook –redownload-war wbia install_wildbook –assets wbia startup_wildbook_server –show
Example
>>> # SCRIPT >>> from wbia.control.wildbook_manager import * # NOQA >>> verbose = True >>> result = install_wildbook() >>> print(result)
-
wbia.control.wildbook_manager.
monitor_wildbook_logs
(verbose=True)[source]¶ Parameters: verbose (bool) – verbosity flag(default = True) - CommandLine:
- python -m wbia monitor_wildbook_logs –show
Example
>>> # SCRIPT >>> from wbia.control.wildbook_manager import * # NOQA >>> monitor_wildbook_logs()
-
wbia.control.wildbook_manager.
purge_local_wildbook
()[source]¶ Shuts down the server and then purges the server on disk
- CommandLine:
- python -m wbia purge_local_wildbook python -m wbia purge_local_wildbook –purge-war
Example
>>> # SCRIPT >>> from wbia.control.wildbook_manager import * # NOQA >>> purge_local_wildbook()
-
wbia.control.wildbook_manager.
shutdown_wildbook_server
(verbose=True)[source]¶ Parameters: verbose (bool) – verbosity flag(default = True) - Ignore:
- tail -f ~/.config/wbia/tomcat/logs/catalina.out
- CommandLine:
- python -m wbia shutdown_wildbook_server
Example
>>> # DISABLE_DOCTEST >>> from wbia.control.wildbook_manager import * # NOQA >>> verbose = True >>> wb_url = shutdown_wildbook_server() >>> ut.quit_if_noshow() >>> ut.get_prefered_browser(PREFERED_BROWSER).open_new_tab(wb_url)
-
wbia.control.wildbook_manager.
startup_wildbook_server
(verbose=True)[source]¶ Parameters: verbose (bool) – verbosity flag(default = True) - CommandLine:
- python -m wbia startup_wildbook_server python -m wbia startup_wildbook_server –show
Example
>>> # DISABLE_DOCTEST >>> from wbia.control.wildbook_manager import * # NOQA >>> verbose = True >>> wb_url = startup_wildbook_server() >>> ut.quit_if_noshow() >>> ut.get_prefered_browser(PREFERED_BROWSER).open_new_tab(wb_url)
-
wbia.control.wildbook_manager.
tryout_wildbook_login
()[source]¶ Helper function to test wildbook login automagically
Returns: (wb_target, tomcat_dpath) Return type: tuple - CommandLine:
- python -m wbia tryout_wildbook_login
Example
>>> # DISABLE_DOCTEST >>> from wbia.control.wildbook_manager import * # NOQA >>> tryout_wildbook_login()
-
wbia.control.wildbook_manager.
update_wildbook_ia_config
(ibs, wildbook_tomcat_path, dryrun=False)[source]¶ #if use_config_file and wildbook_tomcat_path: # # Update the Wildbook configuration to see THIS wbia database # with lockfile.LockFile(lock_fpath): # update_wildbook_ia_config(ibs, wildbook_tomcat_path, dryrun)
-
wbia.control.wildbook_manager.
update_wildbook_install_config
(webapps_dpath, unpacked_war_dpath)[source]¶ - CommandLine:
- python -m wbia ensure_local_war python -m wbia update_wildbook_install_config python -m wbia update_wildbook_install_config –show
Example
>>> # xdoctest: +REQUIRES(--tomcat) >>> from wbia.control.wildbook_manager import * # NOQA >>> import wbia >>> tomcat_dpath = find_installed_tomcat() >>> webapps_dpath = join(tomcat_dpath, 'webapps') >>> wb_target = wbia.const.WILDBOOK_TARGET >>> unpacked_war_dpath = join(webapps_dpath, wb_target) >>> locals_ = ut.exec_func_src(update_wildbook_install_config, globals()) >>> #update_wildbook_install_config(webapps_dpath, unpacked_war_dpath) >>> ut.quit_if_noshow() >>> ut.vd(unpacked_war_dpath) >>> ut.editfile(locals_['permission_fpath']) >>> ut.editfile(locals_['jdoconfig_fpath']) >>> ut.editfile(locals_['asset_store_fpath'])
Module contents¶
-
wbia.control.
IMPORT_TUPLES
= [('DB_SCHEMA', None, False), ('IBEISControl', None, False), ('_sql_helpers', None, False), ('accessor_decors', None, False), ('controller_inject', None, False), ('docker_control', None, False)]¶ cd /home/joncrall/code/wbia/wbia/control makeinit.py -x DBCACHE_SCHEMA_CURRENT DB_SCHEMA_CURRENT _grave_template manual_wbiacontrol_funcs template_definitions templates _autogen_wbiacontrol_funcs
Type: Regen Command
-
wbia.control.
rrrr
(verbose=True)¶ Reloads wbia.control and submodules