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
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
#!/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)
#================== # 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):