Skip to main content

Galaxy10 DECaLS

Galaxy10 DECaLS is a curated subset of the Galaxy Zoo DECaLS volunteer classifications (Walmsley et al. 2022) distributed as one HDF5 file (about 2.7 GB, Zenodo record 10845026). It holds 17,736 galaxy cut-outs of 256×256 pixels in RGB (DECaLS g, r, z bands rendered as colour images) with a label from 10 morphology classes. The file also stores coordinates (ra, dec), a pixel scale and a redshift field.

Class balance​

Share of images per class
0 · Disturbed6.1%
1 · Merging10.4%
2 · Round Smooth14.9%
3 · In-between Round Smooth11.4%
4 · Cigar Shaped Smooth1.9%
5 · Barred Spiral11.5%
6 · Unbarred Tight Spiral10.3%
7 · Unbarred Loose Spiral14.8%
8 · Edge-on without Bulge8.0%
9 · Edge-on with Bulge10.6%

The classes are imbalanced: the largest holds 2,645 images (Round Smooth) and the smallest 334 (Cigar Shaped Smooth), a ratio of 7.9. A classifier that always predicts the majority class scores 14.9% accuracy, which is why AstroVision reports balanced accuracy. Exact counts per class: Morphology Classes.

Figures​

◎
Galaxy10 samples
Galaxy10 samples
Random images from the dataset.
◎
Class distribution
Class distribution
Images per class.
◎
Mean image per class
Mean image per class
Pixel-wise average of each class.
◎
Brightness and contrast
Brightness and contrast
Per-class mean brightness and contrast.
◎
RGB channels
RGB channels
Mean channel values per class.
◎
Astrometric metadata
Astrometric metadata
Coordinates, redshift and pixel scale.
◎
Pixel PCA
Pixel PCA
Projection of raw pixels.
Labels are volunteer classifications

Labels come from Galaxy Zoo vote fractions converted to ten hard classes. Classes such as Disturbed and Unbarred Loose Spiral are intrinsically ambiguous, which bounds achievable accuracy: see Limitations.

Loading the data​

from src.astrovision.data_loader import download_galaxy10, load_galaxy10_splits

download_galaxy10() # fetches Galaxy10_DECals.h5 from Zenodo if absent
train_loader, val_loader, test_loader = load_galaxy10_splits(batch_size=64, num_workers=0)

num_workers=0 avoids multiprocessing errors on Windows (the project was developed there). Splits are described in Data Preparation.