diff --git a/src/AnalysisPrograms/Recognizers/Base/HarmonicParameters.cs b/src/AnalysisPrograms/Recognizers/Base/HarmonicParameters.cs index 086b6e604..1482321c2 100644 --- a/src/AnalysisPrograms/Recognizers/Base/HarmonicParameters.cs +++ b/src/AnalysisPrograms/Recognizers/Base/HarmonicParameters.cs @@ -21,6 +21,40 @@ namespace AnalysisPrograms.Recognizers.Base [YamlTypeTag(typeof(HarmonicParameters))] public class HarmonicParameters : CommonParameters { + //ComponentName: Harmonic + //SpeciesName: Curlew + //FrameSize: 512 + //FrameStep: 512 + //WindowFunction: HANNING + //BgNoiseThreshold: 0.0 + //# min and max of the freq band to search + //MinHertz: 1000 + //MaxHertz: 6500 + //MinDuration: 0.5 + //MaxDuration: 3.0 + //DecibelThreshold: 1.5 + //# Parameters for the finding formants. + //# duration of DCT in seconds + //#DctDuration: 0.5 + //# minimum acceptable value of a DCT coefficient + //DctThreshold: 0.5 + //MinFormantGap: 800 + //MaxFormantGap: 2200 + + /// + /// Gets or sets the bottom bound of the rectangle. Units are Hertz. + /// + public int? MinFormantGap { get; set; } + + /// + /// Gets or sets the the top bound of the rectangle. Units are Hertz. + /// + public int? MaxFormantGap { get; set; } + + //#IntensityThreshold: 0.15 + //# Event threshold - Determines FP / FN trade-off for events. + //EventThreshold: 0.2 + public static (List, double[]) GetComponentsWithHarmonics( SpectrogramStandard sonogram, int minHz, @@ -29,12 +63,12 @@ public static (List, double[]) GetComponentsWithHarmonics( double decibelThreshold, double minDuration, double maxDuration, + int minFormantGap, + int maxFormantGap, TimeSpan segmentStartOffset) { - // paramters to be passed + // parameters to be passed double harmonicIntensityThreshold = 0.15; - int minFormantGap = 180; - int maxFormantGap = 450; // Event threshold - Determines FP / FN trade-off for events. //double eventThreshold = 0.2; diff --git a/src/AnalysisPrograms/Recognizers/GenericRecognizer.cs b/src/AnalysisPrograms/Recognizers/GenericRecognizer.cs index 7764cf646..dc693887a 100644 --- a/src/AnalysisPrograms/Recognizers/GenericRecognizer.cs +++ b/src/AnalysisPrograms/Recognizers/GenericRecognizer.cs @@ -208,6 +208,8 @@ public override RecognizerResults Recognize( hp.DecibelThreshold.Value, hp.MinDuration.Value, hp.MaxDuration.Value, + hp.MinFormantGap.Value, + hp.MaxFormantGap.Value, segmentStartOffset); var plot = PreparePlot(scoreArray, $"{profileName} (Harmonics:dB Intensity)", hp.DecibelThreshold.Value);