diff --git a/src/AnalysisConfigFiles/Towsey.ContentDescription.yml b/src/AnalysisConfigFiles/Towsey.ContentDescription.yml
index 545870939..03924b430 100644
--- a/src/AnalysisConfigFiles/Towsey.ContentDescription.yml
+++ b/src/AnalysisConfigFiles/Towsey.ContentDescription.yml
@@ -25,8 +25,8 @@ AnalysisName: ContentDescription
# SAVE INTERMEDIARY FILES
# Available options (case-sensitive): [false/Never | true/Always | WhenEventsDetected]
SaveIntermediateWavFiles: Never
-# If `true` saves a data into a seperate file every `SegmentDuration` seconds. Accepts a boolean value: [false|true]
-# If `true` saves a data into a seperate file every `SegmentDuration` seconds. Accepts a boolean value: [false|true]
+# If `true` saves a data into a separate file every `SegmentDuration` seconds. Accepts a boolean value: [false|true]
+# If `true` saves a data into a separate file every `SegmentDuration` seconds. Accepts a boolean value: [false|true]
SaveIntermediateCsvFiles: false
# SAVE INTERMEDIARY ONE-MINUTE (standard scale) SPECTROGRAMS
@@ -50,7 +50,7 @@ RequireDateInFilename: false
TemplatesList: 'Towsey.TemplateDefinitions.json'
# #############################################################################################################
-# The below parameters are used to configure drawing of the false-colour spectrograms
+# The below parameters are used to configure drawing of the false-color spectrograms
LdSpectrogramConfig:
ColorMap1: "ACI-ENT-EVN"
ColorMap2: "BGN-PMN-OSC"
diff --git a/src/AnalysisPrograms/Sandpit.cs b/src/AnalysisPrograms/Sandpit.cs
index 768367241..974d17452 100644
--- a/src/AnalysisPrograms/Sandpit.cs
+++ b/src/AnalysisPrograms/Sandpit.cs
@@ -19,7 +19,6 @@ namespace AnalysisPrograms
using AnalyseLongRecordings;
using AudioAnalysisTools;
using AudioAnalysisTools.ContentDescriptionTools;
- using AudioAnalysisTools.ContentDescriptionTools.ContentTypes;
using AudioAnalysisTools.DSP;
using AudioAnalysisTools.Indices;
using AudioAnalysisTools.LongDurationSpectrograms;
@@ -369,7 +368,7 @@ public static void Audio2CsvOverOneFile()
// Test on Content Description
//string recordingPath = @"C:\Ecoacoustics\WavFiles\FlyingFox\20190115_Bellingen_Feeding.wav";
- string recordingPath = @"C:\Ecoacoustics\WavFiles\LizZnidersic\TasmanIsland2015_Unit2_Mez\SM304256_0+1_20151114_131652+1000.wav";
+ string recordingPath = @"D:\Ecoacoustics\WavFiles\LizZnidersic\TasmanIsland2015_Unit2_Mez\SM304256_0+1_20151114_131652+1000.wav";
//string outputPath = @"C:\Ecoacoustics\Output\Test\Test24HourRecording\TasmanIslandMez\14";
string outputPath = @"C:\Ecoacoustics\ContentDescription\Test6IndicesMez13";
//string outputPath = @"C:\Ecoacoustics\ContentDescription\FlyingFox";
diff --git a/src/AudioAnalysisTools/AudioAnalysisTools.csproj b/src/AudioAnalysisTools/AudioAnalysisTools.csproj
index eb555a65f..9ca1007f2 100644
--- a/src/AudioAnalysisTools/AudioAnalysisTools.csproj
+++ b/src/AudioAnalysisTools/AudioAnalysisTools.csproj
@@ -243,14 +243,9 @@
-
-
-
-
-
diff --git a/src/AudioAnalysisTools/ContentDescriptionTools/ContentSignatures.cs b/src/AudioAnalysisTools/ContentDescriptionTools/ContentSignatures.cs
index 098a84f88..ecd6a0d70 100644
--- a/src/AudioAnalysisTools/ContentDescriptionTools/ContentSignatures.cs
+++ b/src/AudioAnalysisTools/ContentDescriptionTools/ContentSignatures.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).
//
diff --git a/src/AudioAnalysisTools/ContentDescriptionTools/ContentTypes/BirdMorningChorus1.cs b/src/AudioAnalysisTools/ContentDescriptionTools/ContentTypes/BirdMorningChorus1.cs
deleted file mode 100644
index 476100a76..000000000
--- a/src/AudioAnalysisTools/ContentDescriptionTools/ContentTypes/BirdMorningChorus1.cs
+++ /dev/null
@@ -1,80 +0,0 @@
-//
-// 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).
-//
-
-namespace AudioAnalysisTools.ContentDescriptionTools.ContentTypes
-{
- using System;
- using System.Collections.Generic;
- using System.IO;
- using TowseyLibrary;
-
- public class BirdMorningChorus1
- {
- //TEMPLATE DESCRIPTION
- // Name of the template
- public const string Name = "BirdChorus1";
-
- // The TEMPLATE PROVENANCE
- // The source file name from which the indices are extracted.
- private const string BaseName = "SM304256_0+1_20151114_041652";
- private const string Location = "Mezzanine, Tasman Island";
-
- //THESE ARE SPECIFIC ROW BOUNDS FOR PREPARING THIS TEMPLATE
- // The freq bins will be averaged over the time period.
- private const int StartRowId = 47;
- private const int EndRowId = 53;
-
- // Full array (256 freq bins) of spectral indices is reduced by the following factor by averaging.
- private const int ReductionFactor = 16;
-
- // Only want the interval 2-8 kHz for bird morning chorus.
- // After reducing 256 freq bins to 16, each bin has width 689Hz.
- // Therefore to get band 2-8 kHz, need to remove the bottom two freq bins and the top four freq bins.
- // This leaves a template with 10 freq bins.
- // At the present time this editing is done manually.
-
- private static readonly Dictionary BirdChorusTemplate = new Dictionary
- {
- ["ACI"] = new[] { 0.274, 0.366, 0.591, 0.820, 0.997, 0.975, 0.796, 0.846, 0.605, 0.260 },
- ["ENT"] = new[] { 0.293, 0.415, 0.804, 0.972, 0.910, 0.876, 0.923, 0.971, 0.840, 0.491 },
- ["EVN"] = new[] { 0.445, 0.691, 0.291, 0.266, 0.407, 0.417, 0.306, 0.321, 0.199, 0.091 },
- ["BGN"] = new[] { 0.140, 0.099, 0.072, 0.059, 0.055, 0.051, 0.048, 0.048, 0.045, 0.042 },
- ["PMN"] = new[] { 0.671, 0.967, 0.924, 0.998, 1.000, 1.000, 0.998, 1.000, 0.952, 0.633 },
- };
-
- public static KeyValuePair GetContent(Dictionary oneMinuteOfIndices)
- {
- var reducedIndices = DataProcessing.ReduceIndicesByFactor(oneMinuteOfIndices, ReductionFactor);
-
- // remove first two freq bins and last four freq bins
- int bottomBin = 2;
- int topBin = 11;
- reducedIndices = DataProcessing.ApplyBandPass(reducedIndices, bottomBin, topBin);
-
- var oneMinuteVector = DataProcessing.ConvertDictionaryToVector(reducedIndices);
- var templateVector = DataProcessing.ConvertDictionaryToVector(BirdChorusTemplate);
-
- //Get Euclidian distance and normalize the distance
- var distance = DataTools.EuclideanDistance(templateVector, oneMinuteVector);
- distance /= Math.Sqrt(templateVector.Length);
-
- return new KeyValuePair(Name, 1 - distance);
- }
-
- //public static Dictionary GetTemplate(DirectoryInfo dir)
- //{
- // var dictionaryOfIndices = DataProcessing.ReadIndexMatrices(dir, BaseName);
- // var birdIndices = DataProcessing.AverageIndicesOverMinutes(dictionaryOfIndices, StartRowId, EndRowId);
- // var reducedIndices = DataProcessing.ReduceIndicesByFactor(birdIndices, ReductionFactor);
- // return reducedIndices;
- //}
-
- //public static void WriteTemplateToFile(DirectoryInfo ipDir, DirectoryInfo opDir)
- //{
- // var template = GetTemplate(ipDir);
- // var opPath = Path.Combine(opDir.FullName, Name + "Template.csv");
- // FileTools.WriteDictionaryToFile(template, opPath);
- //}
- }
-}
diff --git a/src/AudioAnalysisTools/ContentDescriptionTools/ContentTypes/RainLight1.cs b/src/AudioAnalysisTools/ContentDescriptionTools/ContentTypes/RainLight1.cs
deleted file mode 100644
index 7fe97f1ab..000000000
--- a/src/AudioAnalysisTools/ContentDescriptionTools/ContentTypes/RainLight1.cs
+++ /dev/null
@@ -1,74 +0,0 @@
-//
-// 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).
-//
-
-namespace AudioAnalysisTools.ContentDescriptionTools.ContentTypes
-{
- using System;
- using System.Collections.Generic;
- using System.IO;
- using TowseyLibrary;
-
- public class RainLight1
- {
- //TEMPLATE DESCRIPTION
- // Name of the template
- public const string Name = "LightRain1";
-
- // The TEMPLATE PROVENANCE
- // The source file name from which the indices are extracted.
- private const string BaseName = "SM304256_0+1_20151114_071652";
-
- //THESE ARE SPECIFIC ROW BOUNDS FOR PREPARING THIS TEMPLATE
- // The freq bins will be averaged over the time period.
- private const int StartRowId = 32;
- private const int EndRowId = 36;
-
- // Full array (256 freq bins) of spectral indices is reduced by the following factor by averaging.
- private const int ReductionFactor = 16;
-
- private static readonly Dictionary LightRainTemplate = new Dictionary
- {
- ["ACI"] = new[] { 0.076, 0.046, 0.167, 0.360, 0.426, 0.443, 0.545, 0.595, 0.564, 0.612, 0.659, 0.570, 0.542, 0.520, 0.485, 0.485 },
- ["ENT"] = new[] { 0.065, 0.061, 0.176, 0.289, 0.249, 0.255, 0.296, 0.292, 0.262, 0.386, 0.462, 0.262, 0.222, 0.243, 0.217, 0.205 },
- ["EVN"] = new[] { 0.136, 0.009, 0.022, 0.051, 0.072, 0.092, 0.109, 0.150, 0.175, 0.176, 0.193, 0.155, 0.171, 0.135, 0.109, 0.133 },
- ["BGN"] = new[] { 0.366, 0.249, 0.181, 0.148, 0.122, 0.111, 0.106, 0.105, 0.104, 0.111, 0.111, 0.111, 0.105, 0.100, 0.090, 0.048 },
- ["PMN"] = new[] { 0.182, 0.076, 0.243, 0.459, 0.470, 0.501, 0.592, 0.651, 0.625, 0.699, 0.792, 0.599, 0.572, 0.550, 0.490, 0.488 },
- };
-
- public static KeyValuePair GetContent(Dictionary oneMinuteOfIndices)
- {
- var reducedIndices = DataProcessing.ReduceIndicesByFactor(oneMinuteOfIndices, ReductionFactor);
- var oneMinuteVector = DataProcessing.ConvertDictionaryToVector(reducedIndices);
- var templateVector = DataProcessing.ConvertDictionaryToVector(LightRainTemplate);
-
- //Get Euclidian distance and normalise the distance
- var distance = DataTools.EuclideanDistance(templateVector, oneMinuteVector);
- distance /= Math.Sqrt(templateVector.Length);
-
- // get dummy data
- //var rn = new RandomNumber(DateTime.Now.Second + (int)DateTime.Now.Ticks + 333);
- //var distance = rn.GetDouble();
-
- return new KeyValuePair(Name, 1 - distance);
- }
-
- /////
- ///// string baseName = "SM304256_0+1_20151114_071652".
- /////
- //public static Dictionary GetTemplate(DirectoryInfo dir)
- //{
- // var dictionaryOfIndices = DataProcessing.ReadIndexMatrices(dir, BaseName);
- // var windIndices = DataProcessing.AverageIndicesOverMinutes(dictionaryOfIndices, StartRowId, EndRowId);
- // var reducedIndices = DataProcessing.ReduceIndicesByFactor(windIndices, ReductionFactor);
- // return reducedIndices;
- //}
-
- //public static void WriteTemplateToFile(DirectoryInfo ipDir, DirectoryInfo opDir)
- //{
- // var template = GetTemplate(ipDir);
- // var opPath = Path.Combine(opDir.FullName, Name + "Template.csv");
- // FileTools.WriteDictionaryToFile(template, opPath);
- //}
- }
-}
diff --git a/src/AudioAnalysisTools/ContentDescriptionTools/ContentTypes/SilverEyeMezTasmanIs.cs b/src/AudioAnalysisTools/ContentDescriptionTools/ContentTypes/SilverEyeMezTasmanIs.cs
deleted file mode 100644
index 42d01c67d..000000000
--- a/src/AudioAnalysisTools/ContentDescriptionTools/ContentTypes/SilverEyeMezTasmanIs.cs
+++ /dev/null
@@ -1,89 +0,0 @@
-//
-// 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).
-//
-
-namespace AudioAnalysisTools.ContentDescriptionTools.ContentTypes
-{
- using System.Collections.Generic;
- using System.IO;
- using System.Linq;
- using TowseyLibrary;
-
- public class SilverEyeMezTasmanIs
- {
- //TEMPLATE DESCRIPTION
- // Name of the template
- public const string Name = "SilverEye_TasmanIs";
-
- // The TEMPLATE PROVENANCE
- // The source file name from which the indices are extracted.
- private const string BaseName = "SM304256_0+1_20151114_071652";
-
- //THESE ARE SPECIFIC ROW BOUNDS FOR PREPARING THIS TEMPLATE
- // The freq bins will be averaged over the time period.
- private const int StartRowId = 6;
- private const int EndRowId = 11;
-
- // Full array (256 freq bins) of spectral indices is reduced by the following factor by averaging.
- private const int ReductionFactor = 16;
-
- // Bandpass filter to be applied
- private const int FreqBinCount = 256 / ReductionFactor;
- private const int BottomFreq = 3000; //Hertz
- private const int TopFreq = 4000; //Hertz
-
- // Only want the interval 3-4 kHz for Silver-eye band.
- // After reducing 256 freq bins to 16, each bin has width 689Hz.
- // Therefore to get band 3-4 kHz, need to remove the bottom and top bins.
- // This leaves a template with 2 or 3 freq bins which are then averaged, so that each index has one value.
- // At the present time this editing is done manually.
-
- private static readonly Dictionary SilverEyeTemplate = new Dictionary
- {
- ["ACI"] = new[] { 0.779 },
- ["ENT"] = new[] { 0.393 },
- ["EVN"] = new[] { 0.686 },
- ["BGN"] = new[] { 0.085 },
- ["PMN"] = new[] { 0.883 },
- };
-
- public static KeyValuePair GetContent(Dictionary oneMinuteOfIndices)
- {
- var reducedIndices = DataProcessing.ReduceIndicesByFactor(oneMinuteOfIndices, ReductionFactor);
-
- //var freqBinBounds = DataProcessing.GetFreqBinBounds(BottomFreq, TopFreq);
- //reducedIndices = DataProcessing.ApplyBandPass(reducedIndices, freqBinBounds[0], freqBinBounds[1]);
- //var oneMinuteVector = DataProcessing.ConvertDictionaryToVector(reducedIndices);
- //var templateVector = DataProcessing.ConvertDictionaryToVector(SilverEyeTemplate);
-
- //Get Euclidian distance and normalize the distance
- // Now pass the template up the full frequency spectrum to get a spectrum of scores.
- var spectralScores = DataProcessing.ScanSpectrumWithTemplate(SilverEyeTemplate, reducedIndices);
-
- // Now check how much of spectral weight is in the correct freq band ie between 3-4 kHz.
- var freqBinBounds = DataProcessing.GetFreqBinBounds(BottomFreq, TopFreq, FreqBinCount);
- double callSum = DataTools.Subarray(spectralScores, freqBinBounds[0], freqBinBounds[1]).Sum();
- double totalSum = DataTools.Subarray(spectralScores, 1, spectralScores.Length - 3).Sum();
- double score = callSum / totalSum;
-
- return new KeyValuePair(Name, score);
- }
-
- //public static Dictionary GetTemplate(DirectoryInfo dir)
- //{
- // var dictionaryOfIndices = DataProcessing.ReadIndexMatrices(dir, BaseName);
- // var birdIndices = DataProcessing.AverageIndicesOverMinutes(dictionaryOfIndices, StartRowId, EndRowId);
- // var reducedIndices = DataProcessing.ReduceIndicesByFactor(birdIndices, ReductionFactor);
- // var freqBinBounds = DataProcessing.GetFreqBinBounds(BottomFreq, TopFreq, FreqBinCount);
- // reducedIndices = DataProcessing.ApplyBandPass(reducedIndices, freqBinBounds[0], freqBinBounds[1]);
- // return reducedIndices;
- //}
-
- //public static void WriteTemplateToFile(DirectoryInfo ipDir, DirectoryInfo opDir)
- //{
- // var template = GetTemplate(ipDir);
- // var opPath = Path.Combine(opDir.FullName, Name + "Template.csv");
- // FileTools.WriteDictionaryToFile(template, opPath);
- //}
- }
-}
diff --git a/src/AudioAnalysisTools/ContentDescriptionTools/ContentTypes/WindLight1.cs b/src/AudioAnalysisTools/ContentDescriptionTools/ContentTypes/WindLight1.cs
deleted file mode 100644
index 0408ed623..000000000
--- a/src/AudioAnalysisTools/ContentDescriptionTools/ContentTypes/WindLight1.cs
+++ /dev/null
@@ -1,70 +0,0 @@
-//
-// 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).
-//
-
-namespace AudioAnalysisTools.ContentDescriptionTools.ContentTypes
-{
- using System;
- using System.Collections.Generic;
- using System.IO;
- using TowseyLibrary;
-
- public class WindLight1
- {
- //TEMPLATE DESCRIPTION
- // Name of the template
- public const string Name = "LightWind1";
-
- // The TEMPLATE PROVENANCE
- // The source file name from which the indices are extracted.
- private const string BaseName = "SM304256_0+1_20151114_021652";
-
- //THESE ARE SPECIFIC ROW BOUNDS FOR PREPARING THIS TEMPLATE
- // The freq bins will be averaged over the time period.
- private const int StartRowId = 50;
- private const int EndRowId = 53;
-
- // Full array (256 freq bins) of spectral indices is reduced by the following factor by averaging.
- private const int ReductionFactor = 16;
-
- private static readonly Dictionary LightWindTemplate = new Dictionary
- {
- ["ACI"] = new[] { 0.072, 0.035, 0.015, 0.008, 0.008, 0.009, 0.016, 0.018, 0.017, 0.015, 0.020, 0.022, 0.029, 0.026, 0.027, 0.098 },
- ["ENT"] = new[] { 0.063, 0.069, 0.071, 0.059, 0.052, 0.051, 0.050, 0.050, 0.050, 0.050, 0.050, 0.052, 0.051, 0.050, 0.051, 0.058 },
- ["EVN"] = new[] { 0.160, 0.099, 0.077, 0.023, 0.009, 0.009, 0.005, 0.004, 0.003, 0.004, 0.003, 0.006, 0.002, 0.004, 0.003, 0.015 },
- ["BGN"] = new[] { 0.387, 0.257, 0.151, 0.094, 0.069, 0.055, 0.049, 0.045, 0.042, 0.041, 0.041, 0.042, 0.043, 0.044, 0.043, 0.017 },
- ["PMN"] = new[] { 0.228, 0.199, 0.179, 0.087, 0.065, 0.048, 0.042, 0.034, 0.035, 0.035, 0.036, 0.038, 0.038, 0.037, 0.044, 0.081 },
- };
-
- public static KeyValuePair GetContent(Dictionary oneMinuteOfIndices)
- {
- var reducedIndices = DataProcessing.ReduceIndicesByFactor(oneMinuteOfIndices, ReductionFactor);
- reducedIndices.Remove("ENT");
- LightWindTemplate.Remove("ENT");
-
- var oneMinuteVector = DataProcessing.ConvertDictionaryToVector(reducedIndices);
- var templateVector = DataProcessing.ConvertDictionaryToVector(LightWindTemplate);
-
- var distance = DataTools.EuclideanDistance(templateVector, oneMinuteVector);
-
- //normalise the distance
- distance /= Math.Sqrt(templateVector.Length);
- return new KeyValuePair(Name, 1 - distance);
- }
-
- //public static Dictionary GetTemplate(DirectoryInfo dir)
- //{
- // var dictionaryOfIndices = DataProcessing.ReadIndexMatrices(dir, BaseName);
- // var windIndices = DataProcessing.AverageIndicesOverMinutes(dictionaryOfIndices, StartRowId, EndRowId);
- // var reducedIndices = DataProcessing.ReduceIndicesByFactor(windIndices, ReductionFactor);
- // return reducedIndices;
- //}
-
- //public static void WriteTemplateToFile(DirectoryInfo ipDir, DirectoryInfo opDir)
- //{
- // var template = GetTemplate(ipDir);
- // var opPath = Path.Combine(opDir.FullName, Name + "Template.csv");
- // FileTools.WriteDictionaryToFile(template, opPath);
- //}
- }
-}
diff --git a/src/AudioAnalysisTools/ContentDescriptionTools/ContentTypes/WindStrong1.cs b/src/AudioAnalysisTools/ContentDescriptionTools/ContentTypes/WindStrong1.cs
deleted file mode 100644
index 027662791..000000000
--- a/src/AudioAnalysisTools/ContentDescriptionTools/ContentTypes/WindStrong1.cs
+++ /dev/null
@@ -1,67 +0,0 @@
-//
-// 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).
-//
-
-namespace AudioAnalysisTools.ContentDescriptionTools.ContentTypes
-{
- using System;
- using System.Collections.Generic;
- using System.IO;
- using TowseyLibrary;
-
- public class WindStrong1
- {
- //TEMPLATE DESCRIPTION
- // Name of the template
- public const string Name = "StrongWind1";
-
- // The TEMPLATE PROVENANCE
- // The source file name from which the indices are extracted.
- private const string BaseName = "SM304256_0+1_20151114_011652";
-
- //THESE ARE SPECIFIC ROW BOUNDS FOR PREPARING THIS TEMPLATE
- // The freq bins will be averaged over the time period.
- private const int StartRowId = 23;
- private const int EndRowId = 27;
-
- // Full array (256 freq bins) of spectral indices is reduced by the following factor by averaging.
- private const int ReductionFactor = 16;
-
- private static readonly Dictionary StrongWindTemplate = new Dictionary
- {
- ["ACI"] = new[] { 0.086, 0.043, 0.041, 0.023, 0.032, 0.027, 0.029, 0.031, 0.032, 0.032, 0.034, 0.069, 0.033, 0.024, 0.018, 0.018 },
- ["ENT"] = new[] { 0.124, 0.112, 0.146, 0.163, 0.157, 0.157, 0.143, 0.122, 0.113, 0.095, 0.087, 0.121, 0.075, 0.060, 0.054, 0.067 },
- ["EVN"] = new[] { 0.376, 0.440, 0.590, 0.621, 0.648, 0.621, 0.565, 0.363, 0.273, 0.191, 0.164, 0.221, 0.104, 0.040, 0.017, 0.032 },
- ["BGN"] = new[] { 0.472, 0.360, 0.273, 0.199, 0.156, 0.121, 0.096, 0.085, 0.075, 0.069, 0.064, 0.061, 0.060, 0.058, 0.054, 0.026 },
- ["PMN"] = new[] { 0.468, 0.507, 0.687, 0.743, 0.757, 0.751, 0.665, 0.478, 0.391, 0.317, 0.276, 0.367, 0.187, 0.109, 0.071, 0.096 },
- };
-
- public static KeyValuePair GetContent(Dictionary oneMinuteOfIndices)
- {
- var reducedIndices = DataProcessing.ReduceIndicesByFactor(oneMinuteOfIndices, ReductionFactor);
- var oneMinuteVector = DataProcessing.ConvertDictionaryToVector(reducedIndices);
- var templateVector = DataProcessing.ConvertDictionaryToVector(StrongWindTemplate);
-
- var distance = DataTools.EuclideanDistance(templateVector, oneMinuteVector);
-
- //normalise the distance
- distance /= Math.Sqrt(templateVector.Length);
- return new KeyValuePair(Name, 1 - distance);
- }
-
- //public static Dictionary GetTemplate(DirectoryInfo dir)
- //{
- // var dictionaryOfIndices = DataProcessing.ReadIndexMatrices(dir, BaseName);
- // var windIndices = DataProcessing.AverageIndicesOverMinutes(dictionaryOfIndices, StartRowId, EndRowId);
- // var reducedIndices = DataProcessing.ReduceIndicesByFactor(windIndices, ReductionFactor);
- // return reducedIndices;
- //}
-
- //public static void WriteTemplateToFile(DirectoryInfo ipDir, DirectoryInfo opDir)
- //{
- // var template = GetTemplate(ipDir);
- // var opPath = Path.Combine(opDir.FullName, Name + "Template.csv");
- // FileTools.WriteDictionaryToFile(template, opPath);
- //}
- }
-}