def main(args): if args.out_dir: os.makedirs(args.out_dir, exist_ok=True) if not args.tikz: import matplotlib matplotlib.use('Agg') to_stdout = (args.tikz or args.standoff) and not args.out_dir t = args.passages t = get_passages(t) if to_stdout else get_passages_with_progress_bar( t, desc="Visualizing") if args.sentences: t = (sentence for passage in t for sentence in split2sentences(passage)) for passage in t: if args.tikz: print_text(args, visualization.tikz(passage), passage.ID + ".tikz.txt") elif args.standoff: print_text(args, visualization.standoff(passage), passage.ID + ".ann") else: import matplotlib.pyplot as plt width = len(passage.layer(layer0.LAYER_ID).all) * 19 / 27 plt.figure(passage.ID, figsize=(width, width * 10 / 19)) visualization.draw(passage, node_ids=args.node_ids) if args.out_dir: plt.savefig( os.path.join(args.out_dir, passage.ID + "." + args.format)) plt.close() else: plt.show()
argparser.add_argument("-f", "--format", choices=("png", "svg"), default="png", help="image format") args = argparser.parse_args() if args.out_dir: os.makedirs(args.out_dir, exist_ok=True) if not args.tikz: import matplotlib matplotlib.use('Agg') for passage in get_passages_with_progress_bar(args.passages, desc="Visualizing"): if args.tikz: tikz = visualization.tikz(passage) if args.out_dir: with open(os.path.join(args.out_dir, passage.ID + ".tikz.txt"), "w") as f: print(tikz, file=f) else: with external_write_mode(): print(tikz) else: import matplotlib.pyplot as plt width = len(passage.layer(layer0.LAYER_ID).all) * 19 / 27 plt.figure(figsize=(width, width * 10 / 19)) visualization.draw(passage, node_ids=args.node_ids) if args.out_dir: plt.savefig( os.path.join(args.out_dir, passage.ID + "." + args.format))
argparser.add_argument("--out-dir", help="directory to save figures in (otherwise displayed immediately)") group = argparser.add_mutually_exclusive_group() group.add_argument("--no-normalize", action="store_false", dest="normalize", help="do not normalize passage") group.add_argument("-e", "--extra-normalization", action="store_true", help="more normalization rules") argparser.add_argument("--label-map", help="CSV file specifying mapping of input edge labels to output edge labels") argparser.add_argument("-i", "--node-ids", action="store_true", help="print tikz code rather than showing plots") args = argparser.parse_args() if args.out_dir: os.makedirs(args.out_dir, exist_ok=True) for passage in get_passages_with_progress_bar(args.passages, desc="Visualizing", converters=FROM_FORMAT): map_labels(passage, args.label_map) if args.normalize: normalize(passage, extra=args.extra_normalization) if args.tikz: tikz = visualization.tikz(passage, node_ids=args.node_ids) if args.out_dir: with open(os.path.join(args.out_dir, passage.ID + ".tikz.txt"), "w") as f: print(tikz, file=f) else: with tqdm.external_write_mode(): print(tikz) else: plt.figure(figsize=(19, 10)) visualization.draw(passage, node_ids=args.node_ids) if args.out_dir: plt.savefig(os.path.join(args.out_dir, passage.ID + ".png")) else: mng = plt.get_current_fig_manager() mng.full_screen_toggle() plt.show()
def test_tikz(create): tikz(create())