Skip to content

Latest commit

Β 

History

History
112 lines (86 loc) Β· 4.22 KB

File metadata and controls

112 lines (86 loc) Β· 4.22 KB

TISA - Thin-section Image Segmenter & Analyzer

DOI

πŸš€ TISA (Thin-section Image Segmenter & Analyzer) is an advanced tool for automated segmentation and analysis of petrographic thin sections. It enables efficient identification and classification of mineral grains using state-of-the-art segmentation algorithms.


πŸ“Έ Key Features

  • πŸ–₯️ Modern GUI: Built with PyQt5 for an intuitive user experience.
  • 🧩 Automated Segmentation: Supports multiple segmentation techniques (K-means, Deep Learning).
  • 🎨 Fixed Color Palette Mapping: Ensures consistent label visualization across images.
  • πŸ› οΈ Automatic Artifact Removal: Detects and removes thin-section edges and unwanted lighting effects.
  • πŸ“Š Data Export: Saves segmented images and statistical analyses in .csv format.

πŸ—οΈ Installation

1️⃣ Prerequisites

Ensure you have Python 3.8+ installed. Then, install dependencies:

pip install -r requirements.txt

2️⃣ Running the Application

To launch TISA’s graphical interface:

python -m tisa.main

πŸ“– Documentation

For detailed usage instructions and advanced settings, check out the full documentation:

πŸ“š TISA Documentation


βš™οΈ Segmentation Methods

TISA provides multiple segmentation algorithms:

  • K-Means Clustering: Groups pixels based on color similarity.
  • Deep Learning-Based Segmentation: Uses CNNs for precise mineral identification.
  • Felzenszwalb Algorithm: Graph-based segmentation suited for texture variations.

Each method is adjustable through parameters such as:

Parameter Description
mod_dim1 Number of filters in the first convolutional layer.
mod_dim2 Number of filters in the second convolutional layer.
train_epoch Number of training iterations.
max_label_num Maximum number of segmentation classes.

πŸ“‚ Project Structure

TISA/
│── tisa/                       # Main source code
β”‚   β”œβ”€β”€ core/
β”‚       β”œβ”€β”€ analysis.py         # Calculate label percentages
β”‚       β”œβ”€β”€ mosaic.py           # Build mosaic and split images
β”‚       β”œβ”€β”€ segmentation/
β”‚           β”œβ”€β”€ automated.py    # Automated segmentation
β”‚           β”œβ”€β”€ models_tf.py    # From PetroSeg
β”‚   β”œβ”€β”€ icons/                  # Icons
β”‚   β”œβ”€β”€ utils/                  # Utilities
β”‚   β”œβ”€β”€ gui.py                  # Graphical User Interface (PyQt)
β”‚   β”œβ”€β”€ main.py                 # Application entry point
│── docs/                       # Documentation
β”‚   β”œβ”€β”€ index.md                # Main documentation page
β”‚   β”œβ”€β”€ guide.md                # User guide
β”‚   β”œβ”€β”€ segmentation.md         # Segmentation explanation
│── requirements.txt            # Dependency list
│── README.md                   # Quick project overview

πŸ›οΈ Based on PetroSeg by Azzam et al.

TISA builds upon PetroSeg, originally developed by Azzam et al.

Reference: πŸ“„ Azzam, F., Blaise, T., & Brigaud, B. (2024). Automated petrographic image analysis by super- vised and unsupervised machine learning methods. Sedimentologika, 2(2). PetroSeg GitHub Repo


πŸ“¬ Contributing

If you’d like to contribute to TISA, feel free to:

  • Report issues or suggest improvements via GitHub Issues.
  • Contribute code by forking the repository and submitting Pull Requests.
  • Share petrographic datasets to enhance segmentation capabilities.

πŸ“„ Citation

If you use this project, please cite as follows:

SOARES CORREIA, M. (2025). TISA v1.0.0 - Thin-section Image Segmenter and Analyzer. UniversitΓ© Paris-Saclay. https://doi.org/10.5281/zenodo.14996768

πŸ“„ License

TISA is distributed under the GNU GPL v3 License, allowing free use, modification, and redistribution.


πŸ“’ Final Words

TISA is designed to make thin-section analysis faster and more efficient. If you have any questions or suggestions, feel free to reach out! πŸš€