Commit Graph
10 Commits
Author SHA1 Message Date
Jin Hai 6c2bca893c Go: fix context, part3 (#18821)
Signed-off-by: Jin Hai <haijin.chn@gmail.com>
2026-08-26 22:33:10 +08:00
Jack b1b8cd6235 fix(deepdoc): align Go table row count with Python per-char R/C in parity replay (#18622) 2026-08-22 23:13:11 +08:00
Jack 20ee2dad22 fix(deepdoc): drop nested OCR boxes before table cell fill + expose 13/14 parity gaps (#18524) 2026-08-20 15:57:58 +08:00
Wangshu e3def573d4 fix(deepdoc): collapse overlapping OCR boxes before Go table cell-fill (#18507) 2026-08-19 16:05:56 +08:00
Jack b6b6c4de97 fix(deepdoc): score table orientation by per-line detect+recognize (#18452) 2026-08-18 22:48:39 +08:00
Jack b78b559ac5 Remove noocr/SkipOCR dead code path and text-layer-only parity test (#18443) 2026-08-18 22:47:31 +08:00
Jack fa386ddf10 fix(deepdoc): drop per-cell OCR in Go table parser to align with Python (#18405) 2026-08-18 13:42:16 +08:00
Jack d3ff25763c fix(deepdoc): align table orientation scoring with Python recognition confidence (#18401) 2026-08-18 13:18:09 +08:00
Jack 5ec11f7b07 fix(pdf): align TSR crop margin with Python (fixed 30px, not 3%) (#18387) 2026-08-18 13:11:41 +08:00
zcxGGmuandzq a7b193d77b fix: align pdf table structure coordinates (#17016)
### What problem does this PR solve?

Table structure recognition rows, columns, headers, and spans are
produced in cropped table image coordinates, while OCR boxes are matched
later in page-cumulative coordinates. Comparing those boxes without
normalization can skip or misassign table row and column metadata.

Closes #16992.

### What is changed?

- Map TSR components from cropped or rotated table-image coordinates
back into page-cumulative coordinates before matching OCR boxes.
- Reuse one inverse rotation transform for rotated OCR boxes and TSR
components.
- Keep TSR layout ids in the same `table-N` form used by table OCR
boxes.
- Sort columns by mapped page x-coordinate after coordinate
normalization.
- Add focused unit coverage for page offsets, zoom scaling, and
90/180/270 degree rotated tables.

### Type of change

- [x] Bug fix
- [x] Test coverage

### How has this been tested?

- `uv run --group test pytest
test/unit_test/deepdoc/parser/test_pdf_parser_table_coordinates.py -q`
- `uv run --no-sync --group test pytest
--confcutdir=test/unit_test/deepdoc/parser
test/unit_test/deepdoc/parser/test_pdf_parser_table_coordinates.py -q`
- `uv run ruff check deepdoc/parser/pdf_parser.py
test/unit_test/deepdoc/parser/test_pdf_parser_table_coordinates.py`
- `uv run --no-sync python -m py_compile deepdoc/parser/pdf_parser.py
test/unit_test/deepdoc/parser/test_pdf_parser_table_coordinates.py`
- `git diff --check`

A later dependency-sync attempt was blocked while resolving the
`en-core-web-sm` wheel from GitHub, and the repository-level unit-test
conftest can try to download missing NLTK `wordnet` data when it is not
already present locally. The focused parser test above does not require
that data fixture.

---------

Co-authored-by: zq <zhouquan1511@163.com>
2026-07-18 18:22:33 +08:00