Giter VIP home page Giter VIP logo

openseizuredetector / openseizuredatabase Goto Github PK

View Code? Open in Web Editor NEW
3.0 2.0 2.0 59.55 MB

This repository contains the toolkit to create and proocess the database of seizure and seizure-like data that has been contributed by OpenSeizureDetector users to contribute to research to improve seizure detection algorithms (Open Seizure Toolkit, OSTK).

Home Page: https://openseizuredetector.org.uk

License: Other

Python 27.74% Jupyter Notebook 72.25% Shell 0.01%
epilepsy epilepsy-monitoring epileptic-seizure-detection epileptic-seizures machine-learning

openseizuredatabase's Introduction

OpenSeizureDetector

A suite of open source and open hardware projects designed to detect and alert people to someone suffering from an epileptic seizure (fit).
This is a work in progress at the moment. The most promising version is based on a Pebble Smart Watch to measure movement of the arm during a tonic-clonic seizure. Other prototypes include:

  • Pebble Smart Watch Detector
  • Microsoft Kinect (depth camera) Detection
  • Acceleration Detection
  • Audio Detection
  • Video Detection

Pebble Smart Watch Seizure Detector

See http://openseizuredetector.org.uk

Note that there are separate github repositories for the smart watch seizure detector app (https://github.com/OpenSeizureDetector/Pebble_SD), and the Android Companion App that raises alarms in response to detected seizures (https://github.com/OpenSeizureDetector/Android_Pebble_SD).

Those of you watching this repository for changes to the Pebble Seizure detector should watch the above repositories too, or you will not see updates.

Acceleration Detection

It is based on an accelerometer monitoring movement. It uses a fourier transform to extract the frequency spectrum of the movement, and monitors movements in a given frequency band. The idea is that it will detect the rhythmic movements associated with a seizure, but not normal day to day activities.

If the acceleration within the given frequency band is more than a threshod value, it starts a timer. If the acceleration remains above the threshold for a given period, it issues a warning beep. If it remains above the threshold for a longer specified period, the unit alarms (continuous tone rather than beep).

This is a development version so it contains a real time clock and SD card to record the measured spectra to help optimise the device.

My initial intention is to mount this on a floor board on which our son sleeps (he will not sleep in a bed...). It may not be sensitive enough to pick up the movement through the floor, so it may have to be turned into a wearable device.

Audio Detection

No working prototype yet....

Video Detection

Getting there. See http://nerdytoad.blogspot.co.uk/2013/03/first-go-at-video-based-epileptic.html.

Microsoft Kinect (Depth Camera) Detection

This is the most promising looking option at the moment - the depth camera can eliminate background noise very well, leaving just the image of the subject to analyse. It also looks as though it is possible to detect breathing movements in the depth camera image. The thing that is missing at the moment is analysis of the image intensities to calculate rate of breathing. See http://nerdytoad.blogspot.co.uk/search/label/Kinect for examples of images etc.

Graham Jones, 03 January 2014. ([email protected])

openseizuredatabase's People

Contributors

aroonpro avatar jones139 avatar pmithrandir avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

jpordoy aroonpro

openseizuredatabase's Issues

Files open are not closed properly if an exception is raised in Summarize Data

In the code we have many of the file openning that are done in this model :
outfile = open(outFilePath, 'w') #dataTime = dateutil.parser.parse(analyser.eventObj['dataTime']) pageData={ 'events': { 'tcSeizures': tcSeizuresLst, 'allSeizures': allSeizuresLst, 'falseAlarms': [], 'otherEvents': [] } } #print(pageData) print("Rendering index page") outfile.write(template.render(data=pageData)) outfile.close()

The problem is that if something is going bad between open and close, the file will never be closed properly.

Using either try except finally of with open(fname) as infile: to resolve that issue.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.