UIUC people meet in Loomis
Draft of the Visualization Concept of Operations document. (MS Word)
Access to, and formatting (single extension, with and without overscan) of sample images.
Header format of single-extension images.
It is final exam time at UIUC. Students will not attend the meeting.
Goal: By end of next week, have code running at SLAC and BNL. to generate images. It’s partially functional already (with six monitors). @marshall will update the status next Friday.
SLAC closes for a week during the Christmas - New Year period.
In any case, Tony J has a conflict next week.
What (and how) to display zoomed-out images may present a difficult problem. We need to discus:
What we want.
What Firefly can do.
The UIUC students will reappear next Thursday, and will be available throughout the break.
"When zoomed out, FF does not merge pixels"
SUIT is going to explore using HEALPix format to provide multi-resolution images. It could help in providing better pixel values at data generation time.
"Display Pixel table"
Does this mean that you want the pixel values displayed as a table?
"User can specify whether or not the overscan pixels will be displayed"
Are the over scan pixels specified in the FITS header?
Firefly supports asinh stretch now.
Zoom out: For HW diagnostics, we may want the displayed “pixel” to be the result of an algorithm that is run on each pixel region (e.g., if any pixel is bad, display the region as bad).
Pixel table: I think Paul wants to be able to see a table of pixel values (perhaps in the selected ROI).
Overscan: The FITS header specifies the overscan pixels. @tony_johnson’s utility will prepare images with and without them.
Wasn’t able to make the meeting. The “algorithm” for merging pixels is good, but these things need to be precomputed in order to be interactive, and that precomputation could mean that the user can’t select the pixel filter for zooming out. It might be a good opportunity for some novel research to develop a block-based multires image representation that supported more flexible filtering. For example, instead of just storing the mean value for low-res image pixels, we could store mean plus some additional parameters indicating the variance of full-res pixels in the region, so we could quickly access the max, min, variance or some other aggregate characteristic of the fullres pixel region represented by a single lowres pixel.
Below please find my comments to “Visualization Concept of Operation” doc.
Visualization Architecture (Firefly item)
For people who are not familiar with Firefly, I would say that Firefly provides visualization tools, like image display and manipulation and an interface to extend its functionality on both client and server. Then it will be clear how UIUC written code (FE user interface and BE analysis code) is related to Firefly.
"When zoomed out FF does not merge pixels…It degrades HW diagnostics capability"
Adding to Xiuqin’s comment. Right now, you can use calculated at BE regions to mark bad spot using current zoom level as a parameter driving the bin size.
"Note that the Firefly architecture requires that image display commands be initiated in the FE, so the URL of the new image must be passed back to the FE."
This is not true. You can ask Firefly to display an image produced by a python task on the Back End. If you allow Firefly to read from the directory where you produce an image, Firefly will just access the file. (See Example 1. Loading an image produced by a python task.)
Firefly accesses images from the file system routinely. It’s in the base of its architecture: firefly.showImage() command takes image search parameters and displays the image located somewhere in the file system.
“multi-extesion” -> multi-extension
We can do it, if users absolutely want this feature and it’s high on the priority list. People should just understand that the zoom is not continuous, zoom levels are predefined. I would say “FF does not do it.”
@tatianag, I fixed the three that are easy to do.
- The desired zooming behavior will require some discussion.
- We will study controlling some image display from the back end
I have created GitHub issues.