CoolFace
Datasetpublic

OneAstronomy/galaxyzoo10_legacysurvey

Galaxy Zoo 10 × Legacy Survey DR9 Dataset Summary This dataset contains 7,864 galaxies from the Galaxy Zoo 10 morphology catalogue, cross-matched with Legacy Survey DR9 imaging. Each sample includes: A 4-channel 160×160 pixel image (Legacy Survey grz + WISE W1), stored as raw calibrated flux (nanomaggies). Normalization is left to the training pipeline. 10-class morphology label (gz10_label, gz10_class_name) Photometric scalars: flux densities (g, r, i, z, W1… See the full description on the dataset page: https://huggingface.co/datasets/OneAstronomy/galaxyzoo10_legacysurvey.

sourceHugging Facecc-by-4.0updated 4mo agoView on Hugging Face
0likes33downloads
Dataset Card

Galaxy Zoo 10 × Legacy Survey DR9

Dataset Summary

This dataset contains 7,864 galaxies from the Galaxy Zoo 10 morphology catalogue, cross-matched with Legacy Survey DR9 imaging.

Each sample includes:

  • —A 4-channel 160×160 pixel image (Legacy Survey grz + WISE W1), stored as raw calibrated flux (nanomaggies). Normalization is left to the training pipeline.
  • —10-class morphology label (gz10_label, gz10_class_name)
  • —Photometric scalars: flux densities (g, r, i, z, W1, W2), Sérsic index, shape parameters

Data Source

FieldValue
ImagingLegacy Survey DR9 (grz) + WISE W1
LabelsGalaxy Zoo 10 morphology classification
Original filecrossmatch_legacy_gz10.h5
ETL date2026-05-21

Dataset Structure

Splits

SplitSamples
train6,291
validation786
test787
total7,864

Class Distribution (training set)

LabelClass NameTrain Count
0Disturbed Galaxies378
1Merging Galaxies696
2Round Smooth Galaxies1,186
3In-between Round Smooth Galaxies504
4Cigar Shaped Smooth Galaxies83
5Barred Spiral Galaxies691
6Unbarred Tight Spiral Galaxies751
7Unbarred Loose Spiral Galaxies690
8Edge-on Galaxies without Bulge385
9Edge-on Galaxies with Bulge927

Features

ColumnTypeDescription
object_idstringUnique galaxy identifier
ra / decfloat32Sky coordinates (degrees, J2000)
healpixfloat32HEALPix pixel index (Nside=64)
gz10_labelint32Morphology class (0–9)
gz10_class_namestringHuman-readable class name
FLUX_G/R/I/Z/W1/W2float32Flux densities (nanomaggies)
SERSICfloat32Sérsic index
SHAPE_E1/E2float32Ellipticity components
SHAPE_Rfloat32Effective radius (arcsec)
image_pixels_rawlist[float32] (102400,)Raw image (4×160×160 flat, nanomaggies). Normalize in your training pipeline.

Image shape and channel metadata is in image_shape.json.

Loading the Dataset

python
from datasets import load_dataset
import numpy as np

BASE = "/mnt/si0009256k6u/ckdata/aiready/galaxyzoo/hf_dataset"
# specify cache_dir to avoid rebuilding Arrow cache on every run
ds = load_dataset("parquet", data_dir=BASE, cache_dir="/tmp/gz10_cache")

sample = ds["train"][0]
print(sample["gz10_class_name"])   # e.g. "Round Smooth Galaxies"
print(sample["gz10_label"])         # 0–9

# Reconstruct raw image array (4, 160, 160)
img = np.array(sample["image_pixels_raw"], dtype=np.float32).reshape(4, 160, 160)

# Example: per-channel asinh stretch in the training pipeline
img_norm = np.arcsinh(img / 0.1) / np.arcsinh(1.0 / 0.1)   # softscale

PyTorch DataLoader

python
import torch

shape = (4, 160, 160)

ds["train"].set_format("torch", columns=["image_pixels_raw", "gz10_label"])
loader = torch.utils.data.DataLoader(ds["train"], batch_size=32, shuffle=True)

for batch in loader:
    x = batch["image_pixels_norm"].reshape(-1, *shape)  # (32, 4, 160, 160)
    y = batch["gz10_label"]                              # (32,)
    break

Quality Filtering

The ETL pipeline applied:

  1. 1.Valid label — gz10_label ∈ [0, 9]
  2. 2.Finite scalar features — all FLUX/SHAPE/SERSIC fields must be finite
  3. 3.Non-zero image — reject all-zero image arrays

Citation

bibtex
@article{leung2019galaxyzoo,
  title={Predicting Multidimensional Stellar Chemical Abundances from Photometry},
  author={Leung, Henry W. and Bovy, Jo},
  year={2019}
}

@article{dey2019legacysurvey,
  title={Overview of the DESI Legacy Imaging Surveys},
  author={Dey, Arjun and others},
  journal={The Astronomical Journal},
  year={2019}
}