Conversation
…endered in different coordinates
…nto quicklook_viewer pulling rebase back in
allow slitwavelength.py to display rms buffer if have
profxj
left a comment
There was a problem hiding this comment.
Thanks max!
I think my comments/requests are pretty bening
so holler if you think otherwise.
| #. The Plugin is launched on the right-hand side of the screen. Select your | ||
| instrument from the dropdown at the top. | ||
| #. In the "Raw Data" table, navigate to where the raw science files are stored. | ||
| #. In the "Reduced Calibrations" table, navigate to where the pre-processed |
There was a problem hiding this comment.
As we discussed, this needs some massaging. Or, I should say, the code doesn't work if the user chooses Calibrations directly.
| #. Pick your calibrations. If PypeIt was able to detect a matching configuration | ||
| amongst the calibrations in the directory you selected, it will pre-select it for | ||
| you. Then, press "Render Slits" to draw the slits on top of the raw image. Press | ||
| "Show Wavelengths" to display wavelength information on top of the raw image (as |
| you hover over the image, the wavelength will be shown in the lower left of the | ||
| screen). | ||
| #. Select the slit you would like to process either by clicking directly on it, | ||
| or selecting it from the drop-down menu next to "Reduce Slit." |
There was a problem hiding this comment.
Comment on what one should see. I saw one orange trace. It then turned cyan
| [DEFAULT] | ||
| redux_path = /data/redux | ||
| raw_path = /data/raw | ||
| reduced_path = /data/reduced |
There was a problem hiding this comment.
I realized (late in the game) to set this manually.
If that is the standard move, add that to the HOWTO steps above.
There was a problem hiding this comment.
Related: should the path be exposed in the
"Reduction Control" section?
| ================== | ||
|
|
||
| [PIC HERE: Annotated screenshot labelling the four main UI sections: | ||
| instrument selector, Raw Data frame, Reduced Calibrations frame, and |
There was a problem hiding this comment.
Can the fonts for each section be Bold or a different color or something to distinguish them as Section headings?
| class LRISBlue(Instrument): | ||
| """Keck LRIS Blue channel — multi-slit, 2-detector mosaic. | ||
|
|
||
| Untested! |
| @@ -0,0 +1,2608 @@ | |||
| """ | |||
There was a problem hiding this comment.
I scanned through the entire module but didn't comment; largely because I'm not Ginga plug-in savvy
I will make one plea - in any try/except clause, try to make sure to log the failure in some depth. I'll also note my logging didn't seem to work (it generated 0kb file). But I'm rather sure that was user error
| @@ -0,0 +1,303 @@ | |||
| from __future__ import annotations | |||
There was a problem hiding this comment.
comment on what this module is for
| ------- | ||
| None | ||
| """ | ||
| top = Widgets.VBox() |
There was a problem hiding this comment.
Kindly sprinkle in a number of Inline comments
thanks!
| "scikit-learn>=1.2", | ||
| "IPython>=8.0.0", | ||
| "ginga>=5.5.1", | ||
| "ginga==5.5.1", |
There was a problem hiding this comment.
is this the only ginga allowed?
Adds a Quicklook GUI to PypeIt.
The changes are mostly isolated to
/pypeit/display/with a few exceptions:pypeit/loggerwas changed to fix a bug where repeated invocations of pypeit's logger from the same process would not carry through a user's requested log file. This was a simple "move that block of code up a but" fix.pypeit/scripts/ql.pywas changed to accept manual extraction info as a command line argument, and pass that along appropriately.pyproject.tomlwas changed to add the HTTP packages needed to handle a remote backend as optional dependencies (i.e. they are not installed by default).The overall architecture of the plugin is described in the docstrings of
qlview.pyand at the bottom of the readthedocs page. Quick overview:ui.pyhas all the widget stuffstate.pyhas a small struct-like class for keeping GUI state neatfile_browser.pyhas the logic for file sorting/displayslit_overlay.pydraws slits over raw images and helps with clicking callbacks and the like. It's mostly stolen from show2dspec, but adapted to use Ginga slightly differently.backend.pyprovides an "abstract" interface for talking to a filesystem and pypeit. There are currently two implementation, a local backend that passes through to whatever machine Ginga is running on, and an HTTP backend that allows PypeIt and the science files to be running on another machine on the network (which will be what Keck uses operationally, eventually). I have not tested the HTTP server much at all, that's on the to-do list.servershas the HTTP server itself in it. This isn't really related to "display" per se, but there's no where else that it seemed to fit in PypeIt.qlview.pyhas the meat of the plugindisplay.pywas updated to add this plugin. I went for Eric's show1dspec implementation approachA readthedocs page has been started at
pypeit/doc/quicklook_viewer.rst, I will be adding to it over the next few days (filling out sections and providing screenshots). This page was added to the end of the "Reference" section for now, it can be moved somewhere more fitting if someone has a better idea. I tried to be thorough with docstrings, many are Claude generated, but most are mine (Claude's are probably better...).Items on my to-do list:
I am still making changes to this, but the core of the plugin is basically done and I can get feedback while adding more instruments/fixing minor stuff.
What Feedback I Need:
Generally, if people who are already familiar with PypeIt would be most helpful right now (so that I don't have to disentangle "I wish pypeit did ____" from "I wish the GUI did ____" myself) could play around with the GUI and report bugs/wanted features, that would be great. I would use a multislit dataset from DEIMOS for now - it has the highest density of slits (i.e. most places for it to go wrong) and also yields cleaner outputs than a single IR AB pair will. MOSFIRE is also a reasonable choice.
I have been using this GUI with Keck SAs and observers for a while, so the general shape of things seems OK at the moment.
There was a substantial refactor in February '26, so the commit history beyond that is a bit cluttered, apologies.