Diffusers
Safetensors
zeyuren2002's picture
Add files using upload-large-folder tool
d547008 verified
import numpy as np
from evalmde.utils.common import uuid, pathlib_file
from evalmde.utils.image import imread_rgb
def get_intermediate_mesh_f(args):
if args.mesh_dir:
return args.mesh_dir / f'mesh_{uuid(12)}.glb'
return args.root / f'mesh_{uuid(12)}.glb'
def get_vis_root(args):
root = args.root
valid_triangle_name = 'none'
if args.valid_triangle_f:
valid_triangle_name = str((root / args.valid_triangle_f).resolve().relative_to(root.resolve()))
if args.filter_quad:
valid_triangle_name = valid_triangle_name + '--filter_quad'
return pathlib_file(root) / 'visualization' / valid_triangle_name[:-4] / str((root / args.depth_f).resolve().relative_to(root.resolve()))[:-4].replace('/', '_')
def get_crop_region(args):
if len(args.crop_region) == 0:
return []
elif len(args.crop_region) == 4:
return args.crop_region
else:
print(f'Warning: invalid length of crop region (expected 4), {args.crop_region=}. Using [] instead.')
return []
def get_mesh_vertex_col(args, img_shape):
'''
:param args:
:return: in [0, 1]
'''
if getattr(args, 'rgb_f', None):
rgb = imread_rgb(args.root / args.rgb_f).astype(np.float32) / 255
else:
rgb = .7 * np.ones(img_shape + (3,), dtype=np.float32)
print('no rgb, use gray')
return rgb
def get_valid_triangle(args, img_shape):
if getattr(args, 'valid_triangle_f', None):
ret = np.load(args.root / args.valid_triangle_f)['valid_triangle']
if args.filter_quad:
ret[..., 0] &= ret[..., 1]
ret[..., 1] &= ret[..., 0]
return ret
else:
return np.ones((img_shape[0] - 1, img_shape[1] - 1, 2), dtype=np.bool_)