Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/camille-maslin/simulfcimage


https://github.com/camille-maslin/simulfcimage

Last synced: 19 days ago
JSON representation

Awesome Lists containing this project

README

        

SimulFCImage - LaBabaTcheam C1

Project Overview


SimulFCImage is a sophisticated Python application designed for multispectral image analysis and visualization. It transforms complex multispectral data into comprehensible color representations through various simulation methods, making it an invaluable tool for research and analysis.

Key Features

1. Human Vision Simulation


Offers two distinct approaches to simulate human color perception:

Version 1 (Classic):


Uses Gaussian approximations to simulate human cone sensitivity:
- Approximates L, M, S cone responses using Gaussian functions
- Provides a simplified but efficient approach to color reproduction
- Suitable for quick visualization where absolute accuracy isn't critical

Version 2 (Advanced):


Based on precise scientific standards:
- Utilizes CIE 1931 color matching functions
- References Stockman & Sharpe (2000) cone fundamentals:
- L-cones (red): peak at 566.8nm
- M-cones (green): peak at 541.2nm
- S-cones (blue): peak at 441.8nm
- Performs spectral interpolation for accurate wavelength matching
- Implements proper color space transformations

2. Custom Band Mapping ("False Color")


Enables manual assignment of specific spectral bands to RGB channels, allowing users to:
- Highlight features invisible to the human eye
- Emphasize specific wavelength ranges
- Create custom visualization schemes for analysis

3. Bee Vision Simulation


Models bee photoreceptor response based on scientific research (Peitsch et al., 1992):
- UV receptor: peak at 344nm (±1nm)
- Blue receptor: peak at 436nm (±3nm)
- Green receptor: peak at 544nm (±3nm)
Provides insights into how bees perceive the multispectral image.

4. Color Vision Deficiency Simulation


Simulates various types of color vision deficiencies based on Brettel et al. (1997) and Machado et al. (2009):
- Deuteranopia (green-blind)
- Protanopia (red-blind)
- Tritanopia (blue-blind)
- Deuteranomaly (green-weak)
- Protanomaly (red-weak)
- Tritanomaly (blue-weak)
- Achromatopsia (complete color blindness)

Installation Guide

Option 1: Pre-compiled Application


1. Download SimulFCImage setup.exe from Google Drive ( https://drive.google.com/drive/folders/1uRv_wMsNEgHqScpr94n4Br1E7VYtcmYx?usp=sharing )

2. Launch SimulFCImage setup.exe

3. (Optional) Download sample multispectral images from the "Teeth" folder

Option 2: Building from Source


1. Clone the repository

2. Install dependencies:

```bash
pip install Pillow numpy cx_Freeze
```
3. Run Program.py to compile and launch the application

Usage Guide

Loading Images


1. Click "Import an image" on the upper band

2. Select a multispectral image (.tiff format)

3. Import the corresponding metadata file (.txt)

4. Navigate through bands using "Previous" and "Next" buttons


Generating Color Images


1. Click "Generate a color image" on the upper band

2. Select a simulation method:
- True Color (Human Vision V1 or V2)
- RGB Bands Choice (Custom Mapping)
- Bee Vision
- Color Vision Deficiency

3. Configure method-specific parameters if required

4. Click "Simulate" to generate the image

Results and Export


- The generated image appears alongside the original
- Use the "Save" button to export in various formats (.png, .jpg, .tif)

Project Architecture

```bash
S5_C1_LaBabaTcheam
├─Exceptions
│ └─...
├─HMI
│ ├─assets
│ │ └─...
│ ├─MainWindow.py
│ └─SimulationChoiceWindow.py
├─LogicLayer
│ ├─Factory
│ │ ├─CreateSimulating
│ │ │ ├─ CreateBandChoiceSimulating.py
│ │ │ ├─ CreateBeeSimulating.py
│ │ │ ├─ CreateDaltonianSimulating.py
│ │ │ ├─ CreateHumanSimulating.py
│ │ │ └─ ICreateSimulator.py
│ │ ├─Simulating
│ │ │ ├─ BandChoiceSimulating.py
│ │ │ ├─ BeeSimulating.py
│ │ │ ├─ DaltonianSimulating.py
│ │ │ ├─ HumanSimulating.py
│ │ │ └─ SimulatingMethod.py
│ └─└─SimulatorFactory.py
│ ├─Band.py
│ └─ImageMS.py
├─Storage
│ ├─FileManager.py
│ └─ImageManager.py
├─UnitTests
│ └─...
├─.gitignore
├─Program.py
├─README.md
└─setup.py
```