Giter VIP home page Giter VIP logo

eo-plotsdisplays's People

Contributors

ellongley avatar richardxdubois avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

eo-plotsdisplays's Issues

investigate dev sensor definition for Corner Rafts for heatmap use

It appears the sensor names are different in dev than prod. There is only one CR-0002 EO run and it's in dev. Even if the run is only used for the emulation config setting up a user module, the heatmap code is unhappy when checking sensor names. Run 6633D can be used for debugging.

add user control of RangeSlider limits

There are cases where being able to reproducibly set the limits, and also to cut out guard values (eg setting bad channels to -1).

This comes up in two places - manually with perhaps 3 buttons - to set min, max and reset to default; and allow the user module hook function to set them. Presumably the reset button would have no effect on the user module use case, since the module would reset them.

Fix Long Raft Names

Use width parameter in DataTable to ensure that column width accommodates all raft names.

odd heatmap slider lower limit behaviour

Bo reports that if there are negative values in the test list (he is in the user module case) and he moves the lower range slider limit above -1 (that's his smallest value), the limit snaps to zero. But he says he has other values between (-1,0). This affects the histogram most visually.

Note that the histogram limits are the range limits, since they are applied to the test list. np.histogram then finds the bin limits dynamically.

Odd heatmap slider upper limit behaviour

Bo reports:

"oh, another issue. for this example, my data is in [-1 25]
I set the min and max to [23 24]
The slider shows up with a full range of [-1 24], and the min and max at correct positions: [23 24].
after the startup, I can drag the min to the left, but cannot drag the max to the right.."

The slider has limits on both max slider value and current range. Maybe these aren't being set right.

User Manual

To go into confluence but possibly include a link to the page in this repo.

Try out bokeh 1.0

A major release of bokeh is now on the street. Should try it sometime.

Clean up serveRenderFP to allow use of command line arguments

The idea would be to clean up the main so that users don't need to edit it. They can get their way via CL arguments.

"If you would like to pass command line arguments to Bokeh applications, you can pass the --args option as the LAST option on the command line:

bokeh serve app_script.py myapp.py --args foo bar --baz

Everything that follows --args will be included in sys.argv when the application runs. In this case, when myapp.py executes, the contents of sys.argv will be ['myapp.py', 'foo', 'bar', '--baz'], consistent with standard Python expectations for sys.argv."

Hopefully this will work with pareargs!

Dropdown for User Hook

Create dropdown for enabling, disabling and setting the user hook. Look into how the user code could be refreshed without restarting the app (if possible!)

List of remnant feature requests after first big commit to master

A list of potential features still needed in the heatmap tool:

  • user manual

  • add corner rafts

  • check ordering of amps in the heatmap geometry (it looks inverted . ie matches LCA-13381, which is inverted wrt heatmap currently)

  • check the view direction - the heatmap is currently the mirror image of LCA-13381; but it matches the figure Aaron showed in the I&T bootcamp meeting

  • sort out brushing of heatmap with the test quantity histogram. Would be great if np.digitize allowed simple brushing via self.source's ColumnDataSource.

  • create dropdown for enabling, disabling and setting the user hook. Look into how the user code could be refreshed without restarting the app (if possible!)

  • add conditional menu to select raft or CCD in single raft or CCD modes to not force users to go back to full FP mode to select a different device. The menus should only appear when those modes are set.

  • figure out how to read the emulation config file from any location (ie not just CWD).

  • can we cache the FP version of the ColumnDataSource upon return from other modes? It's slow to build from scratch. Though I suspect we have to eat that time every time we update the test quantity, so may not be a big win.

  • try out bokeh server on SLAC JupyterLab

  • install at SLAC (decide where)

  • include output pngs of plots in eotest format

  • make sure we can use runs that do not include all tests

  • plotGoodRaftRuns: use width parameter in DataTable to ensure that column width accommodates all raft names

  • plotGoodRaftRuns: set up cron job to update pages hosted at SLAC in group (not personal) web space

  • set up meeting with Aaron to review feature requests and path forward

fix reload of user module

The current implementation of the user module text box uses on_change to trigger the callback. One can't just hit return to activate the button. I've posted a query to the bokeh forum, but it may be we need a dedicated reload button.

Create utility to make report-ready plots for full focal plane BOT testing

I have committed a first shot at a class to take a run number, test name and output file spec and write a png file with the full focal plane-wide plot of the EO test result. It uses get_EO_analysis_results to get the EO test values. The script is plotEOtest_results.py currently on the reports_plots branch of this repo.

It will need an overplot of the test spec (from LCA-57-A; Example is just for total_noise) and will need some nicer formatting to block off raft and sensor slots, as well as tick numbering on the x-axis.

It could be we want to always have a full 9-raft wide plot and pad the empty slots with zeros.

The plot is from the simulated 2-raft run in dev, 6384D.

gain-6384d

Revive button to set/reload the user hook

Add a button to either set the user hook module, or allow the user to reload it (eg after they make changes to it). We should also rethink the arguments to the hook to ensure the user has useful information to work from.

create a heatmap startup mode

Think about allowing firing up the heatmap with no initial run selected. Just show Exit, links and Run buttons. Could be done by adding a startup boolean and checking on entry to render if the run number is None. Then set the interactors list as above and flip the startup flag.

allow user to define test menu items for their module

Bo has a use case where his m5 optics studies produce 6 quantities. He'd like to be able to set them. Maybe we can add an optional user module pull down menu that they can set the list of. Or add to the existing menu.

Handling dev and prod database access?

Since I&T has some runs in the dev eTraveler database, there will be some temptation to apply the heatmap there. Worse, there could be a mix of dev and prod runs in emulation mode.

At present the tools are set up for prod use. There is no fundamental problem, but invocation of every api tool would have to be switchable between dev and prod.

Optimize button locations

We're getting a fair number of buttons. Take a look at improving the position, including a vertical column on the left - hopefully there is a way to set the button width.

Add conditional menu to select raft and CCD

Add conditional menu to select raft or CCD in single raft or CCD modes to not force users to go back to full FP mode to select a different device. The menus should only appear when those modes are set.

Update for Corner Raft

Steps along the way to supporting CR tests can go here. datacat-utilities has been updated to handle CR results.

Sort out Brushing

Change the brushing feature for the heatmap and test quantity histogram to a callback that adjusts the values highlighted between the two plots in response to user input such as a click.

Check Timing of Caching FP Version

Check if it is possible/ saves time to cache the FP version of the ColumnDataSource upon return from other modes. It's slow to build from scratch but we have to eat that time every time we update the test quantity, so may not be a big win.

Change Line Thickness

It was suggested that it would be easier to see the colors on the heatmap if the lines delineating the amplifiers were thinner. Additionally it would be good to have a different ( thicker ) line to show the CCD / Raft boundaries.

Change the View Direction

The heatmap is currently the mirror image of LCA-13381 and needs to be changed to match this document. For both this item and issue #6 can adjust the arrangement by swapping the order of the items (rafts, amps), no changes to coordinates needed.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.