local rr = require("rerun_lua") function paragraphs(ms_form_result) local result = {} for _, paragraph in ipairs(ms_form_result.analyzeResult.paragraphs) do for _, region in ipairs(paragraph.boundingRegions) do table.insert(result, { text = paragraph.content, bbox = region.polygon }) end end return result end function lines(ms_form_result) local result = {} for _, page in ipairs(ms_form_result.analyzeResult.pages) do for _, line in ipairs(page.lines) do table.insert(result, { text = line.content, bbox = line.polygon }) end end return result end function words(ms_form_result) local result = {} for _, page in ipairs(ms_form_result.analyzeResult.pages) do for _, word in ipairs(page.words) do table.insert(result, { text = word.content, bbox = word.polygon }) end end return result end function group_by_type(xs_result) function geo_to_bbox(geo) return {geo.left, geo.top, geo.width, geo.height} end local result = {} for _, field in pairs(xs_result.proposedFields.fields) do result[field.type] = result[field.type] or {} result[field.type][field.name] = {} for i, sub_field in ipairs(field.subfields) do table.insert(result[field.type][field.name], { --name = sub_field.name, text = sub_field.type, bbox = geo_to_bbox(sub_field.geo), }) end end return result end function list_field_types(xs_result) local result = {} for _, field in pairs(xs_result.proposedFields.fields) do result[field.type] = "" end return result end --local ms_form = rr.json("/Users/tbr/Desktop/ms_form.json") local xs_result = rr.json("/Volumes/data/problematics/10138832-0ec5-4ea9-bf9e-2d863f714b6c-result.json") local xs_fields = group_by_type(xs_result) local record = rr.recording("fix") record:image("steets_city_mixup", "/Volumes/data/problematics/street_city_mixup.png") for field_type, fields in pairs(xs_fields) do for field_name, sub_fields in pairs(fields) do record:text_objects("steets_city_mixup/" .. field_type .. "/" .. field_name, sub_fields) end end --local master_xs_result = rr.json("/Volumes/data/problematics/0636036f-6ade-41db-8fbe-1a97b2cdb6ca-result.json") --local master_fields = group_by_type(master_xs_result) --local master_record = rr.recording("master") --master_record:image("steets_city_mixup", "/Volumes/data/problematics/street_city_mixup.png") --for field_type, fields in pairs(master_fields) do -- for field_name, sub_fields in pairs(fields) do -- master_record:text_objects("steets_city_mixup/" .. field_type .. "/" .. field_name, sub_fields) -- end --end