MCPcopy Create free account
hub / github.com/OpenRaiser/PaperFlow / draw_png

Function draw_png

experiments/human_eval/draw_llm_token_cost_tree.py:137–162  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

135
136
137def draw_png() -> Image.Image:
138 image = Image.new("RGB", (W, H), "white")
139 draw = ImageDraw.Draw(image)
140
141 root_y = 72
142 closed_group_y = 170
143 open_group_y = 610
144 closed_ys = [220 + idx * 44 for idx in range(len(CLOSED_ROWS))]
145 open_ys = [660 + idx * 44 for idx in range(len(OPEN_ROWS))]
146
147 # Draw tree edges before nodes so node labels stay clean.
148 draw.line((ROOT_X + 72, root_y + 27, ROOT_X + 72, open_group_y), fill=LINE, width=2)
149 draw_branch(draw, closed_group_y, closed_ys, CLOSED)
150 draw_branch(draw, open_group_y, open_ys, OPEN)
151
152 centered_node(draw, ROOT_X + 72, root_y, "TokenCost", F_ROOT, TEXT)
153 centered_node(draw, GROUP_X, closed_group_y, "Closed API", F_GROUP, CLOSED)
154 centered_node(draw, GROUP_X, open_group_y, "Open / open-access", F_GROUP, OPEN)
155
156 for y, (name, value) in zip(closed_ys, CLOSED_ROWS):
157 draw_leaf(draw, y, name, value, PAPERFLOW if name == "PaperFlow" else CLOSED, name == "PaperFlow")
158
159 for y, (name, value) in zip(open_ys, OPEN_ROWS):
160 draw_leaf(draw, y, name, value, OPEN)
161
162 return image
163
164
165def rgb(c: tuple[int, int, int]) -> str:

Callers 1

mainFunction · 0.70

Calls 3

draw_branchFunction · 0.85
centered_nodeFunction · 0.85
draw_leafFunction · 0.85

Tested by

no test coverage detected