public ARArtifactDetector(ARModel model) { if (model == null) { throw new ArgumentException(); } this.model = model; errorDist = new OnlineVariance(); confusionDist = new OnlineVariance(); }
// end artifact fields public SimpleFilterPipeable( double sampleRate, int channels, double minFreq, double maxFreq, double transitionBandwidth, double artifactLearningTime) { artifactLearningSize = (int)Math.Round(sampleRate * artifactLearningTime); signalFilters = new IFilter <double> [channels]; artifactLearningSamples = new Queue <double> [channels]; arPredictors = new ARModel[channels]; lastPredictions = new double[channels]; arError = new OnlineVariance[channels]; for (int i = 0; i < channels; i++) { signalFilters[i] = new ConvolvingDoubleEndedFilter(minFreq, maxFreq, transitionBandwidth, sampleRate, true); artifactLearningSamples[i] = new Queue <double>(); arError[i] = new OnlineVariance(); } }