Skip to content
Novus Examples
fits5.6 KB

FITS BLANK — Undefined Integer Pixels (.fits)

Integer FITS images mark undefined pixels with the BLANK keyword, and BLANK is compared against the stored value before BZERO and BSCALE are applied. Scale first and the four undefined pixels turn into a perfectly plausible zero, which is the ordering bug this file exists to expose.

Preview — schema + first 5 rowsfits
PixelStoredAfter BZEROMeaning
[0,0]-327680BLANK — undefined, must be masked
[0,1]-327680BLANK — undefined
[0,2]-327680BLANK — undefined
[7,7]-327680BLANK — undefined
otherssigned 16-bit0 to 65535real ADU values
The trap: BLANK matches the stored value, so masking must happen BEFORE scaling.

Specifications

Bitpix
16
Blank
-32768
Blank Pixels
4
Bzero
32768
Trap
BLANK is compared to the STORED value, before BZERO/BSCALE

Testing contract

Expected to pass
Scenario
Mask pixels equal to BLANK and only then apply BZERO and BSCALE, and count how many pixels were masked.
Expected result
Exactly four pixels mask out; applying the scaling first leaves those pixels reading 0 ADU and the mask empty.

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 BLANK — Undefined Integer Pixels (.fits)” is a deterministic Novus Examples fixture for Scientific data, Serialization testing, Error handling. 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 · 5,760 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.