Package for PL visualization
Project description
PLGAN - Photoluminescence Data Analysis for GaN
A PyQt5-based GUI application for processing and visualizing photoluminescence (PL) spectroscopy data, specifically designed for GaN (Gallium Nitride) semiconductor characterization.
Features
- Data Processing: Convert wavelength (nm) to energy (eV) for PL spectra analysis
- Wafer Mapping: Generate heatmaps for intensity, energy, thickness, and YB/NBE area ratio
- Multi-wafer Support: Process and visualize up to 26 wafers simultaneously
- Statistical Analysis: Calculate mean, sigma, and uniformity metrics
- Boxplot Generation: Create comparative boxplots across multiple wafers
- Image Grid Export: Combine individual wafer maps into grid layouts
- Configurable Settings: Adjustable parameters for wafer size, edge exclusion, and thresholds
- Parallel Processing: Utilizes multiprocessing for faster data processing
Installation
Prerequisites
- Python >= 3.9
Install from source
git clone https://github.com/thi-mey/PLGAN.git
cd PLGaN
pip install -e .
Dependencies
- matplotlib==3.10.3
- numpy==2.2.5
- pandas==2.2.3
- Pillow==11.2.1
- PyQt5==5.15.11
- scipy==1.15.3
Usage
Launch the GUI
PLGAN
Or run directly:
python -m PLGAN.main
Workflow
- Select Parent Folder: Choose the directory containing wafer data subfolders
- Select Wafers: Check the wafer slots (1-26) you want to process
- Choose Analysis Type:
GaN - Int/eV: Intensity and energy mappingGaN - Area ratio: YB/NBE area ratio analysisGaN - Thickness: Thickness mapping from WDF datanm to eV: Wavelength to energy conversion onlyClean: Remove generated filesCreate folders: Organize raw files into numbered folders
- Configure Options:
- Data processing
- Autoscale mapping
- Identical scale mapping (manual or auto)
- Slot number display
- Statistics overlay
- Run: Click "Run data processing" to execute
Settings
Access the Settings window to configure:
- Wafer size (cm)
- Edge exclusion (cm)
- Step size (cm)
- Energy range (eV)
- Intensity range
- Area ratio range
- Thickness range (um)
Settings are automatically saved to ~/PLGAN/settings_data.json.
Project Structure
PLGaN/
├── PLGAN/
│ ├── __init__.py
│ ├── main.py # Application entry point
│ ├── Layout/
│ │ ├── main_window_att.py # Main window layout management
│ │ ├── frames_buttons.py # UI buttons and controls
│ │ ├── setting_windows.py # Settings dialog
│ │ └── layouts_style.py # Qt stylesheet definitions
│ ├── Plot/
│ │ ├── frame_attributes.py # Plot frame management
│ │ ├── plot_functions.py # WDXRF mapping and boxplot functions
│ │ ├── plot_style.py # Plot button styles
│ │ └── utils.py # Screenshot and utility functions
│ └── Processing/
│ ├── sequences.py # Processing workflow orchestration
│ ├── function_common.py # Common utilities (nm to eV, stats, etc.)
│ └── photoluminescencegan.py # GaN-specific PL analysis
├── pyproject.toml
└── README.md
Data Format
Input
- PL Spectra: CSV files with wavelength/energy in first row, X/Y positions in first two columns
- Thickness Data: CSV files with columns grouped as (X, Y, Thickness) triplets
Output
data_e_i.csv: Processed data with X, Y, intensity, energydata_filtered.csv: Filtered data within specified thresholds*_grid_df.csv: Pivoted grid data for mapping*.png: Individual wafer heatmapsGraphe/Mapping/All_*.png: Combined grid imagesListe_data/Stats.csv: Statistical summaryListe_data/Boxplot_*.csv: Boxplot data
License
GPL-3.0-or-later
Author
Thibaut Meyer - thibaut.meyer3@gmail.com
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file plgan-1.0.0.tar.gz.
File metadata
- Download URL: plgan-1.0.0.tar.gz
- Upload date:
- Size: 43.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
564bf69fff36e59c2b007a25147ffaa478308f9505b4ecd9db1d81a78a888613
|
|
| MD5 |
aaad881f80dcd1d1e48ed249c53b9974
|
|
| BLAKE2b-256 |
bfdde0f91cb73b054df8dc0ac55147e8181d43be6dcb4259c4aabfd0f43480bb
|
File details
Details for the file plgan-1.0.0-py3-none-any.whl.
File metadata
- Download URL: plgan-1.0.0-py3-none-any.whl
- Upload date:
- Size: 47.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
228d0c880e776c7365e1f4a7e98742af94f41df40e234059c05ff86fee5a8da3
|
|
| MD5 |
d7d6237b6e6fd6839320e0f7a48c6432
|
|
| BLAKE2b-256 |
ce081c70ed6bb491894fb318cfa3ecb032cf26bc329dd2f7e2bb71afae5583bb
|