RapidLib issues
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues
2017-08-17T17:34:41Z
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/53
Windows and Linux Builds for examples
2017-08-17T17:34:41Z
Michael Zbyszyński
Windows and Linux Builds for examples
We should setup a windows build system to create windows binaries for C++ examples
We should setup a windows build system to create windows binaries for C++ examples
API v0.3
Michael Zbyszyński
Michael Zbyszyński
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/51
Add GF to Rapid API
2017-11-08T16:50:02Z
Michael Zbyszyński
Add GF to Rapid API
@mgill009 @mick
If I can get my hands on the Gesture Follower code, I'll integrate it into the RapidLib.
@mgill009 @mick
If I can get my hands on the Gesture Follower code, I'll integrate it into the RapidLib.
API v0.3
Michael Zbyszyński
Michael Zbyszyński
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/39
Feature extraction pipeline
2017-09-20T10:05:07Z
Michael Zbyszyński
Feature extraction pipeline
Integrate our IML into PiPo? Essentia as PiPo?
Integrate our IML into PiPo? Essentia as PiPo?
API v0.3
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/118
Expose numHiddenNodes
2017-12-08T10:23:03Z
Michael Zbyszyński
Expose numHiddenNodes
numHiddenNodes would be a useful parameter to expose.
numHiddenNodes would be a useful parameter to expose.
API demonstrators
Michael Zbyszyński
Michael Zbyszyński
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/110
Copyright assertions on all files
2017-09-25T12:59:41Z
Michael Zbyszyński
Copyright assertions on all files
All files should have something like this:
```
//
// dtw.h
// RapidLib
//
// Created by mzed on 07/06/2017.
// Copyright © 2017 Goldsmiths. All rights reserved.
//
```
All files should have something like this:
```
//
// dtw.h
// RapidLib
//
// Created by mzed on 07/06/2017.
// Copyright © 2017 Goldsmiths. All rights reserved.
//
```
API demonstrators
Michael Zbyszyński
Michael Zbyszyński
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/109
JS seriesClassification fails with large series
2017-09-21T13:33:58Z
Michael Zbyszyński
JS seriesClassification fails with large series
Testing on this page:
https://live.codecircle.com/d/87dKNLQorohuER84X
seriesClassification seems to fail when either the learned series or the input series is long. This is inconsistent, though.
Testing on this page:
https://live.codecircle.com/d/87dKNLQorohuER84X
seriesClassification seems to fail when either the learned series or the input series is long. This is inconsistent, though.
API demonstrators
Michael Zbyszyński
Michael Zbyszyński
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/105
FastDTW in JS
2017-09-20T11:40:44Z
Michael Zbyszyński
FastDTW in JS
The JS build is currently failing because of a linker error around warpPath. Fix it.
The JS build is currently failing because of a linker error around warpPath. Fix it.
API demonstrators
Michael Zbyszyński
Michael Zbyszyński
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/103
DTW: refactor
2017-09-07T14:42:06Z
Michael Zbyszyński
DTW: refactor
In preparation for FastDTW.
DTW should just take two series as inputs. That is: DTW(series1, series2) with returns a cost. No storage in DTW.
Also, the shorter series should be second:
```
if (tsI.size() < tsJ.size())
return g...
In preparation for FastDTW.
DTW should just take two series as inputs. That is: DTW(series1, series2) with returns a cost. No storage in DTW.
Also, the shorter series should be second:
```
if (tsI.size() < tsJ.size())
return getWarpDistBetween(tsJ, tsI, distFn);
````
API demonstrators
Michael Zbyszyński
Michael Zbyszyński
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/102
DTW: match against single class
2017-09-27T11:24:35Z
Michael Zbyszyński
DTW: match against single class
Users might not want to run matches against all classes. Implement the ability to match against a specific label.
Users might not want to run matches against all classes. Implement the ability to match against a specific label.
API demonstrators
Michael Zbyszyński
Michael Zbyszyński
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/100
DTW: Implement trainingSet stats
2017-09-26T16:18:39Z
Michael Zbyszyński
DTW: Implement trainingSet stats
To understand "cost" users might need to know:
- maximum (and minimum?) cost between examples in a label.
- max and min cost between different labels.
Implement a function or functions to calculate these.
Also need these that don't requ...
To understand "cost" users might need to know:
- maximum (and minimum?) cost between examples in a label.
- max and min cost between different labels.
Implement a function or functions to calculate these.
Also need these that don't require much calculation:
- max and min length in a label
- max and min length across all examples
make them an automatic part of some class.
API demonstrators
Michael Zbyszyński
Michael Zbyszyński
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/99
Improve README
2017-09-27T11:25:12Z
Michael Zbyszyński
Improve README
I think this readme is quite out of data.
I think this readme is quite out of data.
API demonstrators
Michael Zbyszyński
Michael Zbyszyński
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/81
Document SeriesClassification
2017-09-27T11:23:47Z
Michael Zbyszyński
Document SeriesClassification
Doxygen comments for series classification are needed.
Doxygen comments for series classification are needed.
API demonstrators
Michael Zbyszyński
Michael Zbyszyński
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/36
Umbrella NPM module
2017-08-30T12:04:59Z
Michael Zbyszyński
Umbrella NPM module
Combine module from #35 with ircam modules to create unified RapidMix module
Combine module from #35 with ircam modules to create unified RapidMix module
API demonstrators
Michael Zbyszyński
Michael Zbyszyński
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/35
Make RapidLib node module
2017-09-01T14:12:33Z
Michael Zbyszyński
Make RapidLib node module
We can import RapidLib into node, but it would be useful for a simple npm install rapidlib command. This would allow an umbrella module that includes rapidlib and ircam dependancies.
We can import RapidLib into node, but it would be useful for a simple npm install rapidlib command. This would allow an umbrella module that includes rapidlib and ircam dependancies.
API demonstrators
Michael Zbyszyński
Michael Zbyszyński
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/115
Implement exceptions for malformed data
2017-11-22T11:29:11Z
Michael Zbyszyński
Implement exceptions for malformed data
Both train() and run() methods could have malformed data as input, if the feature vector sizes aren't consistent.
Train() returns false, and run() returns [0]. These methods should throw legible exceptions that could be caught.
Also, ...
Both train() and run() methods could have malformed data as input, if the feature vector sizes aren't consistent.
Train() returns false, and run() returns [0]. These methods should throw legible exceptions that could be caught.
Also, unit tests should make sure this works.
Future API
Michael Zbyszyński
Michael Zbyszyński
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/112
seriesClassifcation crash in Node
2017-11-15T16:32:39Z
Michael Zbyszyński
seriesClassifcation crash in Node
This code crashes in NodeJS:
```javascript
var rapidMix = require('rapidlib');
var testDTW = new rapidMix.SeriesClassification();
testSet2 = [];
for (let i = 0; i < 5; ++i) {
testSet2.push([0.1, 0.1, 0.1]);
}
let series2 = {input: ...
This code crashes in NodeJS:
```javascript
var rapidMix = require('rapidlib');
var testDTW = new rapidMix.SeriesClassification();
testSet2 = [];
for (let i = 0; i < 5; ++i) {
testSet2.push([0.1, 0.1, 0.1]);
}
let series2 = {input: testSet2, label: "yyy"};
let series1 = {input: testSet2, label: "zzz"};
let sset = [series1, series2];
console.log(testDTW.train(sset));
console.log(testDTW.run(testSet2));
```
It doesn't crash in the browser here:
https://live.codecircle.com/d/oma4nGEEk8SXvZ6hg
It doesn't crash in C++.
It doesn't crash if the feature vector has 2 or 4 members. It also doesn't crash for many power of two, or similar, set lengths.
It calls ```_abort``` from the emscripten ``_free()`` method.
Future API
Michael Zbyszyński
Michael Zbyszyński
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/104
Template ml data
2017-09-25T12:47:39Z
Michael Zbyszyński
Template ml data
Currently, everything works on doubles. It would be nice to template this so that floats were possible. JUCE/Audio folks would appreciate.
Currently, everything works on doubles. It would be nice to template this so that floats were possible. JUCE/Audio folks would appreciate.
Future API
Michael Zbyszyński
Michael Zbyszyński
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/101
DTW windowed classification
2017-12-08T10:24:37Z
Michael Zbyszyński
DTW windowed classification
DTW should be able to do continuous classification based on a window of recent samples. The window size is reliant on the sizes of the training examples. This issue is blocked by #100
DTW should be able to do continuous classification based on a window of recent samples. The window size is reliant on the sizes of the training examples. This issue is blocked by #100
Future API
Michael Zbyszyński
Michael Zbyszyński
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/88
Document background classes
2017-09-20T10:58:22Z
Michael Zbyszyński
Document background classes
Users of classifiers (DTW or kNN) want to know when there is no gesture that matches what has been trained. We need to document how the possible use of a "background" class, or rejecting bad matches by thresholding.
Users of classifiers (DTW or kNN) want to know when there is no gesture that matches what has been trained. We need to document how the possible use of a "background" class, or rejecting bad matches by thresholding.
Future API
https://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib/-/issues/67
Improve handling of "k"
2017-05-02T14:07:05Z
Michael Zbyszyński
Improve handling of "k"
MZ just added getK() and setK() to the kNN model. This brings up some interesting issues:
1. I can't think of a case where k == 2 is better than k == 1. Disallow it?
1. Ties go to the first class found. Find a better metric? Dista...
MZ just added getK() and setK() to the kNN model. This brings up some interesting issues:
1. I can't think of a case where k == 2 is better than k == 1. Disallow it?
1. Ties go to the first class found. Find a better metric? Distance? Average distance?
1. If setK() asks for a k that is greater than the current number of neighbours, then k is set to the number of neighbours. Maybe kNN should remember the number that the user requested so that k can be increased if new neighbours are added?
1. Using getK() and setK() in a modelSet required casting a baseModel* down the inheritance chain. Is this bad design? How will this work if more parameters are exposed in more models?
This issue should probably be broken up into sub-issues.
Future API
Michael Zbyszyński
Michael Zbyszyński