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)}
SeeAlso: When updating versions need to test and modify in IBEISController._init_sqldbcore
- 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
wbia.control.STAGING_SCHEMA module
wbia.control.STAGING_SCHEMA_CURRENT module
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
- 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
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
- 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
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]
-
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) >>> print(result) [14, 15]
- 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
- 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
- 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
- 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
- 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
- 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
- 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_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_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
- 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]
-
- 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]
-
- 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]
-
- 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
- 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
- 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
- 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
- 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)
- 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
- 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
- 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
- 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]
- 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
- 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
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
- 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
- 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
- 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
- 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.
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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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]
-
- 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
- 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
- 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
- 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
- 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
- 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]
- 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]
-
- 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
- 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
- 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]
- 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
- 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
- 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_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
- 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
- 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)[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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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.
- 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]
- 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]
- 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
- 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
- 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
- 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
- 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_rowid
ORDER 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
- 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]
- 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
- 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
- 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
- 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
- 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
- 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
- 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
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
- 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
- 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
- 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]
- wbia.control.manual_review_funcs.get_review_tags_from_tuple(ibs, aid_1_list, aid_2_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
- 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
- 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() >>> 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) >>> print(result) ['jaguar', 'zebra_plains', 'zebra_plains', '____', 'typo', '____', 'zebra_grevys', 'bear_polar'] [1, 2, 3, 6] ['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
- 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
- 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
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
- 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
- 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
- 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
- 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'])