AA.Compare Project to Match not runToDoCollectionFirst
Removed Layered AppSettings with Nested Objects at First Level
This commit is contained in:
35
Distance/Models/Stateless/FaceEncodingLogic.cs
Normal file
35
Distance/Models/Stateless/FaceEncodingLogic.cs
Normal file
@ -0,0 +1,35 @@
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Text.Json;
|
||||
using View_by_Distance.Shared.Models;
|
||||
using View_by_Distance.Shared.Models.Stateless.Methods;
|
||||
|
||||
namespace View_by_Distance.Distance.Models.Stateless.Methods;
|
||||
|
||||
internal static class FaceEncodingLogic
|
||||
{
|
||||
|
||||
internal static ReadOnlyCollection<ExifDirectory> GetMappedExifDirectoryWithEncoding(ICompare compare, long ticks, ReadOnlyCollection<ExifDirectory> exifDirectories)
|
||||
{
|
||||
List<ExifDirectory> results = [];
|
||||
string? json;
|
||||
FaceEncoding? faceEncoding;
|
||||
ExifDirectory exifDirectory;
|
||||
FaceRecognitionDotNet.FaceEncoding? encoding;
|
||||
int totalSeconds = (int)Math.Floor(new TimeSpan(DateTime.Now.Ticks - ticks).TotalSeconds);
|
||||
string message = $") Building Mapped with Encoding Face Files Collection - {totalSeconds} total second(s)";
|
||||
compare.ConstructProgressBar(exifDirectories.Count, message);
|
||||
foreach (ExifDirectory e in exifDirectories)
|
||||
{
|
||||
compare.Tick();
|
||||
json = Metadata.Models.Stateless.Methods.IMetadata.GetFaceEncoding(e);
|
||||
faceEncoding = json is null ? null : JsonSerializer.Deserialize<FaceEncoding>(json);
|
||||
if (faceEncoding is null)
|
||||
continue;
|
||||
encoding = FaceRecognitionDotNet.FaceRecognition.LoadFaceEncoding(faceEncoding.RawEncoding);
|
||||
exifDirectory = ExifDirectory.Get(encoding, e);
|
||||
results.Add(exifDirectory);
|
||||
}
|
||||
return results.AsReadOnly();
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user