示例#1
0
 public void Serialize(Types.Signal signal, string filePath)
 {
     using (FileStream writer = new FileStream(filePath, FileMode.OpenOrCreate))
     {
         _serializer.WriteObject(writer, new SignalDto(signal));
     }
 }
示例#2
0
        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();
        }
示例#3
0
        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);
 }