Skip to content

mxberner/PyrometryAnalysis

Repository files navigation

Introduction

This repository serves to consolidate and optimize the great work started in reu2024-hyperspectral-camera. Please visit the original repository for a detailed history of the project.

The purpose of the project is to install a hyperspectral camera in the Laser Diode Floating Zone (LDFZ) furnace at PARADIM Johns Hopkins. Temperature is a critical parameter in floating zone bulk crystal growth, but direct measurement is often impractical due to safety concerns and varying material emissivity. This projects ascertains temperatures via pyrometry, a non-contact technique that measure the intensity of emitted radiation from the sample. Our approach uses hyperspectral imaging -- capturing intensity values values across hundreds of wavelengths at each pixel. This spectral information enables accurate temperature estimation by accounting for emissivity variations and providing spatially resolved temperature maps. The result is a generated image where each pixel corresponds to a temperature reading, allowing the user to see temperature gradients and hotspots across the growth region.

Repo Overview

Raw Data

The raw data is too large to upload to GitHub. The data is located here as of 1/30/2025.

Output

The latest version of PyrometryAnalysis exports a csv into: export/{image_name}/{date}_b{binning_factor}.csv.

Scripts

This repository showcases the evolving development of a hyperspectral pyrometry method. Older functional versions of the code are found in archive/.

PyrometryAnalysis

The following scripts conduct Pyrometry

pyro_1.0.0.py - unchanged pyrometry analysis ('clean_analysis.py') from reu2024.

pyro_2.0.0.py - optimized and parallelized improvement of original.

pyro_3.0.0.py - Latest version with highly detailed logging, documentation, minor optimizations, command-line arguments, and configuration.

Installation and Usage

Ensure you have the required dependencies installed by running:

pip install -r requirements.txt

Running the scripts

Run the script providing the required arguments.

python pyro_3.0.0.py [options] datafolder

Required Arguments

  • datafolder - Path to the input folder containing the hyperspectral data. The raw data should include:
    • darkReference.raw
    • darkReference.hdr
    • raw.raw
    • raw.hdr
    • whiteReference.raw
    • whiteReference.hdr

Optional Arguments

  • --ncpu NCPU - Number of CPU processors to use. This defaults to all avaliable if not provided.
  • --bin BIN - The binning factor reduces the resolution of the input image, reducing computational load at the expense of preciseness. The greater the number, the more reduction. This defaults to 1 (no binning, full resolution).
  • --pltcoords PLTCOORDS - Space-seperated list of coordinates (e.g. "0,0 1,2 2,3") to plot Fitted Spectrum for.
  • --quiet - Only log high-level information (WARNING, ERROR, CRITICAL)
  • --verbose - Log all levels of information (DEBUG, INFO, WARNING, ERROR, CRITICAL).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages