public void Serialize(Types.Signal signal, string filePath) { using (FileStream writer = new FileStream(filePath, FileMode.OpenOrCreate)) { _serializer.WriteObject(writer, new SignalDto(signal)); } }
public SignalParametersViewModel(Types.Signal signal) { _amplitude = signal.metadata.amplitude; if (signal.metadata.isContinous) { if (signal.metadata.signalType == Types.SignalType.Composed) { MessageBox.Show("Cannot calculate integrals on continous composed signal"); return; } _mean = StatisticsContinous.meanValue(signal.metadata); _meanAbs = StatisticsContinous.meanAbsValue(signal.metadata); _meanPower = StatisticsContinous.meanPower(signal.metadata); _effectiveValue = StatisticsContinous.effectiveValue(signal.metadata); _variance = StatisticsContinous.variance(signal.metadata); } else { _mean = StatisticsDiscrete.meanValue(signal.points); _meanAbs = StatisticsDiscrete.meanAbsValue(signal.points); _meanPower = StatisticsDiscrete.meanPower(signal.points); _effectiveValue = StatisticsDiscrete.effectiveValue(signal.points); _variance = StatisticsDiscrete.variance(signal.points); } FormatCommand = new RelayCommand(FormatValues); FormatValues(); }
public HistogramViewModel(Types.Signal signal) { Signal = signal ?? throw new ArgumentNullException(nameof(signal)); CalculateCommand = new RelayCommand(CalculateHistogram, () => DomainsCount > 1 && DomainsCount < 100); SavePlotImageCommand = new RelayCommand(SavePlotImage); CalculateHistogram(); }
public ErrorsViewModel(Types.Signal original, Types.Signal processed, int neighboursCount, double samplingFrequency) { _neighboursCount = neighboursCount; _samplingFrequency = samplingFrequency; _meanSquaredError = ErrorCalculations.meanSquaredError(original.points, processed.points); _signalToNoiseRatio = ErrorCalculations.signalToNoiseRatio(original.points, processed.points); _peakSignalToNoiseRatio = ErrorCalculations.peakSignalToNoiseRatio(original.points, processed.points); _maximumDifference = ErrorCalculations.maxDifference(original.points, processed.points); SaveResultsCommand = new RelayCommand(SaveResults); RememberResultsCommand = new RelayCommand(RememberResults); }
public SignalDto(Types.Signal signal) { Points = signal.points.Select(p => new PointDto(p)).ToList(); Metadata = new SignalMetadataDto(signal.metadata); }