Meshroom/meshroom/nodes/aliceVision/PanoramaPostProcessing.py
2023-07-31 09:40:16 +02:00

106 lines
3.4 KiB
Python

__version__ = "2.0"
import json
import os
from meshroom.core import desc
class PanoramaPostProcessing(desc.CommandLineNode):
commandLine = 'aliceVision_panoramaPostProcessing {allParams}'
cpu = desc.Level.NORMAL
ram = desc.Level.INTENSIVE
category = 'Panorama HDR'
documentation = '''
Post process the panorama.
'''
inputs = [
desc.File(
name="inputPanorama",
label="Input Panorama",
description="Input panorama image.",
value="",
uid=[0],
),
desc.BoolParam(
name="fillHoles",
label="Fill Holes Algorithm",
description="Fill the non attributed pixels with push pull algorithm if set.",
value=False,
uid=[0],
),
desc.BoolParam(
name="exportLevels",
label="Export Downscaled Levels",
description="Export downscaled panorama levels.",
value=False,
uid=[0],
),
desc.IntParam(
name="previewSize",
label="Panorama Preview Width",
description="The width (in pixels) of the output panorama preview.",
value=1000,
range=(0, 5000, 100),
uid=[0]
),
desc.ChoiceParam(
name="outputColorSpace",
label="Output Color Space",
description="The color space of the output image.",
value="Linear",
values=["sRGB", "rec709", "Linear", "ACES2065-1", "ACEScg"],
exclusive=True,
uid=[0],
),
desc.ChoiceParam(
name="compressionMethod",
label="Compression Method",
description="Compression method for output EXR image.",
value="auto",
values=["none", "auto", "rle", "zip", "zips", "piz", "pxr24", "b44", "b44a", "dwaa", "dwab"],
exclusive=True,
uid=[0],
),
desc.IntParam(
name="compressionLevel",
label="Compression Level",
description="Level of compression for the output EXR image. The range depends on method used.\n"
"For zip/zips methods, values must be between 1 and 9.\n"
"A value of 0 will be ignored, default value for the selected method will be used.",
value=0,
range=(0, 500, 1),
uid=[0],
enabled=lambda node: node.compressionMethod.value in ["dwaa", "dwab", "zip", "zips"]
),
desc.ChoiceParam(
name="verboseLevel",
label="Verbose Level",
description="Verbosity level (fatal, error, warning, info, debug, trace).",
value="info",
values=["fatal", "error", "warning", "info", "debug", "trace"],
exclusive=True,
uid=[],
)
]
outputs = [
desc.File(
name="outputPanorama",
label="Output Panorama",
description="Generated panorama in EXR format.",
semantic="image",
value=desc.Node.internalFolder + "panorama.exr",
uid=[],
),
desc.File(
name="outputPanoramaPreview",
label="Output Panorama Preview",
description="Preview of the generated panorama in JPG format.",
semantic="image",
value=desc.Node.internalFolder + "panoramaPreview.jpg",
uid=[],
),
]