SaveSortingWithoutPerson
This commit is contained in:
@ -275,6 +275,7 @@ public partial class DlibDotNet
|
||||
configuration.PersonCharacters,
|
||||
configuration.RangeDaysDeltaTolerance,
|
||||
configuration.RangeDistanceTolerance,
|
||||
configuration.SaveSortingWithoutPerson,
|
||||
configuration.SortingMaximumPerKey,
|
||||
configuration.SortingMinimumToUseSigma,
|
||||
facesFileNameExtension,
|
||||
@ -756,7 +757,6 @@ public partial class DlibDotNet
|
||||
Item[] filteredItems;
|
||||
int confidencePercent;
|
||||
int normalizedRectangle;
|
||||
bool isIgnoreRelativePath;
|
||||
DateTime[] containerDateTimes;
|
||||
string deterministicHashCodeKey;
|
||||
MappingFromItem mappingFromItem;
|
||||
@ -772,7 +772,6 @@ public partial class DlibDotNet
|
||||
if (!filteredItems.Any())
|
||||
continue;
|
||||
containerDateTimes = Shared.Models.Stateless.Methods.IContainer.GetContainerDateTimes(filteredItems);
|
||||
isIgnoreRelativePath = _Configuration.IgnoreRelativePaths.Any(l => container.SourceDirectory.Contains(l)) && Shared.Models.Stateless.Methods.IContainer.IsIgnoreRelativePath(_Configuration.PropertyConfiguration, _Configuration.IgnoreRelativePaths, container.SourceDirectory);
|
||||
foreach (Item item in filteredItems)
|
||||
{
|
||||
if (item.Property?.Id is null || item.ResizedFileHolder is null)
|
||||
@ -887,14 +886,15 @@ public partial class DlibDotNet
|
||||
{
|
||||
mapLogic.UpdatedPersonKeyToRanges(_MapConfiguration, ticks, mappingCollection);
|
||||
MapLogicSupport.SetFaceDistances(_AppSettings.MaxDegreeOfParallelism, ticks, distinctFilteredFaces);
|
||||
List<Shared.Models.Face> distinctFurtherFilteredFaces = mapLogic.GetFurtherFilterBySkipCollection(distinctFilteredFaces);
|
||||
Dictionary<int, Dictionary<int, PersonContainer[]>> missingIdThenNormalizedRectangleToPersonContainers = mapLogic.GetMissing(idToNormalizedRectangleToMapping);
|
||||
List<FaceDistanceContainer> missingFaceDistanceContainers = _Distance.GetMissingFaceDistanceContainer(_AppSettings.MaxDegreeOfParallelism, ticks, dFacesCollectionDirectory, missingIdThenNormalizedRectangleToPersonContainers);
|
||||
sortingContainers = mapLogicSupport.SetFaceMappingSortingCollectionThenGetSortingContainers(_AppSettings.MaxDegreeOfParallelism, ticks, mapLogic, distinctFilteredFaces, missingFaceDistanceContainers, useFiltersCounter);
|
||||
sortingContainers = mapLogicSupport.SetFaceMappingSortingCollectionThenGetSortingContainers(_AppSettings.MaxDegreeOfParallelism, _MapConfiguration, ticks, mapLogic, distinctFurtherFilteredFaces, missingFaceDistanceContainers, useFiltersCounter);
|
||||
if (!sortingContainers.Any())
|
||||
{
|
||||
for (useFiltersCounter = 1; useFiltersCounter < 17; useFiltersCounter++)
|
||||
{
|
||||
sortingContainers = mapLogicSupport.SetFaceMappingSortingCollectionThenGetSortingContainers(_AppSettings.MaxDegreeOfParallelism, ticks, mapLogic, distinctFilteredFaces, missingFaceDistanceContainers, useFiltersCounter);
|
||||
sortingContainers = mapLogicSupport.SetFaceMappingSortingCollectionThenGetSortingContainers(_AppSettings.MaxDegreeOfParallelism, _MapConfiguration, ticks, mapLogic, distinctFurtherFilteredFaces, missingFaceDistanceContainers, useFiltersCounter);
|
||||
if (sortingContainers.Any())
|
||||
break;
|
||||
}
|
||||
@ -902,9 +902,8 @@ public partial class DlibDotNet
|
||||
MapLogicSupport.SaveFaceDistances(_Configuration.PropertyConfiguration, sortingContainers);
|
||||
if (totalNotMapped > 0)
|
||||
{
|
||||
bool saveNullPerson = !personKeyToCount.Any() || _Configuration.RangeDistanceTolerance[1] < (_Configuration.RangeDistanceTolerance[2] * .66);
|
||||
int updated = mapLogic.UpdateFromSortingContainers(sortingContainers, saveNullPerson);
|
||||
List<SaveContainer> saveContainers = mapLogic.GetSaveContainers(dFacesContentDirectory, d2FacePartsContentDirectory, mappingCollection, idToNormalizedRectangleToMapping, useFiltersCounter, saveNullPerson);
|
||||
int updated = mapLogic.UpdateFromSortingContainers(sortingContainers);
|
||||
List<SaveContainer> saveContainers = mapLogic.GetSaveContainers(dFacesContentDirectory, d2FacePartsContentDirectory, mappingCollection, idToNormalizedRectangleToMapping, useFiltersCounter, sortingContainers.Any());
|
||||
mapLogic.SaveContainers(totalNotMapped, updated, saveContainers);
|
||||
}
|
||||
}
|
||||
@ -1131,20 +1130,16 @@ public partial class DlibDotNet
|
||||
&& outputResolution == _Configuration.OutputResolutions[0]
|
||||
&& _Configuration.LoadOrCreateThenSaveDistanceResultsForOutputResolutions.Contains(outputResolution)
|
||||
&& _Exceptions.Count == 0)
|
||||
{
|
||||
if (!_Configuration.LoadOrCreateThenSaveImageFacesResultsForOutputResolutions.Any())
|
||||
break;
|
||||
MapLogic(argZero, ticks, containers, a2PeopleSingletonDirectory, dResultsFullGroupDirectory, d2ResultsFullGroupDirectory, fPhotoPrismContentDirectory, mapLogicSupport, mapLogic, outputResolution, distinctFilteredFaces, mappingCollection, totalNotMapped);
|
||||
if (_IsEnvironment.Development)
|
||||
continue;
|
||||
G2_Identify identify = new(_Configuration);
|
||||
List<G2_Identify> identifiedCollection = identify.GetIdentifiedCollection(_IsEnvironment, _Configuration.PropertyConfiguration, _Faces.FileNameExtension);
|
||||
identify.WriteAllText(_Configuration.PropertyConfiguration, _Configuration.OutputResolutions[0], identifiedCollection);
|
||||
if (_Configuration.LoadOrCreateThenSaveIndex)
|
||||
_Index.SetIndex(_Configuration.PropertyConfiguration, _Configuration.OutputResolutions[0]);
|
||||
}
|
||||
if (_Configuration.SaveRandomForOutputResolutions.Contains(outputResolution))
|
||||
_Random.Random(_Configuration.PropertyConfiguration, mapLogic, outputResolution, mappingCollection);
|
||||
if (_IsEnvironment.Development)
|
||||
continue;
|
||||
G2_Identify identify = new(_Configuration);
|
||||
List<G2_Identify> identifiedCollection = identify.GetIdentifiedCollection(_IsEnvironment, _Configuration.PropertyConfiguration, _Faces.FileNameExtension);
|
||||
identify.WriteAllText(_Configuration.PropertyConfiguration, _Configuration.OutputResolutions[0], identifiedCollection);
|
||||
if (_Configuration.LoadOrCreateThenSaveIndex)
|
||||
_Index.SetIndex(_Configuration.PropertyConfiguration, _Configuration.OutputResolutions[0]);
|
||||
if (!_IsEnvironment.Development)
|
||||
{
|
||||
_ = Shared.Models.Stateless.Methods.IPath.DeleteEmptyDirectories(Path.Combine(aResultsFullGroupDirectory, "{}"));
|
||||
|
@ -73,6 +73,7 @@ public class Configuration
|
||||
[Display(Name = "Save Random For Output Resolutions"), Required] public string[] SaveRandomForOutputResolutions { get; set; }
|
||||
[Display(Name = "Save Resized Subfiles"), Required] public bool? SaveResizedSubfiles { get; set; }
|
||||
[Display(Name = "Save Shortcuts"), Required] public string[] SaveShortcutsForOutputResolutions { get; set; }
|
||||
[Display(Name = "Save Sorting Without Person"), Required] public bool? SaveSortingWithoutPerson { get; set; }
|
||||
[Display(Name = "Skip Search"), Required] public bool? SkipSearch { get; set; }
|
||||
[Display(Name = "SortingMaximumPerFaceShould be High"), Required] public int? SortingMaximumPerFaceShouldBeHigh { get; set; }
|
||||
[Display(Name = "Sorting Maximum Per Key"), Required] public int? SortingMaximumPerKey { get; set; }
|
||||
@ -197,6 +198,8 @@ public class Configuration
|
||||
throw new NullReferenceException(nameof(configuration.SaveResizedSubfiles));
|
||||
configuration.SaveShortcutsForOutputResolutions ??= Array.Empty<string>();
|
||||
configuration.SaveShortcutsForOutputResolutions ??= Array.Empty<string>();
|
||||
if (configuration.SaveSortingWithoutPerson is null)
|
||||
throw new NullReferenceException(nameof(configuration.SaveSortingWithoutPerson));
|
||||
if (configuration.SkipSearch is null)
|
||||
throw new NullReferenceException(nameof(configuration.SkipSearch));
|
||||
if (configuration.SortingMaximumPerFaceShouldBeHigh is null)
|
||||
@ -271,6 +274,7 @@ public class Configuration
|
||||
configuration.SaveRandomForOutputResolutions,
|
||||
configuration.SaveResizedSubfiles.Value,
|
||||
configuration.SaveShortcutsForOutputResolutions,
|
||||
configuration.SaveSortingWithoutPerson.Value,
|
||||
configuration.SkipSearch.Value,
|
||||
configuration.SortingMaximumPerFaceShouldBeHigh.Value,
|
||||
configuration.SortingMaximumPerKey.Value,
|
||||
|
@ -69,6 +69,7 @@ public class Configuration
|
||||
public string[] SaveRandomForOutputResolutions { init; get; }
|
||||
public bool SaveResizedSubfiles { init; get; }
|
||||
public string[] SaveShortcutsForOutputResolutions { init; get; }
|
||||
public bool SaveSortingWithoutPerson { init; get; }
|
||||
public bool SkipSearch { init; get; }
|
||||
public int SortingMaximumPerFaceShouldBeHigh { init; get; }
|
||||
public int SortingMaximumPerKey { init; get; }
|
||||
@ -138,6 +139,7 @@ public class Configuration
|
||||
string[] saveRandomForOutputResolutions,
|
||||
bool saveResizedSubfiles,
|
||||
string[] saveShortcutsForOutputResolutions,
|
||||
bool saveSortingWithoutPerson,
|
||||
bool skipSearch,
|
||||
int sortingMaximumPerFaceShouldBeHigh,
|
||||
int sortingMaximumPerKey,
|
||||
@ -206,6 +208,7 @@ public class Configuration
|
||||
SaveResizedSubfiles = saveResizedSubfiles;
|
||||
SaveRandomForOutputResolutions = saveRandomForOutputResolutions;
|
||||
SaveShortcutsForOutputResolutions = saveShortcutsForOutputResolutions;
|
||||
SaveSortingWithoutPerson = saveSortingWithoutPerson;
|
||||
SkipSearch = skipSearch;
|
||||
SortingMaximumPerFaceShouldBeHigh = sortingMaximumPerFaceShouldBeHigh;
|
||||
SortingMaximumPerKey = sortingMaximumPerKey;
|
||||
|
@ -24,9 +24,10 @@
|
||||
"xxxxxxxxPersonCharactersToCopyTo": "+",
|
||||
"xRootDirectory": "D:/Tmp/phares/Pictures",
|
||||
"xxRootDirectory": "D:/Tmp/Phares/Compare/Corrupt",
|
||||
"RootDirectory": "D:/Tmp/Phares/Compare/Not-Copy-Copy-37c7b67",
|
||||
"xxxxRootDirectory": "D:/1) Images A/Images-37c7b67",
|
||||
"xxxRootDirectory": "D:/2) Images B/Not-Copy-Copy-37c7b67",
|
||||
"RootDirectory": "D:/1) Images A/Images-37c7b67",
|
||||
"xxxxxRootDirectory": "D:/1) Images A/Images-37c7b67/Facebook/=2022.3 Facebook",
|
||||
"SaveSortingWithoutPerson": true,
|
||||
"JLinks": [
|
||||
"Julie"
|
||||
],
|
||||
|
@ -106,6 +106,7 @@
|
||||
"RootDirectory": "D:/Images",
|
||||
"SaveFullYearOfRandomFiles": true,
|
||||
"SaveResizedSubFiles": true,
|
||||
"SaveSortingWithoutPerson": false,
|
||||
"SkipSearch": false,
|
||||
"SortingMaximumPerFaceShouldBeHigh": 3000,
|
||||
"SortingMaximumPerKey": 7,
|
||||
|
Reference in New Issue
Block a user