Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/camille-maslin/simulfcimage
https://github.com/camille-maslin/simulfcimage
Last synced: 19 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/camille-maslin/simulfcimage
- Owner: Camille-Maslin
- Created: 2024-12-24T12:30:14.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2024-12-24T18:01:06.000Z (about 1 month ago)
- Last Synced: 2024-12-24T19:18:32.945Z (about 1 month ago)
- Language: Python
- Size: 3.92 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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 criticalVersion 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 transformations2. 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 analysis3. 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" folderOption 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 applicationUsage 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 imageResults 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
```