/** * Convenience method to compute a metric over an indices trace, excluding * resets. * * @param trace Trace of indices * @return */ public virtual Metric <int> mmGetMetricFromTrace(IndicesTrace trace) { List <HashSet <int> > data = null; BoolsTrace excludeResets = mmGetTraceResets(); if (excludeResets != null) { int[] i = { 0 }; data = trace.items.Where(t => !excludeResets.items[i[0]++]).ToList(); } trace.items = data; CountsTrace iTrace = trace.makeCountsTrace(); return(Metric <int> .createFromTrace(iTrace, mmGetTraceResets())); }
public virtual List <Metric <int> > mmGetDefaultMetrics(int verbosity) { BoolsTrace resetsTrace = mmGetTraceResets(); List <Metric <int> > metrics = new List <Metric <int> >(); List <ITrace> utilTraces = mmGetDefaultTraces(verbosity); for (int i = 0; i < utilTraces.Count - 3; i++) { metrics.Add(Metric <int> .createFromTrace((Trace <int>)utilTraces[i], resetsTrace)); } for (int i = utilTraces.Count - 3; i < utilTraces.Count - 1; i++) { metrics.Add(Metric <int> .createFromTrace((Trace <int>)utilTraces[i], null)); } metrics.Add(mmGetMetricSequencesPredictedActiveCellsPerColumn()); metrics.Add(mmGetMetricSequencesPredictedActiveCellsShared()); return(metrics); }
/** * Convenience method to compute a metric over an counts trace, excluding * resets. * * @param trace Trace of indices * @return */ public virtual Metric <double> mmGetMetricFromTrace(Trace <double> trace) { return(Metric <double> .createFromTrace(trace, mmGetTraceResets())); }