Removed SortContainers

useCeilingAverage as parameter
This commit is contained in:
2023-08-08 21:09:26 -07:00
parent 77f800d1a4
commit b3da09c757
33 changed files with 147 additions and 381 deletions

View File

@ -92,6 +92,7 @@ public class Configuration
[Display(Name = "Sorting Minimum to use Sigma"), Required] public int? SortingMinimumToUseSigma { get; set; }
[Display(Name = "Test Distance Results"), Required] public bool? TestDistanceResults { get; set; }
[Display(Name = "Use Filter Tries"), Required] public int? UseFilterTries { get; set; }
[Display(Name = "Valid KeyWords to Ignore in Random"), Required] public string[] ValidKeyWordsToIgnoreInRandom { get; set; }
[Display(Name = "Valid Resolutions"), Required] public string[] ValidResolutions { get; set; }
#nullable restore
@ -241,6 +242,8 @@ public class Configuration
throw new NullReferenceException(nameof(configuration.TestDistanceResults));
if (configuration.UseFilterTries is null)
throw new NullReferenceException(nameof(configuration.UseFilterTries));
if (configuration.ValidKeyWordsToIgnoreInRandom is null)
throw new NullReferenceException(nameof(configuration.ValidKeyWordsToIgnoreInRandom));
if (configuration.ValidResolutions is null)
throw new NullReferenceException(nameof(configuration.ValidResolutions));
_ = DateTime.Now.AddDays(-configuration.RangeDaysDeltaTolerance[1]);
@ -324,6 +327,7 @@ public class Configuration
configuration.SortingMinimumToUseSigma.Value,
configuration.TestDistanceResults.Value,
configuration.UseFilterTries.Value,
configuration.ValidKeyWordsToIgnoreInRandom,
configuration.ValidResolutions);
return result;
}

View File

@ -89,6 +89,7 @@ public class Configuration
public bool TestDistanceResults { init; get; }
public int UseFilterTries { init; get; }
public string[] ValidResolutions { init; get; }
public string[] ValidKeyWordsToIgnoreInRandom { init; get; }
public bool DeletePossibleDuplicates { get; internal set; }
[JsonConstructor]
@ -172,6 +173,7 @@ public class Configuration
int sortingSigma,
bool testDistanceResults,
int useFilterTries,
string[] validKeyWordsToIgnoreInRandom,
string[] validResolutions)
{
_PropertyConfiguration = propertyConfiguration;
@ -254,6 +256,7 @@ public class Configuration
SortingMinimumToUseSigma = sortingSigma;
TestDistanceResults = testDistanceResults;
UseFilterTries = useFilterTries;
ValidKeyWordsToIgnoreInRandom = validKeyWordsToIgnoreInRandom;
ValidResolutions = validResolutions;
}

View File

@ -59,7 +59,7 @@ internal class F_Random
return results;
}
internal void Random(Property.Models.Configuration configuration, string outputResolution, Dictionary<long, List<int>> personKeyToIds, ReadOnlyCollection<Shared.Models.Mapping> mappingCollection)
internal void Random(Property.Models.Configuration configuration, string[] validKeyWordsToIgnoreInRandom, string outputResolution, Dictionary<long, List<int>> personKeyToIds, ReadOnlyCollection<Shared.Models.Mapping> mappingCollection)
{
string key;
string json;
@ -79,6 +79,8 @@ internal class F_Random
{
if (distinctCollection.Contains(mapping.MappingFromItem.Id))
continue;
if (mapping.MappingFromItem.Keywords is not null && mapping.MappingFromItem.Keywords.Any(l => validKeyWordsToIgnoreInRandom.Contains(l)))
continue;
if (mapping.MappingFromItem.ImageFileHolder.DirectoryName is null)
continue;
relativePaths.Add(mapping.MappingFromItem.RelativePath);