Metadata
This commit is contained in:
@ -8,7 +8,7 @@ using View_by_Distance.Shared.Models.Methods;
|
||||
|
||||
namespace View_by_Distance.Distance.Models;
|
||||
|
||||
public partial class E_Distance : IDistance<MetadataExtractor.Directory>
|
||||
public partial class E_Distance : IDistance
|
||||
{
|
||||
|
||||
internal record Record(FilePath FilePath, FaceRecognitionDotNet.FaceEncoding FaceRecognitionDotNetFaceEncoding);
|
||||
@ -201,7 +201,7 @@ public partial class E_Distance : IDistance<MetadataExtractor.Directory>
|
||||
}
|
||||
}
|
||||
|
||||
public void LookForMatchFacesAndPossiblyRename(string facesFileNameExtension, FilePath filePath, MappingFromItem mappingFromItem, List<Face> faces, ReadOnlyCollection<LocationContainer<MetadataExtractor.Directory>> locationContainers)
|
||||
public void LookForMatchFacesAndPossiblyRename(string facesFileNameExtension, FilePath filePath, MappingFromItem mappingFromItem, List<Face> faces, ReadOnlyCollection<LocationContainer> locationContainers)
|
||||
{
|
||||
string? json;
|
||||
string[] matches;
|
||||
@ -212,20 +212,20 @@ public partial class E_Distance : IDistance<MetadataExtractor.Directory>
|
||||
Face[] filteredFaces = (from l in faces where l.FaceEncoding is not null && l.Location is not null && l.OutputResolution is not null select l).ToArray();
|
||||
if (filteredFaces.Length != faces.Count)
|
||||
checkFaces.Clear();
|
||||
foreach (LocationContainer<MetadataExtractor.Directory> locationContainer in locationContainers)
|
||||
foreach (LocationContainer locationContainer in locationContainers)
|
||||
{
|
||||
if (_Renamed.Contains(locationContainer.FilePath.FullName))
|
||||
continue;
|
||||
if (locationContainer.FromDistanceContent && _DuplicateMappedFaceFiles.Contains(locationContainer.FilePath.Name))
|
||||
continue;
|
||||
checkFaces.Clear();
|
||||
if (locationContainer.Directories.Count == 0)
|
||||
if (locationContainer.ExifDirectory is null)
|
||||
{
|
||||
if (locationContainer.FromDistanceContent)
|
||||
throw new NullReferenceException(nameof(locationContainer.Directories));
|
||||
throw new NullReferenceException(nameof(locationContainer.ExifDirectory));
|
||||
continue;
|
||||
}
|
||||
json = Metadata.Models.Stateless.Methods.IMetadata.GetFaceEncoding(locationContainer.Directories);
|
||||
json = Metadata.Models.Stateless.Methods.IMetadata.GetFaceEncoding(locationContainer.ExifDirectory);
|
||||
if (json is null)
|
||||
{
|
||||
if (_DistanceMoveUnableToMatch)
|
||||
@ -520,16 +520,16 @@ public partial class E_Distance : IDistance<MetadataExtractor.Directory>
|
||||
return new(results);
|
||||
}
|
||||
|
||||
ReadOnlyCollection<RelationContainer> IDistance<MetadataExtractor.Directory>.GetRelationContainers(int faceDistancePermyriad, int locationContainerDistanceTake, float locationContainerDistanceTolerance, ReadOnlyCollection<LocationContainer<MetadataExtractor.Directory>> locationContainers)
|
||||
ReadOnlyCollection<RelationContainer> IDistance.GetRelationContainers(int faceDistancePermyriad, int locationContainerDistanceTake, float locationContainerDistanceTolerance, ReadOnlyCollection<LocationContainer> locationContainers)
|
||||
{
|
||||
ReadOnlyCollection<RelationContainer> result;
|
||||
string? json;
|
||||
List<Record> records = [];
|
||||
Shared.Models.FaceEncoding? modelsFaceEncoding;
|
||||
FaceRecognitionDotNet.FaceEncoding faceRecognitionDotNetFaceEncoding;
|
||||
foreach (LocationContainer<MetadataExtractor.Directory> locationContainer in locationContainers)
|
||||
foreach (LocationContainer locationContainer in locationContainers)
|
||||
{
|
||||
json = Metadata.Models.Stateless.Methods.IMetadata.GetFaceEncoding(locationContainer.Directories);
|
||||
json = Metadata.Models.Stateless.Methods.IMetadata.GetFaceEncoding(locationContainer.ExifDirectory);
|
||||
if (json is null)
|
||||
continue;
|
||||
modelsFaceEncoding = JsonSerializer.Deserialize<Shared.Models.FaceEncoding>(json);
|
||||
|
Reference in New Issue
Block a user