{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/arxiv-2609-13237","title":"Occlusal Geometry in Closed Form for Orthodontic Report Generation","arxiv_id":"2609.13237","date":"2026-09-02","proceeding":null,"authors":["Ajo Babu George","Govind Arun","Sidharth N Krishna","Uma Ranjan"],"abstract":"Orthodontic report generation from intraoral data is normally cast as multimodal captioning, yet the released Bite2Text scan pairs are supplied already registered in occlusion, which makes several core occlusal quantities directly measurable rather than inferable. The system reported here exploits that property: an anatomical frame is recovered per case from arch taper and arch closure instead of the stated RAS convention, which does not hold across the release, and each arch is reduced to an occlusal ridge profile in arch-angle coordinates yielding overbite, overjet, midline deviation, transverse overlap, crossbite extent, cusp interdigitation lag, and the occlusal curves in closed form. Gradient boosting maps 31 such measurements onto 13 template fields, a field being predicted only where patient-level cross-validation beats its own majority baseline, and a deterministic renderer emits the corpus six-part narrative; a ConvNeXt-Tiny classifier over the five standardised photographic views is fused per field, raising mean field accuracy from 0.601 to 0.683. Reimplementation of the challenge evaluator shows that its BLEU-4 and METEOR are local variants whose F-mean weights recall nine to one, that two clinicians agree on 47 percent of findings for the same patient, and that a constant report consequently outscores a genuine second clinician report by 0.165 captioning. Held-out scores reach BLEU-4 0.458 and METEOR 0.677 against intraoral scan references and 0.278 and 0.507 against photograph references, and the submitted system placed third in the ODIN 2026 Bite2Text test phase at 0.2680 and 0.4629, within 0.022 BLEU-4 of first, running on CPU in under ten seconds per case. The dataset and code are available at https://github.com/GIND123/ODIN_toothfairy4","url_abs":"https://arxiv.org/abs/2609.13237","url_pdf":"https://arxiv.org/pdf/2609.13237","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2609.13237","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2609.13237"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/GIND123/ODIN_toothfairy4","reach":{"status":"ok"}}],"summary":{"unverified":11},"by_repo_kind":{"found_in_text":{"samples":11,"ran":0,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":11,"samples":[{"code_sha256_prefix":"4a38571574b4e84f","entry":"bleu_4_local","repo":"GIND123/ODIN_toothfairy4","repo_kind":"found_in_text","path":"src/bite2text/eval/gc_metrics.py","file_url":"https://github.com/GIND123/ODIN_toothfairy4/blob/HEAD/src/bite2text/eval/gc_metrics.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4a38571574b4e84f"}},{"code_sha256_prefix":"39a56474c4957ffc","entry":"build_manifest","repo":"GIND123/ODIN_toothfairy4","repo_kind":"found_in_text","path":"src/bite2text/index.py","file_url":"https://github.com/GIND123/ODIN_toothfairy4/blob/HEAD/src/bite2text/index.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"39a56474c4957ffc"}},{"code_sha256_prefix":"c4818537ebc9299c","entry":"dataset_config","repo":"GIND123/ODIN_toothfairy4","repo_kind":"found_in_text","path":"src/bite2text/config.py","file_url":"https://github.com/GIND123/ODIN_toothfairy4/blob/HEAD/src/bite2text/config.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c4818537ebc9299c"}},{"code_sha256_prefix":"d79e00bd83e07143","entry":"find_mesh","repo":"GIND123/ODIN_toothfairy4","repo_kind":"found_in_text","path":"submission/inference.py","file_url":"https://github.com/GIND123/ODIN_toothfairy4/blob/HEAD/submission/inference.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d79e00bd83e07143"}},{"code_sha256_prefix":"068144f98f975540","entry":"load_yaml","repo":"GIND123/ODIN_toothfairy4","repo_kind":"found_in_text","path":"src/bite2text/config.py","file_url":"https://github.com/GIND123/ODIN_toothfairy4/blob/HEAD/src/bite2text/config.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"068144f98f975540"}},{"code_sha256_prefix":"fe61739f0ba89530","entry":"manifest_root","repo":"GIND123/ODIN_toothfairy4","repo_kind":"found_in_text","path":"src/bite2text/index.py","file_url":"https://github.com/GIND123/ODIN_toothfairy4/blob/HEAD/src/bite2text/index.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"fe61739f0ba89530"}},{"code_sha256_prefix":"06b0a4eda3f95fc8","entry":"meteor_lite_score","repo":"GIND123/ODIN_toothfairy4","repo_kind":"found_in_text","path":"src/bite2text/eval/gc_metrics.py","file_url":"https://github.com/GIND123/ODIN_toothfairy4/blob/HEAD/src/bite2text/eval/gc_metrics.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"06b0a4eda3f95fc8"}},{"code_sha256_prefix":"49108c191d7d8d1a","entry":"predict","repo":"GIND123/ODIN_toothfairy4","repo_kind":"found_in_text","path":"src/bite2text/baseline.py","file_url":"https://github.com/GIND123/ODIN_toothfairy4/blob/HEAD/src/bite2text/baseline.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"49108c191d7d8d1a"}},{"code_sha256_prefix":"cf012a7a2172e41a","entry":"read_json","repo":"GIND123/ODIN_toothfairy4","repo_kind":"found_in_text","path":"submission/inference.py","file_url":"https://github.com/GIND123/ODIN_toothfairy4/blob/HEAD/submission/inference.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"cf012a7a2172e41a"}},{"code_sha256_prefix":"bb2d7f0fe0f03ad9","entry":"tokenize","repo":"GIND123/ODIN_toothfairy4","repo_kind":"found_in_text","path":"src/bite2text/eval/gc_metrics.py","file_url":"https://github.com/GIND123/ODIN_toothfairy4/blob/HEAD/src/bite2text/eval/gc_metrics.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"bb2d7f0fe0f03ad9"}},{"code_sha256_prefix":"f598e662fc461bb1","entry":"validate_submission","repo":"GIND123/ODIN_toothfairy4","repo_kind":"found_in_text","path":"src/bite2text/baseline.py","file_url":"https://github.com/GIND123/ODIN_toothfairy4/blob/HEAD/src/bite2text/baseline.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f598e662fc461bb1"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.CV","source":"arxiv_backlog_21d_20260915.json"},"syntology_extracted_results":{"kind":"leaderboard_placements","source":"Syntology's leaderboard-shaped extractor over the paper's own arXiv-HTML tables: a model pointed at a cell, the number was read from that cell and checked against the board's metric, dataset, split and scale, and an independent check accepted the entry; not reviewed by the paper's authors or the archive's editors","extractor_model":"global.anthropic.claude-sonnet-4-5-20250929-v1:0","verifier_model":null,"prompt_sha":"fa63d4bb9d755694","coverage":{"sentence":"Syntology has checked 6,264 of the 9,581 papers on this site that are newer than the archive; results from the others appear after they are checked.","papers_newer_than_archive":9581,"papers_checked":6264},"entries":[],"not_placed":{"boards":0,"rejected_by_independent_check":0,"refused_by_a_rule":0,"check_did_not_answer":0,"proposed_without_a_cell":0,"declined_by_site":0}}}