Skip to content

Commit 6aa0871

Browse files
authored
Merge pull request #106 from weaverba137/update-APE13
Remove and refactor visualization references in APE 13
2 parents acd0b6b + 1eac03c commit 6aa0871

File tree

1 file changed

+24
-40
lines changed

1 file changed

+24
-40
lines changed

APE13.rst

+24-40
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,17 @@ type: Process, Standard Track
1111

1212
status: Accepted
1313

14+
revised-by:
15+
16+
* Benjamin Weaver - 2024 July 19 - Spectrum visualization is now out-of-scope.
1417

1518
Abstract
1619
--------
1720

1821
The goal of this APE is to coordinate and plan the development of spectroscopic
1922
software within the astropy project. The requirements for spectroscopic tools
2023
include handling and reducing observations, different types of analysis, and
21-
visualization of spectra. The goal of this APE is to provide a framework that
24+
supporting IO on data files used in the community. The goal of this APE is to provide a framework that
2225
different astronomy packages can use to coordinate the development of
2326
spectroscopic tools. The idea is a set of foundational packages that can then
2427
be extended to build other tools. As part of this coordination effort, this APE
@@ -108,7 +111,7 @@ The path forward
108111
^^^^^^^^^^^^^^^^
109112

110113
This APE proposes a coordinated suite of packages for doing astronomical
111-
spectroscopy in Python. It suggests a division of functionality into three
114+
spectroscopy in Python. It suggests a division of functionality into two
112115
packages, then specifies in detail the structure and API of the core spectral
113116
object, `Spectrum1D`.
114117

@@ -128,15 +131,15 @@ domain-specific classes are not defined in this APE; instead, the intent is for
128131
`Spectrum1D` to provide a starting point for such efforts, which will then
129132
develop as they are called for by the community.
130133

131-
The development outlined in this APE will consist of three packages:
134+
The development outlined in this APE will consist of two packages:
132135

133-
* `specutils <https://github.com/astropy/specutils)>`_. This will provide the
134-
basic interface classes (including the `Spectrum1D` object), as well as
136+
* `specutils <https://github.com/astropy/specutils>`_. This will provide the
137+
basic interface classes (including the `Spectrum1D` object, to be renamed `Spectrum` in specutils 2.0), as well as
135138
*basic* analysis of spectroscopic data (which are enumerated in `Analysis
136139
tools to be included in specutils`_ below). This package is the primary
137140
focus of this APE.
138141

139-
* `specreduce`. This will provide a standard toolbox for reducing spectra,
142+
* `specreduce <https://github.com/astropy/specreduce>`_. This will provide a standard toolbox for reducing spectra,
140143
roughly akin to the IRAF “specred” functionality (although not necessarily
141144
*all* of those tasks, nor in a one-to-one manner). Note that this should
142145
*not* contain any instrument-specific code. Observatories or instruments are
@@ -145,23 +148,12 @@ The development outlined in this APE will consist of three packages:
145148
This package will provide the tools to quickly be able to build specific
146149
instrument pipelines.
147150

148-
* `specviz`. This package will provide 1D spectrum visualization capabilities,
149-
but is scoped to be focused primarily on that, and not arbitrarily complex
150-
spectrum visualization (e.g., data cubes). Note that, unlike the above two,
151-
this package should *not* be considered a toolbox that other tools should be
152-
derived from. While other packages are welcome to use it, it is meant to
153-
provide a critical piece of functionality, while acknowledging that
154-
visualization, GUI code, and even personal taste are variable enough that
155-
there is room for a few other visualization packages in the ecosystem. It
156-
will, however, have a plugin architecture that may allow users/developers to
157-
add to it.
158-
159151
In addition to the packages described above, there are a wide range of more
160152
domain-specific, experimental, or taste-specific packages that are likely to be
161153
desired in the field of astronomical spectroscopy. These packages can be
162154
developed as independent affiliated packages, and this APE encourages such
163155
development. However, the intent is for such packages to not *duplicate*
164-
behavior in the foundational three packages described above. Because of the
156+
behavior in the foundational packages described above. Because of the
165157
wide range of scientific use cases for spectra, it is understood that some
166158
level of duplication between affiliated packages is expected. E.g., multiple
167159
line-fitting packages may be reasonable because different science cases may be
@@ -420,29 +412,19 @@ This should *not* be taken as an exhaustive list, however. Additional
420412
functionality that meets the above guidelines will be implemented or accepted
421413
via PRs to `specutils` if of sufficient general interest.
422414

423-
The next steps: specreduce and specviz
424-
--------------------------------------
425-
This APE is not intended to specify the full details of the ``specviz`` and
426-
``specreduce`` packages. They will develop separately following the
415+
The next steps: specreduce
416+
--------------------------
417+
This APE is not intended to specify the full details of the
418+
``specreduce`` package. It will develop separately following the
427419
standard process for developing astropy packages, but this section
428-
outlines *example* functionality expected for these packages.
429-
430-
``specreduce``:
420+
outlines *example* functionality expected for this package:
431421

432422
* Methods for extracting a 1D spectrum from a 2D image of a dispersed spectrum, including boxcar and “optimal” extraction
433423
* Wavelength calibration
434424
* Removal of sky features
435425
* Flux calibration of spectra
436426
* Integration with (but *not* duplication of) 2D image-level reduction steps from packages like `ccdproc <https://github.com/astropy/ccdproc>`_
437427

438-
``specviz``:
439-
* Display a spectrum
440-
* Explore the spectra by zooming in on features or moving to different areas.
441-
*
442-
* Do analysis like line flux measurements (using algorithms provided in `specutils`) or line fitting
443-
* Overlay spectral line lists (including redshift offsets if relevant)
444-
445-
446428

447429
Branches and pull requests
448430
--------------------------
@@ -453,13 +435,11 @@ Implementation
453435
--------------
454436

455437
`specutils <https://github.com/astropy/specutils>`_ already exists in its
456-
github repository, and *part* of the `Spectrum1D` class in this APE has been
457-
implemented there, but will need to be completed if this APE is accepted.
458-
`specreduce <https://github.com/crawfordsm/specreduce>`_
459-
also has an implementation, which can be adapted to use the framework described
460-
here. Similarly, visualization via the `specviz
461-
<https://github.com/spacetelescope/specviz>`_ package will do the same. Of
462-
course, other packages for spectroscopic analysis exist, and hopefully will
438+
github repository, and the `Spectrum1D` class in this APE has been
439+
implemented there. Additional features are in development.
440+
`specreduce <https://github.com/astropy/specreduce>`_
441+
also has an implementation, which has been adapted to use the framework described
442+
here. Of course, other packages for spectroscopic analysis exist, and hopefully will
463443
also be adapted to this framework in due time.
464444

465445

@@ -498,3 +478,7 @@ Decision rationale
498478
------------------
499479
There were extensive discussions with multiple stakeholders undertaken in the process of putting together this APE and it appears as though concensus has been reached. This APE was accepted on Dec 18, 2017.
500480

481+
Previous versions of this APE
482+
-----------------------------
483+
484+
* 2017-12-12 [`DOI <https://doi.org/10.5281/zenodo.1117942>`_] [`GitHub <https://github.com/astropy/astropy-APEs/blob/b544e82ed1942045886c15acd4985ae3ed2ead6d/APE13.rst>`_]

0 commit comments

Comments
 (0)