From 297729eae677492f30e68f6641956f55d1cda7c7 Mon Sep 17 00:00:00 2001 From: towsey Date: Tue, 7 Apr 2020 20:07:26 +1000 Subject: [PATCH] Set up new methods for drawing spectral tracks Issue #297 Set up different track drawing method for each type of spectral track. --- src/AnalysisBase/ResultBases/EventBase.cs | 12 ------------ .../Recognizers/Base/SpectralPeakTrackParameters.cs | 4 ++-- .../Recognizers/Base/VerticalTrackParameters.cs | 4 ++-- src/AudioAnalysisTools/AcousticEvent.cs | 5 ++--- 4 files changed, 6 insertions(+), 19 deletions(-) diff --git a/src/AnalysisBase/ResultBases/EventBase.cs b/src/AnalysisBase/ResultBases/EventBase.cs index 063432b1e..80959cc82 100644 --- a/src/AnalysisBase/ResultBases/EventBase.cs +++ b/src/AnalysisBase/ResultBases/EventBase.cs @@ -11,18 +11,6 @@ namespace AnalysisBase.ResultBases { using System; - public enum EventType - { - Blob, - Whistle, - Track, - Whip, - Click, - Oscillation, - StackedHarmonic, - Untyped, // obtained using AED. - } - /// /// The base class for all Event style results. /// diff --git a/src/AnalysisPrograms/Recognizers/Base/SpectralPeakTrackParameters.cs b/src/AnalysisPrograms/Recognizers/Base/SpectralPeakTrackParameters.cs index d59cfd02b..8345a47da 100644 --- a/src/AnalysisPrograms/Recognizers/Base/SpectralPeakTrackParameters.cs +++ b/src/AnalysisPrograms/Recognizers/Base/SpectralPeakTrackParameters.cs @@ -112,7 +112,7 @@ public static (List Events, double[] CombinedIntensity) GetSpectr var ae = new AcousticEvent(segmentStartOffset, oblong, nyquist, binCount, frameDuration, frameStep, frameCount) { // get the track as matrix - TheTrack = track.GetTrackAsMatrix(frameStep, binWidth), + TheTrack = track, }; events.Add(ae); @@ -140,7 +140,7 @@ public static (List Events, double[] CombinedIntensity) GetSpectr public static SpectralTrack GetTrack(double[,] peaks, int startRow, int startBin, double threshold) { - var track = new SpectralTrack(startRow, startBin, peaks[startRow, startBin]); + var track = new SpectralTrack(SpectralTrackType.HorizontalTrack, startRow, startBin, peaks[startRow, startBin]); // set the start point in peaks matrix to zero to prevent return to this point. peaks[startRow, startBin] = 0.0; diff --git a/src/AnalysisPrograms/Recognizers/Base/VerticalTrackParameters.cs b/src/AnalysisPrograms/Recognizers/Base/VerticalTrackParameters.cs index 1c071a3f2..a045248f6 100644 --- a/src/AnalysisPrograms/Recognizers/Base/VerticalTrackParameters.cs +++ b/src/AnalysisPrograms/Recognizers/Base/VerticalTrackParameters.cs @@ -125,7 +125,7 @@ public static (List Events, double[] CombinedIntensity) GetVertic var ae = new AcousticEvent(segmentStartOffset, oblong, nyquist, binCount, frameDuration, frameStep, frameCount) { // get the track as matrix - TheTrack = track.GetTrackAsMatrix(frameStep, binWidth), + TheTrack = track, }; events.Add(ae); @@ -153,7 +153,7 @@ public static (List Events, double[] CombinedIntensity) GetVertic public static SpectralTrack GetVerticalTrack(double[,] peaks, int startRow, int startBin, int maxBin, double threshold) { - var track = new SpectralTrack(startRow, startBin, peaks[startRow, startBin]); + var track = new SpectralTrack(SpectralTrackType.VerticalTrack, startRow, startBin, peaks[startRow, startBin]); // set the start point in peaks matrix to zero to prevent return to this point. peaks[startRow, startBin] = 0.0; diff --git a/src/AudioAnalysisTools/AcousticEvent.cs b/src/AudioAnalysisTools/AcousticEvent.cs index b66ec2a03..736b87b7e 100644 --- a/src/AudioAnalysisTools/AcousticEvent.cs +++ b/src/AudioAnalysisTools/AcousticEvent.cs @@ -135,10 +135,9 @@ public AcousticEventClassMap() public double Bandwidth => this.HighFrequencyHertz - this.LowFrequencyHertz + 1; /// - /// Gets or sets a matrix representing the track. - /// i.e. it defines the track. + /// Gets or sets a horizontal or vertical spectral track. /// - public double[,] TheTrack { get; set; } + public SpectralTrack TheTrack { get; set; } public bool IsMelscale { get; set; }