desihub / desihub/desispec

objlist from frame

Open
#690 1 comment 0 reactions 0 assignees View on GitHub
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.

![ql-snr-r0-00003577](https://user-images.githubusercontent.com/3998093/44670516-bc7a6200-a9d7-11e8-8cfb-86f423d74ba9.png)

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.