Skip to content

GUI Overview

Mehmet Agaoglu edited this page May 3, 2020 · 18 revisions

Use the annotated blank GUI below for reference while reading the description of each graphical element. Jump to Example view for a complete view.

0. Menu Bar

  • File : Allows selection of various types of videos. This operation adds files to a processing queue. Selecting a file via this menu does not mean that file will be processed. You need to select a file in the File Selection panel after adding it to the queue or go to Run -> All Files menu to process it. File menu also allows loading last used list of files.

  • Pipeline : Allows creating a new processing pipeline, or loading/editing/saving an existing one. Also allows loading last used list of files.

  • Run : Runs pipeline for the selected files, or for all queued files.

  • Help : Provides links for documentation, issue reporting, and copyright/author information.

1. File Selection panel

Lists the queued files. Only the immediate parent folder and name of all files are shown.

2. Pipeline panel

Shows the current pipeline. Order matters here. Processing starts from the first module at the top and moves through subsequent modules. To modify the parameters of a module, double-click its name and make changes in the GUI that pops up. To save changes, use the Pipeline menu.

3. Global Flags panel

Allows setting some flags that affects all (or majority of) modules in the pipeline. Also allows easily enabling use of multiple cores or a CUDA enabled GPU on a computer (if available).

Note that not all modules have the capacity to be run using a GPU. In addition, multi-core processing is done by analyzing different files by different cores. In other words, any given file is processed within the same CPU core, and there is no parallelization within a single module.

inMemory option is useful for slightly improving processing speed to avoid writing the output of each module to a new file and reading from this new file in the subsequent module. When enabled, only the output of final module is written to a file. The file name is constructed as usual with keywords of all modules in the pipeline, followed by _inmemory keyword. _inmemory files can also be read into ReVAS using File -> In Memory menu to perform further processing with them.

4. Image panel

Used to show images, i.e., frames from a video, reference frame, re-referencing result, retinal trajectory of a stimulus, etc.

5. Eye motion panel

Used to show eye motion output in deg as a function time (sec).

6. Peak value panel

Shows the peak of normalized cross-correlation output for each strip. The red line represents the threshold criterion where values above indicate "good" samples.

7. Motion amount panel

Shows the percentage motion between successive samples. The red line represents the threshold criterion where values below indicate "good" samples.

8. Stimulus location panel

Plots the position of stimulus in image coordinates (pixel units).

9. Blink/bad frames panel

Plots various image statistics for all frames of a video, along with some markers to indicate blink/bad frames. A custom algorithm which uses these statistics to detect bad frames (where participants blinked or image quality degraded significantly for some reason). Detected frame numbers are propagated across the pipeline to save processing time.

10. Log

Displays a log all interactions by the user and processes done within a pipeline (while running). Double clicking the log opens up a larger window for more convenient review of the history.

11. Run button

Runs the current pipeline for the selected files in File Selection panel. To run the pipeline for all files in the File Selection panel, use Run -> All Files menu.

After running a pipeline by pressing the Run button, its appearance and behavior change. Now it becomes an Abort button, and the user can press that to prematurely stop a running pipeline. Some modules have for-loops with long loop-times. There are checks within those loops for premature abort operation, however, depending on a single loop time of a module, the Abort button may not act immediately.

12. Status bar

When the process is started by pressing the Run button, two orange lines appear in the Status bar, bottom one for indicating where we are in the list of selected files and upper one for indicating where we are in the pipeline for the current file that is being processed.

Example view

Here is an example view of the main GUI after running the demo/tsloPipeline.mat with demo/tslo.avi video.

Clone this wiki locally