Exemplo n.º 1
0
def main_init(defaultdb=None, preload=False, app=None):
    from hsgui import guitools
    # Listen for ctrl+c
    signal_set()
    # Run Qt App
    app, is_root = guitools.init_qtapp()
    hs, back = main(defaultdb=defaultdb, preload=preload, app=app)
    return hs, back, app, is_root
Exemplo n.º 2
0
def main(defaultdb='cache', preload=False, app=None):
    from hscom import fileio as io
    from hscom import params
    from hotspotter import HotSpotterAPI as api
    from hsgui import guitools
    from hsgui import guiback
    if app is True:
        app, is_root = guitools.init_qtapp()
    args = parse_arguments(defaultdb, defaultdb == 'cache')
    # --- Build HotSpotter API ---
    if app is None:
        hs = api.HotSpotter(args)
    else:
        back = guiback.make_main_window(app)
        hs = back.open_database(args.dbdir)
    setcfg = args.setcfg
    if setcfg is not None:
        # FIXME move experiment harness to hsdev
        import experiment_harness
        print('[tapi.main] setting cfg to %r' % setcfg)
        varied_list = experiment_harness.get_varied_params_list([setcfg])
        cfg_dict = varied_list[0]
        hs.prefs.query_cfg.update_cfg(**cfg_dict)
        hs.prefs.save()
        hs.prefs.printme()
    # Load all data if needed now, otherwise be lazy
    try:
        load_all = preload
        hs.load(load_all=load_all)
        db_dir = hs.dirs.db_dir
        io.global_cache_write('db_dir', db_dir)
    except ValueError as ex:
        print('[tapi.main] ValueError = %r' % (ex, ))
        if params.args.strict:
            raise
    if app is not None:
        return hs, back
    else:
        from hsgui import guitools
        app, is_root = guitools.init_qtapp()
        hs.app = app
    return hs
Exemplo n.º 3
0
#!/usr/bin/env python
# TODO: ADD COPYRIGHT TAG
from __future__ import print_function, division
from hscom import helpers as util
from hsdev import test_api
from hsgui import guitools
from os.path import join
import multiprocessing


if __name__ == '__main__':
    multiprocessing.freeze_support()
    app, is_root = guitools.init_qtapp()
    hs, back = test_api.main(defaultdb=None, preload=False, app=app)

    # Build the test db name
    work_dir = back.get_work_directory()
    new_dbname = 'scripted_test_db'
    new_dbdir = join(work_dir, new_dbname)

    # Remove it if it exists
    util.delete(new_dbdir)

    back.new_database(new_dbdir)

    back.import_images_from_file()

    guitools.run_main_loop(app, is_root, back, frequency=100)
Exemplo n.º 4
0
#==================
# MAIN ENTRY POINT
#==================

if __name__ == '__main__':
    # Necessary for windows parallelization
    multiprocessing.freeze_support()
    hs = main(defaultdb=None, usedbcache=True)
    from hsgui import guitools
    from hsgui import guiback
    from hscom import helpers
    print('main.py')
    # Listen for ctrl+c
    signal_set()
    # Run qt app
    app, is_root = guitools.init_qtapp()
    # Create main window only after data is loaded
    back = guiback.make_main_window(hs, app)
    # --- Run Startup Commands ---
    res = postload_args_process(hs, back)
    # Connect database to the back gui
    #app.setActiveWindow(back.front)

    # Allow for a IPython connection by passing the --cmd flag
    embedded = False
    if helpers.get_flag('--cmd'):
        import scripts
        import generate_training
        import sys

        def do_encounters(seconds=None):