Skip to content

Repository files navigation

Collimation Helper for SkyWave

A N.I.N.A. plugin that automates telescope collimation data capture for InnovationForesight's SkyWave AI wavefront analysis.

Contents

Background — SkyWave & AI Wavefront Sensing

SkyWave is a desktop application by InnovationForesight that uses AI-based wavefront sensing (AIWFS) to analyze telescope optics. You feed it a defocused star image (FITS), and SkyWave extracts the telescope's full wavefront error — coma, astigmatism, tilt, spacing issues, field curvature, and more — all in seconds, on a standard laptop.

What makes SkyWave unique is that it doesn't just tell you "your collimation is off." It quantifies how much and in which direction, showing Zernike coefficients, wavefront maps, and actionable correction vectors. For telescopes with adjustable optics (SCTs, RCs, Newtonians, refractors with tilt adjusters), this turns collimation from guesswork into a measured, repeatable process.

SkyWave can work with a single on-axis star, but its real power emerges when it receives defocused star data from multiple field positions — that's where this plugin comes in.

Why this plugin exists

Precise telescope collimation is critical for sharp, aberration-free images — but getting there has always been tedious. The traditional workflow means manually slewing to a star, defocusing, capturing a frame, then repeating at multiple field positions, often juggling between NINA sequences, PixInsight scripts, and manual mount control. Most people give up after a single on-axis star and never detect the field-dependent problems lurking at the edges of their sensor.

What this plugin does differently

Instead of capturing just one defocused star at the center of the sensor, this plugin captures the star at multiple positions across the full sensor plane in a circular ring pattern and integrates them into a single FITS. This gives SkyWave the data it needs to measure field-dependent aberrations — the kind you only see off-axis:

  • Sensor tilt — uneven focus plane across the field
  • Spacing errors — incorrect backfocus causing off-axis aberrations
  • Off-axis coma & astigmatism — collimation errors invisible at the center
  • Field curvature — the natural curve of the focal plane

A single centered star cannot reveal these. Spreading the defocused donut across the entire sensor makes the difference between "collimated on-axis" and "truly collimated across the whole field."

The plugin handles everything automatically — slew, center, filter change, optional autofocus, defocus, circular capture, MAX-stacking, optional crop, and refocus — in one click.

How it works

  1. Select an isolated star of appropriate magnitude (from 106 built-in presets or manual RA/Dec — "Find Best" auto-selects based on your optics to target ~60% ADU without overexposure)
  2. Switch to L filter and plate-solve & center on the star (in focus)
  3. Switch to target filter (e.g. R, G, B) for capture
  4. Optionally run autofocus — a dialog asks before defocusing (works with NINA's built-in AF or Hocusfocus)
  5. Defocus by a configurable number of focuser steps (with µm/step readout for your focuser)
  6. Capture exposures at N positions around a circular ring pattern (blind slews — no plate-solving while defocused)
  7. MAX-stack sub-frames — each pixel keeps its maximum value across all frames, so every defocused donut shines through without dilution
  8. Optionally crop the integrated image to the ring pattern bounding box + 300px safety margin
  9. Save a 16-bit monochrome FITS with proper headers (FOCALLEN, XPIXSZ, XBINNING, etc.) to your configured output folder
  10. Refocus — always returns the focuser and restores the original filter, even on failure or cancel

Screenshots

Plugin settings and description in NINA:

Plugin settings and description

Running a collimation capture — sensor map with ring positions and live camera preview:

Plugin running a collimation capture

Two tools, one workflow

NINA Plugin — Collimation Helper for SkyWave

The recommended way. A native N.I.N.A. plugin that does everything inside NINA — no external tools required:

  • Dockable tool panel in NINA's imaging tab — click "Run Collimation" and it does everything
  • Star picker with 106 presets (mag 2–5, all seasons) and "Find Best" auto-selection based on time, location, and optical setup
  • Magnitude advisor — computes ideal star brightness from your focal length, aperture, exposure, and gain to target ~60% ADU fill
  • µm/step readout — enter your focuser's microns-per-step and see real defocus distance in µm
  • Live sensor map showing ring positions with progress (grey=pending, red=active, green=done)
  • Camera preview of each captured frame with auto-stretch (median + MAD robust statistics)
  • MAX stacking — each pixel keeps its maximum value, preserving every donut across the field
  • Optional crop — trims the integrated image to the ring pattern + 300px margin (off by default — SkyWave may need full sensor dimensions)
  • Native FITS output — always 16-bit unsigned with correct headers, regardless of NINA's default format setting
  • Optional autofocus before defocusing — works with any AF provider (NINA built-in, Hocusfocus, etc.)
  • Full cancellation support — focus and filter always restored on cancel or error
  • All settings persist between NINA sessions

Settings overview

Setting Default Description
Exposure (s) 8.0 Capture duration per position
Gain 100 Camera gain
Offset 0 Camera offset/bias
Defocus steps 2442 Focuser steps to defocus
µm/step 3.0 Microns per focuser step (depends on focuser + OAZ combo)
Ring positions 8 Number of positions on the circle
Radius % 80 Ring radius as percentage of FOV
Include center On Add center position as first capture
Settle time (s) 3 Pause after slew before exposure
Filter L Capture filter (L, R, G, B, Ha, etc.)
Crop Off Crop to ring pattern + 300px margin
Del subs Off Auto-delete individual sub-frames after stacking
AF first Off Run autofocus before defocusing

Installation

  1. Download the zip from Releases
  2. Unzip and double-click install.bat (close NINA first)
  3. Restart N.I.N.A. — find Collimation Helper for SkyWave in the tool panels

Usage

  1. Open the Collimation Helper for SkyWave panel (imaging tab, tool windows)
  2. Select a star from the presets or click Find Best for automatic selection
  3. Set defocus steps, exposure time, filter, gain, positions, radius
  4. Set the output folder via the ... browse button
  5. Click Run Collimation
  6. The integrated FITS appears in your output folder, ready for SkyWave

Browser-based Collimation Helper — if you don't use the plugin

If you prefer to build your own sequences manually, or don't use N.I.N.A., there is also a standalone browser-based tool that calculates the same circular ring pattern and generates ready-to-use sequence files. It does roughly the same math as the plugin, but the plugin is far more convenient for NINA users since it handles the entire capture-to-integration workflow automatically.

  • Open in browser — runs entirely in your browser, no installation needed
  • Generates downloadable .json for N.I.N.A. Advanced Sequencer
  • Generates downloadable .js PixInsight integration script
  • Star finder with altitude/LST calculator and the same 106 star presets
  • Magnitude advisor based on your optical setup

Star presets

106 collimation stars covering both hemispheres — declinations from -79° (near the south celestial pole) to +78° (near Polaris). Sourced from the SkyWave "Collimation Stars" catalog plus hand-picked isolated targets for northern and southern observers. Each preset includes constellation, Bayer/Flamsteed designation, visual magnitude, and catalog references.

Highlights by season:

Star RA Dec Mag Season Notes
Kochab 14:50:42.3 +74:09:20 2.08 Circumpolar β UMi — very isolated, bright
α Cam 04:54:03.0 +66:20:34 4.29 Winter Sparsest field in the sky
Menkar 03:02:16.8 +04:05:23 2.53 Winter α Cet — bright, low Dec
κ Dra 12:33:28.9 +69:47:18 3.87 Spring Extremely clean field
θ Boo 14:25:11.8 +51:51:03 4.05 Spring Very isolated, ideal near zenith 52°N
Tania Australis 10:22:19.7 +41:30:00 3.05 Spring μ UMa — pair with Tania Borealis
42 Dra 18:25:59.1 +65:33:49 4.82 Summer Extremely isolated, longer exposures
Zubeneschamali 15:17:00.4 -09:23:00 2.61 Summer β Lib — bright, southern
Alfirk 21:28:39.6 +70:33:39 3.23 Fall β Cep — bright and well isolated
γ Sge 19:58:45.4 +19:29:32 3.47 Fall Gamma Sge — lower Dec
β Hyi 00:25:45.1 -77:15:15 2.80 S. Circumpolar Near south pole, extremely isolated
α Ret 04:14:25.5 -62:28:26 3.33 S. Winter Very sparse Reticulum field
Tiaki 22:42:40.1 -46:53:05 2.07 S. Fall β Gru — very bright, isolated
Phact 05:39:38.9 -34:04:27 2.64 S. Winter α Col — bright Columba

The "Find Best" button auto-selects the optimal star based on your location, time, and optical setup.

Tips

  • Camera rotation: Set your camera to 0° or 180° rotation to avoid confusion with mirrored orientation in the integrated image. Since we capture in a circle, rotation doesn't affect collimation quality — it just makes visual interpretation easier.
  • Center position first: The plugin always captures the center star position first (if enabled), then the ring positions. This matches SkyWave's expectation for field-dependent analysis.
  • MAX stacking: The integration uses pixel-by-pixel MAX stacking — no alignment, no rejection, no normalization. Each frame shows the defocused star at a different field position. MAX mode ensures every donut ring is preserved at full brightness without dilution from empty areas.
  • Output format: Always 16-bit unsigned FITS with proper headers (FOCALLEN, XPIXSZ, XBINNING, etc.). Never XISF — regardless of NINA's default format setting.
  • Sub-frames: When "Del subs" is off, individual frames are kept in a subframes_* subfolder inside your output directory.
  • Bin 2 pixel size: If you capture at bin 2, remember that your effective pixel size doubles. Enter your native (bin 1) pixel size in NINA's camera settings — the plugin handles the FITS header math.
  • Defocus steps must be adjusted for your setup: The default 2442 steps is a reference value. To calculate the correct value: (1) run SkyWave to determine the required defocus in microns for your telescope, (2) divide by your focuser's µm/step ratio. The µm/step ratio depends on your specific focuser + OAZ combination — to find it, move the focuser out by e.g. 10000 steps, measure the physical distance travelled from the scope backplate, and divide the distance by 10000. Example: ZWO EAF + FeatherTouch OAZ on an RC12 ≈ 3 µm/step, so 7326 µm ÷ 3 = 2442 steps.
  • Focuser calibration: Use the µm/step field to verify your defocus amount in real physical units. The plugin multiplies steps × µm/step to show the total defocus in microns — compare this with what SkyWave requires.
  • Blind slews: Ring positions are reached via blind SlewToRaDec — no plate-solving while defocused. This is by design: the telescope stays defocused throughout the ring capture, and plate-solving defocused stars is unreliable.

Requirements

  • N.I.N.A. 3.0+ (.NET 8.0)
  • GoTo mount with slew capability
  • Electronic focuser
  • Camera with FITS output
  • Filter wheel (optional — for L filter plate-solving and target filter capture)
  • SkyWave by InnovationForesight for wavefront analysis

License

GPL-3.0


If you find this useful, consider supporting my work via Buy Me a Coffee

About

Generates circular defocused star position patterns and N.I.N.A. Advanced Sequencer files for InnovationForesight SkyWave (SKW) telescope collimation. Includes a PixInsight integration script for combining multi-position sub-frames into a single FITS for field-dependent wavefront analysis.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages