-
Notifications
You must be signed in to change notification settings - Fork 5
GUI Overview
Use the annotated blank GUI below for reference while reading the description of each graphical element. Jump to Example view for a complete view.
-
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 toRun -> 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.
Lists the queued files. Only the immediate parent folder and name of all files are shown.
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.
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.
Used to show images, i.e., frames from a video, reference frame, re-referencing result, retinal trajectory of a stimulus, etc.
Used to show eye motion output in deg as a function time (sec).
Shows the peak of normalized cross-correlation output for each strip. The red line represents the threshold criterion where values above indicate "good" samples.
Shows the percentage motion between successive samples. The red line represents the threshold criterion where values below indicate "good" samples.
Plots the position of stimulus in image coordinates (pixel units).
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.
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.
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.
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.
Here is an example view of the main GUI after running the demo/tsloPipeline.mat
with demo/tslo.avi
video.