Moved face area and confidence to before sorting
This commit is contained in:
@ -5,10 +5,8 @@ namespace View_by_Distance.Distance.Models;
|
||||
public class DistanceLimits : IDistanceLimits
|
||||
{
|
||||
|
||||
private int _Area;
|
||||
private int _Days;
|
||||
private int _Distance;
|
||||
private int _Confidence;
|
||||
|
||||
public double FaceAreaPermyriad { init; get; }
|
||||
public double RangeDaysDeltaTolerance { init; get; }
|
||||
@ -50,8 +48,6 @@ public class DistanceLimits : IDistanceLimits
|
||||
string result;
|
||||
List<(int Value, string Name)> results = new()
|
||||
{
|
||||
new(_Area, nameof(_Area)),
|
||||
new(_Confidence, nameof(_Confidence)),
|
||||
new(_Days, nameof(_Days)),
|
||||
new(_Distance, nameof(_Distance))
|
||||
};
|
||||
@ -59,12 +55,10 @@ public class DistanceLimits : IDistanceLimits
|
||||
return result;
|
||||
}
|
||||
|
||||
void IDistanceLimits.AddCounts(int area, int days, int distance, int confidence)
|
||||
void IDistanceLimits.AddCounts(int days, int distance)
|
||||
{
|
||||
_Area += area;
|
||||
_Days += days;
|
||||
_Distance += distance;
|
||||
_Confidence += confidence;
|
||||
}
|
||||
|
||||
}
|
@ -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)
|
||||
|
Reference in New Issue
Block a user