GUI Updates #1 Joschua Dilly, Martin Spitznagel O MC 25.02.2019 - - PowerPoint PPT Presentation

gui updates 1
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1
slide-2
SLIDE 2

GUI Updates #1

Joschua Dilly, Martin Spitznagel

OMC

25.02.2019 GUI Updates #1 2

slide-3
SLIDE 3

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

slide-4
SLIDE 4

Gui Updates

OMC

25.02.2019 GUI Updates #1 4

slide-5
SLIDE 5

Subsection 1 Beam Selection: Removed Optics

OMC

25.02.2019 GUI Updates #1 5

slide-6
SLIDE 6

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

slide-7
SLIDE 7

Subsection 2 Chose Output Folder Directly

OMC

25.02.2019 GUI Updates #1 7

slide-8
SLIDE 8

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

slide-9
SLIDE 9

Subsection 3 Existing-Data Loading

OMC

25.02.2019 GUI Updates #1 9

slide-10
SLIDE 10

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

slide-11
SLIDE 11

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

slide-12
SLIDE 12

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

slide-13
SLIDE 13

Subsection 4 Model Creation: Cancel Button

OMC

25.02.2019 GUI Updates #1 13

slide-14
SLIDE 14

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

slide-15
SLIDE 15

Subsection 5 External Models

OMC

25.02.2019 GUI Updates #1 15

slide-16
SLIDE 16

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

slide-17
SLIDE 17

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

slide-18
SLIDE 18

Subsection 6 Frequency Chart

OMC

25.02.2019 GUI Updates #1 18

slide-19
SLIDE 19

Frequency Chart

  • New controls added.

OMC

25.02.2019 GUI Updates #1 19

slide-20
SLIDE 20

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

slide-21
SLIDE 21

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

slide-22
SLIDE 22

Plotting Style

Bars (old)

  • Ugly (personal opinion).
  • Stacking lines.
  • Change width ”randomly”.

OMC

25.02.2019 GUI Updates #1 22

slide-23
SLIDE 23

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

slide-24
SLIDE 24

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

slide-25
SLIDE 25

Plotting Style

Points

  • Hover info on markers.
  • Markers directly over frequency.
  • No lines.

OMC

25.02.2019 GUI Updates #1 25

slide-26
SLIDE 26

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

slide-27
SLIDE 27

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

slide-28
SLIDE 28

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

slide-29
SLIDE 29

Resonance Lines

Example

OMC

25.02.2019 GUI Updates #1 29

slide-30
SLIDE 30

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

slide-31
SLIDE 31

Subsection 7 More Chart Features

OMC

25.02.2019 GUI Updates #1 30

slide-32
SLIDE 32

Dragging

  • click-n-drag.

OMC

25.02.2019 GUI Updates #1 31

slide-33
SLIDE 33

Mousewheel zoom

  • Use

to zoom in and out.

  • Zoom-center based on mouse-location

OMC

25.02.2019 GUI Updates #1 32

slide-34
SLIDE 34

Subsection 8 Kickgroup Auto-End-Date

OMC

25.02.2019 GUI Updates #1 33

slide-35
SLIDE 35

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

slide-36
SLIDE 36

Subsection 9 Behind the scenes

OMC

25.02.2019 GUI Updates #1 35

slide-37
SLIDE 37

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

slide-38
SLIDE 38

Subsection 10 Proposed Changes/TODOs

OMC

25.02.2019 GUI Updates #1 37

slide-39
SLIDE 39

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

slide-40
SLIDE 40

Test Multiturn

  • Has not been tested since japc-changes.
  • Should be tested in CCC?

OMC

25.02.2019 GUI Updates #1 39