-
Notifications
You must be signed in to change notification settings - Fork 271
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
EventViewer as part of ctapipe-process tool #2556
base: main
Are you sure you want to change the base?
Conversation
Features I would want (some are already mentioned above):
Another question that came up for me when I was making the Reco display: should we stick with matplotlib for this type of interactive plot, or use Bokeh? The advantage of Bokeh is that it is much faster at interactive drawing, particularly if you want to switch between many CameraDisplays. The disadvantage is is doesn't produce nice PDF output for papers/presentations (it only does PNGs, which are not quite as nice and scalable). Another advantage of Bokeh is that you can use it for all the controls/tabs/etc, and avoid Qt dependencies, and that way a viewer can also be use in a notebook. |
Is that true? I also notice quite a delay when updating the browser based figures / overlays / pixel values using the bokeh viewer. After creating the matplotlib objects, drawing them is quite fast (the camera viewer now creates one display per camera type and just updates the image when telescope / event are changed). |
I think that's more of an issue with how it's implemented in ctapipe: I was able to get very fast camera displays going with essentially realtime image changes, even re-creating all pixel glyphs on each frame ( e.g. with an interactive slider to select the cleaning threshold), but that wasn't using exactly the ctapipe implementation. Mostly it's just that Bokeh is designed for interactive graphics, while matplotlib is more designed towards nice publication-quality rendering.
Yes, it may be fine if that is how it is implemented, and I do generally prefer the nice output of matplotlib. The CameraDisplays were designed to be fast at updating, but not fast to create. I can get about 20 frames per second, though, which isn't bad. With bokeh, it's much more, but perhaps it's not worth the effort. |
This adds a QT based GUI EventViewer that can be started and used to browse through event data using
ctapipe-process -i <file> --viewer
.Add the moment, I only added rudimentary displays of the subarray and of the dl1 intensity image, mainly to test that the general approach works and to gather some early feedback.
I think it should have:
To launch, on this branch make sure to have
pyside6
installed:mamba install pyside6
and then run: