Skip to content

kzagoris/transpro-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Transpro - Document Transcription Tool

A powerful WPF application for document transcription and image processing, specifically designed for historical document analysis and digitization.

Features

Document Processing

  • Advanced Binarization: GPP (Global Parametric Preprocessing) algorithm for optimal image preprocessing
  • Intelligent Segmentation: XYCut algorithm for automatic text region and line detection
  • Multiple Analysis Methods: ARLSA and morphology-based segmentation for detailed document analysis
  • Interactive Editing: Manual correction tools with resize/rotate adorners for precise region adjustment

Format Support

  • PAGE XML Export: Multiple schema versions supported (2009, 2013, 2018)
  • Image Formats: Wide range of input formats via OpenCV integration
  • Collection Management: Organize and process document collections efficiently

User Interface

  • Modern Design: Material Design themes with MahApps.Metro styling
  • Intuitive Workflow: Streamlined document processing pipeline
  • Visual Feedback: Real-time preview of segmentation and processing results
  • Docking Interface: Flexible workspace with AvalonDock panels

Technology Stack

  • .NET Framework 4.7.2 - Core application framework
  • WPF - Windows Presentation Foundation for UI
  • Emgu.CV 4.4 - OpenCV wrapper for computer vision operations
  • MahApps.Metro 2.3 - Modern UI framework
  • Material Design Themes - Contemporary visual styling
  • Newtonsoft.Json - JSON serialization

Getting Started

Prerequisites

  • Windows 10/11
  • .NET Framework 4.7.2 or higher
  • Visual Studio 2019+ (for development)

Building from Source

  1. Clone the repository:

    git clone [repository-url]
    cd transpro
  2. Restore NuGet packages:

    nuget restore Transpro.sln
  3. Build the solution:

    msbuild Transpro.sln -p:Configuration=Debug

Note: For deployment builds, see DEPLOYMENT.md for certificate and configuration setup requirements.

Installation

The application supports ClickOnce deployment for easy installation and updates. Pre-built releases include all necessary dependencies.

Usage

  1. Load Document: Import your document images
  2. Configure Settings: Adjust binarization and segmentation parameters
  3. Process Document: Run automatic segmentation algorithms
  4. Review Results: Manually correct regions if needed
  5. Export: Save results in PAGE XML format

Visual Workflow

Transpro provides an interactive and user-friendly interface for document transcription. The workflow is designed to guide the user through the process of segmentation and transcription, from loading an image to exporting the final results.

Initial View: The application's main window, where users can load their document images. Initial appearance of the tool

Final Transcription: A successfully transcribed document, with bounding boxes around each word, associating the image with the transcribed text. Final successful transcription

The core of Transpro is the Staged XY-Cut algorithm, an innovative approach to document segmentation. This multi-stage process (Region, Line, and Word detection) leverages the provided transcription text to improve the accuracy of the automated segmentation, while allowing for manual correction at each step. The final output is a detailed PAGE.xml file, ready for further processing.

Project Structure

transpro/
├── Adorners/           # WPF UI interaction components
├── Binarization/       # Image preprocessing algorithms
├── Models/             # Data structures and models
├── PAGE/               # PAGE XML format handlers
├── Segmentation/       # Document analysis algorithms
├── ViewModels/         # MVVM view models
├── Resources/          # UI resources and themes
└── Properties/         # Application properties

Core Algorithms

XYCut Segmentation

Recursive segmentation algorithm that identifies text regions by analyzing horizontal and vertical projection profiles.

GPP Binarization

Global Parametric Preprocessing for converting grayscale images to binary format with optimal threshold detection.

ARLSA (Run Length Smoothing Algorithm)

Text line detection and word segmentation based on run-length analysis.

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

Support

For questions, issues, or contributions, please open an issue on GitHub or contact the development team.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages