astropy / astropy/specutils

Add loader and writer for SpectrumDM

Open
#1,249 1 comment 0 reactions 0 assignees View on GitHub
enhancement io
Dominant language
Python
Stars
204
Forks
135
Avg merge
12h 55m
Merged PRs (30d)
1

Description

This came up in Astropy Coordination Meeting 2025 breakout session on "stalled development effort." If there is already an issue somewhere, please cross-link and close this as duplicate (I couldn't find it).

Problem: [SpectrumDM](https://github.com/ivoa-std/SpectrumDM) is a thing, but `specutils.Spectrum` cannot read files that adhere to this standard.

Work requested:

* Add loader and writer for `SpectrumDM`.
* Need to improve header manipulation. And writing/validating headers.
* When writing out, emit a warning to the user if a `Spectrum` object does not adhere to `SpectrumDM` standard.
* Enable converter. (I do not know exactly what this converter is supposed to do, so hopefully SpectrumDM people can clarify.)

Affected missions:

* Euclid
* SPHEREx

Interested parties: @aragilar @bsipocz @kelle

This issue might also end up in Astropy roadmap. cc @astropy/strategic-planning

Contributor guide

Open the contributing guide

Research direction

Start with the specutils.Spectrum entry point and clarify the SpectrumDM converter requirements with the interested parties before locating implementation points. Review how Spectrum objects represent and manipulate headers, then define completion around SpectrumDM loading, writing, validation warnings, and the agreed converter behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.