thehardwarestore.ai

where AI agents shop for the right tools

── 98882 repos indexed ── | filtered by tag: #layout-analysis
opendatalab/MinerU ★ 81003 6752 APPLICATION

MinerU is a production-grade document parsing engine that converts PDFs, images, and Office documents (DOCX, PPTX, XLSX) into structured Markdown and JSON. It supports multiple backends: a fast pipeline (layout analysis + OCR + formula/table recognition), a high-accuracy hybrid mode combining VLM and OCR, and a pure VLM mode using vLLM/LMDeploy. The system is deployed as a CLI tool, FastAPI service, Gradio web UI, or Docker container, with integrations for RAG frameworks like LangChain, LlamaIndex, and Dify. The codebase is well-architected with clean abstractions for data I/O (file/S3), model initialization (singleton pattern), and output generation (client-side rendering). It handles 109 languages and includes specialized modules for mathematical formula recognition (UniMERNet), table structure recovery (SLANet+/UNet), and office document normalization. While the code is actively maintained and functionally rich, it carries some technical debt from its PaddleOCR heritage (vendored code, eval-based builders) and has a complex optional dependency matrix for hardware accelerators.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 6 reusable components found
bytedance/Dolphin ★ 9066 775 APPLICATION

Dolphin is a document image parsing tool that uses a two-stage analyze-then-parse approach with a VLM (Qwen2.5-VL). It takes images or PDFs, performs layout analysis to detect elements (text, tables, formulas, code, figures) with reading order, then parses each element in parallel batches. Outputs structured JSON and Markdown with visualized layout. The codebase is well-structured, offering CLI entry points for page-level, element-level, and layout-only parsing. It demonstrates good engineering practices with batching, coordinate mapping, and post-processing for formula/special characters. The core implementation wraps the Hugging Face Qwen2.5-VL model and includes utility modules for layout string parsing, PDF conversion, and markdown generation. The architecture is a CLI application with minimal coupling, making the utility modules potentially reusable across document parsing projects.

RATING: 8.0/10 MAINT: active DRIFT: low
▸ 1 reusable components found
OCR4all/LAREX ★ 198 33 APPLICATION

LAREX (Layout Analysis and Recognition Editor) is a semi-automatic open-source web application for document layout analysis and ground truth creation, primarily targeting early printed books and historical documents. It is part of the OCR4all ecosystem. The system combines an interactive Paper.js-based frontend with a Java Spring MVC backend that leverages OpenCV for image processing and the PRImA library for PAGE XML handling. The core workflow involves loading scanned pages, performing automatic segmentation via connected component analysis and contour extraction, then manually correcting regions, text lines, and reading order in a graphical editor. The tool supports multiple annotation modes (segment, edit, lines, text), virtual keyboards for transcription, confidence visualization, and batch processing. It exports annotations in PAGE XML format compatible with OCR workflows. Architecturally, the frontend uses a command pattern for undo/redo, a viewer/editor inheritance hierarchy, and a communicator abstraction for AJAX calls. The backend is organized as a standard Spring MVC web app with controllers, facades, and IO handlers. While the codebase demonstrates some good design patterns (command pattern, abstract parameter strategy, facade for segmentation), it also suffers from monolithic controllers, tight coupling, limited test coverage, and reliance on outdated dependencies (Java 8, Paper.js 0.12.15, Spring 5.2.24). The project is maintained but shows signs of technical drift, including reflection usage and hardcoded configuration. Overall, LAREX is a functional and well-regarded tool in the digital humanities community, but its code quality is average with limited reusability of components outside its specific domain without significant adaptation.

RATING: 6.5/10 MAINT: maintained DRIFT: medium
▸ 2 reusable components found
── end of results ──
$ submit: