WiiHab Test Creator Brandon Shrewsbury brandon.shrewsbury

WiiHab Test Creator
Brandon Shrewsbury [email protected]
University of West Georgia
Seth Ringling
[email protected]
Harding University
Dr. Aaron Striegel
[email protected]
University of Notre Dame
Abstract
WiiHabilitation utilizes the Wii balance board as a low cost replacement for commercial grade force
plate sensors. It can become a tool to rehabilitate patients with center of balance issues. For this
application to be effective it is important for the therapists to create balance tests specifically designed
to work affected areas of the body. An application was developed to address these issues with scalability
and ease of use in mind.
I. Introduction
Using the balance board as a replacement for force plate instruments in the Wiihab rehabilitation
software it became clear that for the software to become effective, tests must be tailored to the
individual circumstances of the affected patient. Each patient’s range of motion, cognitive abilities,
mental, and physical handicaps could greatly influence the effectiveness of a standard testing system
along with the metrics used to score such a system. The creation of an easy to use test creator crafted
around the needs of both the therapist and the patient was required to create an effective set of tools
to aid in the recovery process. It also became apparent that the ultimate goal of the project was to
create an in-home solution, so all applications associated with Wiihab had to be user friendly to even
the most novice users.
II. Static and Dynamic Balance Tests
Commercial force plate sensors employ two types of basic standing balance tests; static and
dynamic. A static standing balance test consists of a patient trying to keep their center of balance within
a predefined target area for a certain period of time. Depending on the patient’s abilities, the target may
be smaller in size or the patient may be asked to stand on one foot. Dynamic balance tests consist of
targets positioned in such a way that patients must change their center of balance to hover over the
targets for a specified amount of time. Targets may or may not be on a moving track. After the time has
elapsed, a new target appears. Each test is measured based on the time taken to complete each time on
target or the maximum time the patient is able to stay inside the target.
III. Previous Solution
Previous projects implemented predefined tests built into the applications with varying degrees of
complexity. Dynamic balance tests were limited to a set number of targets with preset locations and a
predefined time on target requirement. The included static balance test was a predefined target in the
center of the target area with no available customization. The Wiimote’s D-Pad was used to relocate a
targets location on a target by target basis which did provide the therapist with the option to modify at
run-time. This feature was a good add-on, but was cumbersome and was consequently not desirable as
the sole option to position targets.
IV. Our Solution
WiiHab Test Creator is a WPF application that allows the therapist to tailor tests specifically to
patient’s needs efficiently and effectively. Static balance tests can be created with targets set in any area
of the balance board, with different shapes and sizes. Time on target can be set independently for each
target. The application treats dynamic and static balance tests the same, meaning a dynamic test can be
turned into a static and vice versa. The additional movement toolbar adds animations to the targets,
creating dynamically moving targets - a step above the current functionality of previously created
applications. To ensure simplicity, animation was restricted to horizontal or vertical directions only. A
drag and drop system was used to place the targets within the balance board canvas with limits on
where the targets could be placed as well as limits on how far the targets can travel if animation has
been added. After targets are added to the canvas their properties can be modified using the properties
panel. Each target is displayed in the target canvas as it is added to the target list, allowing the creator to
see where the targets have been placed. Due to the application’s limitless bounds for number of
allowable targets, the target opacity can be changed to allow users to view targets placed behind other
targets. If a target is nested below the active target, the author can select the nested target within the
target list in the test properties panel to bring the Z-index to the top.
V. The User Interface
The UI was broken into 6 Parts:
Available Tests Panel, Test Settings &
Created Targets Panel, Test Canvas
Settings, Test Canvas, Target Properties,
& Target Movement. An additional
window is available to preview the
selected test after creation. The UI was
designed to be as simple to use as
possible with several shortcuts built in.
Each property field reacts to a mouse
scroll, which speeds up the configuration of each target considerably. The targets themselves react to
mouse over scroll actions which proportionally increase both height and width.
Available Tests
The available tests panel displays all the pre-created tests
in the “/tests/” directory. Each test displays the Name and
Last Modified properties of the tests. Additional Available
fields include the author, description, and number of
targets.
Test Settings & Created Targets
The test setting panel contains fields for the author, name, and
description of the test. Each field requires unique data before the
test can be saved. “Add Target” adds a target to the canvas and to
the target list. “Delete Target” will delete the target from the canvas,
delete it from the target list, and will reduce each target number by
one. “Save Test” will check each field for valid data, check for at least
one target, then write out an XML file to the “/tests” folder and add
a new item to the tests list. “+” & “-“ will move targets up and down
the target list, modifying the target numbers along the way. The
target list contains each added target with its target number, shape
type, time on target, dimensions, and the locations of the target.
Additional fields available include fill, stroke size, stroke fill, opacity,
movement direction, and movement distance.
Test Canvas Settings
The test canvas settings panel modifies the test canvas background. The timer can be set to
“Off”, “Count Up”, or “Count Down”. Count down will stop the test if it reaches zero.
Test Canvas
The test canvas contains the background
vector images, and the targets. Targets can be
dragged and dropped within the target canvas. The
animation guidelines are limited to the edges of the canvas as well.
Target Properties
The “Target Properties” panel was modeled after Adobe Flash MX’s properties panel. Each textbox can
be modified using the scroll wheel. Width, Height, X, and Y values have minimum and maximum limits.
The shape drop down box contains Circle and Rectangle options. Time on target has a maximum value of
30. The minimum of 0 allows patients to simply touch the target with the center of balance to move on
to the next target in the test’s sequence. The drop-down boxes to the right contain fill color for the
stroke and background. The first spinner box modifies the stroke thickness. The lower spinner box
modifies the opacity of the target fill.
Target Movement
The animation panel allows the author to set the direction and distance of the target
movement. The distance is limited to the bounds of the canvas.
VI. Reading and Writing Tests
WiiHab Test Creator uses XML Serialization / Deserialization to read and write tests to the disk. XML
serialization allows applications to easily import the created tests and targets. Serialization allows for
scalability and revision safety. In the event new fields are added to the test classes, old versions of the
class will still be importable. The new fields will be null in the class and can be easily checked on import.
Below is an example of an XML serialized test with a single target.
<?xml version="1.0" encoding="utf-8" ?>
<PatientTest>
<name>Targets anim test</name>
<description>Targets anim test</description>
<testTargetList>
<TargetData>
<width>50</width>
<height>50</height>
<x_val>0</x_val>
<y_val>0</y_val>
<fill>Green</fill>
<strokeFill>Black</strokeFill>
<strokeSize>2</strokeSize>
<shape>Ellipse</shape>
<opacity>1</opacity>
<timeOnTarget>0</timeOnTarget>
<movementDirection>System.Windows.Controls.ComboBoxItem:
Vertical</movementDirection>
<movementDistance>100</movementDistance>
<movementVectorPointA>
<int>25</int>
<int>-75</int>
</movementVectorPointA>
<movementVectorPointB>
<int>25</int>
<int>125</int>
</movementVectorPointB>
</TargetData>
</testTargetList>
<author>Brandon</author>
<lastModified>2010-06-28T15:52:06.3000544-04:00</lastModified>
<timeLength>300</timeLength>
</PatientTest>
VII.
Conclusions and Future Work
With scalability in mind it was decided to build the test creator application separately, as its own
application, in hopes it would be easier to adapt to previous and future versions of rehabilitation
software. With this new wave of rehabilitation software, the types of tests and the way they are
presented will change greatly over the lifetime of the WiiHab project. The future versions will have to
adapt to the needs of the therapists and the types of tests they would like to employ. Future test
designs could include horizontal movement from one side of the board to the other while avoiding
targets, or giving the patient a certain amount of time to move from one target to another, logging the
amount of time it takes to go from target to target, or rating response time instead of the center of
balance. Along with updating the application to work with new tests, ease of use features will be added
to ensure even the novice users can fully operate the application, taking full advantage of all the
customization features. Future versions will include the ability to set the angle of movement, import
background images for the tests, and have the target list’s highlight color match the fill color of the
selected test.