Features
Windows application
Maintains a calibration frame library
Imports ambient temperature from temperature log created by IndiTempLog (free companion software)
Calculates quality metrics for light (e.g., FWHM, Ellipticity, Peak Flux, S/N ratio) and calibration frames (noise/uniformity) .
Conslidates frames from different folders (e.g., Day 1, Day 2, ...) into a single folder without conflicting file names.
Generates calibration clusters based on camera, exposure time, gain/ISO, offset, binning, filter, and sensor/ambient temperature.
Provides SIRIL scripts to calibrate light frames in calibration clusters and then register and stack the calibrated light frames from all calibration clusters.
User Manual included with windows installer
Description
This is a free Windows software that allows to generate and maintain a calibration frame library and use the library to calibrate light frames. For that, it automatically pulls matching calibration frames (darks, flats, flat-darks, biases) from the calibration library and attach them to light frames in a structured way. These sets of lights and calibration frames can then be processed in secondary software (Siril, DSS, PixInsight, etc.) to calibrate the lights and then stack the calibrated lights. It also calculates quality metrics for your light frames (e.g., FWHM, Ellipticity, Peak Flux, S/N ratio) to exclude poor quality frames. Another feature is to add ambient temperature to the FITS headers of light and dark frames (either manually or from a Temperature Log file generated by the companion software IndiTempLog during the imaging session) to aid in calibration frame matching if no sensor temperature is provided by the imaging camera. Here is a link to the PDF of the User Manual.
The software is still a beta version and not fully tested. Feel free to download and test the software using the link below. I would appreciate feedback through this Cloudy Nights forum thread.
Download the Windows Installer
Here is a screenshot:
Workflow
Generate Calibration Library
Use "File - Load Bias Frames", "File - Load Dark Frames", and "File - Load Flat Frames" to load calibration frames into the application main window.
Optional: if your camera does not report sensor temperature, you can manually add the ambient temperature of your imaging session (Right Click - Add Ambient Temperature). Alternatively, you can import ambient temperatures from a temperature log created with the companion software IndiTempLog (Edit - Load Ambient Temperature Log). The import function allows to add the ambient temperature to the FITS header of the frames.
Optional: Use Edit - Calculate Frame Metrics. A quality score will show up in the main window for your bias and dark frames. You can see if there are outliers that may need to be removed (select rows, right click Remove Selected Rows).
Then use "Libraries - Update Dark Library", "Libraries - Update Bias Library", and "Libraries - Update Flat Library" to add the loaded calibration frames to your Calibration frame library. Based on the fits file header, the software places the calibration frames in appropriate subfolders of the Calibration frame library.
Calculate Frame Quality Metrics
Clear the file list (Edit - Clear File List)
Load your light and flat frames (File - Load Light/Flat Frames)
Optional: if your camera does not report sensor temperature, you can manually add the ambient temperature of your imaging session (Right Click - Add Ambient Temperature). Alternatively, you can import ambient temperatures from a temperature log created with the companion software IndiTempLog (Edit - Load Ambient Temperature Log). The import function allows to add the ambient temperature to the FITS headers of the frames.
Optional: Use Edit - Calculate Frame Metrics. Quality score will show up in the main window for your light and flat frames. You can see if there are outliers that may need to be removed (select rows, right click Remove Selected Rows).
Generate Calibration Frame Clusters
Use Edit - Generate Calibration Clusters.
Select the output (root) directory
Check the "Use Calibration Library" if you have one. If you do not want to use a calibration library, you need to load all calibration frames in the main window.
Set the Matching Options (I recommend to enforce minimum dark frames per temperature cluster and to auto-merge clusters). See the User Manual for more information.
This will generate subfolders under your Output Root directory with all the calibration clusters. The software utilizes an adaptive temperature matching algorithm to match light frames to dark frames (based on sensor or ambient temperature) and to match flats with flat-darks (also based on sensor temperature). If no matching flat-darks exist, bias frames are selected instead. The output are calibration frame directories that are clustered by temperature ranges that include the lights and all matched calibration frames in subdirectories, ready to be used for calibration and stacking in secondary software (SIRIL scripts are included with the CalLibManager installer).
Calibrate, Register, and Stack the frames in the Clusters
In the install directory for CalLibManager (C:\Program Files\Calibration Library Manager) you can find 2 SIRIL scripts (Mono_CalibrateOnly.ssf and OSC_CalibrateOnly.ssf) to calibrate Mono or OSC light frames (within the calibration clusters). Use this SIRIL script (either for mono or OSC camera) to calibrate the light frames in each cluster. The SIRIL script places the calibrated light frames in a directory called "cal_lights".
Clear the file list (Edit - Clear File List). Then load all calibrated light frames from all calibration clusters into the main window (File - Load Light Frames). The SIRIL script places the calibrated light frames in a directory called "cal_lights".
Use Edit - Export Frames by Type to copy all calibrated light frames from all calibration clusters into a single directory. Use the checkbox for Lights and a directory name of "cal_lights".
In the install directory for CalLibManager (C:\Program Files\Calibration Library Manager) you can find 2 SIRIL scripts (Mono_RegisterStackOnly.ssf and OSC_RegisterStackOnly.ssf). Use this script (either the Mono or OSC version depending on mono- or one-shot camera) to register and stack all calibrated light frames that you copied into the "cal_lights" directory in step 8. The SIRIL scripts expects the files to be in the "cal_lights" directory.
Now you have the calibrated and stacked image for further processing.