Named KDTree

nix
Owen Green 4 years ago
parent 0156942315
commit 0b6f7acd18

@ -1,13 +1,12 @@
FluidKDTree : FluidRealTimeModel
FluidKDTree : FluidModelObject
{
var neighbours,radius,lookup;
var neighbours,radius;
*new{ |server, numNeighbours = 1, radius = 0, lookupDataSet|
^super.new(server,[numNeighbours,radius,lookupDataSet ? -1])
*new{ |server, numNeighbours = 1, radius = 0|
^super.new(server,[numNeighbours,radius ? -1])
.numNeighbours_(numNeighbours)
.radius_(radius)
.lookupDataSet_(lookupDataSet);
.radius_(radius);
}
numNeighbours_{|k|neighbours = k.asInteger; }
@ -16,10 +15,7 @@ FluidKDTree : FluidRealTimeModel
radius_{|r| radius = r.asUGenInput;}
radius{ ^radius; }
lookupDataSet_{|ds| lookup = ds ? -1; }
lookupDataSet{|ds| ^ (lookup ? -1) }
prGetParams{^[this.numNeighbours,this.radius,this.lookupDataSet,-1,-1];}
prGetParams{^[this.id, this.numNeighbours,this.radius];}
fitMsg{ |dataSet| ^this.prMakeMsg(\fit,this.id,dataSet.id);}
@ -47,16 +43,26 @@ FluidKDTree : FluidRealTimeModel
}
kr{|trig, inputBuffer,outputBuffer, numNeighbours = 1, lookupDataSet|
this.numNeighbours_(numNeighbours);
/* this.numNeighbours_(numNeighbours);
lookupDataSet = lookupDataSet ? -1;
this.lookupDataSet_(lookupDataSet);
this.lookupDataSet_(lookupDataSet);*/
^FluidKDTreeQuery.kr(trig,
this, numNeighbours, this.radius,lookupDataSet.asUGenInput,
inputBuffer,outputBuffer);
}
^FluidKDTreeQuery.kr(K2A.ar(trig),
this, this.numNeighbours, this.radius, this.lookupDataSet.asUGenInput,
this.prEncodeBuffer(inputBuffer),
this.prEncodeBuffer(outputBuffer));
}
FluidKDTreeQuery : FluidRTMultiOutUGen
{
*kr{ |trig, tree, numNeighbours, radius,lookupDataSet, inputBuffer, outputBuffer |
^this.multiNew('control',trig, tree.asUGenInput, numNeighbours, radius,lookupDataSet!?(_.asUGenInput)??{-1}, inputBuffer.asUGenInput, outputBuffer.asUGenInput)
}
FluidKDTreeQuery : FluidRTQuery {}
init { arg ... theInputs;
inputs = theInputs;
^this.initOutputs(1, rate);
}
}

@ -29,7 +29,10 @@ PluginLoad(FluidSTFTUGen)
makeSCWrapper<NRTThreadedDataSetClient>("FluidDataSet",ft);
makeSCWrapper<NRTThreadedDataSetQueryClient>("FluidDataSetQuery",ft);
makeSCWrapper<NRTThreadedLabelSetClient>("FluidLabelSet",ft);
makeSCWrapper<RTKDTreeClient>("FluidKDTree",ft);
makeSCWrapper<NRTThreadedKDTreeClient>("FluidKDTree",ft);
makeSCWrapper<RTKDTreeQueryClient>("FluidKDTreeQuery",ft);
makeSCWrapper<RTKMeansClient>("FluidKMeans",ft);
makeSCWrapper<RTKNNClassifierClient>("FluidKNNClassifier",ft);
makeSCWrapper<RTKNNRegressorClient>("FluidKNNRegressor",ft);

Loading…
Cancel
Save