Recipes & Usage
runPL_dfits
Shell script to quickly inspect the key parameters of a FIRST FITS file.
Requirements: dfits from ESO FITS Tools
Usage
./runPL_dfits <path_to_fits_file>
runPL_changeKeyword.py
Python script to modify FITS header keywords for FIRST Pipeline classification and processing control.
Essential tool for classifying files and tracking their processing stages throughout the sequential pipeline workflow. Used for temporary keyword changes during data organization and to ensure proper file selection by downstream scripts.
Usage
python runPL_changeKeyword.py [options] [files...]
# Examples:
python runPL_changeKeyword.py --DATA-TYP=FLAT --X_FIRTYP=RAW *.fits
python runPL_changeKeyword.py --OBJECT="HD 164461" --X_FIRTYP=PREPROC target_data/*.fits
python runPL_changeKeyword.py --DATA-TYP=COMPARAISON --X_FIRTYP=RAW neon_calib.fits
python runPL_changeKeyword.py --DATE=DEFAULT --X_FIRTYP=RAW recent_observations/*.fits
Key Options
--DATA-TYP: Data classification (FLAT=SuperK data, DARK=background, OBJECT=science targets, ACQUISITION=target acquisition, COMPARAISON=Neon calibration, TEST=validation)--X_FIRTYP: Processing stage (RAW=unprocessed, PREPROC=preprocessed, PIXELMAP/WAVEMAP/COULPLINGMAP=calibration products)--OBJECT: Target name for science observations (e.g., “HD 164461”, “Beta Pic”)--X_FIRMID: Modulation ID identifying specific modulation pattern--X_FIRTRG: Camera trigger mode (INT=internal, EXT=external synchronization)--X_FIRWOL: Wollaston prism status (IN=polarimetry mode, OUT=photometry mode)--GAIN: Camera gain setting value--DATE: Observation date (use DEFAULT to extract from filename)
runPL_create_pixelMap.py
Python script to generate pixel maps essential for FIRST Pipeline spectral trace alignment and calibration.
Pixel maps detect and calibrate the positions of spectral traces across all fiber channels, enabling proper spectral extraction in downstream processing.
Usage
python runPL_create_pixelMap.py [options] [file_patterns...]
# Examples:
python runPL_create_pixelMap.py --pixel_min=100 --pixel_max=1600 --pixel_wide=2 --filter_files *.fits
python runPL_create_pixelMap.py --pixel_min=50 --pixel_max=1500 data/*.fits
python runPL_create_pixelMap.py --filter_files /data/raw/*.fits
Key Options
--pixel_min: Minimum pixel value along wavelength axis (default: 100)--pixel_max: Maximum pixel value along wavelength axis (default: 2100)--pixel_wide: Window half width for peak detection (default: 2)--filter_files: Quality control to exclude low-flux files for reliable detection
Pipeline Integration
Processes RAW files to create pixel alignment maps
Essential first step before any spectral analysis
Output maps used by runPL_make_preproc.py for spectral extraction
Automatically handles different Wollaston configurations (38 vs 19 channels)
Input
Files with X_FIRTYP=RAW
Output
Pixel map FITS file and PNG visualization in pixelmaps/ directory
runPL_make_preproc.py
Python script to preprocess raw FIRST Photonic Lantern data using pixel maps for spectral extraction and calibration.
Transforms raw detector images into calibrated spectral data with quality assessment and diagnostic analysis.
Usage
python runPL_make_preproc.py [options] [files...]
# Examples:
python runPL_make_preproc.py --pixel_map=/path/to/pixel_map.fits /path/to/directory
python runPL_make_preproc.py --object="HD 164461" /path/to/files*.fits
python runPL_make_preproc.py --loop 30 /path/to/directory # Monitor mode
Key Options
--pixel_map: Specify pixel map file (auto-detected if not provided)--loop: Monitor directory and process new files every X seconds (real-time mode)--object: Process only files with specified OBJECT name
Pipeline Integration
Requires raw files (X_FIRTYP=RAW) and pixel maps (X_FIRTYP=PIXELMAP)
Essential step before flat field, wavelength, and coupling map generation
Quality metrics guide downstream data acceptance decisions
Input
Raw files with X_FIRTYP=RAW and pixel maps with X_FIRTYP=PIXELMAP
Output
Preprocessed files with X_FIRTYP=PREPROC in preproc/ directory plus diagnostic figures
runPL_create_flatMap.py
Python script to generate flat field calibration maps from SuperK data for FIRST Pipeline photometric correction.
Creates gain coefficients and quality metrics for pixel-to-pixel sensitivity correction using linear regression analysis.
Usage
python runPL_create_flatMap.py [options] [files...]
# Examples:
python runPL_create_flatMap.py --wollaston IN --dark_files=dark*.fits flat_data/*.fits
python runPL_create_flatMap.py --dark_files=/path/to/darks/*.fits *.fits
Key Options
--wollaston: Wollaston status (IN for polarimetry, OUT for photometry)--dark_files: Select specific dark file(s) for background subtraction
Pipeline Integration
Essential calibration step before coupling map generation
Uses preprocessed flat field and dark files
Output maps enable photometric correction in downstream analysis
Input
Preprocessed flat field files with X_FIRTYP=PREPROC and DATA-TYP=FLAT
Output
Flat field maps with gain coefficients and quality metrics in flatmaps/ directory
runPL_create_waveMap.py
Python script to generate wavelength calibration maps from Neon emission line spectra for FIRST Pipeline spectral calibration.
Detects emission lines, fits polynomial wavelength solutions, and generates 2D wavelength mapping with aberration correction.
Usage
python runPL_create_waveMap.py [options] [files...]
# Examples:
python runPL_create_waveMap.py --wollaston IN --flatMap=/path/to/flat.fits *.fits
python runPL_create_waveMap.py --Nexclude 3 --dark_files=dark*.fits neon_data/*.fits
Key Options
--wollaston: Wollaston status (IN for polarimetry, OUT for photometry)--flatMap: Select specific flat map file for enhanced calibration--dark_files: Select specific dark file(s) for background subtraction--Nexclude: Number of wavelength peaks to exclude from fit for outlier rejection (default: 4)
Pipeline Integration
Uses Neon calibration files and flat field maps for accurate calibration
Essential for spectral analysis in downstream scripts
Output maps enable precise wavelength calibration of science observations
Input
Neon calibration files with X_FIRTYP=PREPROC and DATA-TYP=COMPARISON
Output
Wavelength map with polynomial coefficients and aberration correction in output/wave/ directory
runPL_create_couplingMap.py
Python script to generate coupling efficiency maps from preprocessed FIRST Photonic Lantern data using SVD analysis.
Analyzes coupling efficiency between telescope focal plane and photonic lantern channels, essential for image reconstruction.
Usage
python runPL_create_couplingMap.py [options] [files...]
# Examples:
python runPL_create_couplingMap.py --object_name="HD 164461" --wavelength_smooth=7 *.fits
python runPL_create_couplingMap.py --modID=1 --modScale=2 --wollaston=IN data/*.fits
python runPL_create_couplingMap.py --flatMap=/path/to/flat.fits --waveMap=/path/to/wave.fits *.fits
Key Options
--object_name: Select specific science target for processing--wavelength_smooth: Smoothing factor for wavelength processing (default: 7)--wavelength_bin: Binning factor for wavelength (default: 20)--Nsingular: Number of SVD singular values to retain (default: 19*6)--modID/modScale: Choose specific modulation patterns--wollaston: Wollaston status (IN for polarimetry, OUT for photometry)
Pipeline Integration
Requires preprocessed data, flat field maps, and wavelength calibration
Critical step for converting fiber measurements to sky coordinates
Output enables image reconstruction and astrometric analysis
Input
Preprocessed files with X_FIRTYP=PREPROC
Output
Coupling maps with X_FIRTYP=COUPLINGMAP in ../couplingmaps/ directory plus PDF diagnostics
runPL_make_image.py
Python script to reconstruct astronomical images from FIRST Photonic Lantern fiber measurements using coupling map inversion.
Transforms fiber-based measurements into traditional astronomical images for conventional analysis techniques.
Usage
python runPL_make_image.py [options] [files...]
# Examples:
python runPL_make_image.py --object_name="HD 164461" --wavelength_smooth=7 *.fits
python runPL_make_image.py --coupling_map=/path/to/map.fits --modID=1 data/*.fits
python runPL_make_image.py --save_individual_frames --save_individual_wavelength *.fits
Key Options
--object_name: Select specific target for reconstruction--coupling_map: Force selection of specific coupling map file--wavelength_smooth: Control spectral smoothing for noise reduction (default: 7)--modID/modScale: Choose optimal modulation patterns--save_individual_frames: Generate time-resolved image sequences (default: True)--save_individual_wavelength: Create spectral image cubes (default: False)--wollaston: Wollaston status (IN for polarimetry, OUT for photometry)
Pipeline Integration
Final step: converts fiber measurements to spatial images
Enables conventional image analysis of photonic lantern data
Results comparable with traditional imaging instruments
Input
Coupling maps and preprocessed data cubes
Output
Reconstructed images, residuals, and diagnostic plots with optional frame sequences
runPL_make_astrometry.py
Python script to perform high-precision astrometric measurements from FIRST Photonic Lantern data using coupling map analysis.
Enables sub-milliarcsecond position measurements for binary stars, exoplanet detection, and precision astrometry applications.
Usage
python runPL_make_astrometry.py [options] [files...]
# Examples:
python runPL_make_astrometry.py --wollaston IN --wavelength_smooth=2 *.fits
python runPL_make_astrometry.py --coupling_map=/path/to/map.fits --pyramids target_data/*.fits
python runPL_make_astrometry.py --save_individual_frames --save_individual_wavelength *.fits
Key Options
--wollaston: Wollaston status (IN for polarimetry, OUT for photometry)--coupling_map: Force selection of specific coupling map file--dark_files: Select specific dark file(s) for background subtraction--wavelength_smooth: Smoothing factor for position determination (default: 1)--pyramids: Enable pyramidal fitting for enhanced spatial resolution (default: False)--save_individual_frames: Generate time-resolved astrometric sequences (default: True)--save_individual_wavelength: Analyze chromatic astrometric effects (default: False)
Pipeline Integration
Final analysis step for precision position measurements
Leverages photonic lantern spatial resolution enhancement
Enables astrometry beyond conventional imaging limits
Input
Preprocessed FITS files with coupling maps
Output
Astrometric measurements with sub-milliarcsecond precision, quality metrics, and uncertainty estimates