protected void classifyInstance(Instance instance) {
     _finalOutput = new double[instance.InputValues.Length];
     _finalOutput = _ann.classify(_sc.conditionInput(instance.InputValues));
     //restore the datums to their original values
     _finalOutput = _sc.reclaim(_finalOutput);
 }
 public BatchClassifier(SignalConditioner sc, Instance[] inst) : base(sc) {
     _instances = inst; //init the instances in the network interface
 }
 //classify a set of instances
 public void classifyInstances(Instance[] instances) {
     _running = true;
     double[][] tempIn = new double[_instances.Length][];
     for(int i = 0; i < _instances.Length; i++)
         tempIn[i] = _sc.conditionInput(_instances[i].InputValues);
     _finalOutputs = new double[instances.Length][];
     for (int i = 0; i < instances.Length; i++) {
         _finalOutputs[i] = _ann.classify(tempIn[i]);
         if (!_running) break; //stop the classification process
     }
     //restore the datums to their original values
     for (int i = 0; i < _finalOutputs.Length; i++)
         _finalOutputs[i] = _sc.reclaim(_finalOutputs[i]);
     _running = false;
     if (finishedProcessingEvent != null)
         finishedProcessingEvent.Invoke();
 }