Switch to by Output Resolution

This commit is contained in:
2022-07-30 19:10:37 -07:00
parent b3f79bd143
commit e4140b61e3
12 changed files with 248 additions and 109 deletions

View File

@ -123,15 +123,13 @@ public class DlibDotNet
_Log.Information(message); _Log.Information(message);
if (_Exceptions.Count != 0) if (_Exceptions.Count != 0)
throw new Exception(message); throw new Exception(message);
if (configuration.LoadOrCreateThenSaveDirectoryDistanceResults is null) if (configuration.LoadOrCreateThenSaveDirectoryDistanceResultsForOutputResolutions.Any())
throw new Exception($"{nameof(configuration.LoadOrCreateThenSaveDirectoryDistanceResults)} is null!");
if (configuration.LoadOrCreateThenSaveDirectoryDistanceResults.Value)
{ {
long ticks = DateTime.Now.Ticks; long ticks = DateTime.Now.Ticks;
foreach (string outputResolution in configuration.OutputResolutions) foreach (string outputResolution in configuration.LoadOrCreateThenSaveDirectoryDistanceResultsForOutputResolutions)
_Distance.LoadOrCreateThenSaveDirectoryDistanceResults(propertyConfiguration, model, predictorModel, outputResolution); _Distance.LoadOrCreateThenSaveDirectoryDistanceResultsForOutputResolutions(propertyConfiguration, model, predictorModel, outputResolution);
if (appSettings.MaxDegreeOfParallelism.Value < 2) if (appSettings.MaxDegreeOfParallelism.Value < 2)
ticks = LogDelta(ticks, nameof(E_Distance.LoadOrCreateThenSaveDirectoryDistanceResults)); ticks = LogDelta(ticks, nameof(E_Distance.LoadOrCreateThenSaveDirectoryDistanceResultsForOutputResolutions));
} }
} }
@ -214,6 +212,14 @@ public class DlibDotNet
throw new Exception($"{nameof(configuration.OutputResolutions)} must be a valid outputResolution!"); throw new Exception($"{nameof(configuration.OutputResolutions)} must be a valid outputResolution!");
if ((from l in configuration.OutputResolutions where !configuration.ValidResolutions.Contains(l) select false).Any()) if ((from l in configuration.OutputResolutions where !configuration.ValidResolutions.Contains(l) select false).Any())
throw new Exception($"One or more {nameof(configuration.OutputResolutions)} are not in the ValidResolutions list!"); throw new Exception($"One or more {nameof(configuration.OutputResolutions)} are not in the ValidResolutions list!");
if ((from l in configuration.LoadOrCreateThenSaveDirectoryDistanceResultsForOutputResolutions where !configuration.ValidResolutions.Contains(l) select false).Any())
throw new Exception($"One or more {nameof(configuration.LoadOrCreateThenSaveDirectoryDistanceResultsForOutputResolutions)} are not in the ValidResolutions list!");
if ((from l in configuration.LoadOrCreateThenSaveDistanceResultsForOutputResolutions where !configuration.ValidResolutions.Contains(l) select false).Any())
throw new Exception($"One or more {nameof(configuration.LoadOrCreateThenSaveDistanceResultsForOutputResolutions)} are not in the ValidResolutions list!");
if ((from l in configuration.LoadOrCreateThenSaveImageFacesResultsForOutputResolutions where !configuration.ValidResolutions.Contains(l) select false).Any())
throw new Exception($"One or more {nameof(configuration.LoadOrCreateThenSaveImageFacesResultsForOutputResolutions)} are not in the ValidResolutions list!");
if ((from l in configuration.SaveShortcutsForOutputResolutions where !configuration.ValidResolutions.Contains(l) select false).Any())
throw new Exception($"One or more {nameof(configuration.SaveShortcutsForOutputResolutions)} are not in the ValidResolutions list!");
if ((from l in configuration.SaveFaceLandmarkForOutputResolutions where !configuration.ValidResolutions.Contains(l) select false).Any()) if ((from l in configuration.SaveFaceLandmarkForOutputResolutions where !configuration.ValidResolutions.Contains(l) select false).Any())
throw new Exception($"One or more {nameof(configuration.SaveFaceLandmarkForOutputResolutions)} are not in the ValidResolutions list!"); throw new Exception($"One or more {nameof(configuration.SaveFaceLandmarkForOutputResolutions)} are not in the ValidResolutions list!");
if (configuration.CheckJsonForDistanceResults is null) if (configuration.CheckJsonForDistanceResults is null)
@ -230,12 +236,6 @@ public class DlibDotNet
throw new Exception($"{nameof(configuration.IgnoreExtensions)} must be set!"); throw new Exception($"{nameof(configuration.IgnoreExtensions)} must be set!");
if (configuration.IgnoreRelativePaths is null) if (configuration.IgnoreRelativePaths is null)
throw new Exception($"{nameof(configuration.IgnoreRelativePaths)} must be set!"); throw new Exception($"{nameof(configuration.IgnoreRelativePaths)} must be set!");
if (configuration.LoadOrCreateThenSaveDirectoryDistanceResults is null)
throw new Exception($"{nameof(configuration.LoadOrCreateThenSaveDirectoryDistanceResults)} must be set!");
if (configuration.LoadOrCreateThenSaveDistanceResults is null)
throw new Exception($"{nameof(configuration.LoadOrCreateThenSaveDistanceResults)} must be set!");
if (configuration.LoadOrCreateThenSaveImageFacesResults is null)
throw new Exception($"{nameof(configuration.LoadOrCreateThenSaveImageFacesResults)} must be set!");
if (configuration.LoadOrCreateThenSaveIndex is null) if (configuration.LoadOrCreateThenSaveIndex is null)
throw new Exception($"{nameof(configuration.LoadOrCreateThenSaveIndex)} must be set!"); throw new Exception($"{nameof(configuration.LoadOrCreateThenSaveIndex)} must be set!");
if (configuration.LocationConfidenceFactor is null) if (configuration.LocationConfidenceFactor is null)
@ -354,7 +354,7 @@ public class DlibDotNet
string path = Path.Combine(resizedFileInfo.DirectoryName, Path.GetFileNameWithoutExtension(resizedFileInfo.Name)); string path = Path.Combine(resizedFileInfo.DirectoryName, Path.GetFileNameWithoutExtension(resizedFileInfo.Name));
File.WriteAllBytes(path, bytes); File.WriteAllBytes(path, bytes);
} }
if (_Configuration.LoadOrCreateThenSaveImageFacesResults is null || !_Configuration.LoadOrCreateThenSaveImageFacesResults.Value) if (!_Configuration.LoadOrCreateThenSaveImageFacesResultsForOutputResolutions.Contains(outputResolution))
faceCollection = new(); faceCollection = new();
else else
{ {
@ -464,7 +464,7 @@ public class DlibDotNet
} }
} }
private void WriteGroup(Property.Models.Configuration configuration, PropertyLogic propertyLogic, List<A_Property> propertyCollection, List<List<KeyValuePair<string, string>>> metadataCollection, List<List<D_Face>> faceCollections, List<Dictionary<string, int[]>> resizeKeyValuePairs, string sourceDirectory, PropertyHolder[] filteredPropertyHolderCollection) private void WriteGroup(Property.Models.Configuration configuration, PropertyLogic propertyLogic, List<A_Property> propertyCollection, List<List<KeyValuePair<string, string>>> metadataCollection, List<List<D_Face>> faceCollections, List<Dictionary<string, int[]>> resizeKeyValuePairs, string sourceDirectory, string outputResolution, PropertyHolder[] filteredPropertyHolderCollection)
{ {
if (_Configuration.PropertiesChangedForMetadata is null) if (_Configuration.PropertiesChangedForMetadata is null)
throw new Exception($"{nameof(_Configuration.PropertiesChangedForMetadata)} is null!"); throw new Exception($"{nameof(_Configuration.PropertiesChangedForMetadata)} is null!");
@ -536,7 +536,7 @@ public class DlibDotNet
json = JsonSerializer.Serialize(resizeKeyValuePairsCollections, writeIndentedJsonSerializerOptions); json = JsonSerializer.Serialize(resizeKeyValuePairsCollections, writeIndentedJsonSerializerOptions);
_ = Property.Models.Stateless.IPath.WriteAllText(checkFile, json, compareBeforeWrite: true); _ = Property.Models.Stateless.IPath.WriteAllText(checkFile, json, compareBeforeWrite: true);
} }
if (_Configuration.LoadOrCreateThenSaveImageFacesResults.HasValue && _Configuration.LoadOrCreateThenSaveImageFacesResults.Value && _Faces.AngleBracketCollection.Any()) if (_Configuration.LoadOrCreateThenSaveImageFacesResultsForOutputResolutions.Contains(outputResolution) && _Faces.AngleBracketCollection.Any())
{ {
checkDirectory = Property.Models.Stateless.IPath.GetDirectory(_Faces.AngleBracketCollection[0], level, "[{}]"); checkDirectory = Property.Models.Stateless.IPath.GetDirectory(_Faces.AngleBracketCollection[0], level, "[{}]");
checkFile = Path.Combine(checkDirectory, fileName); checkFile = Path.Combine(checkDirectory, fileName);
@ -555,12 +555,6 @@ public class DlibDotNet
throw new Exception($"{nameof(_Log)} is null!"); throw new Exception($"{nameof(_Log)} is null!");
if (_AppSettings.MaxDegreeOfParallelism is null) if (_AppSettings.MaxDegreeOfParallelism is null)
throw new Exception($"{nameof(_AppSettings.MaxDegreeOfParallelism)} is null!"); throw new Exception($"{nameof(_AppSettings.MaxDegreeOfParallelism)} is null!");
if (_Configuration.LoadOrCreateThenSaveImageFacesResults is null)
throw new Exception($"{nameof(_Configuration.LoadOrCreateThenSaveImageFacesResults)} is null!");
if (_Configuration.LoadOrCreateThenSaveDirectoryDistanceResults is null)
throw new Exception($"{nameof(_Configuration.LoadOrCreateThenSaveDirectoryDistanceResults)} is null!");
if (_Configuration.LoadOrCreateThenSaveDistanceResults is null)
throw new Exception($"{nameof(_Configuration.LoadOrCreateThenSaveDistanceResults)} is null!");
int g; int g;
int r; int r;
int exceptionCount; int exceptionCount;
@ -641,7 +635,7 @@ public class DlibDotNet
contentDescription: "Resized image", contentDescription: "Resized image",
singletonDescription: "Resize dimensions for each resolution", singletonDescription: "Resize dimensions for each resolution",
collectionDescription: string.Empty)); collectionDescription: string.Empty));
if (_Configuration.LoadOrCreateThenSaveImageFacesResults.HasValue && _Configuration.LoadOrCreateThenSaveImageFacesResults.Value) if (_Configuration.LoadOrCreateThenSaveImageFacesResultsForOutputResolutions.Contains(outputResolution))
_Faces.AngleBracketCollection.AddRange(Property.Models.Stateless.IResult.GetDirectoryInfoCollection(configuration, _Faces.AngleBracketCollection.AddRange(Property.Models.Stateless.IResult.GetDirectoryInfoCollection(configuration,
model, model,
predictorModel, predictorModel,
@ -672,14 +666,14 @@ public class DlibDotNet
throw new Exception("Counts don't match!"); throw new Exception("Counts don't match!");
if (exceptionCount != 0) if (exceptionCount != 0)
_Exceptions.Add(sourceDirectory); _Exceptions.Add(sourceDirectory);
if (exceptionCount == 0 && _ArgZeroIsConfigurationRootDirectory) if (_ArgZeroIsConfigurationRootDirectory && exceptionCount == 0)
WriteGroup(configuration, propertyLogic, propertyCollection, metadataCollection, faceCollections, resizeKeyValuePairs, sourceDirectory, filteredPropertyHolderCollection); WriteGroup(configuration, propertyLogic, propertyCollection, metadataCollection, faceCollections, resizeKeyValuePairs, sourceDirectory, outputResolution, filteredPropertyHolderCollection);
if (exceptionCount == 0) if (_ArgZeroIsConfigurationRootDirectory && outputResolution == _Configuration.OutputResolutions[0] && exceptionCount == 0)
propertyLogic.AddToPropertyLogicAllCollection(filteredPropertyHolderCollection); propertyLogic.AddToPropertyLogicAllCollection(filteredPropertyHolderCollection);
if (exceptionCount == 0 && _Configuration.LoadOrCreateThenSaveImageFacesResults.Value && _Configuration.SaveShortcuts.HasValue && _Configuration.SaveShortcuts.Value && propertyLogic.NamedFaceInfoDeterministicHashCodeIndices.Any()) if (exceptionCount == 0 && _Configuration.SaveShortcutsForOutputResolutions.Contains(outputResolution) && propertyLogic.NamedFaceInfoDeterministicHashCodeIndices.Any())
_Faces.SaveShortcuts(configuration, juliePhares, model, predictorModel, propertyLogic, peopleCollection, outputResolution, filteredPropertyHolderCollection, propertyCollection, faceCollections); _Faces.SaveShortcuts(configuration, juliePhares, model, predictorModel, propertyLogic, peopleCollection, outputResolution, filteredPropertyHolderCollection, propertyCollection, faceCollections);
if (exceptionCount == 0 && _Configuration.LoadOrCreateThenSaveDistanceResults.HasValue && _Configuration.LoadOrCreateThenSaveDistanceResults.Value) if (exceptionCount == 0 && _Configuration.LoadOrCreateThenSaveDistanceResultsForOutputResolutions.Contains(outputResolution))
_Distance.LoadOrCreateThenSaveDistanceResults(configuration, model, predictorModel, sourceDirectory, outputResolution, sourceDirectoryChanges, filteredPropertyHolderCollection, faceCollections); _Distance.LoadOrCreateThenSaveDistanceResultsForOutputResolutions(configuration, model, predictorModel, sourceDirectory, outputResolution, sourceDirectoryChanges, filteredPropertyHolderCollection, faceCollections);
if (_Resize.AngleBracketCollection.Any()) if (_Resize.AngleBracketCollection.Any())
_ = Property.Models.Stateless.IPath.DeleteEmptyDirectories(_Resize.AngleBracketCollection[0].Replace("<>", "()")); _ = Property.Models.Stateless.IPath.DeleteEmptyDirectories(_Resize.AngleBracketCollection[0].Replace("<>", "()"));
if (_Faces.AngleBracketCollection.Any()) if (_Faces.AngleBracketCollection.Any())
@ -696,11 +690,15 @@ public class DlibDotNet
} }
_Log.Information(". . ."); _Log.Information(". . .");
} }
}
if (_ArgZeroIsConfigurationRootDirectory && _Configuration.SaveShortcutsForOutputResolutions.Contains(outputResolution))
{
} }
if (_ArgZeroIsConfigurationRootDirectory && outputResolution == _Configuration.OutputResolutions[0]) if (_ArgZeroIsConfigurationRootDirectory && outputResolution == _Configuration.OutputResolutions[0])
{ {
propertyLogic.SaveAllCollection(); propertyLogic.SaveAllCollection();
if (!_Configuration.LoadOrCreateThenSaveImageFacesResults.Value && !_Configuration.LoadOrCreateThenSaveDirectoryDistanceResults.Value && !_Configuration.LoadOrCreateThenSaveDistanceResults.Value) if (!_Configuration.LoadOrCreateThenSaveImageFacesResultsForOutputResolutions.Any())
break; break;
if (_Exceptions.Count == 0) if (_Exceptions.Count == 0)
{ {

View File

@ -14,9 +14,9 @@ public class Configuration
[Display(Name = "Ignore Extensions"), Required] public string[] IgnoreExtensions { get; set; } [Display(Name = "Ignore Extensions"), Required] public string[] IgnoreExtensions { get; set; }
[Display(Name = "Ignore Relative Paths"), Required] public string[] IgnoreRelativePaths { get; set; } [Display(Name = "Ignore Relative Paths"), Required] public string[] IgnoreRelativePaths { get; set; }
[Display(Name = "Julie Phares Copy Birthdays"), Required] public string[] JuliePhares { get; set; } [Display(Name = "Julie Phares Copy Birthdays"), Required] public string[] JuliePhares { get; set; }
[Display(Name = "Load Or Create Then Save Directory Distance Results"), Required] public bool? LoadOrCreateThenSaveDirectoryDistanceResults { get; set; } [Display(Name = "Load Or Create Then Save Directory Distance Results"), Required] public string[] LoadOrCreateThenSaveDirectoryDistanceResultsForOutputResolutions { get; set; }
[Display(Name = "Load Or Create Then Save Distance Results"), Required] public bool? LoadOrCreateThenSaveDistanceResults { get; set; } [Display(Name = "Load Or Create Then Save Distance Results"), Required] public string[] LoadOrCreateThenSaveDistanceResultsForOutputResolutions { get; set; }
[Display(Name = "Load Or Create Then Save Image Faces Results"), Required] public bool? LoadOrCreateThenSaveImageFacesResults { get; set; } [Display(Name = "Load Or Create Then Save Image Faces Results"), Required] public string[] LoadOrCreateThenSaveImageFacesResultsForOutputResolutions { get; set; }
[Display(Name = "Load Or Create Then Save Index"), Required] public bool? LoadOrCreateThenSaveIndex { get; set; } [Display(Name = "Load Or Create Then Save Index"), Required] public bool? LoadOrCreateThenSaveIndex { get; set; }
[Display(Name = "Location Confidence Factor"), Required] public int? LocationConfidenceFactor { get; set; } [Display(Name = "Location Confidence Factor"), Required] public int? LocationConfidenceFactor { get; set; }
[Display(Name = "Mapped Max Index"), Required] public int? MappedMaxIndex { get; set; } [Display(Name = "Mapped Max Index"), Required] public int? MappedMaxIndex { get; set; }
@ -43,7 +43,7 @@ public class Configuration
[Display(Name = "Save Face Landmark For Output Resolutions"), Required] public string[] SaveFaceLandmarkForOutputResolutions { get; set; } [Display(Name = "Save Face Landmark For Output Resolutions"), Required] public string[] SaveFaceLandmarkForOutputResolutions { get; set; }
[Display(Name = "Save Full Year Of Random Files"), Required] public bool? SaveFullYearOfRandomFiles { get; set; } [Display(Name = "Save Full Year Of Random Files"), Required] public bool? SaveFullYearOfRandomFiles { get; set; }
[Display(Name = "Save Resized Subfiles"), Required] public bool? SaveResizedSubfiles { get; set; } [Display(Name = "Save Resized Subfiles"), Required] public bool? SaveResizedSubfiles { get; set; }
[Display(Name = "Save Shortcuts"), Required] public bool? SaveShortcuts { get; set; } [Display(Name = "Save Shortcuts"), Required] public string[] SaveShortcutsForOutputResolutions { get; set; }
[Display(Name = "Skip Search"), Required] public bool? SkipSearch { get; set; } [Display(Name = "Skip Search"), Required] public bool? SkipSearch { get; set; }
[Display(Name = "Test Distance Results"), Required] public bool? TestDistanceResults { get; set; } [Display(Name = "Test Distance Results"), Required] public bool? TestDistanceResults { get; set; }
[Display(Name = "Valid Resolutions"), Required] public string[] ValidResolutions { get; set; } [Display(Name = "Valid Resolutions"), Required] public string[] ValidResolutions { get; set; }
@ -58,9 +58,9 @@ public class Configuration
IgnoreExtensions = Array.Empty<string>(); IgnoreExtensions = Array.Empty<string>();
IgnoreRelativePaths = Array.Empty<string>(); IgnoreRelativePaths = Array.Empty<string>();
JuliePhares = Array.Empty<string>(); JuliePhares = Array.Empty<string>();
LoadOrCreateThenSaveDirectoryDistanceResults = null; LoadOrCreateThenSaveDirectoryDistanceResultsForOutputResolutions = Array.Empty<string>();
LoadOrCreateThenSaveDistanceResults = null; LoadOrCreateThenSaveDistanceResultsForOutputResolutions = Array.Empty<string>();
LoadOrCreateThenSaveImageFacesResults = null; LoadOrCreateThenSaveImageFacesResultsForOutputResolutions = Array.Empty<string>();
LoadOrCreateThenSaveIndex = null; LoadOrCreateThenSaveIndex = null;
LocationConfidenceFactor = null; LocationConfidenceFactor = null;
MappedMaxIndex = null; MappedMaxIndex = null;
@ -86,7 +86,7 @@ public class Configuration
SaveFaceLandmarkForOutputResolutions = Array.Empty<string>(); SaveFaceLandmarkForOutputResolutions = Array.Empty<string>();
SaveFullYearOfRandomFiles = null; SaveFullYearOfRandomFiles = null;
SaveResizedSubfiles = null; SaveResizedSubfiles = null;
SaveShortcuts = null; SaveShortcutsForOutputResolutions = Array.Empty<string>();
SkipSearch = null; SkipSearch = null;
TestDistanceResults = null; TestDistanceResults = null;
ValidResolutions = Array.Empty<string>(); ValidResolutions = Array.Empty<string>();

View File

@ -14,9 +14,9 @@ public class Configuration
protected readonly string[] _IgnoreExtensions; protected readonly string[] _IgnoreExtensions;
protected readonly string[] _IgnoreRelativePaths; protected readonly string[] _IgnoreRelativePaths;
protected readonly string[] _JuliePhares; protected readonly string[] _JuliePhares;
protected readonly bool? _LoadOrCreateThenSaveDirectoryDistanceResults; protected readonly string[] _LoadOrCreateThenSaveDirectoryDistanceResultsForOutputResolutions;
protected readonly bool? _LoadOrCreateThenSaveDistanceResults; protected readonly string[] _LoadOrCreateThenSaveDistanceResultsForOutputResolutions;
protected readonly bool? _LoadOrCreateThenSaveImageFacesResults; protected readonly string[] _LoadOrCreateThenSaveImageFacesResultsForOutputResolutions;
protected readonly bool? _LoadOrCreateThenSaveIndex; protected readonly bool? _LoadOrCreateThenSaveIndex;
protected readonly int? _LocationConfidenceFactor; protected readonly int? _LocationConfidenceFactor;
protected readonly int? _MappedMaxIndex; protected readonly int? _MappedMaxIndex;
@ -43,7 +43,7 @@ public class Configuration
protected readonly string[] _SaveFaceLandmarkForOutputResolutions; protected readonly string[] _SaveFaceLandmarkForOutputResolutions;
protected readonly bool? _SaveFullYearOfRandomFiles; protected readonly bool? _SaveFullYearOfRandomFiles;
protected readonly bool? _SaveResizedSubfiles; protected readonly bool? _SaveResizedSubfiles;
protected readonly bool? _SaveShortcuts; protected readonly string[] _SaveShortcutsForOutputResolutions;
protected readonly bool? _SkipSearch; protected readonly bool? _SkipSearch;
protected readonly bool? _TestDistanceResults; protected readonly bool? _TestDistanceResults;
protected readonly string[] _ValidResolutions; protected readonly string[] _ValidResolutions;
@ -55,9 +55,9 @@ public class Configuration
public string[] IgnoreExtensions => _IgnoreExtensions; public string[] IgnoreExtensions => _IgnoreExtensions;
public string[] IgnoreRelativePaths => _IgnoreRelativePaths; public string[] IgnoreRelativePaths => _IgnoreRelativePaths;
public string[] JuliePhares => _JuliePhares; public string[] JuliePhares => _JuliePhares;
public bool? LoadOrCreateThenSaveDirectoryDistanceResults => _LoadOrCreateThenSaveDirectoryDistanceResults; public string[] LoadOrCreateThenSaveDirectoryDistanceResultsForOutputResolutions => _LoadOrCreateThenSaveDirectoryDistanceResultsForOutputResolutions;
public bool? LoadOrCreateThenSaveDistanceResults => _LoadOrCreateThenSaveDistanceResults; public string[] LoadOrCreateThenSaveDistanceResultsForOutputResolutions => _LoadOrCreateThenSaveDistanceResultsForOutputResolutions;
public bool? LoadOrCreateThenSaveImageFacesResults => _LoadOrCreateThenSaveImageFacesResults; public string[] LoadOrCreateThenSaveImageFacesResultsForOutputResolutions => _LoadOrCreateThenSaveImageFacesResultsForOutputResolutions;
public bool? LoadOrCreateThenSaveIndex => _LoadOrCreateThenSaveIndex; public bool? LoadOrCreateThenSaveIndex => _LoadOrCreateThenSaveIndex;
public int? LocationConfidenceFactor => _LocationConfidenceFactor; public int? LocationConfidenceFactor => _LocationConfidenceFactor;
public int? MappedMaxIndex => _MappedMaxIndex; public int? MappedMaxIndex => _MappedMaxIndex;
@ -84,13 +84,13 @@ public class Configuration
public string[] SaveFaceLandmarkForOutputResolutions => _SaveFaceLandmarkForOutputResolutions; public string[] SaveFaceLandmarkForOutputResolutions => _SaveFaceLandmarkForOutputResolutions;
public bool? SaveFullYearOfRandomFiles => _SaveFullYearOfRandomFiles; public bool? SaveFullYearOfRandomFiles => _SaveFullYearOfRandomFiles;
public bool? SaveResizedSubfiles => _SaveResizedSubfiles; public bool? SaveResizedSubfiles => _SaveResizedSubfiles;
public bool? SaveShortcuts => _SaveShortcuts; public string[] SaveShortcutsForOutputResolutions => _SaveShortcutsForOutputResolutions;
public bool? SkipSearch => _SkipSearch; public bool? SkipSearch => _SkipSearch;
public bool? TestDistanceResults => _TestDistanceResults; public bool? TestDistanceResults => _TestDistanceResults;
public string[] ValidResolutions => _ValidResolutions; public string[] ValidResolutions => _ValidResolutions;
[JsonConstructor] [JsonConstructor]
public Configuration(bool? checkJsonForDistanceResults, int? crossDirectoryMaxItemsInDistanceCollection, int? distanceFactor, bool? forceMetadataLastWriteTimeToCreationTime, bool? forceResizeLastWriteTimeToCreationTime, string[] ignoreExtensions, string[] ignoreRelativePaths, string[] juliePhares, bool? loadOrCreateThenSaveDirectoryDistanceResults, bool? loadOrCreateThenSaveDistanceResults, bool? loadOrCreateThenSaveImageFacesResults, bool? loadOrCreateThenSaveIndex, int? locationConfidenceFactor, int? mappedMaxIndex, int? maxItemsInDistanceCollection, string[] mixedYearRelativePaths, string modelDirectory, string modelName, int? numJitters, string outputExtension, int? outputQuality, string[] outputResolutions, bool? overrideForFaceImages, bool? overrideForFaceLandmarkImages, bool? overrideForResizeImages, int? paddingLoops, string predictorModelName, bool? propertiesChangedForDistance, bool? propertiesChangedForFaces, bool? propertiesChangedForIndex, bool? propertiesChangedForMetadata, bool? propertiesChangedForResize, Property.Models.Configuration? propertyConfiguration, bool? reverse, string[] saveFaceLandmarkForOutputResolutions, bool? saveFullYearOfRandomFiles, bool? saveResizedSubfiles, bool? saveShortcuts, bool? skipSearch, bool? testDistanceResults, string[] validResolutions) public Configuration(bool? checkJsonForDistanceResults, int? crossDirectoryMaxItemsInDistanceCollection, int? distanceFactor, bool? forceMetadataLastWriteTimeToCreationTime, bool? forceResizeLastWriteTimeToCreationTime, string[] ignoreExtensions, string[] ignoreRelativePaths, string[] juliePhares, string[] loadOrCreateThenSaveDirectoryDistanceResultsForOutputResolutions, string[] loadOrCreateThenSaveDistanceResultsForOutputResolutions, string[] loadOrCreateThenSaveImageFacesResultsForOutputResolutions, bool? loadOrCreateThenSaveIndex, int? locationConfidenceFactor, int? mappedMaxIndex, int? maxItemsInDistanceCollection, string[] mixedYearRelativePaths, string modelDirectory, string modelName, int? numJitters, string outputExtension, int? outputQuality, string[] outputResolutions, bool? overrideForFaceImages, bool? overrideForFaceLandmarkImages, bool? overrideForResizeImages, int? paddingLoops, string predictorModelName, bool? propertiesChangedForDistance, bool? propertiesChangedForFaces, bool? propertiesChangedForIndex, bool? propertiesChangedForMetadata, bool? propertiesChangedForResize, Property.Models.Configuration? propertyConfiguration, bool? reverse, string[] saveFaceLandmarkForOutputResolutions, bool? saveFullYearOfRandomFiles, bool? saveResizedSubfiles, string[] saveShortcutsForOutputResolutions, bool? skipSearch, bool? testDistanceResults, string[] validResolutions)
{ {
_CheckJsonForDistanceResults = checkJsonForDistanceResults; _CheckJsonForDistanceResults = checkJsonForDistanceResults;
_CrossDirectoryMaxItemsInDistanceCollection = crossDirectoryMaxItemsInDistanceCollection; _CrossDirectoryMaxItemsInDistanceCollection = crossDirectoryMaxItemsInDistanceCollection;
@ -100,9 +100,9 @@ public class Configuration
_IgnoreExtensions = ignoreExtensions; _IgnoreExtensions = ignoreExtensions;
_IgnoreRelativePaths = ignoreRelativePaths; _IgnoreRelativePaths = ignoreRelativePaths;
_JuliePhares = juliePhares; _JuliePhares = juliePhares;
_LoadOrCreateThenSaveDirectoryDistanceResults = loadOrCreateThenSaveDirectoryDistanceResults; _LoadOrCreateThenSaveDirectoryDistanceResultsForOutputResolutions = loadOrCreateThenSaveDirectoryDistanceResultsForOutputResolutions;
_LoadOrCreateThenSaveDistanceResults = loadOrCreateThenSaveDistanceResults; _LoadOrCreateThenSaveDistanceResultsForOutputResolutions = loadOrCreateThenSaveDistanceResultsForOutputResolutions;
_LoadOrCreateThenSaveImageFacesResults = loadOrCreateThenSaveImageFacesResults; _LoadOrCreateThenSaveImageFacesResultsForOutputResolutions = loadOrCreateThenSaveImageFacesResultsForOutputResolutions;
_LoadOrCreateThenSaveIndex = loadOrCreateThenSaveIndex; _LoadOrCreateThenSaveIndex = loadOrCreateThenSaveIndex;
_LocationConfidenceFactor = locationConfidenceFactor; _LocationConfidenceFactor = locationConfidenceFactor;
_MappedMaxIndex = mappedMaxIndex; _MappedMaxIndex = mappedMaxIndex;
@ -129,7 +129,7 @@ public class Configuration
_SaveFaceLandmarkForOutputResolutions = saveFaceLandmarkForOutputResolutions; _SaveFaceLandmarkForOutputResolutions = saveFaceLandmarkForOutputResolutions;
_SaveFullYearOfRandomFiles = saveFullYearOfRandomFiles; _SaveFullYearOfRandomFiles = saveFullYearOfRandomFiles;
_SaveResizedSubfiles = saveResizedSubfiles; _SaveResizedSubfiles = saveResizedSubfiles;
_SaveShortcuts = saveShortcuts; _SaveShortcutsForOutputResolutions = saveShortcutsForOutputResolutions;
_SkipSearch = skipSearch; _SkipSearch = skipSearch;
_TestDistanceResults = testDistanceResults; _TestDistanceResults = testDistanceResults;
_ValidResolutions = validResolutions; _ValidResolutions = validResolutions;

View File

@ -127,7 +127,7 @@ internal class E_Distance
return result; return result;
} }
private void LoadOrCreateThenSaveDistanceResultsLoop(Property.Models.Configuration configuration, List<List<D_Face>> faceCollections, int subFilesCount, int i, List<D_Face> faceCollection, List<int[]> locationIndicesCollection, List<Tuple<string, DateTime>> subFileTuples, List<FaceEncoding> faceEncodingCollection, List<FaceEncoding> faceEncodingCollections, string fileNameWithoutExtension, string jsonDirectory, string tvsDirectory) private void LoadOrCreateThenSaveDistanceResultsForOutputResolutionsLoop(Property.Models.Configuration configuration, List<List<D_Face>> faceCollections, int subFilesCount, int i, List<D_Face> faceCollection, List<int[]> locationIndicesCollection, List<Tuple<string, DateTime>> subFileTuples, List<FaceEncoding> faceEncodingCollection, List<FaceEncoding> faceEncodingCollections, string fileNameWithoutExtension, string jsonDirectory, string tvsDirectory)
{ {
string text; string text;
string json; string json;
@ -170,7 +170,7 @@ internal class E_Distance
} }
} }
private void LoadOrCreateThenSaveDistanceResults(Property.Models.Configuration configuration, PropertyHolder[] filteredPropertyHolderCollection, List<List<D_Face>> faceCollections, List<string[]> directories) private void LoadOrCreateThenSaveDistanceResultsForOutputResolutions(Property.Models.Configuration configuration, PropertyHolder[] filteredPropertyHolderCollection, List<List<D_Face>> faceCollections, List<string[]> directories)
{ {
FileInfo? fileInfo; FileInfo? fileInfo;
string fileNameWithoutExtension; string fileNameWithoutExtension;
@ -189,11 +189,11 @@ internal class E_Distance
if (fileInfo is null) if (fileInfo is null)
continue; continue;
fileNameWithoutExtension = Path.GetFileNameWithoutExtension(fileInfo.FullName); fileNameWithoutExtension = Path.GetFileNameWithoutExtension(fileInfo.FullName);
LoadOrCreateThenSaveDistanceResultsLoop(configuration, faceCollections, filteredPropertyHolderCollection.Length, i, faceCollections[i], locationIndicesCollection, subFileTuples, faceEncodingCollection, faceEncodingCollections[i], fileNameWithoutExtension, directories[i][0], directories[i][1]); LoadOrCreateThenSaveDistanceResultsForOutputResolutionsLoop(configuration, faceCollections, filteredPropertyHolderCollection.Length, i, faceCollections[i], locationIndicesCollection, subFileTuples, faceEncodingCollection, faceEncodingCollections[i], fileNameWithoutExtension, directories[i][0], directories[i][1]);
} }
} }
internal void LoadOrCreateThenSaveDistanceResults(Property.Models.Configuration configuration, Model model, PredictorModel predictorModel, string sourceDirectory, string outputResolution, List<Tuple<string, DateTime>> sourceDirectoryChanges, PropertyHolder[] filteredPropertyHolderCollection, List<List<D_Face>> faceCollections) internal void LoadOrCreateThenSaveDistanceResultsForOutputResolutions(Property.Models.Configuration configuration, Model model, PredictorModel predictorModel, string sourceDirectory, string outputResolution, List<Tuple<string, DateTime>> sourceDirectoryChanges, PropertyHolder[] filteredPropertyHolderCollection, List<List<D_Face>> faceCollections)
{ {
if (_Configuration.CheckJsonForDistanceResults is null) if (_Configuration.CheckJsonForDistanceResults is null)
throw new Exception(); throw new Exception();
@ -265,7 +265,7 @@ internal class E_Distance
check = true; check = true;
} }
if (check) if (check)
LoadOrCreateThenSaveDistanceResults(configuration, filteredPropertyHolderCollection, faceCollections, directories); LoadOrCreateThenSaveDistanceResultsForOutputResolutions(configuration, filteredPropertyHolderCollection, faceCollections, directories);
_ = Property.Models.Stateless.IPath.DeleteEmptyDirectories(directoryInfoCollection[0].Replace("<>", "()")); _ = Property.Models.Stateless.IPath.DeleteEmptyDirectories(directoryInfoCollection[0].Replace("<>", "()"));
} }
@ -346,7 +346,7 @@ internal class E_Distance
return result; return result;
} }
internal void LoadOrCreateThenSaveDirectoryDistanceResults(Property.Models.Configuration configuration, Model model, PredictorModel predictorModel, string outputResolution) internal void LoadOrCreateThenSaveDirectoryDistanceResultsForOutputResolutions(Property.Models.Configuration configuration, Model model, PredictorModel predictorModel, string outputResolution)
{ {
if (_Log is null) if (_Log is null)
throw new Exception($"{nameof(_Log)} is null!"); throw new Exception($"{nameof(_Log)} is null!");
@ -366,7 +366,7 @@ internal class E_Distance
{ {
if (_Configuration.CrossDirectoryMaxItemsInDistanceCollection is null) if (_Configuration.CrossDirectoryMaxItemsInDistanceCollection is null)
continue; continue;
_Log.Debug(string.Concat("LoadOrCreateThenSaveDirectoryDistanceResults - ", nameof(outputResolution), ' ', outputResolution, " - ", i, " of ", filesCount)); _Log.Debug(string.Concat("LoadOrCreateThenSaveDirectoryDistanceResultsForOutputResolutions - ", nameof(outputResolution), ' ', outputResolution, " - ", i, " of ", filesCount));
for (int j = 0; j < files[i].Item2.Count; j++) for (int j = 0; j < files[i].Item2.Count; j++)
{ {
if (!matches[i].Item2.Any()) if (!matches[i].Item2.Any())

View File

@ -58,9 +58,6 @@
"ForceMetadataLastWriteTimeToCreationTime": false, "ForceMetadataLastWriteTimeToCreationTime": false,
"ForcePropertyLastWriteTimeToCreationTime": false, "ForcePropertyLastWriteTimeToCreationTime": false,
"ForceResizeLastWriteTimeToCreationTime": false, "ForceResizeLastWriteTimeToCreationTime": false,
"LoadOrCreateThenSaveDirectoryDistanceResults": false,
"LoadOrCreateThenSaveDistanceResults": false,
"LoadOrCreateThenSaveImageFacesResults": true,
"LoadOrCreateThenSaveIndex": false, "LoadOrCreateThenSaveIndex": false,
"LocationConfidenceFactor": 2, "LocationConfidenceFactor": 2,
"MappedMaxIndex": 1034720, "MappedMaxIndex": 1034720,
@ -76,8 +73,8 @@
"OverrideForResizeImages": false, "OverrideForResizeImages": false,
"PaddingLoops": 5, "PaddingLoops": 5,
"Pattern": "[^ABCDEFGHIJKLMNOPQRSTUVWXYZbcdfghjklmnpqrstvwxyz0-9]", "Pattern": "[^ABCDEFGHIJKLMNOPQRSTUVWXYZbcdfghjklmnpqrstvwxyz0-9]",
"PredictorModelName": "Large",
"PopulatePropertyId": true, "PopulatePropertyId": true,
"PredictorModelName": "Large",
"PropertiesChangedForDistance": false, "PropertiesChangedForDistance": false,
"PropertiesChangedForFaces": false, "PropertiesChangedForFaces": false,
"PropertiesChangedForIndex": false, "PropertiesChangedForIndex": false,
@ -89,7 +86,6 @@
"RootDirectory": "C:/Tmp/Phares/Compare/Images 2022-07-27 - f642c5669a1d89d598a2efd70da9dc7129d02c15 - III", "RootDirectory": "C:/Tmp/Phares/Compare/Images 2022-07-27 - f642c5669a1d89d598a2efd70da9dc7129d02c15 - III",
"SaveFullYearOfRandomFiles": true, "SaveFullYearOfRandomFiles": true,
"SaveResizedSubFiles": true, "SaveResizedSubFiles": true,
"SaveShortcuts": true,
"SkipSearch": false, "SkipSearch": false,
"TestDistanceResults": true, "TestDistanceResults": true,
"WriteBitmapDataBytes": false, "WriteBitmapDataBytes": false,
@ -155,21 +151,30 @@
"1976-01-05_00", "1976-01-05_00",
"1982-05-02_00" "1982-05-02_00"
], ],
"xOutputResolutions": [ "LoadOrCreateThenSaveDirectoryDistanceResultsForOutputResolutions": [
"1920 x 1080"
],
"LoadOrCreateThenSaveDistanceResultsForOutputResolutions": [
"1920 x 1080"
],
"LoadOrCreateThenSaveImageFacesResultsForOutputResolutions": [
"1920 x 1080"
],
"OutputResolutions": [
"176 x 176", "176 x 176",
"256 x 256", "256 x 256",
"353 x 353", "353 x 353",
"1024 x 768", "1024 x 768",
"1920 x 1080" "1920 x 1080"
], ],
"OutputResolutions": [
"1920 x 1080"
],
"PropertyContentCollectionFiles": [], "PropertyContentCollectionFiles": [],
"SaveFaceLandmarkForOutputResolutions": [ "SaveFaceLandmarkForOutputResolutions": [
"176 x 176", "176 x 176",
"256 x 256" "256 x 256"
], ],
"SaveShortcutsForOutputResolutions": [
"1920 x 1080"
],
"ValidImageFormatExtensions": [ "ValidImageFormatExtensions": [
".bmp", ".bmp",
".BMP", ".BMP",

View File

@ -58,9 +58,6 @@
"ForceMetadataLastWriteTimeToCreationTime": false, "ForceMetadataLastWriteTimeToCreationTime": false,
"ForcePropertyLastWriteTimeToCreationTime": false, "ForcePropertyLastWriteTimeToCreationTime": false,
"ForceResizeLastWriteTimeToCreationTime": false, "ForceResizeLastWriteTimeToCreationTime": false,
"LoadOrCreateThenSaveDirectoryDistanceResults": false,
"LoadOrCreateThenSaveDistanceResults": false,
"LoadOrCreateThenSaveImageFacesResults": false,
"LoadOrCreateThenSaveIndex": false, "LoadOrCreateThenSaveIndex": false,
"LocationConfidenceFactor": 2, "LocationConfidenceFactor": 2,
"MappedMaxIndex": 1034720, "MappedMaxIndex": 1034720,
@ -88,7 +85,6 @@
"RootDirectory": "E:/Images", "RootDirectory": "E:/Images",
"SaveFullYearOfRandomFiles": true, "SaveFullYearOfRandomFiles": true,
"SaveResizedSubFiles": true, "SaveResizedSubFiles": true,
"SaveShortcuts": true,
"SkipSearch": false, "SkipSearch": false,
"TestDistanceResults": true, "TestDistanceResults": true,
"WriteBitmapDataBytes": false, "WriteBitmapDataBytes": false,
@ -108,6 +104,9 @@
"176 x 176", "176 x 176",
"256 x 256" "256 x 256"
], ],
"SaveShortcutsForOutputResolutions": [
"1920 x 1080"
],
"ValidImageFormatExtensions": [ "ValidImageFormatExtensions": [
".bmp", ".bmp",
".BMP", ".BMP",

View File

@ -58,9 +58,6 @@
"ForceMetadataLastWriteTimeToCreationTime": false, "ForceMetadataLastWriteTimeToCreationTime": false,
"ForcePropertyLastWriteTimeToCreationTime": false, "ForcePropertyLastWriteTimeToCreationTime": false,
"ForceResizeLastWriteTimeToCreationTime": false, "ForceResizeLastWriteTimeToCreationTime": false,
"LoadOrCreateThenSaveDirectoryDistanceResults": true,
"LoadOrCreateThenSaveDistanceResults": true,
"LoadOrCreateThenSaveImageFacesResults": true,
"LoadOrCreateThenSaveIndex": false, "LoadOrCreateThenSaveIndex": false,
"LocationConfidenceFactor": 2, "LocationConfidenceFactor": 2,
"MappedMaxIndex": 1034720, "MappedMaxIndex": 1034720,
@ -88,7 +85,6 @@
"RootDirectory": "D:/Images", "RootDirectory": "D:/Images",
"SaveFullYearOfRandomFiles": true, "SaveFullYearOfRandomFiles": true,
"SaveResizedSubFiles": true, "SaveResizedSubFiles": true,
"SaveShortcuts": true,
"SkipSearch": false, "SkipSearch": false,
"TestDistanceResults": true, "TestDistanceResults": true,
"WriteBitmapDataBytes": false, "WriteBitmapDataBytes": false,
@ -96,6 +92,73 @@
".gif", ".gif",
".GIF" ".GIF"
], ],
"JuliePhares": [
"1500-01-16_00",
"1500-01-19_00",
"1500-01-20_00",
"1500-01-21_00",
"1500-01-25_00",
"1500-01-26_00",
"1500-01-27_00",
"1500-02-13_00",
"1500-02-17_00",
"1500-02-24_00",
"1500-02-25_00",
"1500-04-03_00",
"1500-04-06_00",
"1500-04-19_00",
"1500-05-03_00",
"1500-05-18_00",
"1500-05-28_00",
"1500-06-16_00",
"1500-06-26_00",
"1500-06-27_00",
"1500-07-07_00",
"1500-07-16_00",
"1720-09-30_05",
"1500-07-26_00",
"1500-08-03_00",
"1500-08-23_00",
"1500-08-24_00",
"1500-09-16_00",
"1500-09-21_00",
"1500-09-28_00",
"1500-10-14_00",
"1500-11-07_00",
"1500-11-09_00",
"1720-09-28_20",
"1501-01-08_00",
"1501-01-12_00",
"1501-01-13_00",
"1501-01-30_00",
"1501-03-09_00",
"1501-03-14_00",
"1501-03-22_00",
"1501-04-07_00",
"1501-04-10_00",
"1501-04-19_00",
"1501-05-06_00",
"1956-09-19_00",
"2012-09-17_00",
"1998-05-21_00",
"1960-03-01_00",
"1976-03-08_00",
"2007-09-07_00",
"2000-04-07_00",
"1980-01-17_00",
"1958-01-30_00",
"1976-01-05_00",
"1982-05-02_00"
],
"LoadOrCreateThenSaveDirectoryDistanceResultsForOutputResolutions": [
"1920 x 1080"
],
"LoadOrCreateThenSaveDistanceResultsForOutputResolutions": [
"1920 x 1080"
],
"LoadOrCreateThenSaveImageFacesResultsForOutputResolutions": [
"1920 x 1080"
],
"OutputResolutions": [ "OutputResolutions": [
"176 x 176", "176 x 176",
"256 x 256", "256 x 256",
@ -108,6 +171,9 @@
"176 x 176", "176 x 176",
"256 x 256" "256 x 256"
], ],
"SaveShortcutsForOutputResolutions": [
"1920 x 1080"
],
"ValidImageFormatExtensions": [ "ValidImageFormatExtensions": [
".bmp", ".bmp",
".BMP", ".BMP",

View File

@ -6,8 +6,8 @@
// { // {
// public bool? checkJsonForDistanceResults; // public bool? checkJsonForDistanceResults;
// public bool? loadOrCreateThenSaveDistanceResults; // public string[] loadOrCreateThenSaveDistanceResultsForOutputResolutions;
// public bool? loadOrCreateThenSaveImageFacesResults; // public string[] loadOrCreateThenSaveImageFacesResultsForOutputResolutions;
// public bool? loadOrCreateThenSaveIndex; // public bool? loadOrCreateThenSaveIndex;
// public bool? overrideForFaceImages; // public bool? overrideForFaceImages;
// public bool? overrideForFaceLandmarkImages; // public bool? overrideForFaceLandmarkImages;

View File

@ -14,9 +14,9 @@ public class Configuration
[Display(Name = "Ignore Extensions"), Required] public string[] IgnoreExtensions { get; set; } [Display(Name = "Ignore Extensions"), Required] public string[] IgnoreExtensions { get; set; }
[Display(Name = "Ignore Relative Paths"), Required] public string[] IgnoreRelativePaths { get; set; } [Display(Name = "Ignore Relative Paths"), Required] public string[] IgnoreRelativePaths { get; set; }
[Display(Name = "Julie Phares Copy Birthdays"), Required] public string[] JuliePhares { get; set; } [Display(Name = "Julie Phares Copy Birthdays"), Required] public string[] JuliePhares { get; set; }
[Display(Name = "Load Or Create Then Save Directory Distance Results"), Required] public bool? LoadOrCreateThenSaveDirectoryDistanceResults { get; set; } [Display(Name = "Load Or Create Then Save Directory Distance Results"), Required] public string[] LoadOrCreateThenSaveDirectoryDistanceResultsForOutputResolutions { get; set; }
[Display(Name = "Load Or Create Then Save Distance Results"), Required] public bool? LoadOrCreateThenSaveDistanceResults { get; set; } [Display(Name = "Load Or Create Then Save Distance Results"), Required] public string[] LoadOrCreateThenSaveDistanceResultsForOutputResolutions { get; set; }
[Display(Name = "Load Or Create Then Save Image Faces Results"), Required] public bool? LoadOrCreateThenSaveImageFacesResults { get; set; } [Display(Name = "Load Or Create Then Save Image Faces Results"), Required] public string[] LoadOrCreateThenSaveImageFacesResultsForOutputResolutions { get; set; }
[Display(Name = "Load Or Create Then Save Index"), Required] public bool? LoadOrCreateThenSaveIndex { get; set; } [Display(Name = "Load Or Create Then Save Index"), Required] public bool? LoadOrCreateThenSaveIndex { get; set; }
[Display(Name = "Location Confidence Factor"), Required] public int? LocationConfidenceFactor { get; set; } [Display(Name = "Location Confidence Factor"), Required] public int? LocationConfidenceFactor { get; set; }
[Display(Name = "Mapped Max Index"), Required] public int? MappedMaxIndex { get; set; } [Display(Name = "Mapped Max Index"), Required] public int? MappedMaxIndex { get; set; }
@ -43,7 +43,7 @@ public class Configuration
[Display(Name = "Save Face Landmark For Output Resolutions"), Required] public string[] SaveFaceLandmarkForOutputResolutions { get; set; } [Display(Name = "Save Face Landmark For Output Resolutions"), Required] public string[] SaveFaceLandmarkForOutputResolutions { get; set; }
[Display(Name = "Save Full Year Of Random Files"), Required] public bool? SaveFullYearOfRandomFiles { get; set; } [Display(Name = "Save Full Year Of Random Files"), Required] public bool? SaveFullYearOfRandomFiles { get; set; }
[Display(Name = "Save Resized Subfiles"), Required] public bool? SaveResizedSubfiles { get; set; } [Display(Name = "Save Resized Subfiles"), Required] public bool? SaveResizedSubfiles { get; set; }
[Display(Name = "Save Shortcuts"), Required] public bool? SaveShortcuts { get; set; } [Display(Name = "Save Shortcuts"), Required] public string[] SaveShortcutsForOutputResolutions { get; set; }
[Display(Name = "Skip Search"), Required] public bool? SkipSearch { get; set; } [Display(Name = "Skip Search"), Required] public bool? SkipSearch { get; set; }
[Display(Name = "Test Distance Results"), Required] public bool? TestDistanceResults { get; set; } [Display(Name = "Test Distance Results"), Required] public bool? TestDistanceResults { get; set; }
[Display(Name = "Valid Resolutions"), Required] public string[] ValidResolutions { get; set; } [Display(Name = "Valid Resolutions"), Required] public string[] ValidResolutions { get; set; }
@ -58,9 +58,9 @@ public class Configuration
IgnoreExtensions = Array.Empty<string>(); IgnoreExtensions = Array.Empty<string>();
IgnoreRelativePaths = Array.Empty<string>(); IgnoreRelativePaths = Array.Empty<string>();
JuliePhares = Array.Empty<string>(); JuliePhares = Array.Empty<string>();
LoadOrCreateThenSaveDirectoryDistanceResults = null; LoadOrCreateThenSaveDirectoryDistanceResultsForOutputResolutions = Array.Empty<string>();
LoadOrCreateThenSaveDistanceResults = null; LoadOrCreateThenSaveDistanceResultsForOutputResolutions = Array.Empty<string>();
LoadOrCreateThenSaveImageFacesResults = null; LoadOrCreateThenSaveImageFacesResultsForOutputResolutions = Array.Empty<string>();
LoadOrCreateThenSaveIndex = null; LoadOrCreateThenSaveIndex = null;
LocationConfidenceFactor = null; LocationConfidenceFactor = null;
MappedMaxIndex = null; MappedMaxIndex = null;
@ -86,7 +86,7 @@ public class Configuration
SaveFaceLandmarkForOutputResolutions = Array.Empty<string>(); SaveFaceLandmarkForOutputResolutions = Array.Empty<string>();
SaveFullYearOfRandomFiles = null; SaveFullYearOfRandomFiles = null;
SaveResizedSubfiles = null; SaveResizedSubfiles = null;
SaveShortcuts = null; SaveShortcutsForOutputResolutions = Array.Empty<string>();
SkipSearch = null; SkipSearch = null;
TestDistanceResults = null; TestDistanceResults = null;
ValidResolutions = Array.Empty<string>(); ValidResolutions = Array.Empty<string>();

View File

@ -14,9 +14,9 @@ public class Configuration
protected readonly string[] _IgnoreExtensions; protected readonly string[] _IgnoreExtensions;
protected readonly string[] _IgnoreRelativePaths; protected readonly string[] _IgnoreRelativePaths;
protected readonly string[] _JuliePhares; protected readonly string[] _JuliePhares;
protected readonly bool? _LoadOrCreateThenSaveDirectoryDistanceResults; protected readonly string[] _LoadOrCreateThenSaveDirectoryDistanceResultsForOutputResolutions;
protected readonly bool? _LoadOrCreateThenSaveDistanceResults; protected readonly string[] _LoadOrCreateThenSaveDistanceResultsForOutputResolutions;
protected readonly bool? _LoadOrCreateThenSaveImageFacesResults; protected readonly string[] _LoadOrCreateThenSaveImageFacesResultsForOutputResolutions;
protected readonly bool? _LoadOrCreateThenSaveIndex; protected readonly bool? _LoadOrCreateThenSaveIndex;
protected readonly int? _LocationConfidenceFactor; protected readonly int? _LocationConfidenceFactor;
protected readonly int? _MappedMaxIndex; protected readonly int? _MappedMaxIndex;
@ -43,7 +43,7 @@ public class Configuration
protected readonly string[] _SaveFaceLandmarkForOutputResolutions; protected readonly string[] _SaveFaceLandmarkForOutputResolutions;
protected readonly bool? _SaveFullYearOfRandomFiles; protected readonly bool? _SaveFullYearOfRandomFiles;
protected readonly bool? _SaveResizedSubfiles; protected readonly bool? _SaveResizedSubfiles;
protected readonly bool? _SaveShortcuts; protected readonly string _SaveShortcutsForOutputResolutions;
protected readonly bool? _SkipSearch; protected readonly bool? _SkipSearch;
protected readonly bool? _TestDistanceResults; protected readonly bool? _TestDistanceResults;
protected readonly string[] _ValidResolutions; protected readonly string[] _ValidResolutions;
@ -55,9 +55,9 @@ public class Configuration
public string[] IgnoreExtensions => _IgnoreExtensions; public string[] IgnoreExtensions => _IgnoreExtensions;
public string[] IgnoreRelativePaths => _IgnoreRelativePaths; public string[] IgnoreRelativePaths => _IgnoreRelativePaths;
public string[] JuliePhares => _JuliePhares; public string[] JuliePhares => _JuliePhares;
public bool? LoadOrCreateThenSaveDirectoryDistanceResults => _LoadOrCreateThenSaveDirectoryDistanceResults; public string[] LoadOrCreateThenSaveDirectoryDistanceResultsForOutputResolutions => _LoadOrCreateThenSaveDirectoryDistanceResultsForOutputResolutions;
public bool? LoadOrCreateThenSaveDistanceResults => _LoadOrCreateThenSaveDistanceResults; public string[] LoadOrCreateThenSaveDistanceResultsForOutputResolutions => _LoadOrCreateThenSaveDistanceResultsForOutputResolutions;
public bool? LoadOrCreateThenSaveImageFacesResults => _LoadOrCreateThenSaveImageFacesResults; public string[] LoadOrCreateThenSaveImageFacesResultsForOutputResolutions => _LoadOrCreateThenSaveImageFacesResultsForOutputResolutions;
public bool? LoadOrCreateThenSaveIndex => _LoadOrCreateThenSaveIndex; public bool? LoadOrCreateThenSaveIndex => _LoadOrCreateThenSaveIndex;
public int? LocationConfidenceFactor => _LocationConfidenceFactor; public int? LocationConfidenceFactor => _LocationConfidenceFactor;
public int? MappedMaxIndex => _MappedMaxIndex; public int? MappedMaxIndex => _MappedMaxIndex;
@ -84,13 +84,13 @@ public class Configuration
public string[] SaveFaceLandmarkForOutputResolutions => _SaveFaceLandmarkForOutputResolutions; public string[] SaveFaceLandmarkForOutputResolutions => _SaveFaceLandmarkForOutputResolutions;
public bool? SaveFullYearOfRandomFiles => _SaveFullYearOfRandomFiles; public bool? SaveFullYearOfRandomFiles => _SaveFullYearOfRandomFiles;
public bool? SaveResizedSubfiles => _SaveResizedSubfiles; public bool? SaveResizedSubfiles => _SaveResizedSubfiles;
public bool? SaveShortcuts => _SaveShortcuts; public string SaveShortcutsForOutputResolutions => _SaveShortcutsForOutputResolutions;
public bool? SkipSearch => _SkipSearch; public bool? SkipSearch => _SkipSearch;
public bool? TestDistanceResults => _TestDistanceResults; public bool? TestDistanceResults => _TestDistanceResults;
public string[] ValidResolutions => _ValidResolutions; public string[] ValidResolutions => _ValidResolutions;
[JsonConstructor] [JsonConstructor]
public Configuration(bool? checkJsonForDistanceResults, int? crossDirectoryMaxItemsInDistanceCollection, int? distanceFactor, bool? forceMetadataLastWriteTimeToCreationTime, bool? forceResizeLastWriteTimeToCreationTime, string[] ignoreExtensions, string[] ignoreRelativePaths, string[] juliePhares, bool? loadOrCreateThenSaveDirectoryDistanceResults, bool? loadOrCreateThenSaveDistanceResults, bool? loadOrCreateThenSaveImageFacesResults, bool? loadOrCreateThenSaveIndex, int? locationConfidenceFactor, int? mappedMaxIndex, int? maxItemsInDistanceCollection, string[] mixedYearRelativePaths, string modelDirectory, string modelName, int? numJitters, string outputExtension, int? outputQuality, string[] outputResolutions, bool? overrideForFaceImages, bool? overrideForFaceLandmarkImages, bool? overrideForResizeImages, int? paddingLoops, string predictorModelName, bool? propertiesChangedForDistance, bool? propertiesChangedForFaces, bool? propertiesChangedForIndex, bool? propertiesChangedForMetadata, bool? propertiesChangedForResize, Property.Models.Configuration? propertyConfiguration, bool? reverse, string[] saveFaceLandmarkForOutputResolutions, bool? saveFullYearOfRandomFiles, bool? saveResizedSubfiles, bool? saveShortcuts, bool? skipSearch, bool? testDistanceResults, string[] validResolutions) public Configuration(bool? checkJsonForDistanceResults, int? crossDirectoryMaxItemsInDistanceCollection, int? distanceFactor, bool? forceMetadataLastWriteTimeToCreationTime, bool? forceResizeLastWriteTimeToCreationTime, string[] ignoreExtensions, string[] ignoreRelativePaths, string[] juliePhares, string[] loadOrCreateThenSaveDirectoryDistanceResultsForOutputResolutions, string[] loadOrCreateThenSaveDistanceResultsForOutputResolutions, string[] loadOrCreateThenSaveImageFacesResultsForOutputResolutions, bool? loadOrCreateThenSaveIndex, int? locationConfidenceFactor, int? mappedMaxIndex, int? maxItemsInDistanceCollection, string[] mixedYearRelativePaths, string modelDirectory, string modelName, int? numJitters, string outputExtension, int? outputQuality, string[] outputResolutions, bool? overrideForFaceImages, bool? overrideForFaceLandmarkImages, bool? overrideForResizeImages, int? paddingLoops, string predictorModelName, bool? propertiesChangedForDistance, bool? propertiesChangedForFaces, bool? propertiesChangedForIndex, bool? propertiesChangedForMetadata, bool? propertiesChangedForResize, Property.Models.Configuration? propertyConfiguration, bool? reverse, string[] saveFaceLandmarkForOutputResolutions, bool? saveFullYearOfRandomFiles, bool? saveResizedSubfiles, string saveShortcutsForOutputResolutions, bool? skipSearch, bool? testDistanceResults, string[] validResolutions)
{ {
_CheckJsonForDistanceResults = checkJsonForDistanceResults; _CheckJsonForDistanceResults = checkJsonForDistanceResults;
_CrossDirectoryMaxItemsInDistanceCollection = crossDirectoryMaxItemsInDistanceCollection; _CrossDirectoryMaxItemsInDistanceCollection = crossDirectoryMaxItemsInDistanceCollection;
@ -100,9 +100,9 @@ public class Configuration
_IgnoreExtensions = ignoreExtensions; _IgnoreExtensions = ignoreExtensions;
_IgnoreRelativePaths = ignoreRelativePaths; _IgnoreRelativePaths = ignoreRelativePaths;
_JuliePhares = juliePhares; _JuliePhares = juliePhares;
_LoadOrCreateThenSaveDirectoryDistanceResults = loadOrCreateThenSaveDirectoryDistanceResults; _LoadOrCreateThenSaveDirectoryDistanceResultsForOutputResolutions = loadOrCreateThenSaveDirectoryDistanceResultsForOutputResolutions;
_LoadOrCreateThenSaveDistanceResults = loadOrCreateThenSaveDistanceResults; _LoadOrCreateThenSaveDistanceResultsForOutputResolutions = loadOrCreateThenSaveDistanceResultsForOutputResolutions;
_LoadOrCreateThenSaveImageFacesResults = loadOrCreateThenSaveImageFacesResults; _LoadOrCreateThenSaveImageFacesResultsForOutputResolutions = loadOrCreateThenSaveImageFacesResultsForOutputResolutions;
_LoadOrCreateThenSaveIndex = loadOrCreateThenSaveIndex; _LoadOrCreateThenSaveIndex = loadOrCreateThenSaveIndex;
_LocationConfidenceFactor = locationConfidenceFactor; _LocationConfidenceFactor = locationConfidenceFactor;
_MappedMaxIndex = mappedMaxIndex; _MappedMaxIndex = mappedMaxIndex;
@ -129,7 +129,7 @@ public class Configuration
_SaveFaceLandmarkForOutputResolutions = saveFaceLandmarkForOutputResolutions; _SaveFaceLandmarkForOutputResolutions = saveFaceLandmarkForOutputResolutions;
_SaveFullYearOfRandomFiles = saveFullYearOfRandomFiles; _SaveFullYearOfRandomFiles = saveFullYearOfRandomFiles;
_SaveResizedSubfiles = saveResizedSubfiles; _SaveResizedSubfiles = saveResizedSubfiles;
_SaveShortcuts = saveShortcuts; _SaveShortcutsForOutputResolutions = saveShortcutsForOutputResolutions;
_SkipSearch = skipSearch; _SkipSearch = skipSearch;
_TestDistanceResults = testDistanceResults; _TestDistanceResults = testDistanceResults;
_ValidResolutions = validResolutions; _ValidResolutions = validResolutions;

View File

@ -58,9 +58,6 @@
"ForceMetadataLastWriteTimeToCreationTime": true, "ForceMetadataLastWriteTimeToCreationTime": true,
"ForcePropertyLastWriteTimeToCreationTime": false, "ForcePropertyLastWriteTimeToCreationTime": false,
"ForceResizeLastWriteTimeToCreationTime": true, "ForceResizeLastWriteTimeToCreationTime": true,
"LoadOrCreateThenSaveDirectoryDistanceResults": false,
"LoadOrCreateThenSaveDistanceResults": false,
"LoadOrCreateThenSaveImageFacesResults": true,
"LoadOrCreateThenSaveIndex": false, "LoadOrCreateThenSaveIndex": false,
"LocationConfidenceFactor": 2, "LocationConfidenceFactor": 2,
"MappedMaxIndex": 1034720, "MappedMaxIndex": 1034720,
@ -89,7 +86,6 @@
"RootDirectory": "F:/Tmp/Phares/Compare/Images 2022-07-27 - f642c5669a1d89d598a2efd70da9dc7129d02c15 - III", "RootDirectory": "F:/Tmp/Phares/Compare/Images 2022-07-27 - f642c5669a1d89d598a2efd70da9dc7129d02c15 - III",
"SaveFullYearOfRandomFiles": true, "SaveFullYearOfRandomFiles": true,
"SaveResizedSubFiles": true, "SaveResizedSubFiles": true,
"SaveShortcuts": true,
"SkipSearch": false, "SkipSearch": false,
"TestDistanceResults": true, "TestDistanceResults": true,
"WriteBitmapDataBytes": false, "WriteBitmapDataBytes": false,
@ -155,21 +151,30 @@
"1976-01-05_00", "1976-01-05_00",
"1982-05-02_00" "1982-05-02_00"
], ],
"xOutputResolutions": [ "LoadOrCreateThenSaveDirectoryDistanceResultsForOutputResolutions": [
"1920 x 1080"
],
"LoadOrCreateThenSaveDistanceResultsForOutputResolutions": [
"1920 x 1080"
],
"LoadOrCreateThenSaveImageFacesResultsForOutputResolutions": [
"1920 x 1080"
],
"OutputResolutions": [
"176 x 176", "176 x 176",
"256 x 256", "256 x 256",
"353 x 353", "353 x 353",
"1024 x 768", "1024 x 768",
"1920 x 1080" "1920 x 1080"
], ],
"OutputResolutions": [
"1920 x 1080"
],
"PropertyContentCollectionFiles": [], "PropertyContentCollectionFiles": [],
"SaveFaceLandmarkForOutputResolutions": [ "SaveFaceLandmarkForOutputResolutions": [
"176 x 176", "176 x 176",
"256 x 256" "256 x 256"
], ],
"SaveShortcutsForOutputResolutions": [
"1920 x 1080"
],
"ValidImageFormatExtensions": [ "ValidImageFormatExtensions": [
".bmp", ".bmp",
".BMP", ".BMP",

View File

@ -58,9 +58,6 @@
"ForceMetadataLastWriteTimeToCreationTime": false, "ForceMetadataLastWriteTimeToCreationTime": false,
"ForcePropertyLastWriteTimeToCreationTime": false, "ForcePropertyLastWriteTimeToCreationTime": false,
"ForceResizeLastWriteTimeToCreationTime": false, "ForceResizeLastWriteTimeToCreationTime": false,
"LoadOrCreateThenSaveDirectoryDistanceResults": true,
"LoadOrCreateThenSaveDistanceResults": true,
"LoadOrCreateThenSaveImageFacesResults": true,
"LoadOrCreateThenSaveIndex": false, "LoadOrCreateThenSaveIndex": false,
"LocationConfidenceFactor": 2, "LocationConfidenceFactor": 2,
"MappedMaxIndex": 1034720, "MappedMaxIndex": 1034720,
@ -88,7 +85,6 @@
"RootDirectory": "D:/Images", "RootDirectory": "D:/Images",
"SaveFullYearOfRandomFiles": true, "SaveFullYearOfRandomFiles": true,
"SaveResizedSubFiles": true, "SaveResizedSubFiles": true,
"SaveShortcuts": true,
"SkipSearch": false, "SkipSearch": false,
"TestDistanceResults": true, "TestDistanceResults": true,
"WriteBitmapDataBytes": false, "WriteBitmapDataBytes": false,
@ -96,6 +92,73 @@
".gif", ".gif",
".GIF" ".GIF"
], ],
"JuliePhares": [
"1500-01-16_00",
"1500-01-19_00",
"1500-01-20_00",
"1500-01-21_00",
"1500-01-25_00",
"1500-01-26_00",
"1500-01-27_00",
"1500-02-13_00",
"1500-02-17_00",
"1500-02-24_00",
"1500-02-25_00",
"1500-04-03_00",
"1500-04-06_00",
"1500-04-19_00",
"1500-05-03_00",
"1500-05-18_00",
"1500-05-28_00",
"1500-06-16_00",
"1500-06-26_00",
"1500-06-27_00",
"1500-07-07_00",
"1500-07-16_00",
"1720-09-30_05",
"1500-07-26_00",
"1500-08-03_00",
"1500-08-23_00",
"1500-08-24_00",
"1500-09-16_00",
"1500-09-21_00",
"1500-09-28_00",
"1500-10-14_00",
"1500-11-07_00",
"1500-11-09_00",
"1720-09-28_20",
"1501-01-08_00",
"1501-01-12_00",
"1501-01-13_00",
"1501-01-30_00",
"1501-03-09_00",
"1501-03-14_00",
"1501-03-22_00",
"1501-04-07_00",
"1501-04-10_00",
"1501-04-19_00",
"1501-05-06_00",
"1956-09-19_00",
"2012-09-17_00",
"1998-05-21_00",
"1960-03-01_00",
"1976-03-08_00",
"2007-09-07_00",
"2000-04-07_00",
"1980-01-17_00",
"1958-01-30_00",
"1976-01-05_00",
"1982-05-02_00"
],
"LoadOrCreateThenSaveDirectoryDistanceResultsForOutputResolutions": [
"1920 x 1080"
],
"LoadOrCreateThenSaveDistanceResultsForOutputResolutions": [
"1920 x 1080"
],
"LoadOrCreateThenSaveImageFacesResultsForOutputResolutions": [
"1920 x 1080"
],
"OutputResolutions": [ "OutputResolutions": [
"176 x 176", "176 x 176",
"256 x 256", "256 x 256",
@ -108,6 +171,9 @@
"176 x 176", "176 x 176",
"256 x 256" "256 x 256"
], ],
"SaveShortcutsForOutputResolutions": [
"1920 x 1080"
],
"ValidImageFormatExtensions": [ "ValidImageFormatExtensions": [
".bmp", ".bmp",
".BMP", ".BMP",