lllin000_PaperForge/_check_effect.py

51 lines
2.1 KiB
Python
Raw Normal View History

import json
from pathlib import Path
json_path = Path("D:/L/OB/Literature-hub/System/PaperForge/ocr/7C8829BD/json/result.json")
data = json.loads(json_path.read_text(encoding="utf-8"))
pageno = 0
for payload in data:
for res in payload.get("layoutParsingResults", []):
pageno += 1
if pageno != 7:
continue
blocks = res.get("prunedResult", {}).get("parsing_res_list", [])
from paperforge.worker.ocr import block_sort_key, validate_block_order, is_embedded_figure_text_block
from paperforge.worker.ocr_orchestrator import reorder_blocks_layered
sorted_blocks = sorted(blocks, key=block_sort_key)
validated = validate_block_order(sorted_blocks, 1191)
print("=== is_embedded_figure_text_block on VALIDATED blocks ===")
for b in validated:
lbl = b.get("block_label", "")
if lbl == "paragraph_title":
result = is_embedded_figure_text_block(b, validated, page_width=1191, page_height=1684)
txt = b.get("block_content", "")[:60]
print(f" [{txt}] => embedded={result}")
layered = reorder_blocks_layered(validated, page_width=1191, page_height=1684)
print()
print("=== is_embedded_figure_text_block on LAYERED blocks ===")
for b in layered:
lbl = b.get("block_label", "")
if lbl == "paragraph_title":
result = is_embedded_figure_text_block(b, layered, page_width=1191, page_height=1684)
txt = b.get("block_content", "")[:60]
print(f" [{txt}] => embedded={result}")
print()
print("=== Role assignment ===")
from paperforge.worker.ocr_roles import assign_block_role
for b in validated:
lbl = b.get("block_label", "")
if lbl == "paragraph_title":
role = assign_block_role(b, validated, page_width=1191, page_height=1684)
txt = b.get("block_content", "")[:60]
print(f" [{txt}] => role={role.role} conf={role.confidence}")
break
break