RAPID-MIX_API issueshttps://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues2017-12-04T16:14:23Zhttps://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/18"Hello World" is lame2017-12-04T16:14:23ZMichael Zbyszyński"Hello World" is lameThe current "hello world" example on the website is not very inspiring. It demonstrates something that is music-centred and esoteric. And, it doesn't work very well. Can this be improved? Or, should we abandon "hello world"?
One big pr...The current "hello world" example on the website is not very inspiring. It demonstrates something that is music-centred and esoteric. And, it doesn't work very well. Can this be improved? Or, should we abandon "hello world"?
One big problem is that this example should run without any 3rd party dependancies. Unfortunately, that means very limited input potential.
Also, how inspiring is "hello world" supposed to be?Michael ZbyszyńskiMichael Zbyszyńskihttps://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/16Stackoverflow presence2017-09-21T16:16:08ZFrancisco BernardoStackoverflow presenceFrancisco BernardoFrancisco Bernardohttps://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/15Have run() return a struct2017-12-01T09:02:41ZMichael ZbyszyńskiHave run() return a struct@Joseph has added a struct to machinelearning.h which could hold many types of possible algorithm outputs. How far to integrate this into the whole API?
``` c++
/** @brief A generic ouptut struct to fit all kinds of models */
t...@Joseph has added a struct to machinelearning.h which could hold many types of possible algorithm outputs. How far to integrate this into the whole API?
``` c++
/** @brief A generic ouptut struct to fit all kinds of models */
typedef struct runResults_t {
std::vector<double> likelihoods;
std::vector<double> regression;
std::vector<double> progressions;
std::string likeliest;
} runResults;
```https://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/11Windows and Linux Builds for examples2017-09-21T13:19:47ZMichael ZbyszyńskiWindows and Linux Builds for examplesWe should setup a windows build system to create windows binaries for C++ examplesWe should setup a windows build system to create windows binaries for C++ examplesMichael ZbyszyńskiMichael Zbyszyńskihttps://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/8Add GF to Rapid API2017-08-17T14:33:08ZMichael ZbyszyńskiAdd 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.Michael ZbyszyńskiMichael Zbyszyńskihttps://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/7Merge 3rd party dependancies (json and catch)2017-08-17T14:30:14ZMichael ZbyszyńskiMerge 3rd party dependancies (json and catch)We have added dependancies to json.cpp and Catch cpp to the rapidmix-api.
These dependancies are also part of XMM and json.cpp is part of RapidLib. How can we resolve these duplicates in this repository?We have added dependancies to json.cpp and Catch cpp to the rapidmix-api.
These dependancies are also part of XMM and json.cpp is part of RapidLib. How can we resolve these duplicates in this repository?https://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/6GVF does not import/export JSON models and breaks the architectural pattern2017-11-27T17:21:56ZFrancisco BernardoGVF does not import/export JSON models and breaks the architectural patternThis could be a "Nice to have" feature
@baptisteThis could be a "Nice to have" feature
@baptistehttps://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/4Document background classes2017-09-29T09:22:11ZMichael ZbyszyńskiDocument background classesUsers 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.https://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/3Decide: submodule, subtree, read-tree2017-08-30T13:10:42ZMichael ZbyszyńskiDecide: submodule, subtree, read-tree@Joseph @francisco
I think none of us like git submodule for our external repositories. I had been considering git subtree. Francisco used git read-tree. We should come up with one, simple solution for our public repository.@Joseph @francisco
I think none of us like git submodule for our external repositories. I had been considering git subtree. Francisco used git read-tree. We should come up with one, simple solution for our public repository.Francisco BernardoFrancisco Bernardohttps://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/38Reconsider trainingData.startRecording()2017-11-27T17:59:51ZMichael ZbyszyńskiReconsider trainingData.startRecording()@fabian Brought up a point about the trainingData class, and its current, stateful API.
It does this:
```cpp
trainingData.startRecording("myLabel");
trainingData.addElement(element);
trainingData.stopRecording();
```
That could ...@fabian Brought up a point about the trainingData class, and its current, stateful API.
It does this:
```cpp
trainingData.startRecording("myLabel");
trainingData.addElement(element);
trainingData.stopRecording();
```
That could cause problems if these functions aren't called in the right order. A safer API would be:
```cpp
trainingData::phrase *myPhrase = trainingData.createPhase(); //returns a pointer to a phrase
myPhrase.addElement(<element>);
```https://gitlab.doc.gold.ac.uk/rapid-mix/RAPID-MIX_API/-/issues/37Design windowed process2017-12-04T16:37:12ZMichael ZbyszyńskiDesign windowed processMZ is about to add a feature to RapidLib to allow users to run "continuous" processing on a window of input frames. In other words, this function gets input data frame-by-frame and buffers it into the right size series and calls dtw.run(...MZ is about to add a feature to RapidLib to allow users to run "continuous" processing on a window of input frames. In other words, this function gets input data frame-by-frame and buffers it into the right size series and calls dtw.run() every n number of frames.
Since this is going to co-exist with similar functions in Rapid-Mix API, we should come up with some general design for this kind of use.
@francisco This is basically what is happening when GVF is in following mode. AFAIK, GVF only does following -- there is no discreet mode for processing a pre-recorded input series.
@Joseph I think that hhmm.filter() is the same type of function as GVF.update() for continuous recognition?
This suggests to me that RapidLib/DTW should handle its own windowing.
I did consider a design that was some kind of windowedML object. That might take a pointer to a specific model and some window parameters. So something like:
```
temporalClassification myModel;
windowedMLObject myWindowThing(*myModel, <window size>, <hopsize>);
myWindowThing.continuousProcessMethod(<new data frame>);
```
That would need better names.
Is there any value in having this kind of object in the RAPID-MIX API?
I'll tag @rebeccaf and @FredB here, too,Michael ZbyszyńskiMichael Zbyszyński