|
| 1 | +# SignalAnnotation |
| 2 | + |
| 3 | +Web-based application to Annotate signal, timeseries, waveforms... |
| 4 | + |
| 5 | +Current state: |
| 6 | + |
| 7 | +* Load data: |
| 8 | + * [x] From json file |
| 9 | + * [ ] From csv file |
| 10 | + * [ ] From uploaded (json/csv) file |
| 11 | +* Display data: |
| 12 | + * [x] Zoom in/out using ctrl+mouse scrool |
| 13 | + * [ ] Zoom in/out using interface buttons |
| 14 | + * [x] Move forward/backward using keyboard arrows |
| 15 | + * [x] Move forward/backward using interface buttons |
| 16 | + * [x] Display a grid |
| 17 | + * [ ] Specify grid spacing |
| 18 | +* Annotate: |
| 19 | + * [x] Select a single-sample |
| 20 | + * [x] Select a range |
| 21 | + * [ ] Edit annotation types |
| 22 | + * [x] Delete an annotation |
| 23 | +* [x] Help button |
| 24 | +* [ ] Export annotations |
| 25 | +* Future functionnality: |
| 26 | +* [ ] Store modifications in localstorage |
| 27 | +* [ ] Fast scroll using a small preview of all the signal like sublimetext |
| 28 | +* [ ] Implement magnetism : |
| 29 | + * [ ] to easily click on specific attributes of the signal (for example peaks) |
| 30 | + * [ ] to simplify editing annotations that are single-sample wide |
| 31 | +* [ ] Keyboard shortcuts for fast annotation |
| 32 | + |
| 33 | +## Run the application |
| 34 | + |
| 35 | +This is currently a simple HTML file that you can open with your web-browser : open the `example.html` file. |
| 36 | +The data displayed by example.html is loaded from `test_data.json`. |
| 37 | + |
| 38 | +The format of the json file must be like this: |
| 39 | + |
| 40 | +```json |
| 41 | +{"sig_name": ["My first signal", "My second signal"],"data":[[1, 1, 2, 1, 0, ...], [0.45,0.88, 0.98, 1.35...]]} |
| 42 | +``` |
| 43 | + |
| 44 | +Where the sig_name list is a list of title for you signals, and data contains a list of list of numerics corresponding to your signals. |
| 45 | + |
| 46 | + |
| 47 | +## Development |
| 48 | + |
| 49 | +This application is developped as a library file : `annotator.js`. `example.html` is an example usage of the library. |
| 50 | + |
| 51 | +It only depends on the excellent Concrete.js library : http://www.concretejs.com/ |
| 52 | + |
0 commit comments