GUI Updates #1 Joschua Dilly, Martin Spitznagel O MC 25.02.2019 - - PowerPoint PPT Presentation
GUI Updates #1 Joschua Dilly, Martin Spitznagel O MC 25.02.2019 - - PowerPoint PPT Presentation
GUI Updates #1 Joschua Dilly, Martin Spitznagel O MC 25.02.2019 GUI Updates #1 2 Gui Updates Beam Selection: Removed Optics Chose Output Folder Directly Existing-Data Loading Model Creation: Cancel Button External Models Frequency Chart
GUI Updates #1
Joschua Dilly, Martin Spitznagel
OMC
25.02.2019 GUI Updates #1 2
Gui Updates Beam Selection: Removed Optics Chose Output Folder Directly Existing-Data Loading Model Creation: Cancel Button External Models Frequency Chart More Chart Features Kickgroup Auto-End-Date Behind the scenes Proposed Changes/TODOs
OMC
25.02.2019 GUI Updates #1 3
Gui Updates
OMC
25.02.2019 GUI Updates #1 4
Subsection 1 Beam Selection: Removed Optics
OMC
25.02.2019 GUI Updates #1 5
Beam Selection
- Removed Optics selection, as only External was possible anyway.
- Fix: Not much to fix, as it was not really used afterwards.
- New behaviour: New model loading functionality (see Section 5).
OMC
25.02.2019 GUI Updates #1 6
Subsection 2 Chose Output Folder Directly
OMC
25.02.2019 GUI Updates #1 7
Choose Output Folder Directly
Old behaviour: Create sub-folder by date in given output-folder. → → → Inside date-folder: Create folder structure* for Models, Measurements, Results. New behaviour: Does the given output-folder contain folder structure* for Models, Measurements, Results? → → → Yes: Use these folders. → → → No: Fall back to old behavior. Advantage:
- Organize data by project and not by date (see also Section 3)
- Find results quicker
- Does not break old behaviour
*including chosen machine folder (e.g. LHCB1).
OMC
25.02.2019 GUI Updates #1 8
Subsection 3 Existing-Data Loading
OMC
25.02.2019 GUI Updates #1 9
Existing-Data Loading
Problem:
- Gui crashes
- User wants to resume work from other day
- User wants to switch between different measurements
Solution so far: Re-import results/measurements manually → → → ’21-07-09 import 16-17-17 import 15-01-41 import ...’ ⇒ ⇒ ⇒ Time wasted, data duplication, long folder names
New Solution: Automated existing-data loading.
OMC
25.02.2019 GUI Updates #1 10
Existing-Data Loading
On start:
- Checks Measurements-, Models- and Results-Folders for existing
data.
- Imports this data into gui (does not modify/copy/rename files).
- Only imports analyzed data, no data import into BPM panel (due
to memory concerns).
⇒ ⇒ ⇒ Works well with choosing output folder directly!
OMC
25.02.2019 GUI Updates #1 11
Existing-Data Loading
Further Changes:
- All imports, also manual ones, are using the same, new
ExistingFilesLoader class. (before: code duplications; code spread over packages; import-code directly in package)
- AutomaticCorrectCoupleDy and AutoSbS are only run on
imports, if their output does not already exist in imported folder. (before: were always run) Disadvantage:
- Need to rename folder or choose different output folder if you
do not want to import files (might force you to give your folders meaningful names).
OMC
25.02.2019 GUI Updates #1 12
Subsection 4 Model Creation: Cancel Button
OMC
25.02.2019 GUI Updates #1 13
Model Creator
- Cancel button finally works, even if there is no models present.
- Problem: Was stuck in a loop, when no models present.
- New behaviour: Create new model window does not show up
- automatically. Model Selection does at the beginning. You can
choose to create or load one.
OMC
25.02.2019 GUI Updates #1 14
Subsection 5 External Models
OMC
25.02.2019 GUI Updates #1 15
Load External Models
- New button Add External to add existing models to the list.
- Chosen model is handled by new model loader (see next slide).
OMC
25.02.2019 GUI Updates #1 16
Load External Models
- Problem: Models were only sym-linked.
- New behaviour: Dialog appears whenever an external model is
- found. (Unified code)
- By using Add External feature.
- Found linked model, when importing data via +.
- Found linked model, when loading data on startup.
- Link Model: Adds a symlink to the Model Folder.
- Copy Model: Copies the model to the Model Folder.
The copy function is necessary, where writing access is not available in the original location.
OMC
25.02.2019 GUI Updates #1 17
Subsection 6 Frequency Chart
OMC
25.02.2019 GUI Updates #1 18
Frequency Chart
- New controls added.
OMC
25.02.2019 GUI Updates #1 19
Frequency Chart
- Controls for Resonance lines.
- Plotting style options
- Export Chart to PNG(available for any chart).
OMC
25.02.2019 GUI Updates #1 20
Plotting Style
- Bar charts were stacking lines.
→ → → Stem-Chart style requested.
- Stem-Renderer were manually implemented.
- More renderers were already defined.
→ → → Added, for personal preference.
OMC
25.02.2019 GUI Updates #1 21
Plotting Style
Bars (old)
- Ugly (personal opinion).
- Stacking lines.
- Change width ”randomly”.
OMC
25.02.2019 GUI Updates #1 22
Plotting Style
Stems (new default)
- Hover info on head-marker.
- Lines directly connected with frequency.
- Constant width.
OMC
25.02.2019 GUI Updates #1 23
Plotting Style
Lines (with points)
- Hover info on markers.
- Markers directly over frequency.
- Problem: Too many lines, when multiple files/bpms selected.
OMC
25.02.2019 GUI Updates #1 24
Plotting Style
Points
- Hover info on markers.
- Markers directly over frequency.
- No lines.
OMC
25.02.2019 GUI Updates #1 25
Resonance Lines
- Add resonance lines to frequency spectrum.
- Lines are always behind spectrum.
- Controls:
- Activate/Deactivate
- Change tune source
- Specify order
- Add custom lines
OMC
25.02.2019 GUI Updates #1 26
Resonance Lines
Sources:
- Gui: from BPM panel.
- Model: from loaded model.
- Measured: from currently selected measurement.
! Only available sources are shown!
OMC
25.02.2019 GUI Updates #1 27
Resonance Lines
Add Lines:
- Add custom lines
- Easily remove lines added
- Add label to lines (shown in hover-info)
OMC
25.02.2019 GUI Updates #1 28
Resonance Lines
Example
OMC
25.02.2019 GUI Updates #1 29
Resonance Lines
a5 b5 nat.Qy
(custom)
nat.Qx
(custom)
Qy Qx Example (labels added manually in postprocessing)
OMC
25.02.2019 GUI Updates #1 29
Subsection 7 More Chart Features
OMC
25.02.2019 GUI Updates #1 30
Dragging
- click-n-drag.
OMC
25.02.2019 GUI Updates #1 31
Mousewheel zoom
- Use
to zoom in and out.
- Zoom-center based on mouse-location
OMC
25.02.2019 GUI Updates #1 32
Subsection 8 Kickgroup Auto-End-Date
OMC
25.02.2019 GUI Updates #1 33
Kickgroup Auto-End-Date
- Problem: Usually set date two times to find kickgroup.
- New behaviour: End time deactivated by default.
→ → → Shows Kickgroups until end of day. → → → Activate checkbox to set end-time manually (like in good old times).
OMC
25.02.2019 GUI Updates #1 34
Subsection 9 Behind the scenes
OMC
25.02.2019 GUI Updates #1 35
Behind the scenes
Paths:
- Problem: Paths were strings
(no easy existing check, trailing ’/’ problem).
- Fix: Paths converted to java.io.File
(implements appending, checking, parent, os-independence, ...).
External Paths:
- Problem: External paths were scattered in the code
(to BetaBeat.src, Fill-Data, ...).
- Fix: Gathered in ExternalPathsCollection.
(Reusable, quick to find, ...).
OMC
25.02.2019 GUI Updates #1 36
Subsection 10 Proposed Changes/TODOs
OMC
25.02.2019 GUI Updates #1 37
Move Models Folder
(a) old (b) new
- Move models folder into Machine Folder (i.e. LHCB1).
- Easy fix (one line of code).
- Has been tested locally for many months.
- Need to do for Multiturn as well
→ → → Martin already implemented using folder structure from app-beta-beating. (Not tested as app-beta-beating has not been deployed yet).
OMC
25.02.2019 GUI Updates #1 38
Test Multiturn
- Has not been tested since japc-changes.
- Should be tested in CCC?
OMC
25.02.2019 GUI Updates #1 39