[nodes] Split360Images: custom dynamic node size for chunkable output

This commit is contained in:
Loïc Vital 2023-03-20 18:32:18 +01:00 committed by Fabien Castan
parent eb198fbfa5
commit db978d4dc3
2 changed files with 19 additions and 0 deletions

View file

@ -31,6 +31,7 @@ class DividedInputNodeSize(desc.DynamicNodeSize):
def __init__(self, param, divParam):
super(DividedInputNodeSize, self).__init__(param)
self._divParam = divParam
def computeSize(self, node):
s = super(DividedInputNodeSize, self).computeSize(node)
divParam = node.attribute(self._divParam)

View file

@ -2,8 +2,26 @@ __version__ = "3.0"
from meshroom.core import desc
class Split360InputNodeSize(desc.DynamicNodeSize):
'''
The Split360Images will increase the amount of views in the SfMData.
This class converts the number of input views into the number of split output views.
'''
def computeSize(self, node):
s = super(Split360InputNodeSize, self).computeSize(node)
factor = 0
mode = node.attribute('splitMode')
if mode.value == 'equirectangular':
factor = node.attribute('equirectangularGroup.equirectangularNbSplits').value
elif mode.value == 'dualfisheye':
factor = 2
return s * factor
class Split360Images(desc.AVCommandLineNode):
commandLine = 'aliceVision_split360Images {allParams}'
size = Split360InputNodeSize('input')
category = 'Utils'
documentation = "This node is used to extract multiple images from equirectangular or dualfisheye images."