Removed Configuration.SetAndUpdate
This commit is contained in:
@ -1,275 +1,85 @@
|
||||
using System.Text.Json;
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace View_by_Distance.Instance.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 string[] CopyFacesAndSaveFaceLandmarkForOutputResolutions { init; get; }
|
||||
public int CrossDirectoryMaxItemsInDistanceCollection { init; get; }
|
||||
public int DistanceFactor { init; get; }
|
||||
public bool DistanceMoveUnableToMatch { init; get; }
|
||||
public int DistancePixelDistanceTolerance { init; get; }
|
||||
public bool DistanceRenameToMatch { init; get; }
|
||||
public int EyeThreshold { init; get; }
|
||||
public int FaceAreaPermyriad { init; get; }
|
||||
public int FaceConfidencePercent { init; get; }
|
||||
public int FaceDistanceHiddenImageFactor { init; get; }
|
||||
public int FaceDistancePermyriad { init; get; }
|
||||
public string FocusDirectory { init; get; }
|
||||
public string FocusModel { init; get; }
|
||||
public bool ForceFaceLastWriteTimeToCreationTime { init; get; }
|
||||
public bool ForceMetadataLastWriteTimeToCreationTime { init; get; }
|
||||
public bool ForceResizeLastWriteTimeToCreationTime { init; get; }
|
||||
public string GenealogicalDataCommunicationFile { init; get; }
|
||||
public string[] IgnoreExtensions { init; get; }
|
||||
public string[] JLinks { init; get; }
|
||||
public string[] LoadOrCreateThenSaveDistanceResultsForOutputResolutions { init; get; }
|
||||
public string[] LoadOrCreateThenSaveImageFacesResultsForOutputResolutions { init; get; }
|
||||
public bool LoadPhotoPrismLocations { init; get; }
|
||||
public float? LocationContainerDistanceTolerance { init; get; }
|
||||
public int LocationDigits { init; get; }
|
||||
public int LocationFactor { init; get; }
|
||||
public bool LookForAbandoned { init; get; }
|
||||
public string MappingDefaultName { init; get; }
|
||||
public bool MappingUseDeterministicHashCodeUnknownFaceKeyValuePairsForAddToMapping { init; get; }
|
||||
public bool MappingUseDeterministicHashCodeUnknownFaceKeyValuePairsForSaveMapping { init; get; }
|
||||
public string[] MixedYearRelativePaths { init; get; }
|
||||
public string ModelDirectory { init; get; }
|
||||
public string ModelName { 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 PersonBirthdayFirstYear { init; get; }
|
||||
public string PersonBirthdayFormat { init; get; }
|
||||
public string PersonCharacters { init; get; }
|
||||
public int PersonCharactersCopyCount { 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 int[] RangeDaysDeltaTolerance { init; get; }
|
||||
public float[] RangeDistanceTolerance { init; get; }
|
||||
public float[] RangeFaceAreaTolerance { init; get; }
|
||||
public float[] RangeFaceConfidence { init; get; }
|
||||
public float[] RectangleIntersectMinimums { init; get; }
|
||||
public bool Reverse { init; get; }
|
||||
public string[] SaveBlurHashForOutputResolutions { init; get; }
|
||||
public string[] SaveFaceDistancesForOutputResolutions { init; get; }
|
||||
public string[] SaveFaceLandmarkForOutputResolutions { init; get; }
|
||||
public string[] SaveFilteredOriginalImagesFromJLinksForOutputResolutions { init; get; }
|
||||
public bool SaveFullYearOfRandomFiles { init; get; }
|
||||
public bool SaveIndividually { init; get; }
|
||||
public string[] SaveMappedForOutputResolutions { init; get; }
|
||||
public string[] SavePropertyShortcutsForOutputResolutions { init; get; }
|
||||
public string[] SaveRandomForOutputResolutions { init; get; }
|
||||
public bool SaveResizedSubfiles { init; get; }
|
||||
public string[] SaveShortcutsForOutputResolutions { init; get; }
|
||||
public bool SaveSortingWithoutPerson { init; get; }
|
||||
public string[] SkipNotSkipDirectories { init; get; }
|
||||
public int? SkipOlderThanDays { init; get; }
|
||||
public int? SkipPersonWithMoreThen { init; get; }
|
||||
public bool SkipSearch { init; get; }
|
||||
public int SortingMaximumPerFaceShouldBeHigh { init; get; }
|
||||
public int SortingMaximumPerKey { init; get; }
|
||||
public int SortingMinimumToUseSigma { init; get; }
|
||||
public bool TestDistanceResults { init; get; }
|
||||
public int UseFilterTries { init; get; }
|
||||
public string[] ValidResolutions { init; get; }
|
||||
public string[] ValidKeyWordsToIgnoreInRandom { init; get; }
|
||||
public bool DeletePossibleDuplicates { get; internal set; }
|
||||
|
||||
[JsonConstructor]
|
||||
public Configuration(Property.Models.Configuration propertyConfiguration,
|
||||
bool checkDFaceAndUpWriteDates,
|
||||
bool checkJsonForDistanceResults,
|
||||
string[] copyFacesAndSaveFaceLandmarkForOutputResolutions,
|
||||
int crossDirectoryMaxItemsInDistanceCollection,
|
||||
bool deletePossibleDuplicates,
|
||||
int distanceFactor,
|
||||
bool distanceMoveUnableToMatch,
|
||||
int distancePixelDistanceTolerance,
|
||||
bool distanceRenameToMatch,
|
||||
int eyeThreshold,
|
||||
int faceAreaPermyriad,
|
||||
int faceConfidencePercent,
|
||||
int faceDistanceHiddenImageFactor,
|
||||
int faceDistancePermyriad,
|
||||
string focusDirectory,
|
||||
string focusModel,
|
||||
bool forceFaceLastWriteTimeToCreationTime,
|
||||
bool forceMetadataLastWriteTimeToCreationTime,
|
||||
bool forceResizeLastWriteTimeToCreationTime,
|
||||
string genealogicalDataCommunicationFile,
|
||||
string[] ignoreExtensions,
|
||||
string[] jLinks,
|
||||
string[] loadOrCreateThenSaveDistanceResultsForOutputResolutions,
|
||||
string[] loadOrCreateThenSaveImageFacesResultsForOutputResolutions,
|
||||
bool loadPhotoPrismLocations,
|
||||
float? locationContainerDistanceTolerance,
|
||||
int locationDigits,
|
||||
int locationFactor,
|
||||
bool lookForAbandoned,
|
||||
string mappingDefaultName,
|
||||
bool mappingUseDeterministicHashCodeUnknownFaceKeyValuePairsForAddToMapping,
|
||||
bool mappingUseDeterministicHashCodeUnknownFaceKeyValuePairsForSaveMapping,
|
||||
string[] mixedYearRelativePaths,
|
||||
string modelDirectory,
|
||||
string modelName,
|
||||
string outputExtension,
|
||||
int outputQuality,
|
||||
string[] outputResolutions,
|
||||
bool overrideForFaceImages,
|
||||
bool overrideForFaceLandmarkImages,
|
||||
bool overrideForResizeImages,
|
||||
int personBirthdayFirstYear,
|
||||
string personBirthdayFormat,
|
||||
string personCharacters,
|
||||
int personCharactersCopyCount,
|
||||
string personKeyFormat,
|
||||
string predictorModelName,
|
||||
bool propertiesChangedForDistance,
|
||||
bool propertiesChangedForFaces,
|
||||
bool propertiesChangedForIndex,
|
||||
bool propertiesChangedForMetadata,
|
||||
bool propertiesChangedForResize,
|
||||
int[] rangeDaysDeltaTolerance,
|
||||
float[] rangeDistanceTolerance,
|
||||
float[] rangeFaceAreaPermyriadTolerance,
|
||||
float[] rangeFaceConfidence,
|
||||
float[] rectangleIntersectMinimums,
|
||||
bool reverse,
|
||||
string[] saveBlurHashForOutputResolutions,
|
||||
string[] saveFaceDistancesForOutputResolutions,
|
||||
string[] saveFaceLandmarkForOutputResolutions,
|
||||
string[] saveFilteredOriginalImagesFromJLinksForOutputResolutions,
|
||||
bool saveIndividually,
|
||||
bool saveFullYearOfRandomFiles,
|
||||
string[] saveMappedForOutputResolutions,
|
||||
string[] savePropertyShortcutsForOutputResolutions,
|
||||
string[] saveRandomForOutputResolutions,
|
||||
bool saveResizedSubfiles,
|
||||
string[] saveShortcutsForOutputResolutions,
|
||||
bool saveSortingWithoutPerson,
|
||||
string[] skipNotSkipDirectories,
|
||||
int? skipOlderThanDays,
|
||||
int? skipPersonWithMoreThen,
|
||||
bool skipSearch,
|
||||
int sortingMaximumPerFaceShouldBeHigh,
|
||||
int sortingMaximumPerKey,
|
||||
int sortingSigma,
|
||||
bool testDistanceResults,
|
||||
int useFilterTries,
|
||||
string[] validKeyWordsToIgnoreInRandom,
|
||||
string[] validResolutions)
|
||||
{
|
||||
_PropertyConfiguration = propertyConfiguration;
|
||||
CheckDFaceAndUpWriteDates = checkDFaceAndUpWriteDates;
|
||||
CheckJsonForDistanceResults = checkJsonForDistanceResults;
|
||||
CopyFacesAndSaveFaceLandmarkForOutputResolutions = copyFacesAndSaveFaceLandmarkForOutputResolutions;
|
||||
CrossDirectoryMaxItemsInDistanceCollection = crossDirectoryMaxItemsInDistanceCollection;
|
||||
DeletePossibleDuplicates = deletePossibleDuplicates;
|
||||
DistanceFactor = distanceFactor;
|
||||
DistanceMoveUnableToMatch = distanceMoveUnableToMatch;
|
||||
DistancePixelDistanceTolerance = distancePixelDistanceTolerance;
|
||||
DistanceRenameToMatch = distanceRenameToMatch;
|
||||
EyeThreshold = eyeThreshold;
|
||||
FaceAreaPermyriad = faceAreaPermyriad;
|
||||
FaceConfidencePercent = faceConfidencePercent;
|
||||
FaceDistanceHiddenImageFactor = faceDistanceHiddenImageFactor;
|
||||
FaceDistancePermyriad = faceDistancePermyriad;
|
||||
FocusDirectory = focusDirectory;
|
||||
FocusModel = focusModel;
|
||||
ForceFaceLastWriteTimeToCreationTime = forceFaceLastWriteTimeToCreationTime;
|
||||
ForceMetadataLastWriteTimeToCreationTime = forceMetadataLastWriteTimeToCreationTime;
|
||||
ForceResizeLastWriteTimeToCreationTime = forceResizeLastWriteTimeToCreationTime;
|
||||
GenealogicalDataCommunicationFile = genealogicalDataCommunicationFile;
|
||||
IgnoreExtensions = ignoreExtensions;
|
||||
JLinks = jLinks;
|
||||
LoadOrCreateThenSaveDistanceResultsForOutputResolutions = loadOrCreateThenSaveDistanceResultsForOutputResolutions;
|
||||
LoadOrCreateThenSaveImageFacesResultsForOutputResolutions = loadOrCreateThenSaveImageFacesResultsForOutputResolutions;
|
||||
LoadPhotoPrismLocations = loadPhotoPrismLocations;
|
||||
LocationContainerDistanceTolerance = locationContainerDistanceTolerance;
|
||||
LocationDigits = locationDigits;
|
||||
LocationFactor = locationFactor;
|
||||
LookForAbandoned = lookForAbandoned;
|
||||
MappingDefaultName = mappingDefaultName;
|
||||
MappingUseDeterministicHashCodeUnknownFaceKeyValuePairsForAddToMapping = mappingUseDeterministicHashCodeUnknownFaceKeyValuePairsForAddToMapping;
|
||||
MappingUseDeterministicHashCodeUnknownFaceKeyValuePairsForSaveMapping = mappingUseDeterministicHashCodeUnknownFaceKeyValuePairsForSaveMapping;
|
||||
MixedYearRelativePaths = mixedYearRelativePaths;
|
||||
ModelDirectory = modelDirectory;
|
||||
ModelName = modelName;
|
||||
OutputExtension = outputExtension;
|
||||
OutputQuality = outputQuality;
|
||||
OutputResolutions = outputResolutions;
|
||||
OverrideForFaceImages = overrideForFaceImages;
|
||||
OverrideForFaceLandmarkImages = overrideForFaceLandmarkImages;
|
||||
OverrideForResizeImages = overrideForResizeImages;
|
||||
PersonBirthdayFirstYear = personBirthdayFirstYear;
|
||||
PersonBirthdayFormat = personBirthdayFormat;
|
||||
PersonCharacters = personCharacters;
|
||||
PersonCharactersCopyCount = personCharactersCopyCount;
|
||||
PersonKeyFormat = personKeyFormat;
|
||||
PredictorModelName = predictorModelName;
|
||||
PropertiesChangedForDistance = propertiesChangedForDistance;
|
||||
PropertiesChangedForFaces = propertiesChangedForFaces;
|
||||
PropertiesChangedForIndex = propertiesChangedForIndex;
|
||||
PropertiesChangedForMetadata = propertiesChangedForMetadata;
|
||||
PropertiesChangedForResize = propertiesChangedForResize;
|
||||
RangeDaysDeltaTolerance = rangeDaysDeltaTolerance;
|
||||
RangeDistanceTolerance = rangeDistanceTolerance;
|
||||
RangeFaceAreaTolerance = rangeFaceAreaPermyriadTolerance;
|
||||
RangeFaceConfidence = rangeFaceConfidence;
|
||||
RectangleIntersectMinimums = rectangleIntersectMinimums;
|
||||
Reverse = reverse;
|
||||
SaveBlurHashForOutputResolutions = saveBlurHashForOutputResolutions;
|
||||
SaveFaceDistancesForOutputResolutions = saveFaceDistancesForOutputResolutions;
|
||||
SaveFaceLandmarkForOutputResolutions = saveFaceLandmarkForOutputResolutions;
|
||||
SaveFilteredOriginalImagesFromJLinksForOutputResolutions = saveFilteredOriginalImagesFromJLinksForOutputResolutions;
|
||||
SaveFullYearOfRandomFiles = saveFullYearOfRandomFiles;
|
||||
SaveIndividually = saveIndividually;
|
||||
SaveMappedForOutputResolutions = saveMappedForOutputResolutions;
|
||||
SavePropertyShortcutsForOutputResolutions = savePropertyShortcutsForOutputResolutions;
|
||||
SaveRandomForOutputResolutions = saveRandomForOutputResolutions;
|
||||
SaveResizedSubfiles = saveResizedSubfiles;
|
||||
SaveShortcutsForOutputResolutions = saveShortcutsForOutputResolutions;
|
||||
SaveSortingWithoutPerson = saveSortingWithoutPerson;
|
||||
SkipNotSkipDirectories = skipNotSkipDirectories;
|
||||
SkipOlderThanDays = skipOlderThanDays;
|
||||
SkipPersonWithMoreThen = skipPersonWithMoreThen;
|
||||
SkipSearch = skipSearch;
|
||||
SortingMaximumPerFaceShouldBeHigh = sortingMaximumPerFaceShouldBeHigh;
|
||||
SortingMaximumPerKey = sortingMaximumPerKey;
|
||||
SortingMinimumToUseSigma = sortingSigma;
|
||||
TestDistanceResults = testDistanceResults;
|
||||
UseFilterTries = useFilterTries;
|
||||
ValidKeyWordsToIgnoreInRandom = validKeyWordsToIgnoreInRandom;
|
||||
ValidResolutions = validResolutions;
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
string result = JsonSerializer.Serialize(this, new JsonSerializerOptions() { WriteIndented = true });
|
||||
return result;
|
||||
}
|
||||
|
||||
public void SetAndUpdate(Property.Models.Configuration configuration, int? numberOfJitters, int? numberOfTimesToUpsample, string? modelName, string? predictorModelName)
|
||||
{
|
||||
_PropertyConfiguration = configuration;
|
||||
_PropertyConfiguration.Update(numberOfJitters, numberOfTimesToUpsample, modelName, predictorModelName);
|
||||
}
|
||||
|
||||
}
|
||||
public record Configuration(Property.Models.Configuration PropertyConfiguration,
|
||||
bool CheckDFaceAndUpWriteDates,
|
||||
bool CheckJsonForDistanceResults,
|
||||
string[] CopyFacesAndSaveFaceLandmarkForOutputResolutions,
|
||||
int CrossDirectoryMaxItemsInDistanceCollection,
|
||||
bool DeletePossibleDuplicates,
|
||||
int DistanceFactor,
|
||||
bool DistanceMoveUnableToMatch,
|
||||
int DistancePixelDistanceTolerance,
|
||||
bool DistanceRenameToMatch,
|
||||
int EyeThreshold,
|
||||
int FaceAreaPermyriad,
|
||||
int FaceConfidencePercent,
|
||||
int FaceDistanceHiddenImageFactor,
|
||||
int FaceDistancePermyriad,
|
||||
string FocusDirectory,
|
||||
string FocusModel,
|
||||
bool ForceFaceLastWriteTimeToCreationTime,
|
||||
bool ForceMetadataLastWriteTimeToCreationTime,
|
||||
bool ForceResizeLastWriteTimeToCreationTime,
|
||||
string GenealogicalDataCommunicationFile,
|
||||
string[] IgnoreExtensions,
|
||||
string[] JLinks,
|
||||
string[] LoadOrCreateThenSaveDistanceResultsForOutputResolutions,
|
||||
string[] LoadOrCreateThenSaveImageFacesResultsForOutputResolutions,
|
||||
bool LoadPhotoPrismLocations,
|
||||
float? LocationContainerDistanceTolerance,
|
||||
int LocationDigits,
|
||||
int LocationFactor,
|
||||
bool LookForAbandoned,
|
||||
string MappingDefaultName,
|
||||
bool MappingUseDeterministicHashCodeUnknownFaceKeyValuePairsForAddToMapping,
|
||||
bool MappingUseDeterministicHashCodeUnknownFaceKeyValuePairsForSaveMapping,
|
||||
string[] MixedYearRelativePaths,
|
||||
string ModelDirectory,
|
||||
string ModelName,
|
||||
string OutputExtension,
|
||||
int OutputQuality,
|
||||
string[] OutputResolutions,
|
||||
bool OverrideForFaceImages,
|
||||
bool OverrideForFaceLandmarkImages,
|
||||
bool OverrideForResizeImages,
|
||||
int PersonBirthdayFirstYear,
|
||||
string PersonBirthdayFormat,
|
||||
string PersonCharacters,
|
||||
int PersonCharactersCopyCount,
|
||||
string PersonKeyFormat,
|
||||
string PredictorModelName,
|
||||
bool PropertiesChangedForDistance,
|
||||
bool PropertiesChangedForFaces,
|
||||
bool PropertiesChangedForIndex,
|
||||
bool PropertiesChangedForMetadata,
|
||||
bool PropertiesChangedForResize,
|
||||
int RadomUseBirthdayMinimum,
|
||||
int[] RangeDaysDeltaTolerance,
|
||||
float[] RangeDistanceTolerance,
|
||||
float[] RangeFaceAreaPermyriadTolerance,
|
||||
float[] RangeFaceConfidence,
|
||||
float[] RectangleIntersectMinimums,
|
||||
bool Reverse,
|
||||
string[] SaveBlurHashForOutputResolutions,
|
||||
string[] SaveFaceDistancesForOutputResolutions,
|
||||
string[] SaveFaceLandmarkForOutputResolutions,
|
||||
string[] SaveFilteredOriginalImagesFromJLinksForOutputResolutions,
|
||||
bool SaveIndividually,
|
||||
bool SaveFullYearOfRandomFiles,
|
||||
string[] SaveMappedForOutputResolutions,
|
||||
string[] SavePropertyShortcutsForOutputResolutions,
|
||||
string[] SaveRandomForOutputResolutions,
|
||||
bool SaveResizedSubfiles,
|
||||
string[] SaveShortcutsForOutputResolutions,
|
||||
bool SaveSortingWithoutPerson,
|
||||
string[] SkipNotSkipDirectories,
|
||||
int? SkipOlderThanDays,
|
||||
int? SkipPersonWithMoreThen,
|
||||
bool SkipSearch,
|
||||
int SortingMaximumPerFaceShouldBeHigh,
|
||||
int SortingMaximumPerKey,
|
||||
int SortingMinimumToUseSigma,
|
||||
bool TestDistanceResults,
|
||||
int UseFilterTries,
|
||||
string[] ValidKeyWordsToIgnoreInRandom,
|
||||
string[] ValidResolutions);
|
Reference in New Issue
Block a user