Skip to content
GMST --h --m --s FR / EN
Logo of the Dark Frame Analyzer
Stable Calibration

Dark Frame Analyzer

Analyses your dark-frame series and rejects out-of-spec frames before WBPP stacking.

Overview

A bad dark silently degrades your master dark, and everything calibrated with it.

Dark Frame Analyzer inspects a whole series at once. For each subframe it computes robust statistics (clipped median, exact MAD, hot pixels, saturation, thermal drift, spatial uniformity) through PixInsight's C++ engine, so a 50-frame series is analysed in seconds, then compares every frame against the series reference.

Each dark is graded Valid, Alert or Rejected in a colour-coded table, with a detailed console report, a CSV export and a WBPP-ready exclusion list. Rejects can also be moved to a subfolder in one click.

Outlier detection ships anti-quantisation floors for CMOS sensors whose distribution is peaked by ADC discretisation. Thresholds, pre-tuned for an IMX585-class sensor, are all adjustable and remembered across sessions. Bilingual FR/EN interface, FITS and XISF input.

Features

Robust outlier detection

Series-relative statistics (clipped median, exact MAD, hot pixels, thermal drift, spatial uniformity) with anti-quantisation floors: ADC steps never become false positives.

Native speed

Histograms and converged iterative sigma clipping computed by PixInsight's C++ engine: a 50-frame series is analysed in seconds.

WBPP-ready workflow

Exclusion list as text or file, or one click to move rejected frames to a subdirectory WBPP never sees.

Full reporting

Colour-coded results table with per-frame tooltips, detailed console report and CSV export with stable machine-readable headers.

Tunable, persistent thresholds

Every detection threshold is adjustable, remembered across sessions and restorable in one click (presets tuned for an IMX585-class sensor).

Bilingual UI

English and French, switchable live, choice remembered. FITS and XISF input.

Screenshots

Dark Frame Analyzer main window: analysed dark series, colour-coded Valid/Alert/Rejected statuses and detection thresholds
WBPP exclusions dialog: list of darks to keep out, .txt export or move to a rejected/ folder

Install

  1. 01

    Add the CaeloWorks repository

    In PixInsight, open Resources → Updates → Manage Repositories and add the CaeloWorks repository URL:

  2. 02

    Check for updates

    Run Resources → Updates → Check for Updates and accept: PixInsight downloads and installs the script.

  3. 03

    Restart PixInsight

    Relaunch the application: the script shows up in the Script menu. Future updates then arrive automatically.

Once installed, the script shows up under Script → CaeloWorks → Dark Frame Analyzer. Manual alternative: download DarkFrameAnalyzer.js from the GitHub releases and add its folder through Script → Feature Scripts. Requires PixInsight 1.9+, Windows, macOS or Linux.

Changelog

  • 1.10.0 2026-08-18

    Support for .fts dark frames (same FITS format as .fits, previously unloadable) and a Cancel button that stops an analysis while keeping the frames already measured. The version shows in the window header, and icons now accompany the Darks-list buttons. The hot-pixel report labels follow the configured threshold (the CSV header stays hot_5k) and the English wording is consistent between the table and the summary. Fixes: fewer than 3 readable darks are no longer all reported Valid in silence (an explicit warning is shown); the numeric columns (median, noise, hot px, saturation) sort in numeric order; and no more horizontal scrollbar or Status column crushed on the file list.

  • 1.9.0 2026-07-11

    The script now has its icon in PixInsight (Script menu and Feature Scripts) and a dialog header in the CaeloWorks livery. It moves to the CaeloWorks menu category, leaving Utilities. Under the hood: GPL-3.0 license, a test suite with continuous integration, and a distribution package for the update repository.

  • 1.8.0 2026-07-02

    First public release (GPL-3.0).