BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

82
User Manual 1 BioMOBIUSUser Manual TRIL Centre's BioMOBIUS™ Research Platform: an Open, Shareable Software and Hardware System Note: „BioMOBIUS™‟ in this document refers to the entire software system for the creation of BioMOBIUS™ applications, and includes the EyesWeb Graphical Development Environment tool for creating applications (also known as patches), the Graphical User Interface development tool (to create user friendly GUI frontends for the developed patches/applications), the block libraries, catalogs, etc. The BioMOBIUS™ platform also contains hardware components; these are not included in the scope of this document. For information on the hardware components please refer to the hardware section of the BioMOBIUS™ Website: biomobius.trilcentre.org Note: BioMOBIUS™ builds on the EyesWeb initiative by the University of Genoa. Many of the technical details of BioMOBIUS™ reflect those of the EyesWeb system. Version: 2.3

description

A documentation developed by the Tril-Center for the BioMobius platform (http://biomobius.trilcentre.org). Since that platform is based on EyesWeb and EyesWeb Mobile, most of the documentation can be applied to EyesWeb.http://forum.eyesweb.org/viewtopic.php?f=24&t=559

Transcript of BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

Page 1: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 1

BioMOBIUS™ User Manual

TRIL Centre's BioMOBIUS™ Research Platform: an Open, Shareable

Software and Hardware System

Note: „BioMOBIUS™‟ in this document refers to the entire software system for the creation of BioMOBIUS™ applications, and includes the EyesWeb Graphical Development Environment tool for creating applications (also known as patches), the Graphical User Interface development tool (to create user friendly GUI frontends for the developed patches/applications), the block libraries, catalogs, etc.

The BioMOBIUS™ platform also contains hardware components; these are not included in the scope of this document. For information on the hardware components please refer to the hardware section of the BioMOBIUS™ Website:

biomobius.trilcentre.org

Note: BioMOBIUS™ builds on the EyesWeb initiative by the University of Genoa. Many of the technical details of BioMOBIUS™ reflect those of the EyesWeb

system.

Version: 2.3

Page 2: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 2

Table of Contents

1.1 OVERVIEW OF THE USER MANUAL ............................................................................................. 6

1.1.1 WHAT IS IT? ....................................................................................................................................... 6 1.1.2 STRUCTURAL MODEL ........................................................................................................................ 6 1.1.3 SUPPORTING DOCUMENTATION ......................................................................................................... 6

1.2. OVERVIEW OF BIOMOBIUS............................................................................................................ 8

1.2.1 WHAT IS BIOMOBIUS™? ................................................................................................................. 8 1.2.2. WHAT DOES BIOMOBIUS™ CONSIST OF? ....................................................................................... 8 1.2.3 HOW IS BIOMOBIUS™ USED TODAY? .............................................................................................. 8

1.3. ARCHITECTURE ...............................................................................................................................12

1.3.1 HIGH LEVEL ARCHITECTURE OF BIOMOBIUS .................................................................................12 1.3.2 COMPONENT ARCHITECTURE............................................................................................................12

1.3.2.1 Patches .....................................................................................................................................12 1.3.2.2 Blocks .......................................................................................................................................13

1.3.3 APPLICATION DEVELOPMENT ENVIRONMENT ARCHITECTURE .........................................................14 1.3.3.1 Wizards ....................................................................................................................................14 1.3.3.2 EyesWeb Graphical Development Environment (GDE) ..........................................................14 1.3.3.3 GUI Designer ...........................................................................................................................14

1.4 INSTALLATION ..................................................................................................................................16

1.4.1 PRE-REQUISITES FOR INSTALLATION ................................................................................................16 1.4.2 INSTALLATION ..................................................................................................................................16

1.4.2.1 Step 1 ........................................................................................................................................16 1.4.2.2 Step 2 ........................................................................................................................................17 1.4.2.3 Step 3 ........................................................................................................................................17

2.1 THE EYESWEB GRAPHICAL DEVELOPMENT ENVIRONMENT ...........................................19

2.1.1 THE CATALOG VIEW.........................................................................................................................20 2.1.2 THE PROPERTIES VIEW .....................................................................................................................22

2.1.2.1 Params Sheet ...........................................................................................................................23 2.1.2.2 Appearance Settings .................................................................................................................24 2.1.2.3 Signature Settings ....................................................................................................................24 2.1.2.4 Scheduling Settings ..................................................................................................................24 2.1.2.5 Block-specific Settings .............................................................................................................24

2.1.3 DESCRIPTION SHEET .........................................................................................................................26 2.1.4 THE PATCH VIEW .............................................................................................................................28

2.1.4.1 Dragging a Block onto the Patch View ....................................................................................28 2.1.4.2 Status ........................................................................................................................................28

2.1.5 CONNECTING BLOCKS ......................................................................................................................29 2.1.6 MESSAGE CONSOLE VIEW ................................................................................................................29 2.1.7 OTHER VIEWS ...................................................................................................................................30

2.1.7.1 Status Bar .................................................................................................................................30 2.1.7.2 Navigator .................................................................................................................................31 2.1.7.3 Open File Tabs .........................................................................................................................31

2.1.8 THE MENU BAR ................................................................................................................................32 2.1.8.1 The File Menu ..........................................................................................................................32 2.1.8.2 The Edit Menu ..........................................................................................................................32

2.1.8.2.1 Order ................................................................................................................................................ 33 2.1.8.2.2 Design .............................................................................................................................................. 33 2.1.8.2.3 Orientation ....................................................................................................................................... 33 2.1.8.2.4 Rotate ............................................................................................................................................... 33 2.1.8.2.5 Locate ............................................................................................................................................... 33

Page 3: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 3

2.1.8.2.6 Activate ............................................................................................................................................ 33 2.1.9 THE VIEW MENU ..............................................................................................................................34 2.1.10 THE SYSTEM MENU ........................................................................................................................34 2.1.11 THE TOOLS MENU ..........................................................................................................................35

2.1.11.1 Profiling .................................................................................................................................35 2.1.11.2 Kernel Properties ...................................................................................................................36 2.1.11.3 External Tools ........................................................................................................................36 2.1.11.4 Options ...................................................................................................................................36

2.1.12 THE WINDOW MENU ......................................................................................................................37 2.1.12.1 Windows .................................................................................................................................38 2.1.12.2 The Help Menu .......................................................................................................................39

2.1.13 TOOLBARS ......................................................................................................................................40 2.1.13.1 The Main Toolbar ..................................................................................................................40 2.1.13.2 The Window Toolbar ..............................................................................................................40 2.1.13.3 The System Toolbar ................................................................................................................40 2.1.13.4 The Design Toolbar ...............................................................................................................41

2.1.14 MORE INFORMATION ......................................................................................................................41 2.1.15 THE DEVELOPMENT PROCESS .........................................................................................................41

2.1.15.1 Initialisation Phase ................................................................................................................42 2.1.15.2 Execution................................................................................................................................42

2.2 BIOMOBIUS™ GUI DESIGNER ENVIRONMENT ........................................................................43

2.2.1 THE PALETTE ....................................................................................................................................44 2.2.1.1 Controls ...................................................................................................................................44 2.2.1.2 Outputs .....................................................................................................................................45 2.2.1.3 Static Items ...............................................................................................................................49

2.2.2 THE EDITOR PANE ............................................................................................................................50 2.2.2.1 Editor Pane Toolbar ................................................................................................................50 2.2.2.2 GUI Sheets ...............................................................................................................................51

2.2.3 THE CONFIGURATION PANE ..............................................................................................................52 2.2.3.1 Component View ......................................................................................................................52

2.2.3.1.1 Bounds ............................................................................................................................................. 52 2.2.3.1.2 EyesWeb .......................................................................................................................................... 53 2.2.3.1.3 Appearance ....................................................................................................................................... 54 2.2.3.1.5 Z-Order............................................................................................................................................. 56 2.2.3.1.6 Textbox Appearance (slider) ............................................................................................................ 56 2.2.3.1.7 Parameters (outputs only) ................................................................................................................. 56

2.2.3.2 GUI View ................................................................................................................................57 2.2.3.3 EyesWeb Kernel Runtime .........................................................................................................57 2.2.3.4 Dialog ......................................................................................................................................58 2.2.3.5 Menu ........................................................................................................................................58 2.2.3.6 Toolbar .....................................................................................................................................60 2.2.3.7 Tooltips ....................................................................................................................................60 2.2.3.8 Data Logging ...........................................................................................................................61 2.2.3.9 Sheets .......................................................................................................................................61 2.2.3.10 Selected Sheet .........................................................................................................................63

2.2.4 THE MENU BAR ................................................................................................................................63 2.2.4.1 The File Menu ..........................................................................................................................64

2.2.4.1.1 Import .Eywx Patch .......................................................................................................................... 64 2.2.4.2 The Edit Menu ..........................................................................................................................64 2.2.4.3 The View Menu ........................................................................................................................64 2.2.4.5 GUI Preferences - General Screen ..........................................................................................64 2.2.4.6 GUI Preferences - Appearance Screen ....................................................................................65 2.2.4.7 UI Preferences - Shortcuts Screen ...........................................................................................65 2.2.4.8 UI Preferences - About Screen .................................................................................................66

2.2.5 THE TOOLS MENU ............................................................................................................................66 2.2.5.1 The Help Menu .........................................................................................................................67

Page 4: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 4

2.2.5.2 About ........................................................................................................................................67 2.2.6 THE GUI DESIGNER TOOLBAR .........................................................................................................68 2.2.7 GUI DESIGNER PREFERENCES ..........................................................................................................69

2.3 EYESWEB KERNEL RUNTIME SERVER ......................................................................................70

2.3.1 STARTING THE KERNEL RUNTIME SERVER .......................................................................................70

3. USING BIOMOBIUS ..............................................................................................................................73

3.1 BLOCKS, CATALOGS AND LIBRARIES ...................................................................................................73 3.2 BIOMOBIUS TUTORIALS ....................................................................................................................75 3.3 SAMPLES ..............................................................................................................................................76

APPENDIX A - EYESWEB CONTROL PANEL TOOL ........................................................................78

Page 5: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 5

INTRODUCTION to BioMOBIUS

Page 6: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 6

1.1 Overview of the User Manual

1.1.1 What is it?

This overview is your starting point - it provides a brief description of the user manual.

The product documentation consists of this primary User Manual, Developer Guide and supplementary documentation available on the website:

http://biomobius.trilcentre.org/.

The user should first read the Guide to Documentation - it describes how this manual relates to the rest of the product documentation that is installed with the software component of the BioMOBIUS™ Research Platform.

1.1.3 How to useThis User Manual is divided into three sections – Introduction to BioMOBIUS; BioMOBIUS Tools and Utilities; Catalogs, Libraries and Samples. The user is advised to read the sections in this order and to refer to the glossary in Appendix B for clarification of terms and abbreviations.

1.1.2 Structural Model

This document has the following sections:

The Introduction to BioMOBIUS offers an overview of the BioMOBIUS platform, describes the architecture of the BioMOBIUS

platform, and details its installation.

BioMOBIUS Tools and Utilities contains the user guides for the

EyesWeb GDE and the BioMOBIUS GUI Designer tools.

The Using BioMOBIUS section describes how the default components

are organised and used in the creation of EyesWeb patches. It includes a short tutorial giving the user some practical work and describes some sample patches and applications that are supplied with the

platform.

1.1.3 Supporting Documentation

Various BioMOBIUS tutorials and guides to specific components are provided as part of the installation process and on the BioMOBIUS website. These documents are written from a practical perspective and they contain step by step instructions on how to do common tasks with appropriate samples.

The user will find this supporting documentation useful after they have read and understood this User Manual. The Guide to BioMOBIUS Documentation suggests how

Page 7: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 7

the user may derive most benefit from the supplementary documentation and the user is encouraged to read this document after completing this User Manual.

Further details on the EyesWeb product and sample applications are available on the EyesWeb website:

http://www.eyesweb.org.

Finally, the user is advised to regularly check the announcements section of the BioMOBIUS™ website for block, patch, tool and documentation updates. The user is also encouraged to read and contribute to the support online forum and to send any feedback and support requests to

[email protected].

Page 8: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 8

1.2. Overview of BioMOBIUS

1.2.1 What is BioMOBIUS™?

BioMOBIUS™ is a portfolio of hardware and software dedicated to the rapid creation of information technology solutions for biomedical research. The use of sensors, cameras, computers and other information technology is an essential enabler for many types of medical care and clinical research. BioMOBIUS™ supports the creation of solutions, combinations of hardware and software which monitor and report upon the health and activities of patients and research subjects.

BioMOBIUS™ aims to radically decrease the time and effort spent by researchers on the creation of technology and applications. While hardware and software are essential elements of much research, they are enablers, rather than central to the research itself. By saving the time spent on technical development, there is more time available for core research and therapy.

1.2.2. What does BioMOBIUS™ consist of?

BioMOBIUS™ is based on the EyesWeb Graphical Development Environment (GDE), a gesture and movement recognition system developed by the University of Genoa, which has been applied in a number of research environments, primarily in music and the performing arts.

The GDE is a component toolkit for building biosignal applications called patches. These patches collect data on specific activities of patients or research subjects, and present this data on a user interface. The underlying technology model uses a portfolio of discrete functional components of code called blocks which can be combined to create a wide range of applications. Where a block for a particular function does not exist, EyesWeb supports the design and development of new blocks that can successfully interoperate with the existing ones.

Within BioMOBIUS™ users can select and combine the functional blocks which make up an application. BioMOBIUS™ includes:

A large number of functional blocks. These functional blocks include interfaces to hardware devices such as sensors, wireless data acquisition devices and cameras, image processing and data analysis components, data visualisation elements, etc.

A process and documentation for creating new blocks.

A portable kernel on which the applications run.

A Graphical User Interface (GUI) Designer, for creating the interface to the applications. User interfaces present the data to users.

1.2.3 How is BioMOBIUS™ used today?

BioMOBIUS™ solutions are already in use by teams of researchers associated with the Technology Research for Independent Living Centre (the TRIL Centre) - a collaboration between Intel Corporation and several Irish universities.

Page 9: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 9

________________________________________________________

Example: Gait Analysis

A research project into gait instability, as part of the TRIL Centre, required detailed information about the distribution of force across the sole of the foot and about the centre of mass and centre of gravity of the subject.

A solution was built using BioMOBIUS™ which captured this information using a floor sensor, SHIMMER kinematic sensors, and webcams. This information was presented graphically to the therapist.

_________________________________________________________________

Figure 1 - The Gait Analysis system hardware

Figure 1 shows a subject walking on a pressure mat with SHIMMERs attached to the subject‟s shoes, and a webcam recording their movement. The pressure mat collects pressure point data and the shimmers record data on the foot movements.

Page 10: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 10

Figure 2 - The Gait system in the GUI Designer

Figure 2 displays a typical BioMOBIUS™ GUI application screen. This contains a graphical representation of the subject with the collected sensor data.

Finally, Figure 3 below shows a segment from the EyesWeb GDE patch which is used to collect the data from the pressure mat and SHIMMER sensors, process it and send on to the GUI application for display.

Page 11: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 11

Figure 3 – A segment of the Gait system in the GDE

Page 12: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 12

1.3. Architecture

1.3.1 High Level Architecture of BioMOBIUS

Figure 4 - High level Architecture.

Figure 4 shows the high level architecture of BioMOBIUS system. It consists of hardware interfaces, the EyesWeb GDE, the BioMOBIUS GUI Designer and BioMOBIUS Applications.

1.3.2 Component Architecture

1.3.2.1 Patches

A patch is an application to analyse and/or present data built using the EyesWeb GDE. A typical patch may include:

sensor, camera or other hardware interfaces

data processing or analysis functionality

a user interface built using the separate user interface designer which may allow

Visualisation of the data

Adjustment of the behaviour of the patch through user interface controls.

A patch is created by combining a number of discrete functional elements known as blocks. The blocks are connected together in a network by lines which represent data

Page 13: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 13

flow, and the resultant application resembles a flowchart. The execution of blocks within a patch may be controlled using schedulers or using event handlers, such as presenting new data to the input of a block. Figure 5 below, for example, shows a patch which extracts a figure from its background. It includes blocks for image capture, image processing, display, etc.

Figure 5 - EyesWeb Patch

1.3.2.2 Blocks

Blocks are the functional elements which are combined on a patch. A block can have one or more inputs, one or more outputs, and some internal functionality as depicted in Figure 6. It may also have some parameters which can be adjusted to change its behaviour during either patch design or execution. A Graphical User Interface (GUI) can be built to allow modification of these parameters in a more user friendly interface during runtime.

Input Pins

Output Pin

Parameter Pin

Figure 6 - BioMOBIUS Block

Logically, all blocks are similar in structure, and blocks can be arranged in any combination that makes sense for the application designer e.g., as in Figure 7. They can be roughly categorised in to blocks which carry out I/O, those which carry out arithmetical, data processing and image processing functions, and those which provide management and control functions.

Figure 7 - Patch with I/O

Page 14: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 14

The BioMOBIUS™/EyesWeb environment includes catalogs of blocks which can be re-used to create new patches. These blocks cover a wide spectrum of functionality including mathematical operations, image processing, display and user interface control blocks, interfaces to hardware, etc.

Many of the blocks have been created by the EyesWeb initiative at the University of Genoa, and so have a performing arts/music emphasis. In order to meet the needs of TRIL research initiatives which focus on clinical research and independent ageing, a new suite of blocks has also been created, covering functions such as gait processing, biosignals and hardware device drivers.

1.3.3 Application Development Environment Architecture

The BioMOBIUS™ application development environment provides a suite of tools and support for the assembly of new patches from existing blocks and also for the creation of new bespoke blocks to be included in applications. Support for the creation of new blocks exists for Microsoft Visual C++ and is tied to 32-bit Windows platforms.

The application development environment consists of the following elements:

A substantial collection of existing blocks which can be used in the creation of new patches.

A drag-and-drop Graphical Development Environment (GDE) which can be used to select blocks, link them to one another and build patches.

A Graphical User Interface development tool which simplifies the design of user interfaces for BioMOBIUS™ applications.

This is shown in Figure 8.

1.3.3.1 Wizards

Two common tasks for BioMOBIUS™ developers are the creation of new functional blocks and of new catalogs in which to store the blocks. The application development environment provides wizards to simplify the creation of new blocks and new catalogs. Both wizards run in the Visual Studio environment.

The wizards are described in more detail in the Extending BioMOBIUS section.

1.3.3.2 EyesWeb Graphical Development Environment (GDE)

EyesWeb provides a graphical development environment for the assembly of patches. The graphical development environment provides a drag-and-drop interface for the selection of the blocks required to make a patch; the configuration of the blocks; and the linking, scheduling and management of the blocks to implement the workflow of the patch. The GDE is the main tool used for patch creation and implementation.

1.3.3.3 GUI Designer

Users can interact with patches on a number of levels. In order to simplify the interaction between the user and the patches, BioMOBIUS™ provides a Graphical User

Page 15: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 15

Interface Designer tool. This tool takes a completed patch as input and enables the developer to rapidly create a user interface with the appropriate input and output components connected to inputs, parameters and outputs of blocks within the patch.

Figure 8 - BioMOBIUS™ development path

Page 16: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 16

1.4 Installation If you wish to use BioMOBIUS as is – i.e. you do not intend developing additional components - then the only requirement is:

32-bit Windows XP Pro

For developing new BioMOBIUS™ blocks and applications, the core infrastructure required is:

32-bit Windows XP Pro

BioMOBIUS™ (go to download section of http://biomobius.trilcentre.org/ for download)

EYESWEB SDK (version of which has to match EyesWeb version included in BioMOBIUS™)

Visual Studio 2005 C++ professional with Service Pack 1 installed.

1.4.1 Pre-Requisites for Installation

Windows XP Pro SP3 is the recommended operating system platform. The EyesWeb graphical development environment at this time does not run under Linux or any other UNIX operating system, nor does it run on any Apple operating system. (Note: BioMOBIUS™ applications, developed with the BioMOBIUS™ system, may run on other Windows platforms.)

Users of the BioMOBIUS™ environment should be Power Users or Administrators of the PC on which BioMOBIUS™ is installed.

If the user wishes to add new functionality, then the EyesWeb SDK and Microsoft Visual Studio 2005 C++ professional with Service Pack 1 needs to be installed. This requirement is described in the Developer Guide.

It may be noted that user interfaces can communicate with their patches via a network connection; this means that the user interface can run on a separate platform to the underlying application and server.

If you have a current version of BioMOBIUS installed, the recommendation is that you uninstall the older version before installing the latest version. In other words, you should not have more than one version installed at any one time. Copy any current patches and GUI applications to a temporary location and then uninstall the current version of BioMOBIUS. To uninstall, use the standard Windows Add/Remove utility and manually remove any remaining artefacts.

1.4.2 Installation

1.4.2.1 Step 1

Download the current version of the BioMOBIUS™ installer from the following web site:

http://biomobius.trilcentre.org/

Page 17: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 17

The file size is approx 135 Megabytes. Download times varying according to your bandwidth. Approximate download times are:

Connection Speed Time - minutes

256Kbps 47

512 Kbps 23

1.024 Mbps 12

1.544 Mbps (DS1,T1) 08

2.048 Mbps (E!, ISDN-32) 06

1.4.2.2 Step 2

Run the installer “BioMOBIUS_setup_x.x”.

The install process will prompt if it detects that there is an existing version of BioMOBIUS installed. The recommendation is that there should only be a single version of BioMOBIUS installed on a PC at any one time.

Depending on the existing system components installed on your computer, you may be asked to restart the computer. Please do so to complete the installation process when asked to.

BioMOBIUS is now ready for use. Step3 describes an extra installation step – it is required only if you intend developing new components to extend the functionality of BioMOBIUS.

1.4.2.3 Step 3

If you intend developing new components or extending BioMOBIUS then you must install the EyesWeb SDK. The current EyesWeb SDK is available from the Developers section of the BioMOBIUS website: biomobius.trilcentre.org. Download the SDK, click on the EyesWeb XMI SDK setup_x.x.x.x application icon and follow the instructions to install. If you do not install the SDK in the default folder (c:\SDK\EyesWeb XMI SDK) then refer to the Developer Guide for details on how to adjust your development environment.

Technical Note

A windows service is installed by default during the installation process.

In BioMOBIUS version 1.0 it is called „eyesweb‟. In version 2.0 it is called „biomobius2.0_service‟.

Select the following to start the service -

Start->Programs->BioMOBIUSx.x->Start Kernel Runtime Server

This service is a convenience to allow the GUI runtime to find the patches associated in a particular path c:\BioMOBIUS_Workspace\Patches\. The above service is not turned on by default. The user can turn on the service with the provided link in the start menu folder as required.

Page 18: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 18

BioMOBIUS Tools & Utilities

Page 19: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 19

This section provides detailed user guides for the EyesWeb GDE and the BioMOBIUS GUI Designer tools, and also describes the Kernel and BioMOBIUS Runtime environments.

Note that there are quick guides to the GDE and GUI tools available as part of the supplementary documentation but the user is encouraged to read the detailed user guides in this manual if they intend developing their own patches and GUI applications.

2.1 The EyesWeb Graphical Development Environment The GDE provides a workspace where blocks can be selected, configured and combined into BioMOBIUS™ applications.

The GDE includes:

An application for the design and implementation of patches.

A server on which patches execute.

A large portfolio of functional blocks, from which the component blocks of the patch, can be selected.

The GDE is used to create a patch. It provides access to the block portfolio, and a running EyesWeb kernel.

The output of the GDE is a patch, ready to deploy. Typically, the user interface for the patch will be added once the patch is complete, using the BioMOBIUS GUI Designer.

The GDE includes a graphical workspace for building the patch. It consists of four main

elements or „views‟ – the catalog/library view, the properties view, the patch view and the message console as shown in Figure 9. Various other elements of the

GDE workspace can be made visible as required, see the View Menu description

below for details.

EyesWeb also contains a utility (the EyesWeb Control Panel) which enables the user to interface with hardware devices through virtual serial ports, etc. See Appendix A for additional information.

Page 20: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 20

properties

view

Library View

message

consolepatch view

Figure 9 - The EyesWeb GDE main view

2.1.1 The Catalog View

In order to create a patch, you must select the blocks which you will combine to assemble the patch. The blocks are presented in two ways – as a collection of libraries or as a listing of catalogs (note: technically catalogs are the DLL files containing block code, while libraries are collections of blocks which have been logically grouped together for the convenience of the user of the GDE).

The various catalogs/libraries can be expanded in the familiar „explorer‟ or „tree‟ viewer manner.

Page 21: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 21

Figure 10 - The top level catalogs

Figure 11 - Expanding the catalogs

A search window option is available to help the user find a particular block. This search function matches the search query against the block name; its effectiveness relies to a large degree on the naming of the blocks themselves.

Page 22: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 22

Figure 12 -The Search bar

Having found the block which you want to use, simply drag it across onto the patch view area of the GDE workspace.

2.1.2 The Properties View

The properties view enables various settings to be configured for whatever patch element is currently selected. To select a block, simply left click upon it in the patch view.

The properties view has two sheets, accessed via their respective tabs. Settings in the properties view are set using the Params sheet. The description, licence, developer credits, etc. of the block are set using the Descr(iption) sheet.

Note: a detailed description (short text description and value domains) for each setting can be seen in the bottom of the properties view by selecting the appropriate setting label.

Page 23: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 23

Figure 13 - Details for the OutputInterval setting in the FileToMatrix block

2.1.2.1 Params Sheet

A block has a number of settings, arranged in groups. It should be noted that while all blocks have settings to adjust the appearance, signature, and scheduling of the block, many blocks also have additional settings, which reflect the functionality of that particular block. To see the full collection of settings for a block, consult its documentation in the Block Reference document – available in the BioMOBIUS folder.

The order in which settings are shown can be changed by the user – you can opt to have the settings grouped according to function, or listed A-to-Z. This section assumes that the functional grouping has been selected.

The setting names listed in bold below can be changed by the user. Some settings are shown in semicolon-separated lists. These lists can be expanded by clicking on the „plus‟ button beside the setting. The values in these settings can be changed either as lists or individually. If you change the value of the settings using the list, all settings are

Details for OutputInterval setting

Setting label for OutputInterval setting

Page 24: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 24

changed immediately by the system; if you change the settings one by one, the changes are applied one by one as well.

2.1.2.2 Appearance Settings

Position: There are two position settings, X and Y; these settings control where the block is displayed on the patch view. X is the number of pixels between the top left corner of the block and the left hand edge of the patch view. Y is the number of pixels between the top left corner of the block and the top edge of the patch view.

Orientation: this controls which way the block is „facing‟. Left-to-Right (the default) means that the input pins for the block are on the left hand edge, and the output pins are on the right hand edge. Other alternatives are Right-to-Left, Top-Down and Bottom-Up. These are useful if the chain of blocks in a patch is very long, and needs to wrap.

Size: this setting controls the height and width of the block as displayed on the patch view.

2.1.2.3 Signature Settings

Class: this describes the class of functions to which the block function belongs.

Catalog: this names the catalog DLL in which the code for the block resides.

Label: this is the (unique) name of the block.

Show SyncIn: whether or not the block displays the SyncIn pin in the patch view.

Show SyncOut: whether or not the block displays the SyncOut pin in the patch view.

2.1.2.4 Scheduling Settings

Active: This indicates whether or not a block has been deactivated by the developer. See the „Activate‟ setting for details.

Activate: this can be used to disable a block without removing it from the patch. When de-activated, the block is shown in the patch view with a red „x‟ across it.

Run level: specifies the run level of the block.

SyncIn mode: specifies how the SyncIn pin affects activation of the block. If the mode is „exclusive‟, block activation is triggered solely by the SyncIn pin. If the mode is „Additive‟, block activation is triggered by the SyncIn pin or the usual activation process for the block. If the mode is „Ignore‟, block activation is not affected at all by the SyncIn pin.

2.1.2.5 Block-specific Settings

Example #1: Number of inputs: the number of input pins on the block. Some blocks allow the user to specify the number of block inputs. For example, the string concatenation block has two input pins by default, and concatenates the two strings that

Page 25: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 25

arrive at these pins. However, if you wish to concatenate three strings, an extra input pin can be put in place by increasing this setting from 2 to 3.

Figure 14 - The Params Sheet

Note that blocks may have (many) more settings than the ones listed above. For example, output blocks will have settings controlling their appearance (e.g. font type and size). For full details of the settings for any particular block, see the Block Reference PDF.

Appearance settings

Block-specific settings

Scheduling settings

Signature settings

Detailed description of settings

Page 26: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 26

2.1.3 Description Sheet

This second sheet of the properties view contains administrative and descriptive information about the block. This includes

The short description, including label (name), class, inputs, outputs and parameters

The long description, including all the short description values, plus catalog, full path, textual descriptions of the block and each pin, etc.

The credits, with information about the developers of the block

The software licence

Figure 15 - Credits

Figure 16 - Short Description

Licence

Credits

Toggle between detailed

description and short description

Page 27: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 27

Figure 17 - the software licence

Figure 18- Long Description

Page 28: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 28

2.1.4 The Patch View

The patch view is the largest element of the GDE workspace. This is where you drag the blocks to, in order to link them together to assemble a patch.

Note that the assembly of a patch takes place at design time. During runtime, the patch cannot be modified, although some parameters of the constituent blocks may be modifiable (depending on the nature of the blocks).

2.1.4.1 Dragging a Block onto the Patch View

When you drag a block onto the patch view, it is displayed with an icon or text inside (to give some idea of what it does), and with its default input, parameter and output pins.

The black rounded rectangles are the pins – pins inside the block are input or parameter pins, while pins on the outside surface of the block are output pins.

Input pinOutput pin

Parameter pin

Figure 19 – Block pins

Input pins represent the data arriving at the block from another block, in order for the block to process it.

Output pins represent data being sent from the block to some other block, after processing.

Parameter pins represent information or data arriving at the block, which in some way affects the processing work carried out by the block.

2.1.4.2 Status

Once a block is visible on the patch view:

Hovering the mouse pointer over the block causes the status bar to display label, class and catalog information for the block.

Hovering the mouse pointer over a pin (pointer becomes a small upward-pointing arrow) causes pin type, name and datatype information to appear in the status bar.

Page 29: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 29

2.1.5 Connecting Blocks

Blocks can be linked to one another by piping the output pin of one block to the input or parameter pin of another block. This is done by bringing the mouse pointer close to the output pin (a small upward-pointing arrow appears), clicking and then dragging it to the input or parameter pin. A line appears as you drag the mouse pointer.

In figure 20 below, the output pins of two text input blocks are bound to the inputs of a text concatenation block. That block then joins the two texts together, and sends the result, via its output pin, to the input pin of a text display block. The values „one‟ and „two‟ are set with the Params sheet of the two text input blocks.

Figure 20 - Linking blocks together

Note: Where the output of one block is of a different type to the input pin to which you are trying to link it, a „forbidden‟ icon will appear and the operation will not complete.

Where you try to link two output pins to an input pin, a „forbidden‟ icon will also appear and the operation will not complete.

The patch view can be zoomed in and out using the „+‟ and „-‟ keys.

Figure 21 – The 'forbidden' icon

2.1.6 Message Console View

The message console is where the EyesWeb server, the patch and the blocks send debug and control information to be viewed by the developer.

Page 30: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 30

Figure 22 - Message console example

The activity of the message console can be adjusted using the ToolsMessages menu (see the Menu Bar section below for details).

2.1.7 Other Views

The GDE supports a number of additional views which can be enabled by the user to facilitate the development process. These are described here.

SearchNavigator

Open File Tabs

Status Bar

Figure 23 - Additional views

2.1.7.1 Status Bar

This provides a small amount of information which reflects the context (usually the mouse pointer location). Particularly useful to quickly find out information about a block

Page 31: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 31

or a pin – placing the mouse pointer over a block or pin in the patch view makes relevant information appear in the status bar.

2.1.7.2 Navigator

The navigator shows a schematic of which part of the overall patch view is currently visible. If the patch view is very large (e.g. for a complex patch), or zoomed in very close, the navigator shows where the visible area is, relative to the rest of the patch view, by providing a rectangular outline. This outline can be dragged, in order to rapidly move around the patch view.

2.1.7.3 Open File Tabs

These small tabs appear at the top edge of the patch view. One tab appears for each patch file currently open in the GDE. Clicking on a tab makes the relevant patch visible in the patch view.

Page 32: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 32

2.1.8 The Menu Bar

The GDE offers the usual menus to the user:

File

Edit

View

System

Tools

Window

Help

In many cases, not all menu options are available at all times. For example, you must

have at least two blocks selected in order to invoke the EditDesign command, which aligns the edges of selected blocks.

The status bar provides information about many menu items when you hover the mouse over the menu item.

Note: In addition to the usual menus, as outlined above, the Menu Bar also sometimes

shows an „eye‟ icon, which can be used to manage the windows in which patches appear on the patch view. This is duplicated by the Window menu.

2.1.8.1 The File Menu

The file menu contains all the usual elements you would expect including New, Open, Close, Revert (return to previously saved version of the patch), Save, Save as, Save all, Print, Print Preview, Print Setup, four previous patches and an Exit option.

Figure 24 – The File Menu

2.1.8.2 The Edit Menu

The Edit menu offers the usual cut and paste options, as well as a range of edit options for individual blocks and how they are shown on the patch view.

Page 33: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 33

Figure 25 – The Edit menu

Undo, Redo, Cut, Copy, Paste, Delete and Select all are all standard controls. Some extra controls are listed below:

2.1.8.2.1 Order

This control allows you to move selected blocks on top of others on the patch view. This is useful where several blocks occupy the same patch view real-estate. This is analogous to the CSS attribute „z-index‟.

2.1.8.2.2 Design

This allows you to align selected blocks. At least two blocks must be selected. They can be aligned by top edge, left edge, etc.

2.1.8.2.3 Orientation

This allows you to set the orientation of a single block. Left-to-Right (the default) means that the input pins for the block are on the left hand edge, and the output pins are on the right hand edge. Other alternatives are Right-to-Left, Top-Down and Bottom-Up. These are useful if the chain of blocks in a patch is very long, and needs to wrap.

2.1.8.2.4 Rotate

This allows you to rotate a single block through 90 or 180 degrees.

2.1.8.2.5 Locate

This useful function finds the selected block in the catalog view. While you can invoke this command with more than one block selected, it only works for one of those blocks.

2.1.8.2.6 Activate

This changes the activation status of the selected block.

Page 34: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 34

2.1.9 The View Menu

This makes the various views of the GDE visible or invisible. It consists of a series of checkboxes; these refer to the various views described above and toolbars described later. The view menu also allows you to zoom in and out of the patch view.

Figure 26 – The View menu

2.1.10 The System Menu

The system menu allows you to start, stop, pause and step through your patch. It may be noted that the message console view reports on each System operation.

Figure 27 – The System menu

Page 35: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 35

2.1.11 The Tools Menu

The tools menu allows access to several settings which impact on the operation of the underlying EyesWeb server. It also enables or disables performance profiling of blocks, which records their performance in great detail, and supports the integration of external applications into to GDE.

Figure 28 – The Tools menu

2.1.11.1 Profiling

This turns performance profiling on or off. When profiling is turned on, a „profiling‟ sheet appears in the Properties view. Performance profiling is available at the block level, as well as for the patch as a whole.

Figure 29 - Patch performance profile

Page 36: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 36

2.1.11.2 Kernel Properties

This allows you to export the properties of the EyesWeb kernel on which the GDE is running. It also allows you to import a set of kernel properties. A third and final option is to reset the current kernel properties to the default values.

2.1.11.3 External Tools

This allows you to set up external programs, which can be invoked from within the GDE. Such tools, once set up, appear in the Tools menu.

2.1.11.4 Options

Options gives you access to a range of options governing the activity of the GDE:

▪ General: settings governing opening, closing and saving patches.

▪ Editor: settings governing the grid on the patch view, and some default values.

▪ Catalog View: settings for filters for how to select blocks in the Catalog view.

▪ Messages: settings to configure which messages appear in the message console and how/where/whether they are logged to a file.

▪ Search: settings to configure the fields included in the search function.

▪ Advanced: settings controlling threading, catalog class enable/disable, and various kernel settings.

Page 37: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 37

Figure 30 – Options

2.1.12 The Window Menu

This menu allows you to manage multiple patches at the same time. Each patch is presented in its own window. These include; Close, Close all, Next, Previous, Cascade, Tile Horizontally, Tile Vertically and a list of all open patches and Windows.

Page 38: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 38

Figure 31 – The Window menu

2.1.12.1 Windows

Windows opens a dialog window that allows you to select one or more patches and then Activate/ Save/ Close/ Cascade/ Tile/ minimise them.

Figure 32 - Windows dialog

Page 39: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 39

2.1.12.2 The Help Menu

The Help Menu has only one option: About.

This pops up a dialog with general information about the system. Dedicated screens show the software license and provide information about the development team.

Figure 33 - About screen

Page 40: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 40

2.1.13 Toolbars

The EyesWeb GDE offers several toolbars. These are made visible and invisible using the View Menu. The ticked items in the illustration below are all toolbars.

Figure 34 – Toolbars

2.1.13.1 The Main Toolbar

The main toolbar is shown below in Figure 35. It offers the usual Windows options; these will be familiar from Word or other desktop applications. These are shortcuts to menu items described above.

Figure 35 – The Main Toolbar

2.1.13.2 The Window Toolbar

The window toolbar is shown below in Figure 36. It offers the usual Windows management options and shortcuts to the commands on the Window menu.

Figure 36 – The Window Toolbar

2.1.13.3 The System Toolbar

The system toolbar is shown below. It offers shortcuts to the patch controls (start, stop, pause, step through) located in the System Menu, as well as an execution timer and a trigger for the performance profiling function.

Page 41: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 41

Figure 37 – The System toolbar

2.1.13.4 The Design Toolbar

The design toolbar is shown below. It offers shortcuts to the design options, which format two or more blocks tidily within the patch view. These shortcuts only become active when you have selected two or more blocks in the patch view.

Figure 38 - The Design Toolbar

From left to right, the options are:

Align Left Aligns the left edges of the selected blocks.

Align Right Aligns the right edges of the selected blocks.

Align Top Aligns the top edges of the selected blocks.

Align Bottom Aligns the bottom edges of the selected blocks.

Same width Makes the smaller block the same width as the larger one.

Same height Makes the smaller block the same height as the larger one.

Same size Makes the smaller block the same width and same height as the larger one.

2.1.14 More Information

More information on the GDE is available from the EyesWeb Reference Manual which is included in the installation and can be open by using the following link,

Start->Programs->BioMOBIUSx.x->EyesWeb Links->EyesWeb Reference Manual

Information about the internal structure of a block is available in the Developer Guide.

2.1.15 The Development Process

This section describes the manner in which patches are initialised. More information about the internal details of how EyesWeb runs patches is available in the Developer Guide.

The development of EyesWeb patches is a two-stage process – the patch goes through two modes of operation:

1. Design time - The EyesWeb system starts at design time, during which patches can be created and edited. As a block is dragged onto the patch view, a new

Page 42: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 42

instance of the block is created this allows block parameters and variables to be set.

2. Run time (also referred to as Production time) during which the patch is read-only and the system activates the blocks which make up the patch. The running of the patch can be started and stopped during run time; the patch remains in run time until it is next edited.

The EyesWeb environment also carries out a series of operations during the initialisation phase between design time and run time, to support the development of patches.

2.1.15.1 Initialisation Phase

The first step in initialisation involves the system verifying that all blocks have the inputs and outputs they require. Having passed that first check, the EyesWeb system begins the Init() and Check() methods of the blocks. Each block is initialised in turn, so that blocks which require input from other blocks are not initiated until the blocks which feed them have provided the system with the data which they require. Thus, the main job of each block during the initialisation phase is to initialise itself and to provide the necessary information to initialise its output, in some cases using data from its inputs.

2.1.15.2 Execution

Once initialization has been performed, the system enters run time but execution does not start yet. Actual execution is started by choosing the GDE SystemStart menu command, and is signalled to all modules by calling their Start() method.

Now the patch is running and the schedulers periodically activate their corresponding modules. The activation sequence is implied by the logical order of the interconnections between blocks, i.e. by the patch topology. If block A has an outgoing connection towards block B, then block A will be executed before block B.

Execution continues until the user stops it. Again, this is signalled to all modules by calling their Stop() method; the system remains at run time, even if the patch is not being executed. The patch may be started and stopped any number of times. It only leaves runtime when it is unlocked to return to design time. This last operation is signalled to all blocks by the system calling their Done() method.

It is worth noting that the system can go through many start/stop phases while remaining at run time, and modules should be built accordingly: after the Init()/Check() methods are called, there can be an indeterminate number of calls to Start/Stop, before the patch is de-initialized (Done()). Also, it should be kept in mind that modules must keep their state during the different Start/Stop phases, sort of a resume/pause sequence. The re-initialization is performed only after the patch is unlocked and then locked again (this results in a call to the Done() method and then to the Init() and Check() methods).

Further details on the internal structure and lifecycle of an EyesWeb block are available in the Developer Guide.

Page 43: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 43

2.2 BioMOBIUS™ GUI Designer Environment

The BioMOBIUS™ GUI Designer is a companion application to the EyesWeb GDE that facilitates the creation of user interfaces for patches. User interfaces create a neat interface between the user and the BioMOBIUS platform and allow non-technical users to use the BioMOBIUS platform without understanding the underlying functionality.

A GUI application is designed and bound (linked) to a patch using the BioMOBIUS™ GUI Designer. When the GUI is designed; this GUI standalone application can be executed using the EyesWeb runtime kernel engine and the GUI Designer runtime. The user is unaware of the underlying EyesWeb patch and runtime environments.

The following section describes the components of the UI Designer Environment. A tutorial on how to use the GUI Designer Environment can be found in the Tutorials documentation and a number of sample GUI applications are provided in the c:\BioMOBIUS_Workspace\GUI folder.

A GUI application may include several sheets (frames) of user interface components, including

Input controls such as text boxes, radio buttons, sliders, etc.

Outputs such as text output, progress bars, image output, etc.

Static items such as explanatory text, boxes and other shapes.

The core function of the BioMOBIUS™ GUI Designer is the design of a suitable user interface to interact with a patch and binding the input and output pins of that patch to controls and displays on the user interface The GUI can then be used to route input data from the user to the patch, and to route output information from the patch to the user.

The output file generated by the GUI Designer is an XML script file which is interpreted and executed by the BioMOBIUS GUI runtime.

The GUI Designer includes a graphical environment for building the user interface. It consists of three main parts or panes – the palette, the editor pane and the configuration pane, depicted in Figure 39.

Page 44: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 44

Palette

Editor Pane

Configuration

Pane

Menu Bar

Toolbar

Figure 39 – The GUI Designer environment

2.2.1 The Palette

The palette displays the various types of active and static components which can be used in the GUI. The active inputs (called controls) allow the user to send data to the patch. Active outputs, communicate data from the patch to the user. Static items (lines, boxes, text) etc, can be used to improve the user experience.

Note: All GUI components have a z-order (analogous to the z-index value in CSS files), which allows them to be stacked on top of each other for presentation purposes. This is particularly useful if you want to place some text on top of a graphical element such as a rectangle or circle.

2.2.1.1 Controls

Controls are bound to the input pins of the patch. They allow the user to provide some input to the patch while it is running. The available controls are shown below:

Page 45: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 45

Figure 40 – Controls Palette

Button: This triggers an event. It is typically bound to an event generator in the patch, such as a Bang.

Checkbox: This allows the user to control some activity of the patch, by turning it on or off (setting it to true or false).

ComboBox: This allows the user to select from a number of options using a pull-down menu control.

RadioGroup: This allows the user to select just one option from a number of options.

Select file: This allows the user to browse to a file on his local machine; it returns the full path to the file.

Slider: This allows the user to adjust a numerical value, by sliding the button along the control with the mouse.

Text: This allows the user to enter some text.

Note: Some of the controls (buttons, checkboxes) support the use of tooltips, which appear when the user hovers the mouse over the control.

2.2.1.2 Outputs

The palette includes a selection of different output types, which can be used to display the results of the output pins of the patch/ block/ sub-patch. The type of output chosen must be appropriate to display the data type of the output pin to which it is bound.

Page 46: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 46

Figure 41 – Output Palette

Image: displays the results of image processing. This output must be bound to an image. You can set the width and height of the display.

Level: displays a numeric value. You can set the minimum and maximum values; these should be appropriate for the output pin; so, for example, if your output pin produces a value between zero and one, a scale of 1 to 100 for the level output will not show any meaningful information to the end user.

Oscilloscope: The oscilloscope graph statically displays all the data in a single matrix on a single static graph. When a new matrix is passed to the graph, the graph is refreshed with the new matrix data. This graph can display single or multiple columns of data. This graph is useful for displaying non-streaming data, such as performance trends in a report.

Product 1

Product 2

Product 3

Product 4

Jan 1 2 3 4 Feb 3 4 5 6 Mar 2 3 4 5 Apr 5 6 7 8

May 4 5 6 7 Jun 6 7 8 9

Table 1

The oscilloscope graph, reads each column of the input matrix as a single vector. Therefore, multiple columns of data will be displayed as multiple vectors on the graph. The oscilloscope graph maps the values of each vector element against the y-axis. Elements from each vector are distributed equally along the x-axis of the graph; therefore, if a vector has 3 elements the 1st element will be displayed on the far left of the graph, the 2nd element will be displayed in the middle of the graph, and the 3rd

element will be displayed on the far end of the graph.

Vector

6 x 4

matrix

Page 47: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 47

Note 1: Data from the 1st column in the matrix is always displayed in green. All other columns will be displayed in white.

Note 2: Unlike the X(t) and Y(x) graphs (which link data from previous matrices); the oscilloscope graph creates a new graph for each new matrix which is it receives.

Note 3: This graph will not display the 1st matrix that is passed to it. It is therefore recommended to pass a dummy matrix to the graph to initialise the graphic widget in the GUI application.

Figure 4 displays the data from Table 1; a 4-column table describing the performance

of 4 products over a period of 6 months. Therefore, this graph displays 4 data vectors, with 6 values in each vector dispersed equally (in 6 sections) across the x-axis.

Progress: a progress bar.

Text: displays a text string in a box.

X(t) Graph: The X(t) graph dynamically plots the data passed to it against time. It can display single or multiple streams of data. This graph is used to display continuous data, such as streaming data from sensors.

Sensor 1 Sensor 2 Sensor 3 Sensor 4 Sensor 5 Sensor 6 t = 0 0 2 3 4 5 6

t = 1 0 3 4 5 6 7

t = 2 0 4 5 6 7 8

Table 2

Data must be provided to the X(t) graph, as a series of 1-dimensional matrices, although this graph can display data from a stream of integers (effectively a 1 x 1 matrix). Each column of the input matrix is treated as a single data stream. Therefore, multiple columns of data will be displayed as multiple data streams on the graph. The X(t) graph

Jan

May Feb Mar

Apr Jun

Individual values in data stream

1 x 6

matrix

Page 48: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 48

maps the values of each matrix element against the y-axis. The data is sampled at a rate set by the “time interval” parameter. Note 1: Data from the 1st column in the matrix is always displayed in green. All other columns will be displayed in white.

Note 2: The X(t) updates the graphs at the sampling rate defined by the “time interval” parameter.

Note 3: This graph will not display the 1st matrix that is passed to it. It is therefore recommended to pass a dummy matrix to the graph to initialise the graph.

Figure 5 displays the data from Table 2; a 6-column table, of 1-row matrices. Each

column represents the output from a single sensor. Therefore, this graph displays 6 data streams. The values of each element of the columns are mapped on the y-axis

and sampled at 10ms.

Y(x) Graph: The Y(x) graph plots (x, y) pairs of a data on a 2-dimensional plot. It can display single or multiple streams of data. This graph can be used to dynamically illustrate the movement of object(s) in 2D dimensional space.

Object 1 Object 2 Object 3 Object 4 Object 5 Object 6

Location 1

0 0 0 0 0 0

1 2 3 4 7 8

Location 2

1 1 1 1 1 1

1 2 3 4 7 8

Location 3

2 2 2 2 2 2

1 2 3 4 7 8

Table 3

Data must be provided to the matrix as a (m x 2) matrix. Each column of the input matrix is treated as a single (x,y) pair of data, when the 1st row of the (x,y) pair is mapped on the x-axis and the 2nd row of the (x,y) pair is mapped on the y-axis. Multiple columns of data will be displayed as multiple data streams on the graph.

2 x 6 matrix

(x,y) pairs in single data stream

Page 49: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 49

Note 1: Data from the 1st column in the matrix is always displayed in green. All other columns will be displayed in white.

Note 2: The values on the Y(x) graph disappear after a period of time set by “time interval” parameter.

Note 3: This graph will not display the 1st matrix that is passed to it. It is therefore recommended to pass a dummy matrix to the graph to initialise the graph.

Figure 6 displays the data from Table 3; which contains the (x,y) coordinates of 6

objects in a 2-dimensional space. This is 6-column table, of 2-row matrices; therefore, this graph displays 6 data streams. The first 3 locations of Object 1, are

highlighted in this figure

General Note: If you attempt to bind a block output pin to an inappropriate output on the GUI, the system may crash showing the error in Figure 42.

Figure 42 - -Runtime Error

Alternatively, it may show the output as not being bound to any pin during runtime (as indicated by a red X through the component), even though it apparently bound the pin during the design process.

Tooltips are supported for some output components.

2.2.1.3 Static Items

Static items are text, lines and shapes that can be added to the GUI for informational purposes, but which are not bound to any pin in the patch and do not vary in response

Program: C:\Program Files\BioMOBIUS\BioMOBIUS_GUI_Runtime.exe

Page 50: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 50

to user input or patch behaviour. Static items are important to inform the users of the GUI as to the function of the GUI and its component parts.

Figure 43 – Static Items

Ellipses and circles: Designer can specify location, width and height, outline and fill colour, and border thickness.

Hyperlinks: Designer can write some text and make it into a HTTP hyperlink. You can specify the appearance of the text (colour, font size, font family). When the user clicks on the hyperlink item it opens the specified URL in the default browser.

Lines: Designer can draw a line on the GUI. You can specify colour and thickness.

Pictures: Designer can insert an image. Browse to the image on the hard drive, in the usual „select a file‟ manner supported by Windows.

Rectangles: Designer can specify location, width and height, outline and fill colour, and border thickness.

Text Draw: Designer can write text on the GUI. They can specify the appearance of the text (colour, font size, font family) and can place text on top of other static items, controls and outputs, by manipulating the z-order options.

Tooltips are available for circles, lines, pictures, rectangles and text, but not for hyperlinks (The URL appears as the tooltip).

2.2.2 The Editor Pane

The editor pane is the workbench on which the GUI is designed and I/O components are bound to blocks in an EyesWeb patch. The user selects controls, displays, and static items from the components pane and selects the location on the editor on which to place the components. Active components that are not bound to any block pin are shown with a red „x‟ across them.

2.2.2.1 Editor Pane Toolbar

The editor pane shows a toolbar, which includes connection status icons (indicating whether the GUI is communicating with a patch) a timer, and Play and Stop buttons which are used to start and stop the GUI (and the underlying patch). This toolbar can be used to control the GUI during run-time.

Note: The toolbar can be omitted, by assigning the “toolbar visible” setting to off.

Page 51: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 51

Figure 44 - The Editor Pane Toolbar

Connect: this connects the GUI to a patch on an EyesWeb server. The parameters of the server (IP and port) can be set during the connect process.

Disconnect: this disconnects the GUI from the patch.

Play: This starts the patch to which the GUI is bound.

Stop: This stops the patch to which the GUI is bound.

Log: This allows the user to enable logging of the UI output. Alternatively,

logging can take place to a database; this is configured using the DB option.

Figure 45 – Database logging

2.2.2.2 GUI Sheets

A GUI may be presented as multiple sheets, each one accessed via a tab. Each sheet has its own layout, its own components and its own title (shown on the tab). However, all the sheets in a given GUI will contain components bound to a single patch. The GUI shown in Figure 45 has three sheets, entitled „Front‟, „second‟ and „at the back‟.

Page 52: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 52

Figure 45 – GUI Sheets

2.2.3 The Configuration Pane

The configuration pane is used to set the properties of both the overall GUI and the individual GUI components. These include the block pin to which each control or output is bound, various control options (e.g. availability of buttons) as well as a range of design characteristics, such as colour, caption, height and width. Each element of the configuration pane is described below.

What is shown in the configuration pane depends on what is selected in the Editor pane.

If the most recently clicked upon item in the editor pane is a component (a control, an output or a static item), then the configuration pane shows the settings for that component. This is referred to as the Component View. If an empty part of the editor pane was the most recently clicked upon, then the configuration pane shows the settings for the overall GUI and the patch it controls – this is referred to as the GUI View.

2.2.3.1 Component View

The component view is what the configuration pane shows when you click on any component (control, output or static item) in the Editor Pane. The precise content of the component view varies according to the nature of the component which has been clicked. However, not all possible sections and settings are described here and not all of these sections and settings may be visible.

2.2.3.1.1 Bounds

The Bounds section defines the location and the size of the component on the GUI sheet.

Page 53: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 53

X: The offset between the top left corner of the component and the left hand edge of the sheet.

Y: The offset between the top left corner of the component and the top edge of the sheet.

Width: The width of the component, in pixels.

Height: The height of the component, in pixels.

Figure 46 – Bounds component

2.2.3.1.2 EyesWeb

This section defines the patch pin to which the component is bound. To use it, click the component, then click the „parameter‟ field, which will originally show „Not Linked’. Note that the parameter field may be called „output‟ rather than „parameter‟, if the component you are binding is an output, rather than a control. Select the block and the pin to which the component is to be bound. The parameter field will now show the pin to which it is bound.

This section does not appear for static items.

Figure 47 – EyesWeb parameter

Parameter: the pin to which the control is bound.

Output: the same as parameter, but appears when you are binding an output, rather than a control.

Page 54: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 54

Figure 48 - Interface to select EyesWeb Output

2.2.3.1.3 Appearance

This section defines the cosmetic characteristics of the component.

Static Item and Output Appearance Settings

Background colour: the background color of the component.

Outline colour: The color of the line around the component.

Fill colour: The color with which the component will be filled. This appears for static shapes such as rectangles and ellipses.

Text colour: The color of the text (if any) in the component.

Font: The font family to be used for any text.

Multiline: Whether or not scrollbars should enable multiple lines of I/O. Only appears where applicable.

Text: The text label to be shown. Does not appear for many components, but is critical for static text and Hyperlinks.

Stroke thickness: The weight of an output line in some outputs (e.g. oscilloscope, graphs).

Stroke colour: The colour of an output line in some outputs (e.g. oscilloscope, graphs).

Tick colour: The colour of an output tick in some outputs (e.g. oscilloscope, graphs).

X and Y ticks: The number of ticks used in the oscilloscope and graph outputs.

Toolbar visible: Whether or not the internal toolbar for the oscilloscope and graphs is to be visible.

Page 55: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 55

Style: for the level output, a choice between analog meter style and various vertical or horizontal level indicators. For the progress indicator output, a choice of horizontal and vertical progress bars, segmented or smooth.

Minimum colour, peak colour, maximum colour: Style colours for the level output.

Progress colour: The colour of the progress bar in a progress output.

URL: The URL to which a hyperlink static item points.

Thickness: The weight of a line static item.

Image path: The path to an image static item.

Rounded Corners size: The level of rounding of the corners of a rectangle static item. The higher the value, the more rounded the corners.

Justification: The justification of text in a text static item (many options, including left, right, centred, top left, etc.).

Control Appearance Settings These are settings that may appear for controls, over and above those listed above for Outputs/Static Items.

Caption: the text that appears on a button control.

Connected on left/right/top/bottom: This controls the shape of the edges of a button control.

Tooltip text: Text that appears as a tooltip for buttons.

Tickbox size and colour: Characteristics of the tickbox control.

Values: The list of possible values of a combobox or radiogroup control.

Button colour: The colour of the up/down scroller for combobox controls.

Send value: Whether, when the user makes a selection, the combobox or radio button

group sends the value set in the Values setting in the appearance section, or the

numeric index (starting with zero) of the value chosen. When set to „yes‟, the value is

sent. When set to „no‟, the index is sent.

Group name: The name shown on a radio button group control.

Vertical: Whether the radio buttons in a radio button control are shown one above the other („yes), or one beside the other („no‟).

Directory: Whether the „Select file‟ control presents a directory tree to the user („yes‟) or a standard „browse‟ box („no‟).

Filename editable: Whether the user can edit the name of a file in the file selection control, or not.

Wildcard: The wildcard character for file searches (usually „*‟).

Style: For the Slider Control, the format of the control. Options include rotary, linear (horizontal or vertical), +/- buttons, etc.

Thumb colour: The color of the bead in the slider control, which slides along the track.

Page 56: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 56

Track colour: The color of the track in the slider control.

Tooltip: The tooltip settings for a component allow you to associate some tooltip text with the component. For some controls and outputs, tooltips don‟t work. The colour, font, etc. of tooltips is set at the GUI level (in the GUI view).

Tooltip text: the text to appear in the tooltip.

Note that the button control has two tooltip settings, one in Appearance and one in Tooltip.

2.2.3.1.5 Z-Order

Every component has z-Order settings. These define how „close to the front‟ a component is displayed. Where two or more components exist in the same area of a GUI sheet, the z-Order defines which component is actually visible. A component can be placed „behind‟ all others, „in front of‟ all others, or moved „forward‟ or „backward‟ during design time.

The four settings are

▪ Bring to front

▪ Bring forward

▪ Send backward

▪ Send to back

2.2.3.1.6 Textbox Appearance (slider)

The slider control has a special settings section called „textbox appearance‟. This configures the layout of the textbox which accompanies the slider and shows the slider‟s numerical value.

The following settings are available:

▪ Position: Position relative to the slider (above, below, left right). For no textbox, choose „none‟.

▪ Width: In pixels.

▪ Height: In pixels.

▪ Background colour

▪ Text colour

▪ Outline colour

2.2.3.1.7 Parameters (outputs only)

Some outputs have a parameters section, where you can set some outline values for the output. These are described here.

Minimum value: The lowest value the output will display.

Peak value: The value at which the scale on the output indicates a peak.

Maximum value: The highest value the output will display.

Page 57: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 57

Min vert axis value: The lowest value on the vertical axis for an oscilloscope or graph output.

Max vert axis value: The highest value on the vertical axis for an oscilloscope or graph output.

Vert axis autoscale: Whether the vertical axis should be scaled automatically to show all values (nothing „off the scale‟) for an oscilloscope or graph output.

Sample matrix: Whether to read in values from the matrix a row at a time or a column at a time for an oscilloscope or graph output.

2.2.3.2 GUI View

This view of the configuration pane shows the settings for the GUI as a whole and for the patch to which it is bound. The settings in the GUI view are divided up into several sections: EyesWeb Kernel Runtime, Dialog, Menu, Toolbar, Tooltips, Data Logging, Sheets, Selected Sheet.

2.2.3.3 EyesWeb Kernel Runtime

The EyesWeb Kernel Runtime section includes settings for the EyesWeb server and the patch to which the GUI is bound.

Figure 49 – EyesWeb Kernel Runtime

Default host: This is the IP address of the EyesWeb server on which the patch, to which the UI is bound, is running. This is often the same machine on which the UI is running, in which case this is set to „localhost‟.

Default port: This is the port used for EyesWeb communications. The default value is 7834.

Autoconnect: This setting establishes whether or not the GUI should attempt to connect to the EyesWeb server automatically, as soon as it is run. Note that connections can also be controlled using the Editor Pane Toolbar, as outlined above.

Autostart: This setting instructs the GUI to automatically start the patch to which it is bound.

Always create new patch: This setting instructs the GUI whether or not to request the instantiation of a new patch each time it connects to the EyesWeb server. (If

Page 58: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 58

multiple GUIs are connecting to the same server and same underlying patch – then start a new patch for each GUI).

Connection timeout: Sets the amount of time that a GUI should wait for communication with the server, before concluding that the server is unavailable.

2.2.3.4 Dialog

The Dialog section provides settings for the overall GUI screen; the box in which the GUI is drawn.

Figure 50 – Dialog Settings

These include:

Colour: The caption area (the text area at the top) colour for the GUI, including the background to the caption area. In the example shown in Figure 50, this is red.

Caption: This is the text which appears at the top of the dialog area. In the example shown in Figure 55, the caption is “Text Concatenator”. Note that the colour of the caption text cannot be set.

Width and Height: The dimensions of the dialog, in pixels.

Save position: If selected, the UI will be opened in the same screen position as the previous instantiation of the GUI. If unselected, the GUI will be cantered on the screen.

2.2.3.5 Menu

The Menu section provides settings for pull-down user menus within the GUI.

Figure 51 – Menu Settings

Menu visible: Makes the menu visible, or not, on the GUI. This inserts a menu bar area at the top of the GUI, just below the caption.

Edit Menu: Allows you to create and edit the menu which appears. An example of which is shown in Figure 52.

Page 59: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 59

Figure 52 – Menu Editor

Menu items can be bound to patch pins in a manner similar to controls. Figure 53 shows a trivial example with two menus, each with various integer values to choose from. The values are bound to the input pins of a block:

Page 60: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 60

Figure 53 – Binding Menu Items

2.2.3.6 Toolbar

The Toolbar section controls the presence of the various parts of the Editor Pane Toolbar on the GUI.

Figure 54 – Toolbar Settings

The following settings can be configured:

Toolbar visible: If this is „no‟, then no element of the toolbar is visible, regardless of the subsequent settings. It is recommended to select the „autoconnect‟ and „autostart/autostop‟ options if the toolbar will not be visible.

Connection buttons: This sets the visibility, or not, of the „connect‟ and „disconnect‟ buttons.

Control buttons: This sets the visibility, or not, of the play and stop buttons.

Time Code: This sets the visibility, or not, of the timer.

Log button: This sets the visibility, or not, of the log button.

2.2.3.7 Tooltips

This section configures the appearance of tooltips for all components of the GUI.

Figure 55 – Tooltips Settings

The following settings can be configured:

Enabled: If this is off, no tooltips are shown.

Background colour: The background colour displayed when a tooltip appears.

Text colour: The colour of the tooltip text. It is recommended to select a colour that stands out clearly from the background colour.

Outline colour: The colour of the outline around the tooltip.

Page 61: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 61

2.2.3.8 Data Logging

This section configures the logging of the messages produced by the EyesWeb console as the patch runs.

Figure 56 – Data Logging Settings

The following settings can be configured:

Enable file logging: If this is set to „yes‟, then messages will be saved to a file.

Log filename: The file where the messages will be logged. Browse to a file on your local PC to set this.

Truncate log file: If selected, the size of the log file will be automatically truncated to a set size.

Enable database logging: If selected, messages will be logged to a database table. This will be a mySQL database, running on the local host. No other database types or locations are supported.

Database name: Sets the name of the database to which the messages will be logged.

Database user id: The user id for the logging process to log onto the database.

Database password: The password that the logging process will use to log onto the database.

Table name: The name of the database table where messages will be logged.

Create table: If selected, a new database table will be created each time the patch is run.

Truncate table: If selected, the table size will be controlled by automatic ally truncating to a set size.

2.2.3.9 Sheets

This section enables the addition of new sheets to the GUI, and how the sheet tabs are displayed.

Page 62: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 62

Figure 57 – Sheets Settings

The following settings can be configured:

Tab orientation: configure the location of the tabs on the GUI (top, bottom, left, right).

Auto hide tab: If there is only one sheet in the GUI, you can opt not to show the tab by selecting the auto hide tab option.

Note: it is not possible to hide tabs if there are more than one sheet in the GUI.

Add new sheet: Select this button to add a new sheet to the GUI.

Page 63: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 63

2.2.3.10 Selected Sheet

This section configures the activity of the currently selected sheet (i.e. the sheet which is visible to the user of the UI Designer, and appears „in front of‟ the other sheets).

Figure 58 – Selected Sheet Settings

Title: What text appears on the tab.

Background colour: The background colour for the sheet as a whole.

The following settings are enabled if there is more than one sheet in the GUI:

Move before: Places the tab (and so the sheet), one step closer to the front (i.e. more left/up).

Move after: Places the tab (and so the sheet), one step further to the back (i.e. more right/down).

Delete: Deletes the current sheet and all its content.

Note: you can undo this with CTRL-Z.

Note: the entire sheet and all its components are deleted at once, without any need to confirm.

Figure 59 – Tab orientation

2.2.4 The Menu Bar

The GUI Designer offers the usual menus to the user: File, Edit, View, Tools, Help

Figure 60 - The Menu Bar

Page 64: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 64

2.2.4.1 The File Menu

The File menu consists of the commonplace actions available including: New, Open, Recent Files, Save, Save as, and Quit. This menu also includes an option to bind to an EyesWeb patch: Import .Eywx Patch

2.2.4.1.1 Import .Eywx Patch

This enables you to select a new patch and to bind to your GUI.

Note #1: If you have a GUI open, and you import a patch other than the one to which the UI is currently bound, all the GUI controls and outputs will lose their binding. You will receive a warning if you attempt to import a new patch, and can cancel if you do not wish to import a new patch.

Note #2: If you make any changes to the patch (e.g. adding new blocks) you must re-import the patch to the GUI. If you do not import the updated patch, the GUI designer will not be aware of your changes and you will not be able to link to the new blocks.

2.2.4.2 The Edit Menu

The edit menu offers the usual cut, copy, paste, undo, redo, deselect, select all, and deselect all options. The usual windows shortcuts apply (ctrl-z for undo, ctrl-c for copy, etc.).

2.2.4.3 The View Menu

The view menu offers the option to make the toolbar visible or invisible, modify the toolbar, and set the UI preferences.

Figure 61 – Toolbar Modification

The GUI preferences dialog contains four screens: General, Appearance, Shortcuts and About.

2.2.4.5 GUI Preferences - General Screen

Figure 62 shows the General Screen warning and start-up options.

Page 65: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 65

Figure 62 – General Screen

2.2.4.6 GUI Preferences - Appearance Screen

This screen configures the use and visibility of the snap grid, and also the default colour settings for new GUIs.

Figure 63 – Appearance Preferences

2.2.4.7 UI Preferences - Shortcuts Screen

These preferences allow you to assign a keyboard shortcut to a wide range of GUI Designer operations. To set a shortcut, simply click the operation you wish to create a shortcut to, and click the „+‟ button. You will then be prompted to enter a key combination for this shortcut.

Page 66: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 66

Figure 64 – Shortcuts Screen

2.2.4.8 UI Preferences - About Screen

This screen tells you about the GUI Designer system, its copyright status and the developers involved in it. An image of it can be seen in Figure 66.

2.2.5 The Tools Menu

The tools menu offers menu-based access to the components which are also presented in the Palette. It also offers one very important other option – that of running the UI. Running the UI is usually achieved by pressing F5, but it can also be triggered from ToolsRun.

The tools menu is shown below in Figure 65. For descriptions of each of the

Page 67: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 67

components, please see the Palette section.

Figure 65 – The Tools Menu

2.2.5.1 The Help Menu

The Help menu contains an „about‟ button.

2.2.5.2 About

This opens the About screen of the GUI Designer Preferences area, shown in Figure 66.

Page 68: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 68

Figure 66 – The About screen

2.2.6 The GUI Designer Toolbar

This section describes the Toolbar for the overall GUI Designer environment, which appears under the menu bar. It should not be confused with the Editor Pane Toolbar which is a component of the actual GUI.

Figure 67 – GUI Designer Toolbar

The GUI Designer Toolbar provides convenient buttons for frequently-used GUI Designer operations. These include – New, Open, Save, Cut, Copy, Paste, Undo, Redo, and Import Patch.

Page 69: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 69

2.2.7 GUI Designer Preferences

The GUI Designer Preferences are accessed via the „wrench‟ at top right of the screen.

Page 70: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 70

2.3 EyesWeb Kernel Runtime Server The EyesWeb Kernel Runtime Server is a standalone component of the BioMOBIUS™ framework and is required to execute EyesWeb patches outside of the EyesWeb GDE. When a user creates a BioMOBIUS GUI Designer application, the application must connect to an EyesWeb patch as it runs. The Kernel Runtime Server provides both the runtime environment for the patch and the necessary communication channel between GUI Runtime environment and the EyesWeb patch.

2.3.1 Starting the Kernel Runtime Server

The Kernel Runtime Server is installed automatically as a Windows service when the BioMOBIUS platform is first installed. Note that this service is disabled post installation and after each reboot of the host system. The user must explicitly start the service before running a GUI application.

To start the service, click on:

Start->Programs->BioMOBIUSx.x->Start Kernel Runtime Server

To stop the service execute the following:

Start->Programs->BioMOBIUSx.x->Stop Kernel Runtime Server

You may confirm the status of the EyesWeb service by selecting:

Control Panel -> Administrative Tools -> Computer Management.

Within this Application, expand the Services and Applications menu. Select the Services option. Locate the appropriate service („EyesWeb‟ in version1.0, „biomobius2.0_service‟ in version 2.0 of BioMOBIUS etc) in the right hand pane and examine its status.

Figure 68 - Viewing status of biomobius2.0_service in the Computer Management Services control application

Page 71: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 71

For further information on the Kernel Runtime Server - how to configure it and troubleshoot related issues; please refer to the Support section of the http://biomobius.trilcentre.org/ website.

Page 72: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 72

Using BioMOBIUS

Page 73: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 73

3. Using BioMOBIUS This section provides some practical information on using the platform. It starts with a brief description of how the default block catalogs and libraries are organised. This follows with a very brief tutorial that gives the user some hands on instruction in how to create a simple patch and GUI application. Finally, the user is introduced to some of the sample applications that are provided with BioMOBIUS.

3.1 Blocks, Catalogs and Libraries

As described in the EyesWeb GDE User Guide, blocks are logically grouped together in two ways – as either a catalog of blocks or as a library of blocks. Consequently this arrangement provides us with two views – the catalog view or the library view as illustrated in the following figures.

Regardless of which view is selected in the GDE, the same blocks are referenced - that is all blocks are made available within the catalog and library views.

The catalog view arranges the blocks according to how the blocks interact with external and internal devices. For example,

Figure 69 - GDE Catalog View

GUI Objects – blocks that export a GUI widget used generate primitive data objects and GUI links.

Kernel – blocks that are part of the EyesWeb kernel, e.g. complex datatype generation, flow control, operations etc.

Page 74: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 74

Legacy – provided for to support patches created with earlier versions of EyesWeb. The user is discouraged from using these blocks.

Steinberg Technologies – contains blocks for audio procession based on the ASIO API.

Base – contains the main signal processing blocks for audio, video, etc.

System – collection of blocks used to input and output data from hardware and system devices.

National Instruments – blocks to read and write to devices using the general purpose I/O specification.

3D – blocks used to manage a three dimensional space.

BioMOBIUS Catalogs – these catalogs contain blocks developed specifically for biomedical research. They are described fully in the Block Reference Document pdf.

One additional feature of a catalog is that all the blocks that constitute a catalog are physically compiled into a single DLL file. So registering a catalog is the mechanism by which blocks are added or updated in the GDE.

The library view on the other hand groups blocks according to their inherent functionality i.e. what they do rather than what they use. Figure 70 illustrates the library view. This is a more logical view.

Figure 70 - GDE Library View

In this case the main categories are:

o GUI Objects – contains the same blocks as the equivalent catalog.

o Audio – contains all blocks associated with audio input, output and processing.

Page 75: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 75

o BioMOBIUS – contains all blocks from the BioMOBIUS catalogs arranged by functionality.

o DataStructures – collections and conversion blocks.

o Deprecated – provided for backwards compatibility and not to be used in new patches.

o FileSystem – currently contains a single block for determining file paths.

o FlowAndControlStructures – blocks providing the equivalent of switch statements, flipflop state change, etc.

o Geometric – blocks that generate and manipulate geopmetric shapes.

o ImageAndVideo – large library for image rendering, analysis and output.

o Math – generate matrix and scalar values, filter transforms, math operations.

o Operations – general comparison and threshold and logical operations.

o Peripherals – blocks that interface with system hardware and network devices.

o String – contains generator, formatting and converter blocks.

o TimeAndDate – provides standard time and date manipulation.

o TimeSeries – blocks that support a time based datatype.

Note that a block may appear in more than one library – for example BioMOBIUS math blocks are listed under BioMOBIUS and also the Math libraries. Also, there are some ambiguities in terms of some blocks and the libraries in which they reside – finding such blocks is best done using the block search facility in the GDE.

A short description popup appears when the user moves the mouse over a block in the catalog or library view. In addition, there are two documents provided which detail the EyesWeb and BioMOBIUS blocks. These are available by selecting:

Start->All Programs ->BioMOBIUSx.x ->EyesWeb-Links ->EyesWeb Blocks

Start->All Programs ->BioMOBIUSx.x ->BioMOBIUS Block Documentation

Should the user wish to develop a new catalog of blocks – for example to support a new type of hardware device, the BioMOBIUS Developer Guide provides all the necessary information to accomplish this task.

3.2 BioMOBIUS Tutorials

The standard installation contains a number of tutorials and these are augmented by other tutorial resources on the BioMOBIUS website.

The user is strongly recommended to at least read the PatchAndGUI tutorial; it reinforces the concepts covered in this manual.

If the user intends developing new blocks for inclusion in BioMOBIUS then the Developer Tutorial should also be read – it is included in the Developer Guide. It introduces the reader to the components of the BioMOBIUS™ Research Platform by demonstrating the

Page 76: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 76

creation of a sample BioMOBIUS GUI application from the ground up. This tutorial is described in the Developer Guide.

3.3 Samples

The standard installation provides the user with a number of samples which demonstrate some basic capabilities of the BioMOBIUS platform. The patches are located in the „C:\biomobius_workspace\Patches‟ folder and the corresponding GUI applications are located in the „C:\biomobius_workspace\GUI‟ folder.

The user may first wish to examine the patches within the EyesWeb GDE and then run the corresponding GUI application using the runtime environments.

The steps involved are:

1. Click on the sample patch and the GDE opens automatically.

2. Run the patch within the GDE

3. Stop the patch and close the GDE

4. Start the Kernel Runtime service

5. Start the GUI application either within the GUI Designer or within the BioMOBIUS GUI Runtime environment.

Refer to the BioMOBIUS tools section of this document for details on how to run the tools and runtime environments.

Suggested sample patches and GUI applications for the user‟s perusal are:

GUItoGDETest - very simple application that tells the underlying patch to increment an integer value. Its purpose is to provide a simple mechanism to test the communication paths between the two runtime environments.

Applause – A little more complex, the underlying patch accepts data from the default system audio device i.e. connected microphone, calculates and buffers the max amplitude and sends this value to the GUI application for display.

Oscilloscope – generates a complex waveform in the patch which is then filtered three ways using the FIRFilter block and passed to the GUI application for display.

Page 77: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 77

Appendix A

Page 78: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 78

Appendix A - EyesWeb Control Panel Tool The EyesWeb Control Panel may be accessed by double clicking on the file EywControlPanel.cpl situated in the standard BioMOBIUS™ installation directory.

The EyesWeb control panel provides a means to specify how EyesWeb virtual devices are mapped to the physical hardware devices available on the current PC.

Figure 71 - The EyesWeb Control Panel Tool

For example, if you are developing a patch that can be tested on a laptop with a simple webcam, but it must also run at a different location with on a desktop computer with a high quality video-camera, you can map each camera as a virtual device using the EyesWeb Control Panel tool, and refer to a single virtual device on the patch. So, on the laptop computer the virtual device name ”InputCamera” will be referring to the webcam while on the desktop PC ”InputCamera” will be referring to the high quality video-camera. This allows the patch to be moved from one PC to the other without the need to change the hardware parameter settings in the patch.

To add a new virtual device into the EyesWeb control panel tool:

o Select the hardware device that you desire to map to a virtual device

o Click the ”Add (+)” button

o Type the referring virtual name (”InputCamera” in this example) into the new list item

o Press the “Save & Exit” button to apply the new changes, as shown in Figure 72.

o To remove an item from the EyesWeb control panel listing, simply select the corresponding item and press the “Remove (-)” button, then the “Save & “Exit” button. These settings will not take effect until the next time that EyesWeb is restarted after the settings have been saved.

Page 79: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 79

Figure 72 - The EyesWeb Virtual Device mapping

After these operations, the new virtual device, may be referred to as ”InputCamera” in all patches by setting the Device parameter value of the video input blocks as shown in Figure 73.

Figure 73 - Virtual mapping example

Page 80: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 80

Appendix B

Page 81: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 81

Appendix B Glossary of Terms

Term Description

Biosignal Short hand of biological signal, which is generally used to describe any measurable human characteristic such as speech or motion.

Block A code component created in Visual Studio and used in the GDE to perform a particular function – e.g. to capture data from an input device, perform some mathematical function or display data on an output device.

Catalog A catalog is the code repository for a collection of blocks. In the EyesWeb GDE, the catalog view displays all the blocks that belong to a particular catalog. Within Visual Studio, a catalog is a VC++ project with each block corresponding to a class. The project is built to create a DLL, which must be registered with EyesWeb in order to use the blocks.

EyesWeb A platform created by the University of Genoa to enable computational modelling of human physical behaviour.

BioMOBIUS ™ A framework that enables the development and use of both hardware and software components for biomedical research.

BioMOBIUS™

Graphical User Interface Designer

A GUI development tool that enables the user to design an application to control a patch and view its output. The resultant application is called a GUI application.

BioMOBIUS™ GUI Runtime

A Windows console application that supports the execution of a BioMOBIUS™ application outside of the designer tool. Typically, a BioMOBIUS™ application is first developed and tested within the BioMOBIUS™ Designer tool. Thereafter, the BioMOBIUS™ Runtime is used to run the application as a Windows executable in conjunction with the Kernel Runtime component.

EyesWeb GDE A Graphical Development Environment created by the University of Genoa as part of its EyesWeb offering. It is the platform on which BioMOBIUS™ is built. It is used to develop software components to capture behavioural data such as audio, movement, etc.

GDE Graphical Development Environment - see EyesWeb GDE.

GUI Graphical User Interface, an interface presented to a user to simplify their interaction with a system by use of graphical tools.

GUI Application Within the BioMOBIUS™ platform context, a GUI application is a Windows executable that interfaces with an EyesWeb patch as it runs. It provides an interface to the user allowing him/her to control the running of the patch and the patch I/O.

Page 82: BioMOBIUS User Manual (with an EyesWeb 5 manual from page 19 to 42)

User Manual 82

Kernel The central software component of a computer system. In BioMOBIUS™, the kernel refers to the minimum code required to run an EyesWeb patch, i.e. running a patch outside of the GDE.

Library A grouping of blocks that perform some similar functions e.g. Math operations or BioMOBIUS™ I/O. Libraries are used to provide convenient block lookup within the GDE.

Kernel Runtime

Server

The EyesWeb Kernel Runtime is a Windows component which supports the execution of EyesWeb patches outside of the EyesWeb GDE. It is used in conjunction with the BioMOBIUS™ Runtime to execute GUI applications and Patches as if they are native Windows applications.

Patch A collection of EyesWeb blocks that perform a specific function – e.g. collect data from an input device, manipulate it and output to an output device. A patch may be executed within the EyesWeb GDE or by the EyesWeb Kernel Runtime.

SHIMMER Sensing Health with Intelligence, Modularity, Mobility and Experimental Reusability. A multi-functioning, intelligent, mobile hardware device developed by Intel and used to collect data in the area of biomedical research. The sensing capability of SHIMMER can be extended through the addition of various biomedical sensor add-on boards. SHIMMER interfaces with BioMOBIUS™ software components using wired or wireless protocols. Additional information can be found at http://shimmer-research.com/wordpress/?page_id=20