Skip to content
Novus Examples
fits14.1 KB

FITS Multi-Extension — Empty Primary plus SCI and MASK (.fits)

A three-HDU FITS file whose primary unit is header-only (NAXIS = 0) with the real data in named SCI and MASK extensions. A reader that only ever looks at HDU 0 reports an empty file, which is exactly the bug this fixture is built to catch.

Preview — schema + first 3 rowsfits
HDUTypeEXTNAMEShapeContents
0PRIMARY-NAXIS = 0header only, no data unit at all
1IMAGESCI16 x 24 float32science array in Jy/beam
2IMAGEMASK16 x 24 uint885 pixels flagged where SCI > 400
A reader that stops at HDU 0 finds nothing and reports an empty file.

Specifications

Hdus
3
Primary Naxis
0
Extensions
SCI (float32), MASK (uint8)
Extnames
SCI, MASK
Flagged Pixels
85
Total Pixels
384

Testing contract

Expected to pass
Scenario
Enumerate the HDUs, then fetch the extension named SCI and the extension named MASK by name rather than by index.
Expected result
Three HDUs are reported, the primary has no data array, SCI is (16, 24) float32 and MASK is (16, 24) uint8 with exactly 85 non-zero flags.

What is a .fits file?

FITS (.fits, Flexible Image Transport System) is the standard binary format in astronomy. It pairs human-readable 80-character header cards (in 2880-byte blocks) with binary image or table data, storing pixel arrays, coordinates, and instrument metadata. It has been the astronomical archive format for decades.

How to use this file

Use an example .fits file to test FITS readers (astropy, CFITSIO, DS9), header-card parsing, and image or table extraction, or to verify block-alignment handling.

How to use this file for testing

“FITS Multi-Extension — Empty Primary plus SCI and MASK (.fits)” is a deterministic Novus Examples fixture for Scientific data, Serialization testing. Citation catalogs (BibTeX, RIS), chemistry structures (MDL Molfile, PDB), and gridded binary data (NetCDF, FITS) — for testing reference managers, molecule viewers, and scientific-data loaders.

Documented properties for this file: FITS · 14,400 bytes. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.

Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.

Scientific fixtures are small, valid, and fully synthetic — no real organism, patient, sample, or observation. Point your parser or loader at the file and check it reads the documented records, variables, or headers; binary formats ship a readable twin or metadata listing for comparison.

Generated by generation/scientific.py. Free for any use, no attribution required — license.