ManifoldPlus icon indicating copy to clipboard operation
ManifoldPlus copied to clipboard

Simplify from Manifold

Open unlugi opened this issue 5 years ago • 1 comments

Hi, thank you for the great library!

I would like to ask three questions:

  1. Do you have a simplification feature for ManifoldPlus; I have seen it on the original repo for Manifold?
  2. I am working with ShapeNet.v2. Can you recommend which depth value to use for the 13 categories from ShapeNet?
  3. Should I use Manifold or ManifoldPlus for ShapeNet?

Thanks a lot.

unlugi avatar Oct 18 '20 11:10 unlugi

Also using ManifoldPlus on shapenet as part of a SDF generation pipeline. Generally I see few artifacts at --depth 9, however there are still problems with complex objects like cars, usually when there are thinly connected parts, ManifoldPlus seems to fill in those regions.

For my purposes, I only need correctly oriented faces and distance is computed using the original mesh, so my tolerance for artifacts is higher.

Here is a snippet to batch process shapenet objects:

from tqdm import tqdm

def fixmesh(paths):
    input_path, output_path = paths
    try:
        completed = subprocess.run(["/home/aluo/Tools2/ManifoldPlus/build/manifold", "--input", input_path, "--output", output_path, "--depth", "9"], timeout=60, check=True, capture_output=True)
    except:
        print("{} failed to run",format(input_path))
        return False
    return True

#our_paths = list(zip(inputs, outputs))
Parallel(n_jobs=4)(delayed(fixmesh)(i) for i in tqdm(our_paths))

Edit: For shapenetv2 specifically, I have also tried outer hull algorithms, but these generally fail by causing thin structures to disappear. Mesh -> Voxel -> Mesh methods generally fail due to the non watertight nature of a lot of the meshes.

aluo-x avatar Jan 27 '21 02:01 aluo-x