AA.Compare Project to Match not runToDoCollectionFirst
Removed Layered AppSettings with Nested Objects at First Level
This commit is contained in:
.gitignore
.vscode
AA.slnCompare
Distance
AA.Distance.csproj
Models
Face
FaceRecognitionDotNet
AA.FaceRecognitionDotNet.csprojDisposableObject.cs
Dlib
Extensions
FaceEncoding.csFaceRecognition.csFaceRecognitionGroup.csFaceRecognitionModels.csImage.csModelParameter.csPoint.csMetadata/Models
People
Rename
Shared/Models
DistanceSettings.csExifDirectory.csFaceDistance.csFacePartAndFacePointArray.csFaceRecognitionGroup.csFileHolder.csFilePath.csFilePathAndWholePercentages.csLocation.csLocationContainer.csMappingFromFilterPost.csMetadataConfiguration.csMetadataGroup.csMetadataSettings.csPeopleSettings.csPersonBirthday.csPersonContainer.csPersonDirectory.csPersonKeyFormattedAndPersonBirthday.csPersonKeyFormattedAndPersonKeyTicks.cs
Properties
ReadOnlyCollections.csResultConfiguration.csResultSettings.csSaveContainer.csStateless
59
Distance/Models/DistanceLimits.cs
Normal file
59
Distance/Models/DistanceLimits.cs
Normal file
@ -0,0 +1,59 @@
|
||||
using View_by_Distance.Shared.Models;
|
||||
using View_by_Distance.Shared.Models.Methods;
|
||||
|
||||
namespace View_by_Distance.Metadata.Models;
|
||||
|
||||
public class DistanceLimits : IDistanceLimits
|
||||
{
|
||||
|
||||
private int _Days;
|
||||
private int _Distance;
|
||||
|
||||
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 double RangeDistanceToleranceUpperLimit { init; get; }
|
||||
|
||||
public DistanceLimits(DistanceSettings distanceSettings, int? useFiltersCounter = null)
|
||||
{
|
||||
RangeDistanceToleranceUpperLimit = distanceSettings.RangeDistanceTolerance[2];
|
||||
SortingMaximumPerFaceShouldBeHigh = distanceSettings.SortingMaximumPerFaceShouldBeHigh;
|
||||
RangeDaysDeltaTargetLessThenUpper = distanceSettings.RangeDaysDeltaTolerance[1] > distanceSettings.RangeDaysDeltaTolerance[2];
|
||||
if (useFiltersCounter is null)
|
||||
{
|
||||
RangeDaysDeltaTolerance = distanceSettings.RangeDaysDeltaTolerance[1];
|
||||
FaceConfidencePercent = distanceSettings.FaceConfidencePercent * distanceSettings.RangeFaceConfidence[1];
|
||||
FaceAreaPermyriad = distanceSettings.FaceAreaPermyriad * distanceSettings.RangeFaceAreaTolerance[1];
|
||||
FaceDistancePermyriad = distanceSettings.FaceDistancePermyriad * distanceSettings.RangeDistanceTolerance[1];
|
||||
}
|
||||
else
|
||||
{
|
||||
RangeDaysDeltaTolerance = ((distanceSettings.RangeDaysDeltaTolerance[2] - distanceSettings.RangeDaysDeltaTolerance[0]) * 0.01 * useFiltersCounter.Value) + distanceSettings.RangeDaysDeltaTolerance[1];
|
||||
FaceConfidencePercent = (distanceSettings.FaceConfidencePercent * ((distanceSettings.RangeFaceConfidence[2] - distanceSettings.RangeFaceConfidence[0]) * 0.01 * useFiltersCounter.Value)) + distanceSettings.RangeFaceConfidence[1];
|
||||
FaceDistancePermyriad = (distanceSettings.FaceDistancePermyriad * ((distanceSettings.RangeDistanceTolerance[2] - distanceSettings.RangeDistanceTolerance[0]) * 0.01 * useFiltersCounter.Value)) + distanceSettings.RangeDistanceTolerance[1];
|
||||
FaceAreaPermyriad = (distanceSettings.FaceAreaPermyriad * ((distanceSettings.RangeFaceAreaTolerance[2] - distanceSettings.RangeFaceAreaTolerance[0]) * 0.01 * useFiltersCounter.Value)) + distanceSettings.RangeFaceAreaTolerance[1];
|
||||
}
|
||||
}
|
||||
|
||||
string IDistanceLimits.GetCounts()
|
||||
{
|
||||
string result;
|
||||
List<(int Value, string Name)> results =
|
||||
[
|
||||
new(_Days, nameof(_Days)),
|
||||
new(_Distance, nameof(_Distance))
|
||||
];
|
||||
result = string.Join(' ', from l in results orderby l.Value descending select $"{l.Name}_{l.Value};");
|
||||
return result;
|
||||
}
|
||||
|
||||
void IDistanceLimits.AddCounts(int days, int distance)
|
||||
{
|
||||
_Days += days;
|
||||
_Distance += distance;
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user