mirror of
https://github.com/alicevision/Meshroom.git
synced 2025-05-18 19:46:26 +02:00
106 lines
3.4 KiB
Python
106 lines
3.4 KiB
Python
__version__ = "1.1"
|
|
|
|
from meshroom.core import desc
|
|
from meshroom.core.utils import VERBOSE_LEVEL
|
|
|
|
|
|
class MeshMasking(desc.AVCommandLineNode):
|
|
commandLine = 'aliceVision_meshMasking {allParams}'
|
|
category = 'Mesh Post-Processing'
|
|
documentation = '''
|
|
Decimate triangles based on image masks.
|
|
'''
|
|
|
|
inputs = [
|
|
desc.File(
|
|
name="input",
|
|
label="Dense SfMData",
|
|
description="Dense SfMData file.",
|
|
value="",
|
|
),
|
|
desc.File(
|
|
name="inputMesh",
|
|
label="Input Mesh",
|
|
description="Input mesh.",
|
|
value="",
|
|
),
|
|
desc.ChoiceParam(
|
|
name="outputMeshFileType",
|
|
label="Output Mesh Type",
|
|
description="File type of the output mesh.",
|
|
value="obj",
|
|
values=["obj", "gltf", "fbx", "stl"],
|
|
exclusive=True,
|
|
group="",
|
|
),
|
|
desc.ListAttribute(
|
|
elementDesc=desc.File(
|
|
name="masksFolder",
|
|
label="Masks Folder",
|
|
description="Folder containing some masks.",
|
|
value="",
|
|
),
|
|
name="masksFolders",
|
|
label="Masks Folders",
|
|
description="Use masks from specific folder(s). Filename should be the same or the image UID.",
|
|
),
|
|
desc.ChoiceParam(
|
|
name="maskExtension",
|
|
label="Mask Extension",
|
|
description="File extension for the masks to use.",
|
|
value="png",
|
|
values=["exr", "jpg", "png"],
|
|
exclusive=True,
|
|
),
|
|
desc.IntParam(
|
|
name="threshold",
|
|
label="Threshold",
|
|
description="The minimum number of visibilities to keep a vertex.",
|
|
value=1,
|
|
range=(1, 100, 1),
|
|
),
|
|
desc.BoolParam(
|
|
name="smoothBoundary",
|
|
label="Smooth Boundary",
|
|
description="Modify the triangles at the boundary to fit the masks.",
|
|
value=False,
|
|
),
|
|
desc.BoolParam(
|
|
name="invert",
|
|
label="Invert",
|
|
description="If ticked, the selected area is ignored.\n"
|
|
"If not, only the selected area is considered.",
|
|
value=False,
|
|
),
|
|
desc.BoolParam(
|
|
name="undistortMasks",
|
|
label="Undistort Masks",
|
|
description="Undistort the masks with the same parameters as the matching image.\n"
|
|
"Select it if the masks are drawn on the original images.",
|
|
value=False,
|
|
),
|
|
desc.BoolParam(
|
|
name="usePointsVisibilities",
|
|
label="Use Points visibilities",
|
|
description="Use the points visibilities from the meshing to filter triangles.\n"
|
|
"Example: when they are occluded, back-face, etc.",
|
|
value=False,
|
|
),
|
|
desc.ChoiceParam(
|
|
name="verboseLevel",
|
|
label="Verbose Level",
|
|
description="Verbosity level (fatal, error, warning, info, debug, trace).",
|
|
values=VERBOSE_LEVEL,
|
|
value="info",
|
|
exclusive=True,
|
|
),
|
|
]
|
|
|
|
outputs = [
|
|
desc.File(
|
|
name="outputMesh",
|
|
label="Mesh",
|
|
description="Output mesh file.",
|
|
value=desc.Node.internalFolder + "mesh.{outputMeshFileTypeValue}",
|
|
),
|
|
]
|