Skip to content

Filter scan display with plotselect

Closes #1725 (closed)

This MR provides a filter for displayed channels of the scan shell display. It uses plotselect.

  • plotselect
    • plotselect selection is now stored in ScanDisplay.displayed_channels
    • Allow to use plotselect(None) to remove everything
  • shell scan display
    • Allow to filter the columns using ScanDisplay.displayed_channels
    • Allow to update the filters during a scan
    • ScanDisplay.enable_scan_display_filter can be used to disable this new behavior
  • shell scan display tests
    • Split each scan tests individually (i did not touched anything to the tests themselfs)

plotselect to change the selection

plotselect("axis:sz", "axis:sy")

Capture_d_écran_de_2020-06-11_16-50-40

An option to reset plotselect

plotselect(None)
amesh(sy,-.75,.75,5,sz,-.75,.75,5,.01,fluo_diode)

Capture_d_écran_de_2020-06-11_16-50-43

The selection can be changed during the scan

DEMO_SESSION [1]: import gevent                                                                                                    
             ...:                                                                                                                  
             ...: def changeplotselect():                                                                                          
             ...:     sleep(0.5)                                                                                                   
             ...:     plotselect(None)                                                                                             
             ...:     sleep(0.5)                                                                                                   
             ...:     plotselect("axis:sy")                                                                                        
             ...:     sleep(0.5)                                                                                                   
             ...: def run():                                                                                                       
             ...:     gevent.spawn(scan)                                                                                           
             ...:     gevent.spawn(changeplotselect)                                                                               
             ...: def scan():                                                                                                      
             ...:     amesh(sy,-.75,.75,5,sz,-.75,.75,5,.01,fluo_diode)                                                            
             ...: run()                                                                                                            

Capture_d_écran_de_2020-06-11_16-50-26

Edited by Valentin Valls

Merge request reports