FocusModel

This commit is contained in:
2023-02-26 18:17:20 -07:00
parent 0f025b5e2e
commit 70c9ee5781
24 changed files with 286 additions and 176 deletions

View File

@ -10,37 +10,38 @@ public class DistanceLimits : IDistanceLimits
private int _Distance;
private int _Confidence;
public double FaceAreaPermille { init; get; }
public double FaceAreaPermyriad { init; get; }
public double RangeDaysDeltaTolerance { init; get; }
public double FaceConfidencePercent { init; get; }
public double FaceDistancePermyriad { init; get; }
public int SortingMaximumPerFaceShouldBeHigh { init; get; }
public bool RangeDaysDeltaTargetLessThenUpper { init; get; }
public DistanceLimits(int faceConfidencePercent,
int faceDistancePermyriad,
int[] rangeDaysDeltaTolerance,
double[] rangeDistanceTolerance,
int[] rangeFaceAreaPermilleTolerance,
double[] rangeFaceConfidence,
int sortingMaximumPerFaceShouldBeHigh,
int? useFiltersCounter = null)
public DistanceLimits(int faceAreaPermyriad,
int faceConfidencePercent,
int faceDistancePermyriad,
int[] rangeDaysDeltaTolerance,
float[] rangeDistanceTolerance,
float[] rangeFaceAreaPermyriadTolerance,
float[] rangeFaceConfidence,
int sortingMaximumPerFaceShouldBeHigh,
int? useFiltersCounter = null)
{
SortingMaximumPerFaceShouldBeHigh = sortingMaximumPerFaceShouldBeHigh;
RangeDaysDeltaTargetLessThenUpper = rangeDaysDeltaTolerance[1] > rangeDaysDeltaTolerance[2];
if (useFiltersCounter is null)
{
FaceAreaPermille = rangeFaceAreaPermilleTolerance[1];
RangeDaysDeltaTolerance = rangeDaysDeltaTolerance[1];
FaceConfidencePercent = faceConfidencePercent * rangeFaceConfidence[1];
FaceAreaPermyriad = faceAreaPermyriad * rangeFaceAreaPermyriadTolerance[1];
FaceDistancePermyriad = faceDistancePermyriad * rangeDistanceTolerance[1];
}
else
{
RangeDaysDeltaTolerance = ((rangeDaysDeltaTolerance[2] - rangeDaysDeltaTolerance[0]) * 0.01 * useFiltersCounter.Value) + rangeDaysDeltaTolerance[1];
FaceConfidencePercent = faceConfidencePercent * ((rangeFaceConfidence[2] - rangeFaceConfidence[0]) * 0.01 * useFiltersCounter.Value) + rangeFaceConfidence[1];
FaceAreaPermille = ((rangeFaceAreaPermilleTolerance[2] - rangeFaceAreaPermilleTolerance[0]) * 0.01 * useFiltersCounter.Value) + rangeFaceAreaPermilleTolerance[1];
FaceDistancePermyriad = faceDistancePermyriad * ((rangeDistanceTolerance[2] - rangeDistanceTolerance[0]) * 0.01 * useFiltersCounter.Value) + rangeDistanceTolerance[1];
FaceAreaPermyriad = faceAreaPermyriad * ((rangeFaceAreaPermyriadTolerance[2] - rangeFaceAreaPermyriadTolerance[0]) * 0.01 * useFiltersCounter.Value) + rangeFaceAreaPermyriadTolerance[1];
}
}