Tested first run
This commit is contained in:
@ -612,6 +612,15 @@ internal class E_Distance
|
||||
return results;
|
||||
}
|
||||
|
||||
private static void SetNonFiltered(List<(FaceRecognitionDotNet.FaceEncoding, MappingContainer)> collection)
|
||||
{
|
||||
foreach ((FaceRecognitionDotNet.FaceEncoding _, MappingContainer mappingContainer) in collection)
|
||||
{
|
||||
if (mappingContainer.Mapping.Filtered is null)
|
||||
mappingContainer.Mapping.SetFiltered(value: false);
|
||||
}
|
||||
}
|
||||
|
||||
private Dictionary<string, List<(FaceRecognitionDotNet.FaceEncoding, MappingContainer)>> GetThreeSigmaFaceEncodings(int maxDegreeOfParallelism, long ticks, Dictionary<string, List<MappingContainer>> keyValuePairs)
|
||||
{
|
||||
if (_Log is null)
|
||||
@ -644,8 +653,9 @@ internal class E_Distance
|
||||
faceDistances = FaceRecognition.FaceDistances(faceEncodings, faceEncodings[selectedIndex]);
|
||||
for (int i = 0; i < faceEncodings.Count; i++)
|
||||
collection[i].MappingContainer.SetDistance(faceDistances[i]);
|
||||
if (collection.Count > 1)
|
||||
if (collection.Count > 3)
|
||||
SetFiltered(collection);
|
||||
SetNonFiltered(collection);
|
||||
totalSeconds = (int)Math.Floor(new TimeSpan(DateTime.Now.Ticks - ticks).TotalSeconds);
|
||||
_Log.Information($"{keyValuePairsCount:0000}) {totalSeconds} total second(s) - {keyValuePair.Key} - {collection[selectedIndex].MappingContainer.Mapping.DisplayDirectoryName}");
|
||||
}
|
||||
@ -656,6 +666,11 @@ internal class E_Distance
|
||||
{
|
||||
Dictionary<string, List<(FaceRecognitionDotNet.FaceEncoding, MappingContainer)>> results;
|
||||
Dictionary<string, List<MappingContainer>> keyValuePairs = Map.Models.Stateless.IMapLogic.GetKeyValuePairs(ignoreRelativePaths, argZero, containers);
|
||||
if (!keyValuePairs.Any())
|
||||
{
|
||||
Map.Models.Stateless.IMapLogic.SetSingleImage(ignoreRelativePaths, argZero, containers);
|
||||
keyValuePairs = Map.Models.Stateless.IMapLogic.GetKeyValuePairs(ignoreRelativePaths, argZero, containers);
|
||||
}
|
||||
results = GetThreeSigmaFaceEncodings(maxDegreeOfParallelism, ticks, keyValuePairs);
|
||||
return results;
|
||||
}
|
||||
@ -719,11 +734,11 @@ internal class E_Distance
|
||||
if (item.ImageFileHolder is null || item.Property is null || !item.Faces.Any() || !item.Closest.Any())
|
||||
continue;
|
||||
json = JsonSerializer.Serialize(item, jsonSerializerOptions);
|
||||
fileInfo = new(string.Concat(zPropertyHolderSingletonDirectory, item.RelativePath, ".json"));
|
||||
fileInfo = new(Path.GetFullPath(string.Concat(zPropertyHolderSingletonDirectory, item.RelativePath, ".json")));
|
||||
if (fileInfo.Directory is null)
|
||||
continue;
|
||||
if (!fileInfo.Directory.Exists)
|
||||
fileInfo.Directory.Create();
|
||||
continue;
|
||||
_ = Shared.Models.Stateless.Methods.IPath.WriteAllText(fileInfo.FullName, json, updateDateWhenMatches, compareBeforeWrite: true);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user