Merge pull request #2121 from alicevision/dev/bracketsSizeEquality

[nodes] HDR Fusion: Select group with largest bracket number in case of equality
This commit is contained in:
Loïc Vital 2023-07-20 12:47:35 +02:00 committed by GitHub
commit 24b60b3d42
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 23 additions and 3 deletions

View file

@ -265,6 +265,13 @@ Calibrate LDR to HDR response curve from samples.
if len(bracketSizes) == 0:
node.nbBrackets.value = 0
else:
bestTuple = bracketSizes.most_common(1)[0]
bestTuple = None
for tuple in bracketSizes.most_common():
if bestTuple is None or tuple[1] > bestTuple[1]:
bestTuple = tuple
elif tuple[1] == bestTuple[1]:
bestTuple = tuple if tuple[0] > bestTuple[0] else bestTuple
bestBracketSize = bestTuple[0]
bestCount = bestTuple[1]
node.nbBrackets.value = bestBracketSize

View file

@ -351,8 +351,15 @@ Merge LDR images into HDR images.
if len(bracketSizes) == 0:
node.nbBrackets.value = 0
else:
bestTuple = bracketSizes.most_common(1)[0]
bestTuple = None
for tuple in bracketSizes.most_common():
if bestTuple is None or tuple[1] > bestTuple[1]:
bestTuple = tuple
elif tuple[1] == bestTuple[1]:
bestTuple = tuple if tuple[0] > bestTuple[0] else bestTuple
bestBracketSize = bestTuple[0]
bestCount = bestTuple[1]
node.nbBrackets.value = bestBracketSize
def processChunk(self, chunk):

View file

@ -291,7 +291,13 @@ Sample pixels from Low range images for HDR creation.
if len(bracketSizes) == 0:
node.nbBrackets.value = 0
else:
bestTuple = bracketSizes.most_common(1)[0]
bestTuple = None
for tuple in bracketSizes.most_common():
if bestTuple is None or tuple[1] > bestTuple[1]:
bestTuple = tuple
elif tuple[1] == bestTuple[1]:
bestTuple = tuple if tuple[0] > bestTuple[0] else bestTuple
bestBracketSize = bestTuple[0]
bestCount = bestTuple[1]
node.outliersNb = len(inputs) - (bestBracketSize * bestCount) # Compute number of outliers