Mike Phares 8b2cbf7e16 Remove Person Require People File,
PersonContainer and bug fix for GetRightPadded
2022-09-18 23:43:37 -07:00

221 lines
12 KiB
C#

using System.Text.Json;
using System.Text.Json.Serialization;
namespace View_by_Distance.Tests.Models;
public class Configuration
{
protected Property.Models.Configuration _PropertyConfiguration;
public Property.Models.Configuration PropertyConfiguration => _PropertyConfiguration;
public bool CheckDFaceAndUpWriteDates { init; get; }
public bool CheckJsonForDistanceResults { init; get; }
public int CrossDirectoryMaxItemsInDistanceCollection { init; get; }
public int DistanceFactor { init; get; }
public int FaceDistanceHiddenImageFactor { init; get; }
public double FaceDistanceMinimumConfidence { init; get; }
public int FaceDistancePermyriad { init; get; }
public double FaceDistanceTolerance { init; get; }
public bool ForceFaceLastWriteTimeToCreationTime { init; get; }
public bool ForceMetadataLastWriteTimeToCreationTime { init; get; }
public bool ForceResizeLastWriteTimeToCreationTime { init; get; }
public string[] IgnoreExtensions { init; get; }
public string[] IgnoreRelativePaths { init; get; }
public string[] JuliePhares { init; get; }
public string[] LoadOrCreateThenSaveDistanceResultsForOutputResolutions { init; get; }
public string[] LoadOrCreateThenSaveImageFacesResultsForOutputResolutions { init; get; }
public bool LoadOrCreateThenSaveIndex { init; get; }
public int LocationConfidenceFactor { init; get; }
public int LocationDigits { init; get; }
public int LocationFactor { init; get; }
public int MapLogicSigma { init; get; }
public int? MappedMaxIndex { init; get; }
public bool MappingMoveUnableToMatch { init; get; }
public bool MappingSaveFaceEncoding { init; get; }
public bool MappingSaveNotMapped { init; get; }
public bool MappingSaveMapped { init; get; }
public bool MappingUseDeterministicHashCodeUnknownFaceKeyValuePairsForAddToMapping { init; get; }
public bool MappingUseDeterministicHashCodeUnknownFaceKeyValuePairsForSaveMapping { init; get; }
public int MaxItemsInDistanceCollection { init; get; }
public string[] MixedYearRelativePaths { init; get; }
public string ModelDirectory { init; get; }
public string ModelName { init; get; }
public int NumberOfJitters { init; get; }
public int NumberOfTimesToUpsample { init; get; }
public string OutputExtension { init; get; }
public int OutputQuality { init; get; }
public string[] OutputResolutions { init; get; }
public bool OverrideForFaceImages { init; get; }
public bool OverrideForFaceLandmarkImages { init; get; }
public bool OverrideForResizeImages { init; get; }
public int PaddingLoops { init; get; }
public int PersonBirthdayFirstYear { init; get; }
public string PersonBirthdayFormat { init; get; }
public string PersonKeyFormat { init; get; }
public string PredictorModelName { init; get; }
public bool PropertiesChangedForDistance { init; get; }
public bool PropertiesChangedForFaces { init; get; }
public bool PropertiesChangedForIndex { init; get; }
public bool PropertiesChangedForMetadata { init; get; }
public bool PropertiesChangedForResize { init; get; }
public bool Reverse { init; get; }
public string[] SaveFaceLandmarkForOutputResolutions { init; get; }
public bool SaveFullYearOfRandomFiles { init; get; }
public bool SaveResizedSubfiles { init; get; }
public string[] SaveShortcutsForOutputResolutions { init; get; }
public bool SkipSearch { init; get; }
public int SortingDaysDeltaTolerance { init; get; }
public int SortingFacesToSkipAfterSortBeforeLoad { init; get; }
public int SortingFacesToTakeAfterSortBeforeLoad { init; get; }
public int SortingMaximumPerFaceShouldBeHigh { init; get; }
public int SortingMaximumPerKey { init; get; }
public int SortingSigma { init; get; }
public bool TestDistanceResults { init; get; }
public string[] ValidResolutions { init; get; }
[JsonConstructor]
public Configuration(Property.Models.Configuration propertyConfiguration,
bool checkDFaceAndUpWriteDates,
bool checkJsonForDistanceResults,
int crossDirectoryMaxItemsInDistanceCollection,
int distanceFactor,
int faceDistanceHiddenImageFactor,
double faceDistanceMinimumConfidence,
int faceDistancePermyriad,
double faceDistanceTolerance,
bool forceFaceLastWriteTimeToCreationTime,
bool forceMetadataLastWriteTimeToCreationTime,
bool forceResizeLastWriteTimeToCreationTime,
string[] ignoreExtensions,
string[] ignoreRelativePaths,
string[] juliePhares,
string[] loadOrCreateThenSaveDistanceResultsForOutputResolutions,
string[] loadOrCreateThenSaveImageFacesResultsForOutputResolutions,
bool loadOrCreateThenSaveIndex,
int locationConfidenceFactor,
int locationDigits,
int locationFactor,
int mapLogicSigma,
int? mappedMaxIndex,
bool mappingMoveUnableToMatch,
bool mappingSaveFaceEncoding,
bool mappingSaveNotMapped,
bool mappingSaveMapped,
bool mappingUseDeterministicHashCodeUnknownFaceKeyValuePairsForAddToMapping,
bool mappingUseDeterministicHashCodeUnknownFaceKeyValuePairsForSaveMapping,
int maxItemsInDistanceCollection,
string[] mixedYearRelativePaths,
string modelDirectory,
string modelName,
int numberOfJitters,
int numberOfTimesToUpsample,
string outputExtension,
int outputQuality,
string[] outputResolutions,
bool overrideForFaceImages,
bool overrideForFaceLandmarkImages,
bool overrideForResizeImages,
int paddingLoops,
int personBirthdayFirstYear,
string personBirthdayFormat,
string personKeyFormat,
string predictorModelName,
bool propertiesChangedForDistance,
bool propertiesChangedForFaces,
bool propertiesChangedForIndex,
bool propertiesChangedForMetadata,
bool propertiesChangedForResize,
bool reverse,
string[] saveFaceLandmarkForOutputResolutions,
bool saveFullYearOfRandomFiles,
bool saveResizedSubfiles,
string[] saveShortcutsForOutputResolutions,
bool skipSearch,
int sortingDaysDeltaTolerance,
int sortingFacesToSkipAfterSortBeforeLoad,
int sortingFacesToTakeAfterSortBeforeLoad,
int sortingMaximumPerFaceShouldBeHigh,
int sortingMaximumPerKey,
int sortingSigma,
bool testDistanceResults,
string[] validResolutions)
{
_PropertyConfiguration = propertyConfiguration;
CheckDFaceAndUpWriteDates = checkDFaceAndUpWriteDates;
CheckJsonForDistanceResults = checkJsonForDistanceResults;
CrossDirectoryMaxItemsInDistanceCollection = crossDirectoryMaxItemsInDistanceCollection;
DistanceFactor = distanceFactor;
FaceDistanceHiddenImageFactor = faceDistanceHiddenImageFactor;
FaceDistanceMinimumConfidence = faceDistanceMinimumConfidence;
FaceDistancePermyriad = faceDistancePermyriad;
FaceDistanceTolerance = faceDistanceTolerance;
ForceFaceLastWriteTimeToCreationTime = forceFaceLastWriteTimeToCreationTime;
ForceMetadataLastWriteTimeToCreationTime = forceMetadataLastWriteTimeToCreationTime;
ForceResizeLastWriteTimeToCreationTime = forceResizeLastWriteTimeToCreationTime;
IgnoreExtensions = ignoreExtensions;
IgnoreRelativePaths = ignoreRelativePaths;
JuliePhares = juliePhares;
LoadOrCreateThenSaveDistanceResultsForOutputResolutions = loadOrCreateThenSaveDistanceResultsForOutputResolutions;
LoadOrCreateThenSaveImageFacesResultsForOutputResolutions = loadOrCreateThenSaveImageFacesResultsForOutputResolutions;
LoadOrCreateThenSaveIndex = loadOrCreateThenSaveIndex;
LocationConfidenceFactor = locationConfidenceFactor;
LocationDigits = locationDigits;
LocationFactor = locationFactor;
MapLogicSigma = mapLogicSigma;
MappedMaxIndex = mappedMaxIndex;
MappingMoveUnableToMatch = mappingMoveUnableToMatch;
MappingSaveFaceEncoding = mappingSaveFaceEncoding;
MappingSaveNotMapped = mappingSaveNotMapped;
MappingSaveMapped = mappingSaveMapped;
MappingUseDeterministicHashCodeUnknownFaceKeyValuePairsForAddToMapping = mappingUseDeterministicHashCodeUnknownFaceKeyValuePairsForAddToMapping;
MappingUseDeterministicHashCodeUnknownFaceKeyValuePairsForSaveMapping = mappingUseDeterministicHashCodeUnknownFaceKeyValuePairsForSaveMapping;
MaxItemsInDistanceCollection = maxItemsInDistanceCollection;
MixedYearRelativePaths = mixedYearRelativePaths;
ModelDirectory = modelDirectory;
ModelName = modelName;
NumberOfJitters = numberOfJitters;
NumberOfTimesToUpsample = numberOfTimesToUpsample;
OutputExtension = outputExtension;
OutputQuality = outputQuality;
OutputResolutions = outputResolutions;
OverrideForFaceImages = overrideForFaceImages;
OverrideForFaceLandmarkImages = overrideForFaceLandmarkImages;
OverrideForResizeImages = overrideForResizeImages;
PaddingLoops = paddingLoops;
PersonBirthdayFirstYear = personBirthdayFirstYear;
PersonBirthdayFormat = personBirthdayFormat;
PersonKeyFormat = personKeyFormat;
PredictorModelName = predictorModelName;
PropertiesChangedForDistance = propertiesChangedForDistance;
PropertiesChangedForFaces = propertiesChangedForFaces;
PropertiesChangedForIndex = propertiesChangedForIndex;
PropertiesChangedForMetadata = propertiesChangedForMetadata;
PropertiesChangedForResize = propertiesChangedForResize;
Reverse = reverse;
SaveFaceLandmarkForOutputResolutions = saveFaceLandmarkForOutputResolutions;
SaveFullYearOfRandomFiles = saveFullYearOfRandomFiles;
SaveResizedSubfiles = saveResizedSubfiles;
SaveShortcutsForOutputResolutions = saveShortcutsForOutputResolutions;
SkipSearch = skipSearch;
SortingDaysDeltaTolerance = sortingDaysDeltaTolerance;
SortingFacesToSkipAfterSortBeforeLoad = sortingFacesToSkipAfterSortBeforeLoad;
SortingFacesToTakeAfterSortBeforeLoad = sortingFacesToTakeAfterSortBeforeLoad;
SortingMaximumPerFaceShouldBeHigh = sortingMaximumPerFaceShouldBeHigh;
SortingMaximumPerKey = sortingMaximumPerKey;
SortingSigma = sortingSigma;
TestDistanceResults = testDistanceResults;
ValidResolutions = validResolutions;
}
public override string ToString()
{
string result = JsonSerializer.Serialize(this, new JsonSerializerOptions() { WriteIndented = true });
return result;
}
public void Set(Property.Models.Configuration configuration) => _PropertyConfiguration = configuration;
public void Update() => _PropertyConfiguration.Update();
}