Save Shortcuts Rev B
This commit is contained in:
@ -6,7 +6,6 @@ using System.Text.Json;
|
||||
using View_by_Distance.Distance.Models;
|
||||
using View_by_Distance.Face.Models;
|
||||
using View_by_Distance.FaceParts.Models;
|
||||
using View_by_Distance.FaceRecognitionDotNet;
|
||||
using View_by_Distance.Instance.Models;
|
||||
using View_by_Distance.Map.Models;
|
||||
using View_by_Distance.Metadata.Models;
|
||||
@ -14,7 +13,6 @@ using View_by_Distance.Property.Models;
|
||||
using View_by_Distance.Resize.Models;
|
||||
using View_by_Distance.Shared.Models;
|
||||
using View_by_Distance.Shared.Models.Methods;
|
||||
using View_by_Distance.Shared.Models.Stateless;
|
||||
|
||||
namespace View_by_Distance.Instance;
|
||||
|
||||
@ -71,20 +69,13 @@ public partial class DlibDotNet
|
||||
_Index = new(configuration);
|
||||
_Random = new(configuration);
|
||||
_Rename = new(configuration);
|
||||
_Distance = new(
|
||||
configuration.DistanceMoveUnableToMatch,
|
||||
configuration.DistancePixelDistanceTolerance,
|
||||
configuration.DistanceRenameToMatch,
|
||||
configuration.FaceDistanceTolerance);
|
||||
if (configuration.IgnoreExtensions is null)
|
||||
throw new NullReferenceException(nameof(configuration.IgnoreExtensions));
|
||||
string propertyRoot = Property.Models.Stateless.IResult.GetResultsGroupDirectory(propertyConfiguration, nameof(A_Property), create: false);
|
||||
_FirstRun = !Directory.Exists(propertyRoot);
|
||||
_Metadata = new(configuration.ForceMetadataLastWriteTimeToCreationTime, configuration.PropertiesChangedForMetadata);
|
||||
argZero = args.Count > 0 ? Path.GetFullPath(args[0]) : Path.GetFullPath(propertyConfiguration.RootDirectory);
|
||||
_ArgZeroIsConfigurationRootDirectory = propertyConfiguration.RootDirectory == argZero;
|
||||
_Log.Information(configuration.ModelDirectory);
|
||||
(Model model, PredictorModel predictorModel, ModelParameter modelParameter) = GetModel(configuration);
|
||||
{
|
||||
(ImageCodecInfo imageCodecInfo, EncoderParameters encoderParameters, string filenameExtension) = C_Resize.GetPngLowQuality();
|
||||
(ImageCodecInfo hiddenImageCodecInfo, EncoderParameters hiddenEncoderParameters, string hiddenFileNameExtension) = C_Resize.GetGifLowQuality();
|
||||
@ -101,20 +92,22 @@ public partial class DlibDotNet
|
||||
hiddenFileNameExtension,
|
||||
hiddenImageCodecInfo,
|
||||
imageCodecInfo,
|
||||
model,
|
||||
modelParameter,
|
||||
configuration.ModelDirectory,
|
||||
configuration.ModelName,
|
||||
configuration.NumberOfJitters,
|
||||
configuration.NumberOfTimesToUpsample,
|
||||
configuration.OverrideForFaceImages,
|
||||
configuration.RetryImagesWithoutAFace,
|
||||
predictorModel,
|
||||
configuration.PredictorModelName,
|
||||
configuration.PropertiesChangedForFaces);
|
||||
}
|
||||
{
|
||||
(ImageCodecInfo imageCodecInfo, EncoderParameters encoderParameters, string filenameExtension) = C_Resize.GetGifLowQuality();
|
||||
_FaceParts = new D2_FaceParts(imageCodecInfo, encoderParameters, filenameExtension, configuration.CheckDFaceAndUpWriteDates, configuration.OverrideForFaceLandmarkImages);
|
||||
}
|
||||
_Metadata = new(configuration.ForceMetadataLastWriteTimeToCreationTime, configuration.PropertiesChangedForMetadata);
|
||||
_MapConfiguration = Get(configuration, _Faces.FileNameExtension, _Faces.HiddenFileNameExtension, _FaceParts.FileNameExtension);
|
||||
_Distance = new(configuration.DistanceMoveUnableToMatch, configuration.DistancePixelDistanceTolerance, configuration.DistanceRenameToMatch, configuration.FaceDistanceTolerance);
|
||||
if (_FirstRun || !_ArgZeroIsConfigurationRootDirectory)
|
||||
personContainers = Array.Empty<PersonContainer>();
|
||||
else
|
||||
@ -152,7 +145,7 @@ public partial class DlibDotNet
|
||||
filenameExtension);
|
||||
}
|
||||
if (!configuration.SkipSearch)
|
||||
Search(ticks, model, predictorModel, argZero, propertyRoot, personContainers);
|
||||
Search(ticks, argZero, propertyRoot, personContainers);
|
||||
if (!_FirstRun && !_IsEnvironment.Development && _Exceptions.Count == 0 && _ArgZeroIsConfigurationRootDirectory)
|
||||
{
|
||||
List<string[]> directoryCollections = _Rename.GetDirectoryRenameCollections(
|
||||
@ -212,50 +205,6 @@ public partial class DlibDotNet
|
||||
return result;
|
||||
}
|
||||
|
||||
#pragma warning disable CA1416
|
||||
#pragma warning restore CA1416
|
||||
|
||||
private static (Model model, PredictorModel predictorModel, ModelParameter modelParameter) GetModel(Models.Configuration configuration)
|
||||
{
|
||||
(Model, PredictorModel, ModelParameter) result;
|
||||
Array array;
|
||||
Model? model = null;
|
||||
PredictorModel? predictorModel = null;
|
||||
array = Enum.GetValues(typeof(Model));
|
||||
foreach (Model check in array)
|
||||
{
|
||||
if (configuration.ModelName.Contains(check.ToString()))
|
||||
{
|
||||
model = check;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (model is null)
|
||||
throw new Exception("Destination directory must have Model name!");
|
||||
model = model.Value;
|
||||
array = Enum.GetValues(typeof(PredictorModel));
|
||||
foreach (PredictorModel check in array)
|
||||
{
|
||||
if (configuration.PredictorModelName.Contains(check.ToString()))
|
||||
{
|
||||
predictorModel = check;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (predictorModel is null)
|
||||
throw new Exception("Destination directory must have Predictor Model name!");
|
||||
predictorModel = predictorModel.Value;
|
||||
ModelParameter modelParameter = new()
|
||||
{
|
||||
CnnFaceDetectorModel = File.ReadAllBytes(Path.Combine(configuration.ModelDirectory, "mmod_human_face_detector.dat")),
|
||||
FaceRecognitionModel = File.ReadAllBytes(Path.Combine(configuration.ModelDirectory, "dlib_face_recognition_resnet_model_v1.dat")),
|
||||
PosePredictor5FaceLandmarksModel = File.ReadAllBytes(Path.Combine(configuration.ModelDirectory, "shape_predictor_5_face_landmarks.dat")),
|
||||
PosePredictor68FaceLandmarksModel = File.ReadAllBytes(Path.Combine(configuration.ModelDirectory, "shape_predictor_68_face_landmarks.dat"))
|
||||
};
|
||||
result = new(model.Value, predictorModel.Value, modelParameter);
|
||||
return result;
|
||||
}
|
||||
|
||||
private void Verify(Models.Configuration configuration)
|
||||
{
|
||||
if (!configuration.OutputResolutions.Any() || string.IsNullOrEmpty(configuration.OutputResolutions[0]) || !configuration.ValidResolutions.Contains(configuration.OutputResolutions[0]))
|
||||
@ -268,6 +217,8 @@ public partial class DlibDotNet
|
||||
throw new Exception($"One or more {nameof(configuration.LoadOrCreateThenSaveImageFacesResultsForOutputResolutions)} are not in the ValidResolutions list!");
|
||||
if ((from l in configuration.SaveResizedImagesByPersonKeyFormattedForOutputResolutions where !configuration.ValidResolutions.Contains(l) select false).Any())
|
||||
throw new Exception($"One or more {nameof(configuration.SaveResizedImagesByPersonKeyFormattedForOutputResolutions)} 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())
|
||||
throw new Exception($"One or more {nameof(configuration.SaveFaceLandmarkForOutputResolutions)} are not in the ValidResolutions list!");
|
||||
if (configuration.DistanceFactor + configuration.LocationConfidenceFactor != 10)
|
||||
@ -628,7 +579,7 @@ public partial class DlibDotNet
|
||||
}
|
||||
}
|
||||
|
||||
private (string, string, string, string) GetResultsFullGroupDirectories(Model? model, PredictorModel? predictorModel, string outputResolution)
|
||||
private (string, string, string, string) GetResultsFullGroupDirectories(string outputResolution)
|
||||
{
|
||||
string aResultsFullGroupDirectory = Property.Models.Stateless.IResult.GetResultsFullGroupDirectory(
|
||||
_Configuration.PropertyConfiguration,
|
||||
@ -716,7 +667,7 @@ public partial class DlibDotNet
|
||||
return results.ToArray();
|
||||
}
|
||||
|
||||
private void FullDoWork(string argZero, Model? model, PredictorModel? predictorModel, string propertyRoot, long ticks, A_Property propertyLogic, int t, Container[] containers, string? eDistanceContentDirectory, Dictionary<int, List<(string, int)>> idToMappedFaceFilesCollection)
|
||||
private void FullDoWork(string argZero, string propertyRoot, long ticks, A_Property propertyLogic, int t, Container[] containers, string? eDistanceContentDirectory, Dictionary<int, List<(string, int)>> idToMappedFaceFilesCollection)
|
||||
{
|
||||
if (_Log is null)
|
||||
throw new NullReferenceException(nameof(_Log));
|
||||
@ -744,7 +695,7 @@ public partial class DlibDotNet
|
||||
total = 0;
|
||||
_FileKeyValuePairs.Clear();
|
||||
_FilePropertiesKeyValuePairs.Clear();
|
||||
(aResultsFullGroupDirectory, bResultsFullGroupDirectory, cResultsFullGroupDirectory, dResultsFullGroupDirectory) = GetResultsFullGroupDirectories(model, predictorModel, outputResolution);
|
||||
(aResultsFullGroupDirectory, bResultsFullGroupDirectory, cResultsFullGroupDirectory, dResultsFullGroupDirectory) = GetResultsFullGroupDirectories(outputResolution);
|
||||
for (int i = 0; i < containers.Length; i++)
|
||||
{
|
||||
container = containers[i];
|
||||
@ -839,9 +790,10 @@ public partial class DlibDotNet
|
||||
return result;
|
||||
}
|
||||
|
||||
private Shared.Models.Face[] SetMappingThenGetDistinctFilteredFacesWithMapping(string argZero, Container[] containers)
|
||||
private (List<Item>, Shared.Models.Face[]) SetMappingThenGetDistinctFilteredFacesWithMapping(string argZero, Container[] containers)
|
||||
{
|
||||
Shared.Models.Face[] results;
|
||||
List<Item> items = new();
|
||||
Shared.Models.Face[] faces;
|
||||
Mapping mapping;
|
||||
int areaPermille;
|
||||
bool? isWrongYear;
|
||||
@ -868,7 +820,10 @@ public partial class DlibDotNet
|
||||
if (item.Property?.Id is null || item.ImageFileHolder is null || item.ResizedFileHolder is null)
|
||||
continue;
|
||||
if (!item.Faces.Any(l => l.FaceEncoding is not null && l.Location is not null && l.OutputResolution is not null))
|
||||
{
|
||||
items.Add(item);
|
||||
continue;
|
||||
}
|
||||
minimumDateTime = Shared.Models.Stateless.Methods.IProperty.GetMinimumDateTime(item.Property);
|
||||
(isWrongYear, _) = item.Property.IsWrongYear(item.ImageFileHolder.FullName, minimumDateTime);
|
||||
mappingFromItem = new(item.Property.Id.Value, item.ImageFileHolder, isWrongYear, minimumDateTime, item.RelativePath, item.ResizedFileHolder);
|
||||
@ -888,8 +843,8 @@ public partial class DlibDotNet
|
||||
}
|
||||
}
|
||||
}
|
||||
results = (from l in collection orderby l.Mapping?.MappingFromItem.Id select l).ToArray();
|
||||
return results;
|
||||
faces = (from l in collection orderby l.Mapping?.MappingFromItem.Id select l).ToArray();
|
||||
return new(items, faces);
|
||||
}
|
||||
|
||||
private void MapLogic(string argZero, long ticks, PersonContainer[] personContainers, Container[] containers, string a2PeopleSingletonDirectory, string dResultsFullGroupDirectory, string d2FacePartsContentDirectory, string eDistanceContentDirectory, string outputResolution)
|
||||
@ -897,7 +852,7 @@ public partial class DlibDotNet
|
||||
int? useFiltersCounter = null;
|
||||
SortingContainer[] sortingContainers;
|
||||
string dFacesContentDirectory = Path.Combine(dResultsFullGroupDirectory, "()");
|
||||
Shared.Models.Face[] distinctFilteredFaces = SetMappingThenGetDistinctFilteredFacesWithMapping(argZero, containers);
|
||||
(List<Item> filteredItems, Shared.Models.Face[] distinctFilteredFaces) = SetMappingThenGetDistinctFilteredFacesWithMapping(argZero, containers);
|
||||
Mapping[] mappingCollection = MapLogicSupport.GetSelectedMappingCollection(distinctFilteredFaces);
|
||||
MapLogicSupport mapLogicSupport = new(
|
||||
_Configuration.FaceDistanceAreaPermilleTolerance,
|
||||
@ -920,6 +875,12 @@ public partial class DlibDotNet
|
||||
int totalNotMapped = mapLogic.AddToMapping(mappingCollection);
|
||||
if (_Configuration.MappingSaveMapped)
|
||||
mapLogic.SaveMapped(dFacesContentDirectory, d2FacePartsContentDirectory, mappingCollection, idToNormalizedPixelPercentageToMapping, totalNotMapped);
|
||||
if (_Configuration.MappingSaveNotMapped)
|
||||
mapLogic.SaveNotMappedTicks();
|
||||
if (_Configuration.SaveShortcutsForOutputResolutions.Contains(outputResolution))
|
||||
mapLogic.SaveShortcuts(a2PeopleSingletonDirectory, personContainers, filteredItems, mappingCollection);
|
||||
if (_Configuration.SaveResizedImagesByPersonKeyFormattedForOutputResolutions.Contains(outputResolution))
|
||||
mapLogic.SaveResizedImagesByPersonKeyFormatted(_Configuration.JLinks, a2PeopleSingletonDirectory, personContainers, mappingCollection, totalNotMapped);
|
||||
MapLogicSupport.SetFaceDistances(_AppSettings.MaxDegreeOfParallelism, ticks, distinctFilteredFaces);
|
||||
sortingContainers = mapLogicSupport.SetFaceMappingSortingCollectionThenGetSortingContainers(_AppSettings.MaxDegreeOfParallelism, ticks, mapLogic, distinctFilteredFaces, useFiltersCounter);
|
||||
if (!sortingContainers.Any())
|
||||
@ -934,10 +895,6 @@ public partial class DlibDotNet
|
||||
MapLogicSupport.SaveFaceDistances(_Configuration.PropertyConfiguration, sortingContainers);
|
||||
if (totalNotMapped > 0)
|
||||
mapLogic.UpdateFromSortingContainersThenSaveContainers(dFacesContentDirectory, d2FacePartsContentDirectory, mappingCollection, idToNormalizedPixelPercentageToMapping, useFiltersCounter, sortingContainers, totalNotMapped);
|
||||
if (_Configuration.MappingSaveNotMapped)
|
||||
mapLogic.SaveNotMappedTicks();
|
||||
if (_Configuration.SaveResizedImagesByPersonKeyFormattedForOutputResolutions.Contains(outputResolution))
|
||||
mapLogic.SaveResizedImagesByPersonKeyFormatted(_Configuration.JLinks, a2PeopleSingletonDirectory, personContainers, mappingCollection, totalNotMapped);
|
||||
}
|
||||
|
||||
private static Container? AreAllSameEndsWith(string argZero, Container[] containers)
|
||||
@ -1006,7 +963,7 @@ public partial class DlibDotNet
|
||||
return result;
|
||||
}
|
||||
|
||||
private void Search(long ticks, Model? model, PredictorModel? predictorModel, string argZero, string propertyRoot, PersonContainer[] personContainers)
|
||||
private void Search(long ticks, string argZero, string propertyRoot, PersonContainer[] personContainers)
|
||||
{
|
||||
int j;
|
||||
int f;
|
||||
@ -1048,13 +1005,13 @@ public partial class DlibDotNet
|
||||
propertyLogic = new(_AppSettings.MaxDegreeOfParallelism, _Configuration.PropertyConfiguration, _Resize.FileNameExtension, _Configuration.Reverse);
|
||||
}
|
||||
Dictionary<int, List<(string, int)>> idToMappedFaceFilesCollection = Map.Models.Stateless.Methods.IMapLogic.DeleteEmptyDirectoriesAndGetMappedFaceFiles(_MapConfiguration, ticks, a2PeopleContentDirectory, eDistanceContentDirectory, personContainers);
|
||||
FullDoWork(argZero, model, predictorModel, propertyRoot, ticks, propertyLogic, t, containers, eDistanceContentDirectory, idToMappedFaceFilesCollection);
|
||||
FullDoWork(argZero, propertyRoot, ticks, propertyLogic, t, containers, eDistanceContentDirectory, idToMappedFaceFilesCollection);
|
||||
_Distance.Clear();
|
||||
foreach (string outputResolution in _Configuration.OutputResolutions)
|
||||
{
|
||||
if (_FirstRun || container is not null)
|
||||
break;
|
||||
(aResultsFullGroupDirectory, bResultsFullGroupDirectory, cResultsFullGroupDirectory, dResultsFullGroupDirectory) = GetResultsFullGroupDirectories(model, predictorModel, outputResolution);
|
||||
(aResultsFullGroupDirectory, bResultsFullGroupDirectory, cResultsFullGroupDirectory, dResultsFullGroupDirectory) = GetResultsFullGroupDirectories(outputResolution);
|
||||
if (_ArgZeroIsConfigurationRootDirectory
|
||||
&& _Configuration.SaveResizedSubfiles
|
||||
&& outputResolution == _Configuration.OutputResolutions[0]
|
||||
|
@ -67,7 +67,8 @@ public class Configuration
|
||||
[Display(Name = "Reverse"), Required] public bool? Reverse { 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 Shortcuts"), Required] public string[] SaveResizedImagesByPersonKeyFormattedForOutputResolutions { get; set; }
|
||||
[Display(Name = "Save Resized Images by Person Key Formatted"), Required] public string[] SaveResizedImagesByPersonKeyFormattedForOutputResolutions { get; set; }
|
||||
[Display(Name = "Save Shortcuts"), Required] public string[] SaveShortcutsForOutputResolutions { get; set; }
|
||||
[Display(Name = "Save Resized Subfiles"), Required] public bool? SaveResizedSubfiles { get; set; }
|
||||
[Display(Name = "Skip Search"), Required] public bool? SkipSearch { get; set; }
|
||||
[Display(Name = "Sorting Days Delta Tolerance"), Required] public int? SortingDaysDeltaTolerance { get; set; }
|
||||
@ -136,10 +137,10 @@ public class Configuration
|
||||
throw new NullReferenceException(nameof(configuration.LocationFactor));
|
||||
if (configuration.MappingDefaultName is null)
|
||||
throw new NullReferenceException(nameof(configuration.MappingDefaultName));
|
||||
if (configuration.MappingSaveNotMapped is null)
|
||||
throw new NullReferenceException(nameof(configuration.MappingSaveNotMapped));
|
||||
if (configuration.MappingSaveMapped is null)
|
||||
throw new NullReferenceException(nameof(configuration.MappingSaveMapped));
|
||||
if (configuration.MappingSaveNotMapped is null)
|
||||
throw new NullReferenceException(nameof(configuration.MappingSaveNotMapped));
|
||||
if (configuration.MappingUseDeterministicHashCodeUnknownFaceKeyValuePairsForAddToMapping is null)
|
||||
throw new NullReferenceException(nameof(configuration.MappingUseDeterministicHashCodeUnknownFaceKeyValuePairsForAddToMapping));
|
||||
if (configuration.MappingUseDeterministicHashCodeUnknownFaceKeyValuePairsForSaveMapping is null)
|
||||
@ -186,14 +187,16 @@ public class Configuration
|
||||
throw new NullReferenceException(nameof(configuration.Reverse));
|
||||
if (configuration.SaveFaceLandmarkForOutputResolutions is null)
|
||||
configuration.SaveFaceLandmarkForOutputResolutions = Array.Empty<string>();
|
||||
if (configuration.SaveFaceLandmarkForOutputResolutions is null)
|
||||
throw new NullReferenceException(nameof(configuration.SaveFaceLandmarkForOutputResolutions));
|
||||
if (configuration.SaveFullYearOfRandomFiles is null)
|
||||
throw new NullReferenceException(nameof(configuration.SaveFullYearOfRandomFiles));
|
||||
if (configuration.SaveResizedImagesByPersonKeyFormattedForOutputResolutions is null)
|
||||
configuration.SaveResizedImagesByPersonKeyFormattedForOutputResolutions = Array.Empty<string>();
|
||||
if (configuration.SaveResizedSubfiles is null)
|
||||
throw new NullReferenceException(nameof(configuration.SaveResizedSubfiles));
|
||||
if (configuration.SaveShortcutsForOutputResolutions is null)
|
||||
configuration.SaveShortcutsForOutputResolutions = Array.Empty<string>();
|
||||
if (configuration.SaveShortcutsForOutputResolutions is null)
|
||||
configuration.SaveShortcutsForOutputResolutions = Array.Empty<string>();
|
||||
if (configuration.SkipSearch is null)
|
||||
throw new NullReferenceException(nameof(configuration.SkipSearch));
|
||||
if (configuration.SortingDaysDeltaTolerance is null)
|
||||
@ -208,14 +211,6 @@ public class Configuration
|
||||
throw new NullReferenceException(nameof(configuration.TestDistanceResults));
|
||||
if (configuration.ValidResolutions is null)
|
||||
throw new NullReferenceException(nameof(configuration.ValidResolutions));
|
||||
if (configuration.LoadOrCreateThenSaveDistanceResultsForOutputResolutions is null)
|
||||
configuration.LoadOrCreateThenSaveDistanceResultsForOutputResolutions = Array.Empty<string>();
|
||||
if (configuration.LoadOrCreateThenSaveImageFacesResultsForOutputResolutions is null)
|
||||
configuration.LoadOrCreateThenSaveImageFacesResultsForOutputResolutions = Array.Empty<string>();
|
||||
if (configuration.SaveFaceLandmarkForOutputResolutions is null)
|
||||
configuration.SaveFaceLandmarkForOutputResolutions = Array.Empty<string>();
|
||||
if (configuration.SaveResizedImagesByPersonKeyFormattedForOutputResolutions is null)
|
||||
configuration.SaveResizedImagesByPersonKeyFormattedForOutputResolutions = Array.Empty<string>();
|
||||
_ = DateTime.Now.AddDays(-configuration.SortingDaysDeltaTolerance.Value);
|
||||
result = new(configuration.PropertyConfiguration,
|
||||
configuration.CheckDFaceAndUpWriteDates.Value,
|
||||
@ -275,6 +270,7 @@ public class Configuration
|
||||
configuration.SaveFaceLandmarkForOutputResolutions,
|
||||
configuration.SaveFullYearOfRandomFiles.Value,
|
||||
configuration.SaveResizedImagesByPersonKeyFormattedForOutputResolutions,
|
||||
configuration.SaveShortcutsForOutputResolutions,
|
||||
configuration.SaveResizedSubfiles.Value,
|
||||
configuration.SkipSearch.Value,
|
||||
configuration.SortingDaysDeltaTolerance.Value,
|
||||
|
@ -66,6 +66,7 @@ public class Configuration
|
||||
public string[] SaveFaceLandmarkForOutputResolutions { init; get; }
|
||||
public bool SaveFullYearOfRandomFiles { init; get; }
|
||||
public string[] SaveResizedImagesByPersonKeyFormattedForOutputResolutions { init; get; }
|
||||
public string[] SaveShortcutsForOutputResolutions { init; get; }
|
||||
public bool SaveResizedSubfiles { init; get; }
|
||||
public bool SkipSearch { init; get; }
|
||||
public int SortingDaysDeltaTolerance { init; get; }
|
||||
@ -134,6 +135,7 @@ public class Configuration
|
||||
string[] saveFaceLandmarkForOutputResolutions,
|
||||
bool saveFullYearOfRandomFiles,
|
||||
string[] saveResizedImagesByPersonKeyFormattedForOutputResolutions,
|
||||
string[] saveShortcutsForOutputResolutions,
|
||||
bool saveResizedSubfiles,
|
||||
bool skipSearch,
|
||||
int sortingDaysDeltaTolerance,
|
||||
@ -201,6 +203,7 @@ public class Configuration
|
||||
SaveFaceLandmarkForOutputResolutions = saveFaceLandmarkForOutputResolutions;
|
||||
SaveFullYearOfRandomFiles = saveFullYearOfRandomFiles;
|
||||
SaveResizedImagesByPersonKeyFormattedForOutputResolutions = saveResizedImagesByPersonKeyFormattedForOutputResolutions;
|
||||
SaveShortcutsForOutputResolutions = saveShortcutsForOutputResolutions;
|
||||
SaveResizedSubfiles = saveResizedSubfiles;
|
||||
SkipSearch = skipSearch;
|
||||
SortingDaysDeltaTolerance = sortingDaysDeltaTolerance;
|
||||
|
@ -6,7 +6,6 @@ using View_by_Distance.Metadata.Models;
|
||||
using View_by_Distance.Resize.Models;
|
||||
using View_by_Distance.Shared.Models;
|
||||
using View_by_Distance.Shared.Models.Methods;
|
||||
using View_by_Distance.Shared.Models.Stateless;
|
||||
|
||||
namespace View_by_Distance.Instance.Models;
|
||||
|
||||
|
@ -4,7 +4,6 @@ using View_by_Distance.Face.Models;
|
||||
using View_by_Distance.FaceParts.Models;
|
||||
using View_by_Distance.Metadata.Models;
|
||||
using View_by_Distance.Resize.Models;
|
||||
using View_by_Distance.Shared.Models.Stateless;
|
||||
|
||||
namespace View_by_Distance.Instance.Models;
|
||||
|
||||
|
@ -83,8 +83,8 @@
|
||||
"MaxItemsInDistanceCollection": 50,
|
||||
"ModelDirectory": "C:/GitHub/dlib-models",
|
||||
"ModelName": "Hog",
|
||||
"NumberOfJitters": 1,
|
||||
"NumberOfTimesToUpsample": 1,
|
||||
"NumberOfJitters": 0,
|
||||
"NumberOfTimesToUpsample": 0,
|
||||
"OutputExtension": ".jpg",
|
||||
"OutputQuality": 95,
|
||||
"OverrideForFaceImages": false,
|
||||
@ -147,6 +147,7 @@
|
||||
"256 x 256"
|
||||
],
|
||||
"SaveResizedImagesByPersonKeyFormattedForOutputResolutions": [],
|
||||
"SaveShortcutsForOutputResolutions": [],
|
||||
"ValidImageFormatExtensions": [
|
||||
".bmp",
|
||||
".BMP",
|
||||
|
@ -83,8 +83,8 @@
|
||||
"MaxItemsInDistanceCollection": 50,
|
||||
"ModelDirectory": "L:/GitHub/dlib-models",
|
||||
"ModelName": "Hog",
|
||||
"NumberOfJitters": 1,
|
||||
"NumberOfTimesToUpsample": 1,
|
||||
"NumberOfJitters": 0,
|
||||
"NumberOfTimesToUpsample": 0,
|
||||
"OutputExtension": ".jpg",
|
||||
"OutputQuality": 95,
|
||||
"OverrideForFaceImages": false,
|
||||
@ -139,6 +139,9 @@
|
||||
"SaveResizedImagesByPersonKeyFormattedForOutputResolutions": [
|
||||
"1920 x 1080"
|
||||
],
|
||||
"SaveShortcutsForOutputResolutions": [
|
||||
"1920 x 1080"
|
||||
],
|
||||
"ValidImageFormatExtensions": [
|
||||
".bmp",
|
||||
".BMP",
|
||||
|
@ -83,8 +83,8 @@
|
||||
"MaxItemsInDistanceCollection": 50,
|
||||
"ModelDirectory": "C:/GitHub/dlib-models",
|
||||
"ModelName": "Hog",
|
||||
"NumberOfJitters": 1,
|
||||
"NumberOfTimesToUpsample": 1,
|
||||
"NumberOfJitters": 0,
|
||||
"NumberOfTimesToUpsample": 0,
|
||||
"OutputExtension": ".jpg",
|
||||
"OutputQuality": 95,
|
||||
"OverrideForFaceImages": false,
|
||||
@ -148,6 +148,9 @@
|
||||
"SaveResizedImagesByPersonKeyFormattedForOutputResolutions": [
|
||||
"1920 x 1080"
|
||||
],
|
||||
"SaveShortcutsForOutputResolutions": [
|
||||
"1920 x 1080"
|
||||
],
|
||||
"ValidImageFormatExtensions": [
|
||||
".bmp",
|
||||
".BMP",
|
||||
|
Reference in New Issue
Block a user