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 More Chart Features Kickgroup Auto-End-Date Behind the scenes Proposed Changes/TODOs O MC 25.02.2019 GUI Updates #1 3
Gui Updates O MC 25.02.2019 GUI Updates #1 4
Subsection 1 Beam Selection: Removed Optics O MC 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). O MC 25.02.2019 GUI Updates #1 6
Subsection 2 Chose Output Folder Directly O MC 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 O MC 25.02.2019 GUI Updates #1 8 *including chosen machine folder (e.g. LHCB1 ).
Subsection 3 Existing-Data Loading O MC 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. O MC 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! ⇒ ⇒ O MC 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). O MC 25.02.2019 GUI Updates #1 12
Subsection 4 Model Creation: Cancel Button O MC 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. O MC 25.02.2019 GUI Updates #1 14
Subsection 5 External Models O MC 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). O MC 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. O MC 25.02.2019 GUI Updates #1 17
Subsection 6 Frequency Chart O MC 25.02.2019 GUI Updates #1 18
Frequency Chart • New controls added. O MC 25.02.2019 GUI Updates #1 19
Frequency Chart • Controls for Resonance lines . • Plotting style options • Export Chart to PNG (available for any chart). O MC 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. → → O MC 25.02.2019 GUI Updates #1 21
Plotting Style Bars (old) • Ugly (personal opinion) . • Stacking lines. • Change width ”randomly”. O MC 25.02.2019 GUI Updates #1 22
Plotting Style Stems (new default) • Hover info on head-marker. • Lines directly connected with frequency. • Constant width. O MC 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. O MC 25.02.2019 GUI Updates #1 24
Plotting Style Points • Hover info on markers. • Markers directly over frequency. • No lines. O MC 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 O MC 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! O MC 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) O MC 25.02.2019 GUI Updates #1 28
Resonance Lines Example O MC 25.02.2019 GUI Updates #1 29
Resonance Lines Q y Q x nat. Q y nat. Q x b5 a5 (custom) (custom) Example (labels added manually in postprocessing) O MC 25.02.2019 GUI Updates #1 29
Subsection 7 More Chart Features O MC 25.02.2019 GUI Updates #1 30
Dragging click-n-drag . • O MC 25.02.2019 GUI Updates #1 31
Mousewheel zoom • Use to zoom in and out. • Zoom-center based on mouse-location O MC 25.02.2019 GUI Updates #1 32
Subsection 8 Kickgroup Auto-End-Date O MC 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) . → → → O MC 25.02.2019 GUI Updates #1 34
Subsection 9 Behind the scenes O MC 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, ...) . O MC 25.02.2019 GUI Updates #1 36
Subsection 10 Proposed Changes/TODOs O MC 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) . O MC 25.02.2019 GUI Updates #1 38
Test Multiturn • Has not been tested since japc-changes. • Should be tested in CCC? O MC 25.02.2019 GUI Updates #1 39
Recommend
More recommend