Open-Source, Web-based application to Annotate signal, timeseries, waveforms...
Preview here: https://sigannot.juliendubiel.net/
Current state:
- Load data:
- Add a new signal
- From uploaded json file
- From uploaded csv file
- From hardcoded json file link (for demo)
- From hardcoded csv file link (for demo)
- Delete a signal
- Directly from Physionet for immediate public physiological data annotation
- Add a new signal
- Display data:
- Zoom in/out using ctrl+mouse scrool
- Zoom in/out using interface buttons
- Move forward/backward using keyboard arrows
- Move forward/backward using interface buttons
- Display a grid
- Specify grid spacing
- Annotate:
- Select a single-sample
- Select a range
- Edit annotation types
- Delete an annotation
- Help button
- Export annotations
- Future functionnality:
- Store modifications in localstorage
- Fast scroll using a small preview of all the signal like sublimetext
- Implement magnetism :
- to easily click on specific attributes of the signal (for example peaks)
- to simplify editing annotations that are single-sample wide
- Keyboard shortcuts for fast annotation
There are two usable files that you can simply open with your browser (after cloning/downloading this whole folder):
example.html
: as its name exaplains it, it's an example. The data displayed by example.html is loaded fromtest_data.json
.app.html
: this is the final app that is currently under active development, you can try the implemented features, the format of the json file must be like this:
{"values": [0.45,0.88, 0.98, 1.35...]}
This application is developped as a library file : annotator.js
that might be used anywhere else, example.html and app.html are example usages of this library.
It only depends on the excellent Concrete.js library : http://www.concretejs.com/