Skip to content

mgcarmueja/MPTCE

=========================================================================

This is the Myoelectric Personal Training and Control Environment (MPTCE)

—————————————————————————————————————————————————————————————————————————
VERSION 0.2 (Beta)
=========================================================================

(c)2015 by Martín García Carmueja  - mgcarmueja|AT|gmail|DOT|com -

=========================================================================

MPTCE is an application that aims to enable people to use surface electromyography (sEMG) data acquisition devices at home for biofeedback training. sEMG signals are processed in order to generate codes for a set of predefined movements by using either threshold-based activation or different pattern recognition algorithms. The generated codes can then be mapped to keyboard events and used to control other programs. 

This software is being developed in collaboration with the Christian Doppler Laboratory for Restoration of Extremity Function and ships with support for a Texas Instruments ADS1298-based USB EMG data acquisition device developed at the Center for Medical Physics and Biomedical Engineering, both at the Medical University of Vienna (Austria). A playback virtual device for simulation purposes is also included.



DISCLAIMER
==========

This software was initially developed as part of the work conducted by the author to
obtain his Master’s degree. While the code has been reasonably tested, it lacks any medical certification and should be considered experimental. Therefore, the author cannot assume any liabilities derived from using it. USE THIS SOFTWARE AT YOUR OWN RISK!

Also, please remember that connecting human beings to machines through electrodes poses the potential risk of electric shock.



REQUIREMENTS
============

MPTCE is delivered as a Visual Studio 2013 solution. In order to compile and run it, you will need:

- Microsoft Visual Studio 2013. Known to build on Visual Studio Community 2013 update 4.

- .Net Framework 4.5.2, although it should compile with any 4.x version if you change the solution settings.
 
- HDF5, version 1.8.14 win64 for Visual Studio 2013. Versions 1.8.9 and later should work. You should make sure that your path environment variable points to the directory where the library was installed. The HDF5 library can be downloaded at: 
http://www.hdfgroup.org/HDF5/release/obtain5.html  

If you want to compile MPTCE as a 32-bit (x86) application, you should download the 32-bit version of the HDF5 library.

- The WinUSB driver. This is required for building the ADS1298 server. It should get installed the first time the ADS1298 device is recognized by Windows. It can be found at:

http://msdn.microsoft.com/en-us/library/windows/hardware/hh852365.aspx

* MPTCE has been extensively tested on Windows 7 Service Pack 1 for x64 only. The ADS1298 server does not run on Windows 8, 8.1 or 10 as of yet.



VISUAL STUDIO SOLUTION CONTENTS
===============================

This solution comprises the following project subdirectories:

* ./MPTCE/: The main program

* ./EMGFramework/: Core libraries of the project. File I/O, pipeline, pipeline stages, pattern recognizers, threshold detection, data providers, etc. Everything else belonging to the backend and not specific to the implementation of the main program nor talking directly to the hardware lives here.

* ./ADS1298Server/: Sever program used to retrieve data from the ADS1298 device.

* ./EPDevice/: Code for controlling the ADS1298 device through the WinUSB driver. Used by the ADS1298Server.

* ./ADS1298Intercom/: Windows Communication Foundation (WCF) interface and callbacks for communication between the ADS1298 server and the ADS1298 data provider contained in the EMGFramework project.

* ./QDGraph/: The Quick and Dirty Graph library used to display EMG data.

* ./RecordingPlan/: Implements the control used for presenting the recording schedule while recording data.

* ./MPTCE_installer/: Installer project for MPTCE and the ADS1298 server.

* ./QDGraphTest/, ./RecordingPlanTest/, ./Tester/: Projects containing testing code for QDGraph, RecordingPlan and EMGFramework respectively.

* ./Documentation/: Sandcastle project for automatically generating documentation.


ADDITIONAL CONTENTS
===================

* ./Matlab\ to\ HDF5\ conversion: A Matlab script used to convert memory structures used by BioPatRec TRE to .h5r (HDF5 recording) files compatible with MPTCE.

* ./Image\ resources/: Photographs and clipart used by the program.

* ./icons: Icon files used by MPTCE and the ADS1298Server


++ Check out the recordings branch of the repository for recording samples.



ACKNOWLEDGEMENTS
================

* The code in EPDevice for accessing the ADS1298 USB device has been provided by the Center for Medical Physics and Biomedical Engineering at the Medical University of Vienna (http://www.zmpbmt.meduniwien.ac.at/)

* This software makes use of the Encog Machine Learning Framework for supporting ANN-based pattern recognizers. You can find more about it at 
http://www.heatonresearch.com/encog

* The QDGraph library uses WriteableBitmapEx (https://writeablebitmapex.codeplex.com/)

* Spinning indicators were brought to life using the WPF Animated GIF library (https://github.com/thomaslevesque/WpfAnimatedGif)



LICENSING
=========

Some libraries implemented in this project are released under the GNU Lesser General Public License v3.0. The main program and the tests are released under the GNU General Public License v3.0. You can access the text of both licenses in the following links: 

https://www.gnu.org/licenses/lgpl.html

http://www.gnu.org/licenses/gpl.html

Application icons are licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License

All other clipart and images used in the software are released under a Creative Commons CC0 1.0 Universal License.

See COPYING.HDF5 for the license of the HDF5 library

About

Repository for the Myoelectric Personal Training and Control Environment

Resources

License

LGPL-3.0 and 2 other licenses found

Licenses found

LGPL-3.0
COPYING.LESSER
GPL-3.0
COPYING
Unknown
COPYING.HDF5

Stars

Watchers

Forks

Packages

No packages published