public SequenceData Operate(IList <ProcParam <SequenceProcEnv> > args, SequenceProcEnv env) { SequenceColumnMultiSelectParameter si = args[0] as SequenceColumnMultiSelectParameter; List <int> indices = si.Value.Where(i => 0 <= i && i < env.SelectedSequence.Values.ColumnNames.Length).ToList(); TimeSeriesValues val = new TimeSeriesValues(indices.Select(i => env.SelectedSequence.Values.ColumnNames[i])); foreach (var pair in env.SelectedSequence.Values.Enumerate()) { val.SetValue(pair.Key, indices.Select(i => pair.Value[i]).ToArray()); } SequenceData ret = new SequenceData(val, new LabelingBorders(env.SelectedSequence.Borders), PathEx.GiveName("Extracted", env.SelectedSequence.Title)); ret.Type = SequenceType.Numeric; return(ret); }
public IList <ProcParam <SequenceProcEnv> > GetParameters() { SequenceColumnMultiSelectParameter si = new SequenceColumnMultiSelectParameter("Indices Extracted"); return(new ProcParam <SequenceProcEnv>[] { si }); }