Removed CopyAtLeastOneMappedFiles

ReadOnlyCollection
This commit is contained in:
2023-08-07 15:04:46 -07:00
parent 009c176d1a
commit 2eb5cfd42f
15 changed files with 242 additions and 331 deletions

View File

@ -79,7 +79,7 @@ public partial class E_Distance : IDistance<MetadataExtractor.Directory>
return results;
}
private static List<FaceDistance> GetFaceDistanceEncodings(FaceDistanceContainer[] faceDistanceContainers)
private static ReadOnlyCollection<FaceDistance> GetFaceDistanceEncodings(FaceDistanceContainer[] faceDistanceContainers)
{
List<FaceDistance> faceDistanceEncodings = new();
foreach (FaceDistanceContainer faceDistanceContainer in faceDistanceContainers)
@ -88,7 +88,7 @@ public partial class E_Distance : IDistance<MetadataExtractor.Directory>
continue;
faceDistanceEncodings.Add(faceDistanceContainer.FaceDistance);
}
return faceDistanceEncodings;
return new(faceDistanceEncodings);
}
private List<(Face Face, double? Length)> GetValues(MappingFromItem mappingFromItem, List<Face> intersectFaces, Shared.Models.FaceEncoding modelsFaceEncoding)
@ -102,7 +102,7 @@ public partial class E_Distance : IDistance<MetadataExtractor.Directory>
int faceDistanceContainersLength = faceDistanceContainers.Length;
if (faceDistanceContainersLength != intersectFaces.Count)
throw new NotSupportedException();
List<FaceDistance> faceDistanceEncodings = GetFaceDistanceEncodings(faceDistanceContainers);
ReadOnlyCollection<FaceDistance> faceDistanceEncodings = GetFaceDistanceEncodings(faceDistanceContainers);
if (faceDistanceEncodings.Count != intersectFaces.Count)
throw new NotSupportedException();
List<FaceDistance> faceDistanceLengths = FaceRecognition.FaceDistances(faceDistanceEncodings, faceDistanceEncoding);
@ -315,7 +315,7 @@ public partial class E_Distance : IDistance<MetadataExtractor.Directory>
_DuplicateMappedFaceFiles.Clear();
}
public List<FaceDistanceContainer> GetMissingFaceDistanceContainer(int maxDegreeOfParallelism, long ticks, string dFacesCollectionDirectory, Dictionary<int, ReadOnlyDictionary<int, ReadOnlyCollection<PersonContainer>>> missingIdThenWholePercentagesToPersonContainers)
public ReadOnlyCollection<FaceDistanceContainer> GetMissingFaceDistanceContainer(int maxDegreeOfParallelism, long ticks, string dFacesCollectionDirectory, ReadOnlyDictionary<int, ReadOnlyDictionary<int, ReadOnlyCollection<PersonContainer>>> missingIdThenWholePercentagesToPersonContainers)
{
List<FaceDistanceContainer> results = new();
string[] files;
@ -365,7 +365,7 @@ public partial class E_Distance : IDistance<MetadataExtractor.Directory>
results.Add(faceDistanceContainer);
}
});
return results;
return new(results);
}
public static void SaveFaceDistances(Property.Models.Configuration configuration, SortingContainer[] sortingContainers)
@ -380,7 +380,7 @@ public partial class E_Distance : IDistance<MetadataExtractor.Directory>
File.WriteAllLines(eDistanceContentFileName, results);
}
public static void SetFaceDistances(int maxDegreeOfParallelism, long ticks, List<Face> distinctFilteredFaces)
public static void SetFaceDistances(int maxDegreeOfParallelism, long ticks, ReadOnlyCollection<Face> distinctFilteredFaces)
{
List<Face> faces = new();
foreach (Face face in distinctFilteredFaces)
@ -443,7 +443,7 @@ public partial class E_Distance : IDistance<MetadataExtractor.Directory>
return results;
}
private static List<Sorting> GetSortingCollection(Map.Models.MapLogic mapLogic, List<FaceDistance> faceDistanceEncodings, int i, FaceDistance faceDistanceEncoding)
private static List<Sorting> GetSortingCollection(Map.Models.MapLogic mapLogic, ReadOnlyCollection<FaceDistance> faceDistanceEncodings, int i, FaceDistance faceDistanceEncoding)
{
List<Sorting> results;
List<FaceDistance> faceDistanceLengths = FaceRecognition.FaceDistances(faceDistanceEncodings, faceDistanceEncoding);
@ -451,9 +451,9 @@ public partial class E_Distance : IDistance<MetadataExtractor.Directory>
return results;
}
public static FaceDistanceContainer[] GetFaceDistanceContainers(List<Face> distinctFilteredFaces)
public static ReadOnlyCollection<FaceDistanceContainer> GetFaceDistanceContainers(ReadOnlyCollection<Face> distinctFilteredFaces)
{
FaceDistanceContainer[] results;
ReadOnlyCollection<FaceDistanceContainer> results;
FaceDistance faceDistance;
FaceDistanceContainer faceDistanceContainer;
List<FaceDistanceContainer> collection = new();
@ -467,11 +467,11 @@ public partial class E_Distance : IDistance<MetadataExtractor.Directory>
faceDistanceContainer = new(face, faceDistance);
collection.Add(faceDistanceContainer);
}
results = collection.ToArray();
results = new(collection.ToArray());
return results;
}
public static List<FaceDistance> GetFaceDistanceEncodings(FaceDistanceContainer[] faceDistanceContainers, List<FaceDistanceContainer> missingFaceDistanceContainers)
public static ReadOnlyCollection<FaceDistance> GetFaceDistanceEncodings(ReadOnlyCollection<FaceDistanceContainer> faceDistanceContainers, ReadOnlyCollection<FaceDistanceContainer> missingFaceDistanceContainers)
{
List<FaceDistance> faceDistanceEncodings = new();
foreach (FaceDistanceContainer faceDistanceContainer in faceDistanceContainers)
@ -486,10 +486,10 @@ public partial class E_Distance : IDistance<MetadataExtractor.Directory>
continue;
faceDistanceEncodings.Add(faceDistanceContainer.FaceDistance);
}
return faceDistanceEncodings;
return new(faceDistanceEncodings);
}
public static FaceDistanceContainer[] FilteredFaceDistanceContainers(Map.Models.MapLogic mapLogic, FaceDistanceContainer[] faceDistanceContainers, long? skipOlderThan, DistanceLimits distanceLimits)
public static FaceDistanceContainer[] FilteredFaceDistanceContainers(Map.Models.MapLogic mapLogic, ReadOnlyCollection<FaceDistanceContainer> faceDistanceContainers, long? skipOlderThan, DistanceLimits distanceLimits)
{
List<FaceDistanceContainer> results = new();
foreach (FaceDistanceContainer faceDistanceContainer in faceDistanceContainers)
@ -517,7 +517,7 @@ public partial class E_Distance : IDistance<MetadataExtractor.Directory>
return results.ToArray();
}
public static SortingContainer[] SetFaceMappingSortingCollectionThenGetSortingContainers(int maxDegreeOfParallelism, Map.Models.Configuration mapConfiguration, long ticks, Map.Models.MapLogic mapLogic, IDistanceLimits distanceLimits, List<FaceDistance> faceDistanceEncodings, FaceDistanceContainer[] filteredFaceDistanceContainers)
public static SortingContainer[] SetFaceMappingSortingCollectionThenGetSortingContainers(int maxDegreeOfParallelism, Map.Models.Configuration mapConfiguration, long ticks, Map.Models.MapLogic mapLogic, IDistanceLimits distanceLimits, ReadOnlyCollection<FaceDistance> faceDistanceEncodings, FaceDistanceContainer[] filteredFaceDistanceContainers)
{
SortingContainer[] results;
List<SortingContainer> collection = new();
@ -569,7 +569,7 @@ public partial class E_Distance : IDistance<MetadataExtractor.Directory>
}
if (faceDistanceEncoding is null)
throw new Exception();
faceDistanceLengths = FaceRecognition.FaceDistances(faceDistanceEncodings, faceDistanceEncoding);
faceDistanceLengths = FaceRecognition.FaceDistances(new(faceDistanceEncodings), faceDistanceEncoding);
if (faceDistanceLengths.Count != files.Count)
throw new Exception();
for (int i = 0; i < files.Count; i++)
@ -586,7 +586,7 @@ public partial class E_Distance : IDistance<MetadataExtractor.Directory>
}
if (faceDistanceEncoding is null)
throw new Exception();
faceDistanceLengths = FaceRecognition.FaceDistances(faceDistanceEncodings, faceDistanceEncoding);
faceDistanceLengths = FaceRecognition.FaceDistances(new(faceDistanceEncodings), faceDistanceEncoding);
if (faceDistanceLengths.Count != files.Count)
throw new Exception();
for (int i = 0; i < files.Count; i++)