Jakub-Espandr/MetriCalc
A modern, cross-platform desktop app for calculating classification metrics from confusion matrices. Includes XLSX export, real-time language switching, and batch processing with responsive UI.
MetriCalc
(Born4Flight | FlyCamCzech)
Overview
MetriCalc is a clean, efficient tool designed to calculate key statistical metrics from confusion matrices exported from ArcGIS Pro or other platforms. With support for single and batch processing, multi-language output, and polished export to Excel, MetriCalc is ideal for rapid performance evaluation in classification tasks.
β¨ Features
-
Modern & Responsive UI
- Built with PySide6 for a fast, native user experience
- Segmented tabs for single and batch processing workflows
-
Internationalization (i18n)
- Toggle between Czech and English for both interface and output
- Instant language switching without restart
-
Metric Computation
- Reads semicolon-delimited confusion matrix
.csvfiles - Calculates:
- Precision (User Accuracy)
- Recall (Producer Accuracy)
- F1-score
- Overall Accuracy
- Kappa Index
- Reports metrics per class and macro average
- Reads semicolon-delimited confusion matrix
-
Batch Processing
- Process all
.csvfiles in a selected folder - Two export modes:
- One Excel per file
- One Excel file with multiple sheets
- Process all
-
Excel Export
- XLSX output with localized metric headers
- Two sheets per result:
- Metrics: Computed values
- Data: Raw confusion matrix
-
Performance
- Asynchronous background thread keeps the interface responsive
- Real-time progress bar with cancel option
π¦ Requirements
- Python 3.8+
- PySide6 >= 6.5.0
- pandas >= 1.5.0
- scikit-learn >= 1.2.0
- openpyxl >= 3.1.0
π Quick Start
# Clone the repository
git clone https://github.com/Jakub-Espandr/MetriCalc.git
cd MetriCalc
# Install dependencies
pip install -r requirements.txt
# Run the application
python main.pyπ οΈ Usage
- Open the app and select Single or Batch tab
- Load
.csvconfusion matrix or folder - Choose output location
- Select language: π¨πΏ ΔeΕ‘tina / πΊπΈ English
- Click Start Processing
π Project Structure
MetriCalc/
βββ main.py
βββ core/ # Metric calculations and logic
βββ ui/ # PySide6 GUI components
βββ utils/ # Helpers and localization
βββ assets/
β βββ fonts/
β βββ icons/
βββ requirements.txt
βββ LICENSE
π License
This project is licensed under the Non-Commercial Public License (NCPL v1.0)
Β© 2025 Jakub EΕ‘pandr β Born4Flight, FlyCamCzech
See the LICENSE file for full terms.
π Acknowledgments
- Built with β€οΈ using PySide6, pandas, and openpyxl