MCPcopy Create free account
hub / github.com/Paper2Poster/Paper2Poster / main_inference

Function main_inference

PosterAgent/tree_split_layout.py:619–668  ·  view source on GitHub ↗
(
    paper_panels,
    panel_model_params,
    figure_model_params,
    poster_width=1200,
    poster_height=800,
    shrink_margin=0
)

Source from the content-addressed store, hash-verified

617
618
619def main_inference(
620 paper_panels,
621 panel_model_params,
622 figure_model_params,
623 poster_width=1200,
624 poster_height=800,
625 shrink_margin=0
626):
627 for p in paper_panels:
628 sp, rp = infer_panel_attrs(panel_model_params, p["tp"], p["gp"])
629 p["sp"] = sp
630 p["rp"] = rp
631
632 layout_loss, panel_arrangement = generate_constrained_layout(paper_panels, poster_width, poster_height, title_height_ratio=0.1)
633 print("Panel layout cost:", layout_loss)
634 for p in panel_arrangement:
635 print("Panel:", p)
636
637 panel_map = {}
638 for p in paper_panels:
639 panel_map[p["panel_id"]] = p
640
641 final_panels = []
642 for pa in panel_arrangement:
643 # Merge bounding box with the original sp,rp data
644 pid = pa["panel_id"]
645 merged_panel = {
646 "panel_id": pid,
647 "panel_name": pa['panel_name'],
648 "x": pa["x"] + shrink_margin,
649 "y": pa["y"] + shrink_margin,
650 "width": pa["width"] - 2 * shrink_margin,
651 "height": pa["height"] - 2 * shrink_margin,
652 "sp": panel_map[pid]["sp"],
653 "rp": panel_map[pid]["rp"],
654 "text_len": panel_map[pid]["text_len"],
655 "figure_size": panel_map[pid]["figure_size"],
656 "figure_aspect": panel_map[pid]["figure_aspect"]
657 }
658 final_panels.append(merged_panel)
659
660 text_arrangement = []
661 figure_arrangement = []
662
663 for p in final_panels:
664 text_boxes, fig_boxes = place_text_and_figures_exact(p, figure_model_params)
665 text_arrangement.extend(text_boxes) # text arrangement
666 figure_arrangement.extend(fig_boxes) # figure arrangement
667
668 return panel_arrangement, figure_arrangement, text_arrangement
669
670def visualize_complete_layout(
671 panels, text_boxes, figure_boxes, poster_width, poster_height

Callers 1

new_pipeline.pyFile · 0.90

Calls 3

infer_panel_attrsFunction · 0.70

Tested by

no test coverage detected