private void OnBufferFinished(dynamic data)
 {
     Data = (List <double[]>)data;
     Data.ForEach(vector =>
     {
         FeatureVector.AddRange(vector);
     });
     Fuse();
 }
 /// <summary>
 /// Instantiate DecisionsInDecisionOut fusion strategy by providing other fusion strategies whose output would be used as an input for this fusion.
 /// </summary>
 /// <param name="fusionStrategies"></param>
 public DecisionsInDecisionOut(List <IFusionStrategy> fusionStrategies)
 {
     FusionStrategies = fusionStrategies;
     FusionStrategies.ForEach((IFusionStrategy fusionStrategy) =>
     {
         fusionStrategy.OnFusionFinished = ((dynamic output) =>
         {
             if (IFusionStrategyFinished == FusionStrategies.Count)
             {
                 Fuse();
             }
             else
             {
                 FeatureVector.AddRange(new List <double>(output));
                 IFusionStrategyFinished++;
             }
         });
     });
 }
Exemple #3
0
 /// <summary>
 /// Instantiate FeaturesInDecisionOut fusion strategy by providing other fusion strategies whose output would be used as an input for this fusion.
 /// </summary>
 /// <param name="fusionStrategies"></param>
 /// <param name="classifier">Classifier to be use.</param>
 public FeaturesInDecisionOut(List <IFusionStrategy> fusionStrategies, IClassifier classifier)
 {
     Classifier       = classifier;
     FusionStrategies = fusionStrategies;
     FusionStrategies.ForEach((IFusionStrategy fusionStrategy) =>
     {
         fusionStrategy.OnFusionFinished = ((dynamic output) =>
         {
             if (IFusionStrategyFinished >= FusionStrategies.Count)
             {
                 if (FusionStrategies.Count == 1)
                 {
                     FeatureVector = output;
                 }
                 Fuse();
             }
             else
             {
                 FeatureVector.AddRange(new List <double>(output));
                 IFusionStrategyFinished++;
             }
         });
     });
 }