Sei sulla pagina 1di 82

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

User Manual 1
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

User Manual 2
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

User Manual 3
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

User Manual 4
INTRODUCTION to BioMOBIUS

User Manual 5
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

User Manual 6
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
biomobius.support@trilcentre.org.

User Manual 7
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.

User Manual 8
________________________________________________________
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.

User Manual 9
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.

User Manual 10
Figure 3 – A segment of the Gait system in the GDE

User Manual 11
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

User Manual 12
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.
Parameter Pin

Output Pin
Input Pins

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

User Manual 13
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

User Manual 14
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

User Manual 15
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/

User Manual 16
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.

User Manual 17
BioMOBIUS Tools & Utilities

User Manual 18
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.

User Manual 19
Library View

properties
view

message
patch view
console
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.

User Manual 20
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.

User Manual 21
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.

User Manual 22
Setting label for
OutputInterval setting

Details for OutputInterval


setting

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

User Manual 23
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

User Manual 24
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.

Appearance settings

Signature settings

Scheduling settings

Block-specific settings

Detailed description of
settings

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.

User Manual 25
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

Licence

Credits

Toggle between detailed


description and short
description

Figure 16 - Short Description

User Manual 26
Figure 17 - the software licence

Figure 18- Long Description

User Manual 27
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.

Parameter pin

Output pin
Input 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.

User Manual 28
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.

User Manual 29
Figure 22 - Message console example
The activity of the message console can be adjusted using the ToolsMessages 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.
Open File Tabs

Status Bar
Search
Navigator
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

User Manual 30
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.

User Manual 31
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 EditDesign 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.

User Manual 32
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.

User Manual 33
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

User Manual 34
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

User Manual 35
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.

User Manual 36
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.

User Manual 37
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

User Manual 38
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

User Manual 39
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.

User Manual 40
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

User Manual 41
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 SystemStart 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.

User Manual 42
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.

User Manual 43
Configuration
Pane
Menu Bar

Toolbar

Palette

Editor Pane
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:

User Manual 44
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.

User Manual 45
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 Product Product Product


1 2 3 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
6x4
Vector matrix
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.

User Manual 46
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.

Apr Jun
Feb May
Mar
Jan

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
1x6
t=1 0 3 4 5 6 7 matrix

t=2 0 4 5 6 7 8
Individual values in data
Table 2
stream
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

User Manual 47
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 0 0 0 0 0 0
1 1 2 3 4 7 8
2x6
matrix
Location 1 1 1 1 1 1
2 1 2 3 4 7 8

Location 2 2 2 2 2 2
3 1 2 3 4 7 8
(x,y) pairs in single data stream
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.

User Manual 48
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.

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

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

User Manual 49
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.

User Manual 50
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‟.

User Manual 51
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.

User Manual 52
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.

User Manual 53
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.

User Manual 54
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.

User Manual 55
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.

User Manual 56
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

User Manual 57
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.

User Manual 58
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:

User Manual 59
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.

User Manual 60
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.

User Manual 61
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.

User Manual 62
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

User Manual 63
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.

User Manual 64
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.

User Manual 65
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
ToolsRun.
The tools menu is shown below in Figure 65. For descriptions of each of the

User Manual 66
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.

User Manual 67
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.

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

User Manual 69
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

User Manual 70
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.

User Manual 71
Using BioMOBIUS

User Manual 72
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.

User Manual 73
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.

User Manual 74
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

User Manual 75
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.

User Manual 76
Appendix A

User Manual 77
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.

User Manual 78
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

User Manual 79
Appendix B

User Manual 80
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™ A GUI development tool that enables the user to design an
Graphical User application to control a patch and view its output. The resultant
Interface application is called a GUI application.
Designer
BioMOBIUS™ A Windows console application that supports the execution of a
GUI Runtime 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.

User Manual 81
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 The EyesWeb Kernel Runtime is a Windows component which
Server 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

User Manual 82

Potrebbero piacerti anche