Beispiel #1
0
        public bool Equals(ECGData other)
        {
            if (ReferenceEquals(null, other))
            {
                return(false);
            }

            if (ReferenceEquals(this, other))
            {
                return(true);
            }

            return(StartDateTime.EqualsUpToMilliseconds(other.StartDateTime) &&
                   EndDateTime.EqualsUpToMilliseconds(other.EndDateTime) &&
                   SamplingRate == other.SamplingRate &&


                   UnfilteredSignal.Rank == other.UnfilteredSignal.Rank &&
                   Enumerable.Range(0, UnfilteredSignal.Rank).All(dimension =>
                                                                  UnfilteredSignal.GetLength(dimension) == other.UnfilteredSignal.GetLength(dimension)) &&
                   UnfilteredSignal.Cast <double>().SequenceEqual(other.UnfilteredSignal.Cast <double>()) &&

                   FilteredSignal.Rank == other.FilteredSignal.Rank &&
                   Enumerable.Range(0, FilteredSignal.Rank).All(dimension =>
                                                                FilteredSignal.GetLength(dimension) == other.FilteredSignal.GetLength(dimension)) &&
                   FilteredSignal.Cast <double>().SequenceEqual(other.FilteredSignal.Cast <double>()) &&
                   Timestamps.Rank == other.Timestamps.Rank &&
                   Enumerable.Range(0, Timestamps.Rank).All(dimension =>
                                                            Timestamps.GetLength(dimension) == other.Timestamps.GetLength(dimension)) &&
                   Timestamps.Cast <long>().SequenceEqual(other.Timestamps.Cast <long>()));
        }
Beispiel #2
0
        void UpdateStatistics(FrameworkElement target, Point original, Point filtered)
        {
            Point targetPointOrig     = _window.TranslatePoint(original, target);
            Point targetPointFiltered = _window.TranslatePoint(filtered, target);
            Point targetCenter        = new Point(target.ActualWidth / 2.0, target.ActualHeight / 2.0);

            OriginalSignal.Update((targetCenter.X - targetPointOrig.X) / target.ActualWidth,
                                  (targetCenter.Y - targetPointOrig.Y) / target.ActualHeight);

            FilteredSignal.Update((targetCenter.X - targetPointFiltered.X) / target.ActualWidth,
                                  (targetCenter.Y - targetPointFiltered.Y) / target.ActualHeight);
        }