Moved face area and confidence to before sorting

This commit is contained in:
2023-02-27 20:47:35 -07:00
parent 70c9ee5781
commit 18b65b8884
4 changed files with 41 additions and 44 deletions

View File

@ -400,7 +400,7 @@ public partial class E_Distance
{
List<SortingContainer> results = new();
SortingContainer sortingContainer;
int area = 0, days = 0, distance = 0, confidence = 0;
int days = 0, distance = 0;
Sorting[] collection = Shared.Models.Stateless.Methods.ISorting.Sort(sortingCollection);
foreach (Sorting sorting in collection)
{
@ -418,22 +418,12 @@ public partial class E_Distance
distance += 1;
continue;
}
if (face.Mapping.MappingFromLocation.ConfidencePercent < distanceLimits.FaceConfidencePercent)
{
confidence += 1;
continue;
}
if (face.Mapping.MappingFromLocation.AreaPermyriad < distanceLimits.FaceAreaPermyriad)
{
area += 1;
continue;
}
sortingContainer = new(face.Mapping, sorting);
results.Add(sortingContainer);
if (results.Count >= distanceLimits.SortingMaximumPerFaceShouldBeHigh)
break;
}
distanceLimits.AddCounts(area, days, distance, confidence);
distanceLimits.AddCounts(days, distance);
return results;
}
@ -483,13 +473,17 @@ public partial class E_Distance
return faceDistanceEncodings;
}
public static FaceDistanceContainer[] FilteredFaceDistanceContainers(Map.Models.MapLogic mapLogic, FaceDistanceContainer[] faceDistanceContainers)
public static FaceDistanceContainer[] FilteredFaceDistanceContainers(Map.Models.MapLogic mapLogic, FaceDistanceContainer[] faceDistanceContainers, DistanceLimits distanceLimits)
{
List<FaceDistanceContainer> results = new();
foreach (FaceDistanceContainer faceDistanceContainer in faceDistanceContainers)
{
if (faceDistanceContainer.FaceDistance is null || faceDistanceContainer.Face.Mapping?.MappingFromLocation is null)
throw new NotSupportedException();
if (faceDistanceContainer.Face.Mapping.MappingFromLocation.ConfidencePercent < distanceLimits.FaceConfidencePercent)
continue;
if (faceDistanceContainer.Face.Mapping.MappingFromLocation.AreaPermyriad < distanceLimits.FaceAreaPermyriad)
continue;
if (faceDistanceContainer.Face.Mapping.MappingFromFilter.IsFocusModel is not null && !faceDistanceContainer.Face.Mapping.MappingFromFilter.IsFocusModel.Value)
continue;
if (faceDistanceContainer.Face.Mapping.MappingFromFilter.IsFocusRelativePath is not null && !faceDistanceContainer.Face.Mapping.MappingFromFilter.IsFocusRelativePath.Value)