FILE GROUPER

Dataset Organization Utility

A platform-agnostic Go utility that brings order to unstructured astrophotography datasets. Point it at your raw captures and it sorts thousands of frames into a logical, processing-ready hierarchy.

Demo · CLITerminal
zsh CLI
$ go install …/tools/file-grouper@latest
$ file-grouper --organize-asiair ./raw-data
→ scanning 1,284 frames…
Built in
Go
Interface
CLI
Optimized for
ASIAIR
Platform
Cross
Section · 01

What File Grouper is.

The longer story

File Grouper is a platform-agnostic Go utility designed to solve the chaos of unstructured astrophotography datasets. Specifically optimised for ASIAIR and similar capture systems, it automates the tedious task of sorting thousands of frames into a logical hierarchy.

A clean dataset is the foundation of high-quality processing. File Grouper ensures your data is ready for calibration and stacking before you even open your processing software.

It reads the metadata your capture system already records — camera, date and target — and folders each frame accordingly, so multi-night projects and mixed sessions never bleed into one another.

Run it once after a session, or wire it into your import routine; either way your raw directory stops being a dumping ground and starts being an archive.

“A clean dataset is the foundation of high-quality processing.”
Section · 02

FEATURES

03 CAPABILITIES

Sensor classification

Group and organise images by the camera model and sensor type detected in metadata.

Temporal sorting

Group entire imaging sessions by precise dates, keeping multi-night project data separate.

Object targeting

Folder frames by celestial object name, separating your M42 from your Rosette instantly.

Section · 03

HOW IT WORKS

03 STEPS
  1. 01

    Install

    go install github.com/sidthesloth92/db-astro-suite/tools/file-grouper@latest

  2. 02

    Organize

    Run file-grouper --organize-asiair ./raw-data against your capture directory.

  3. 03

    Process

    Your frames are sorted by camera, date, and object — ready for calibration.

Section · 04

A clean dataset.

Sorted hierarchy
./raw-data Sorted
✓ grouped 1,284 frames · 12 sets · 0.42s
raw-data/
 ├─ ASI2600MM/
 │  ├─ 2026-02-15/
 │  │  ├─ Rosette/
 │  │  └─ M42/
 │  └─ 2026-02-18/
 └─ ASI533MC/
    └─ 2026-02-20/

Frames grouped by camera, date, and object — ready for calibration and stacking.

Ready
Bring order to your ASIAIR captures.
Open source · Go · Cross-platform CLI
Access Repository