Skip to main content

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

  1. Select Parent Folder: Choose the directory containing wafer data subfolders
  2. Select Wafers: Check the wafer slots (1-26) you want to process
  3. Choose Analysis Type:
    • GaN - Int/eV: Intensity and energy mapping
    • GaN - Area ratio: YB/NBE area ratio analysis
    • GaN - Thickness: Thickness mapping from WDF data
    • nm to eV: Wavelength to energy conversion only
    • Clean: Remove generated files
    • Create folders: Organize raw files into numbered folders
  4. Configure Options:
    • Data processing
    • Autoscale mapping
    • Identical scale mapping (manual or auto)
    • Slot number display
    • Statistics overlay
  5. 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, energy
  • data_filtered.csv: Filtered data within specified thresholds
  • *_grid_df.csv: Pivoted grid data for mapping
  • *.png: Individual wafer heatmaps
  • Graphe/Mapping/All_*.png: Combined grid images
  • Liste_data/Stats.csv: Statistical summary
  • Liste_data/Boxplot_*.csv: Boxplot data

License

GPL-3.0-or-later

Author

Thibaut Meyer - thibaut.meyer3@gmail.com

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

plgan-1.0.0.tar.gz (43.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

plgan-1.0.0-py3-none-any.whl (47.1 kB view details)

Uploaded Python 3

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

Hashes for plgan-1.0.0.tar.gz
Algorithm Hash digest
SHA256 564bf69fff36e59c2b007a25147ffaa478308f9505b4ecd9db1d81a78a888613
MD5 aaad881f80dcd1d1e48ed249c53b9974
BLAKE2b-256 bfdde0f91cb73b054df8dc0ac55147e8181d43be6dcb4259c4aabfd0f43480bb

See more details on using hashes here.

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

Hashes for plgan-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 228d0c880e776c7365e1f4a7e98742af94f41df40e234059c05ff86fee5a8da3
MD5 d7d6237b6e6fd6839320e0f7a48c6432
BLAKE2b-256 ce081c70ed6bb491894fb318cfa3ecb032cf26bc329dd2f7e2bb71afae5583bb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page