diff --git a/src/AnalysisPrograms/Recognizers/Base/FowardTrackParameters.cs b/src/AnalysisPrograms/Recognizers/Base/ForwardTrackParameters.cs similarity index 90% rename from src/AnalysisPrograms/Recognizers/Base/FowardTrackParameters.cs rename to src/AnalysisPrograms/Recognizers/Base/ForwardTrackParameters.cs index 472dcad06..4077ce985 100644 --- a/src/AnalysisPrograms/Recognizers/Base/FowardTrackParameters.cs +++ b/src/AnalysisPrograms/Recognizers/Base/ForwardTrackParameters.cs @@ -1,4 +1,4 @@ -// +// // All code in this file and all associated files are the copyright and property of the QUT Ecoacoustics Research Group (formerly MQUTeR, and formerly QUT Bioacoustics Research Group). // @@ -17,8 +17,8 @@ namespace AnalysisPrograms.Recognizers.Base /// Parameters needed from a config file to detect fowards spectral peak tracks. /// A FowardTrack sounds like a fluctuating tone or technically, a chirp. Each track point advances one time step. Points may move up or down by at most two frequency bins. /// - [YamlTypeTag(typeof(FowardTrackParameters))] - public class FowardTrackParameters : CommonParameters + [YamlTypeTag(typeof(ForwardTrackParameters))] + public class ForwardTrackParameters : CommonParameters { /// /// Gets or sets a value indicating whether coincident tracks stacked on top of one another are to be combined. @@ -44,7 +44,7 @@ public class FowardTrackParameters : CommonParameters /// Combine tracks that are likely to be harmonics/formants. /// The start time of the current recording segment under analysis. /// A list of acoustic events containing foward tracks. - public static (List Events, double[] CombinedIntensity) GetFowardTracks( + public static (List Events, double[] CombinedIntensity) GetForwardTracks( SpectrogramStandard sonogram, int minHz, int maxHz, @@ -96,22 +96,20 @@ public static (List Events, double[] CombinedIntensity) GetFoward var combinedIntensityArray = new double[frameCount]; foreach (var track in tracks) { - var ae = new AcousticEvent(segmentStartOffset, track.StartTimeSeconds, track.TrackDurationSeconds, track.LowFreqHertz, track.HighFreqHertz); - var tr = new List + var ae = new AcousticEvent(segmentStartOffset, track) { - track, + SegmentDurationSeconds = frameCount * converter.StepSize, }; - ae.AddTracks(tr); + events.Add(ae); // fill the intensity array - //var startRow = ae.Oblong.ColumnLeft; - //var amplitudeTrack = track.GetAmplitudeOverTimeFrames(); var startRow = converter.FrameFromStartTime(track.StartTimeSeconds); var amplitudeTrack = track.GetAmplitudeOverTimeFrames(); for (int i = 0; i < amplitudeTrack.Length; i++) { - combinedIntensityArray[startRow + i] += amplitudeTrack[i]; + //combinedIntensityArray[startRow + i] += amplitudeTrack[i]; + combinedIntensityArray[startRow + i] = Math.Max(combinedIntensityArray[startRow + i], amplitudeTrack[i]); } }