objlist from frame
- Dominant language
- Python
- Stars
- 42
- Forks
- 26
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 18
Description
On developing QA and intending to separate the plotting of
metrics by granular object type (e.g. ELG, LRG, QSO), I am finding
myself confused on the current convention. Here is example
output for the 18.7 mini-test:
In [1]: from desispec.io import read_frame
In [2]: frame = read_frame('frame-b0-00000021.fits')
In [3]: objlist = set(frame.fibermap["OBJTYPE"])
In [4]: objlist
Out[4]: {'SCIENCE', 'SKY', 'STD'}
i.e. no granularity in the fibermap.
But the QA figure that @rstaten shared with me the other day (attached)
suggests the ELG, LRG, typing might can come from the fibermap['OBJTYPE'] items.
That is, looking at line 2057 of qa_quicklook.py
I can see that the Calculate_SNR class is grabbing objlist in the
same manner as above. So I find myself confused.
Anyhow, I am mainly seeking guidance from @sbailey on the going-forward approach
to grabbing granular object types. I suspect the answer is to use the
object flags, but my belief is that the QL QA is not yet adopting this approach.

Contributor guide
No contributing guide indexed for this repository
Research direction
Start at line 2057 of qa_quicklook.py and inspect the Calculate_SNR class, especially how it builds objlist from fibermap['OBJTYPE']. Compare that path with the object flags and the attached QA example, then confirm the intended source for granular types and document the expected QA behavior before making changes.
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
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100