Frequently Asked Questions

FITS Blaster  ·  Last updated: April 2026

Getting Started

What macOS version is required?

macOS 15.0 (Sequoia) or later.

Does FITS Blaster run on Intel Macs?

It will run, but performance will be significantly lower. FITS Blaster uses Apple's Metal GPU framework for stretching, star detection, and metrics computation. Metal works best on Apple silicon (M1 and later). Intel Macs with integrated graphics lack the GPU memory bandwidth to keep up with large image sets; loading times will be several times slower.

Is there a Windows or Linux version?

No. FITS Blaster is a native macOS application and uses macOS-specific frameworks (Metal, Accelerate, AppKit). There are no plans for a Windows or Linux port.

Does FITS Blaster require an internet connection?

No. Image loading, stretching, and all quality measurements work entirely offline. However, FITS Blaster checks for updates once every 24 hours in the background. This is a lightweight check and can be skipped or disabled in the update prompt. If no connection is available, the check is silently skipped and the app works exactly the same.

↑ Back to top

Loading Images

How do I open images?

There are four ways to load images into FITS Blaster:

  1. Menu / keyboard shortcut — use File → Open Folder… (⌘O) to open an entire folder.
  2. Open Folder button — click it in the toolbar at any time.
  3. Drag & drop onto the window — drag a folder or any number of FITS files from Finder and drop them onto the FITS Blaster window.
  4. Drag & drop onto the app icon — drag files or a folder onto the FITS Blaster icon in the Dock or in Finder to open them directly, even if the app is not running yet.
What FITS formats are supported?

FITS files with integer pixel data: BITPIX 8 (8-bit), BITPIX 16 (16-bit), and BITPIX 32 (32-bit). Floating-point FITS (BITPIX −32 or −64) are not supported and will be skipped with an error message. The supported extensions are .fits, .fit, and .fts.

Will you support other image formats, like Canon RAW?

Not at this time. FITS Blaster is purpose-built for FITS files as used in astrophotography. RAW camera formats (CR3, NEF, ARW, etc.) are not on the roadmap.

How many images can FITS Blaster load?

In practice, as many as your RAM allows. It has been tested with up to 592 images without issues on a MacBook Air M1 with 16 GB — see the Speed & Performance section below for details.

Can I open images from subfolders?

Yes. When opening a folder, check "Include files from subfolders" in the open panel. FITS Blaster will scan recursively and display each subfolder as a separate section in the sidebar. By default, calibration folders (FLAT, DARK, BIAS, CALIB) are skipped automatically; you can customise the exclusion list in Settings → Files & Folders.

What are filter groups?

When FITS Blaster loads images from a session with multiple filters (for example Ha, OIII, and broadband frames in the same folder), it reads the filter name from the FITS header and automatically groups frames by filter in the sidebar. Each group gets its own colour-coded section, making it easy to assess quality separately per filter — a frame that is fine for Ha may still be worth rejecting for OIII.

If no filter information is present in the headers, all frames appear in a single group.

Should I use colour or greyscale display?

Greyscale loads and renders much faster and is usually all you need for judging star shape, focus, and trailing. FITS Blaster always loads greyscale first, so you can start culling immediately regardless of display mode.

Colour mode debayers OSC (one-shot colour) images and shows them in full colour, which can be useful for checking gradients, satellite trails, or colour artefacts. Colour rendering takes roughly 2–3× longer per image. Both the colour and greyscale versions are kept in memory once loaded, so switching between them is instant.

Mono (greyscale) cameras are always displayed in greyscale regardless of the display setting.

Does FITS Blaster modify my images?

Never. FITS Blaster is strictly read-only. Pixel data is loaded into a separate display buffer; the original files are never written to. The only file operation FITS Blaster performs is moving rejected frames into a REJECTED/ subfolder — and that move is fully undoable.

What happens when I press Reset?

Reset clears the current session so you can immediately open a new folder. It does not delete or move any files.

↑ Back to top

Image Quality Metrics

What does the Score badge mean?

Each frame receives a coloured badge based on how its metrics compare to the rest of the session:

  • Green — the frame is within normal range for this session
  • Amber — one metric is noticeably worse than average (trailing, focus drift, low star count)
  • Red — the frame is significantly below average and is a candidate for rejection
  • Grey — metrics could not be computed (no stars detected, or saturated field)

The badge priority is: trailing stars → focus failure → low star count.

What is FWHM?

Full Width at Half Maximum — a measure of how sharp (tightly focused) the stars are. It is the diameter of a star profile at half its peak brightness, in sensor pixels. Lower is better: a well-focused session might have FWHM 3–5 px, while a poorly-focused or turbulent frame might be 8–10 px or more.

FITS Blaster fits a Moffat β=4 profile (the same default as PixInsight's SubframeSelector) independently along the X and Y axes, then reports the geometric mean. Results agree with PixInsight Moffat4 within ±10% under typical conditions.

What is Eccentricity?

Eccentricity measures how elongated the stars are (0 = perfectly round, 1 = infinitely elongated). A value above ~0.5 usually indicates trailing from poor polar alignment, wind shake, or a mechanical issue. FITS Blaster reports the eccentricity of the median star candidate.

What is SNR?

Signal-to-Noise Ratio — the peak star signal divided by the background noise level. Higher is better. SNR depends heavily on exposure length, sky background, and seeing conditions. It is most useful for comparing frames within the same session rather than between different nights or setups.

Why are FITS Blaster's FWHM values different from my other tools?

FWHM is not a standardised measurement — every tool makes different choices about the PSF model, fitting method, and unit convention. Agreement within ~10% is normal. The most common causes of larger differences are:

  • Different PSF models: FITS Blaster and PixInsight use Moffat β=4; Siril fits β as a free parameter (typically 3–4). When β < 4, Siril's free-β fit finds a tighter core and reports a lower FWHM.
  • Gaussian vs Moffat: A Gaussian PSF has lighter wings than a Moffat profile, so Gaussian FWHM estimates are often slightly larger.
  • Units: Siril reports FWHM in arcseconds by default. To convert: FWHM (px) = FWHM (″) / plate_scale, where plate_scale = 206.265 × pixel_size_µm / focal_length_mm.
  • 1D vs 2D fitting: FITS Blaster fits two independent 1D profiles and takes their geometric mean. PixInsight and Siril fit a full 2D PSF simultaneously.

For frame ranking (the primary use case), absolute accuracy matters less than consistency. FITS Blaster is self-consistent within a session and correlates reliably with actual image quality.

Does FITS Blaster correct FWHM for Bayer (OSC) cameras?

No correction is applied, and none is needed. Empirical tests with both narrowband and broadband OSC images show agreement with PixInsight Moffat4 within ±10% without any Bayer scaling factor.

↑ Back to top

Culling Frames

What does a typical culling session look like?
  1. Open your folder — use ⌘O or drag it onto the window. FITS Blaster starts loading and measuring quality metrics immediately; you can begin reviewing before the full set has loaded.
  2. Scan the session chart — the horizontal strip across the bottom plots all frames in time order, coloured by quality. A cluster of red or amber dots usually points to a specific problem period (clouds, a focus drift, a gust of wind).
  3. Review suspect frames — click a dot in the chart to jump to that frame, or step through the sidebar with the arrow keys. The main view shows the stretched image; the inspector on the right shows the exact metric values.
  4. Collect suspect frames — drag across the chart, or ⇧+click a range in the sidebar then ⌘+click to add them to the Flagged view. Auto-Flag can also flag frames below a quality threshold automatically.
  5. Inspect and reject — switch to the Flagged view in the sidebar to see only your flagged frames. Step through them, then press your reject key (default: X) to move the bad ones to REJECTED/.
  6. Hand off to your stacking tool — point PixInsight, Siril, or AstroPixelProcessor at the same folder. The rejected frames are now in REJECTED/ and will not be picked up by a folder scan.
What is the session chart?

The session chart is a horizontal strip showing one dot per frame, in the order they were captured. Dot colour represents the filter group (Ha, OIII, SII, Lum, RGB, and so on) — each filter gets its own consistent colour so you can see at a glance whether a quality problem affects one filter or all of them. You can:

  • Click a dot to jump to that frame (the dot turns white to mark your position)
  • Drag across a range of dots to add those frames to the Flagged view for closer inspection
  • Filter by folder or filter group using the pill buttons above the chart, to focus on one subset at a time

The chart makes it easy to spot patterns — a dip in a single filter's dots usually points to a filter-specific problem, while a decline across all colours suggests clouds, wind, or a tracking issue.

What do the colours and brightness levels in the session chart mean?

Dot colour — filter group
Each dot is coloured by its filter group. This lets you compare filters side by side and immediately see whether a quality dip is filter-specific or affects the whole session.

Filter Colour Swatch
L (Luminance)Grey
RRed
GGreen
BBlue
HaDeep red
OIIITeal
SIIAmber
Indigo
HO (dual: Ha+OIII)Magenta
SO (dual: SII+OIII, Askar C2)Emerald
SHO (tri: SII+Ha+OIII)Purple
Quad-NBGold
UnfilteredMid grey

Dashed horizontal lines — per-group medians
A dashed line is drawn at the median value of the active metric for each filter group. Use it as a reference: dots noticeably above or below the dashed line for their group are outliers worth inspecting.

Dot colour and size — cursor and flagged state

  • White dot (larger) — the frame currently shown in the viewer (the cursor). Only ever one at a time.
  • Full brightness (filter colour) — flagged frames and the cursor when a flagged set is active; all non-rejected frames when no flagged set exists.
  • Dimmed (default 50 %) — non-flagged frames when a flagged set is active, so the flagged frames stand out clearly.
  • Strongly faded (default 15 %) — frames that have already been rejected and moved to REJECTED/.

Both opacity levels are adjustable in Settings → Display → Session Chart Brightness.

How do I reject a frame?

Select a frame in the sidebar and press the reject key (default: X). You can customise this and all other key bindings in Settings → Keyboard.

Can I reject multiple frames at once?

Yes. Use ⇧+click or ⇧+arrow keys to select a range (highlighted in orange), then press the reject key. The range can be built in the All view or the Flagged view — the behaviour is the same.

What is the Flagged view?

The Flagged view (the segmented control at the bottom of the sidebar) shows a curated pile of frames you have collected for closer inspection, without committing to rejection yet. Think of it as a review queue.

Selection model — two independent concepts:

  • Cursor — the single frame currently shown in the viewer. Plain click or arrow keys move it. It never affects the review queue.
  • Range selection — an orange-highlighted group of frames built with ⇧+click, ⇧+arrow keys, ⌘A (select all visible), ⌘D (clear), or ⌘I (invert). Used for batch operations (add to queue, remove from queue, reject).

Building the review queue (Flagged view):

  • Press F to toggle the flag on the current entry (or the entire orange range if one is active). Press D to deflag everything at once.
  • In All view: ⇧+click or ⇧+arrow to select a range, then ⌘+click or F to add it to the queue.
  • Drag across the session chart to add a run of frames to the queue directly.
  • Auto-Flag — adds all frames that fall below your chosen quality thresholds.
  • The (De)flag toolbar button toggles the flag state of the current entry or range at any time.

Working inside the Flagged view:

  • Plain click — move the cursor (view that frame); clears any orange range.
  • ⇧+click or ⇧+arrow keys — select an orange range for batch operations. ⌘A selects all visible, ⌘D clears the range, ⌘I inverts it.
  • Reject key — rejects the orange range (or the cursor if no range). Rejected frames stay visible so you can undo immediately by pressing Reject again.
  • ⌘+click on orange — removes the entire orange range from the queue (no rejection).
  • ⌘+click on a plain frame — removes that single frame from the queue.

The review queue persists when you switch between All, Flagged, and Rejected views, and is cleared only when you open a new folder or use Deselect All.

What happens to rejected frames?

They are moved into a REJECTED/ subfolder inside the folder they came from. No files are deleted. You can undo a rejection at any time.

How do I undo a rejection?

It depends on the Single key reject/undo (toggle) setting in Settings → Keyboard:

  • Toggle on (recommended): The same key both rejects and un-rejects. Press it once to reject a frame, press it again to undo. This is the simplest workflow — many users assign the spacebar.
  • Toggle off: Reject and undo are separate key bindings, each configurable independently.

In either case, if the REJECTED/ folder becomes empty after an undo, it is removed automatically.

How do I sort the sidebar?

Use the sort dropdown in the sidebar toolbar to choose between filename (the default, reflecting capture order) or any quality metric: FWHM, eccentricity, SNR, star count, or quality score. The up/down arrow button next to it reverses the sort direction. Sorting by quality score with the worst frames at the bottom makes it quick to select and reject the tail of the list as a group.

What is Simple mode vs Geek mode?

Simple mode hides all numeric metrics and shows only the visual quality badge. It is useful for a quick visual pass or for users who prefer not to interpret numbers.

Geek mode shows FWHM, eccentricity, SNR, and star count alongside each frame, and enables the session chart. Toggle between modes with the configured key (default: G) or the toolbar button, which shows the current mode name (Simple or Geek).

What is Auto-Flag?

Auto-Flag lets you set quality thresholds (e.g. "flag all frames with FWHM > 7 px") and preview how many frames match before applying. The matching frames are added to the Flagged view so you can inspect them individually and decide which ones to actually reject. Access it from the toolbar.

What do I do after culling?

Point your stacking tool (PixInsight, Siril, AstroPixelProcessor, etc.) at the same folder you opened in FITS Blaster. Rejected frames have been moved to a REJECTED/ subfolder and will not appear in a normal folder scan. No additional steps are needed — your stacking tool will see only the frames you kept.

If you change your mind, reopen the folder in FITS Blaster, select the rejected frames, and undo the rejection before you start stacking.

↑ Back to top

Speed & Performance

How fast is FITS Blaster?

Tests run on a MacBook Air M1, 16 GB, images on internal SSD. FITS Blaster was restarted before each test.

592 colour images (IMX571 OSC), 51.9 MB each, 30.72 GB total:

ModeTimePeak memory
Greyscale + Geek mode62 s1.9 GB
Greyscale + Simple mode28 s1.2 GB
Colour + Geek mode121 s2.2 GB
Colour + Simple mode82 s2.2 GB

Memory figures are peak during loading. In greyscale modes the footprint drops significantly once loading completes (to ~655 MB for Geek, ~590 MB for Simple) as intermediate GPU buffers are released.

290 greyscale images (IMX585 mono), 16.8 MB each, 4.88 GB total:

ModeTimeMemory
Greyscale + Geek mode15.4 s346 MB
Greyscale + Simple mode4.8 s318 MB

You can start working immediately once loading begins — you do not need to wait for the entire set. In colour mode, FITS Blaster renders the full set in greyscale first so you can start culling straight away; both versions are kept in memory so switching between them is instant.

↑ Back to top

Tips for Power Users

What is the fastest way to cull a large set?
  1. Load the folder in greyscale + geek mode. Greyscale loads faster than colour; geek mode computes quality metrics and populates the session chart.
  2. Glance at the session chart — drag-select any obvious bad runs to flag them, then use Auto-Flag to catch anything you missed.
  3. Switch to the Flagged view. Step through the flagged frames and press the reject key on the ones you want to move to REJECTED/.
  4. For the remainder, switch the sidebar sort to quality score. Your worst frames are now at one end; ⇧+click to select them as an orange range, then press the reject key.

If you only want a quick visual pass without metrics, simple mode loads faster but the session chart is not available.

Can I use the keyboard for everything?

Almost. Arrow keys navigate; ⇧+arrow extends the orange range selection; ⌘A / ⌘D / ⌘I select all, clear, or invert the range; F toggles the flag on the current entry or range; D deflags everything; your configured reject key rejects or toggles. The only things that require the mouse are drag-selecting a range in the chart and clicking filter pills.

Can I have FITS Blaster open while my stacking tool is running?

Yes — FITS Blaster holds no locks on your files. However, avoid undoing rejections while a stacking tool is actively reading the same folder, as moving files mid-stack may confuse the stacking tool.

↑ Back to top

Support & Donations

Is FITS Blaster free?

Yes, completely free. No subscription, no paywall, no frame limit. All features — metrics, Auto-Flag, session chart, subfolders — are available to everyone.

How can I support development?

If FITS Blaster saves you time, a small donation via Ko-fi is very much appreciated. It helps cover the cost of the Apple Developer account and motivates continued development.

How do I report a bug?

Open an issue on the GitHub Issues page. A short description of what happened, what you expected, and which macOS version you're on is all that's needed.

How do I request a feature?

Use the feature request template on GitHub. Describing the problem you're trying to solve (rather than just the solution) makes it much easier to evaluate.

↑ Back to top

Privacy & Data

Does FITS Blaster send my images anywhere?

No. All processing happens on your Mac. Your image files never leave your device.

What data does FITS Blaster collect?

None. FITS Blaster does not collect analytics, telemetry, or usage data of any kind. No network requests are ever made.

Does FITS Blaster require access to my entire disk?

No. FITS Blaster is sandboxed and can only access folders you explicitly open via the open panel or drag & drop. It stores a security-scoped bookmark so it can reopen the same folder without asking again in future sessions.

↑ Back to top