def run_cli(): """Usage: python draw_database.py DATASET_NAME OUTPUT_name Draws the named database. """ import sys if len(sys.argv) < 2: print run_cli.__doc__ sys.exit() from common import cliutils import wgenerator args, kwargs = cliutils.extract_variables(sys.argv[1:], "DATASET_NAME OUTPUT_NAME") if len(args) < 1: print "ERROR: Dataset name was not specified." sys.exit(1) db_name = args[0] out_name = args[1] db = wdb.StateTransitionDatabase(db_name) from_states, to_states = numpy.split(db.get_all_transitions(0), 2) """ from_states[:,0] = 0 from_states[:,1] = 0 to_states[:,0] = 0 to_states[:,1] = 0 """ renderer = GWhiskerDatabaseRenderer(5, 150, 5, translate=(256-75, 256), particle_alpha=0.0001) imsurf=cairo.ImageSurface(cairo.FORMAT_ARGB32, 512,512) ctx = cairo.Context(imsurf) #for btm, top in zip(numpy.linspace(0, 1-1.0/8, 8), numpy.linspace(1.0/8, 1, 8)): for states, name in ((from_states, "_from"), (to_states, "_to")): ctx.identity_matrix() ctx.rectangle(0, 0, 512, 512) ctx.set_source_rgb(0, 0, 0) ctx.fill() for s in states: #if 0.00002*btm < abs(s[0]) and abs(s[0]) < 0.00002*top: renderer.render(ctx, s, alpha=0.05) imsurf.write_to_png(make_run_path(os.path.join("debug","db","%s.png"%(out_name + name))))
def run_cli(): """Usage: python generate.py GENERATOR_CLASS DATASET_NAME [-o NUM_OBJECTS] [-n NUM_TRANSITIONS] [-f NUM_FRAMES] [-m NUM_MOVIES] [--dt TIMESTEP_SIZE] [--debug (True|False)] [generator options...]") Generates a video and places it in VIDEO_DIRECTORY, as specified in common.settings. Also generates a training database and places it in DATA_DIRECTORY. Generators may have their own parameters, which can be specified after those defined here. """ import sys if len(sys.argv) < 2: print run_cli.__doc__ sys.exit() from common import cliutils import wgenerator generator_class_name = sys.argv[1] helping = False if generator_class_name == "help": helping = True if len(sys.argv) < 3: print "What to you want help with?" sys.exit(1) generator_class_name = sys.argv[2] generator_class = None try: generator_class = getattr(wgenerator, generator_class_name) except AttributeError: print "Unknown tracker:", generator_class_name sys.exit(1) if helping: print generator_class.__doc__ sys.exit(0) try: cli_def = "DATASET_NAME [-o number_of_objects] [-n number_of_transitions] [-f number_of_frames] [-m number_of_movies] [--dt dt] [--debug debug]" try: cli_def += " " + generator_class.CUSTOM_CLI_DEFINITION except AttributeError: pass args, kwargs = cliutils.extract_variables(sys.argv[2:], cli_def) generator = generator_class(*args, **kwargs) generator.generate() sys.exit(1) except TypeError: print "Syntax error, please consult the documentation for the tracker %s."%(generator_class_name) print print "Docstring for %s:"%(generator_class_name) print print generator_class.__doc__