Spaces:
Running
on
Zero
Running
on
Zero
from typing import List, Tuple | |
import numpy as np | |
import PIL | |
import torch.nn.functional as F | |
from PIL import Image | |
def generate_dense_grid_points( | |
bbox_min: np.ndarray, bbox_max: np.ndarray, octree_depth: int, indexing: str = "ij" | |
): | |
length = bbox_max - bbox_min | |
num_cells = np.exp2(octree_depth) | |
x = np.linspace(bbox_min[0], bbox_max[0], int(num_cells) + 1, dtype=np.float32) | |
y = np.linspace(bbox_min[1], bbox_max[1], int(num_cells) + 1, dtype=np.float32) | |
z = np.linspace(bbox_min[2], bbox_max[2], int(num_cells) + 1, dtype=np.float32) | |
[xs, ys, zs] = np.meshgrid(x, y, z, indexing=indexing) | |
xyz = np.stack((xs, ys, zs), axis=-1) | |
xyz = xyz.reshape(-1, 3) | |
grid_size = [int(num_cells) + 1, int(num_cells) + 1, int(num_cells) + 1] | |
return xyz, grid_size, length | |