in tensorflow_graphics/projects/cvxnet/lib/libmise/mise.pyx [0:0]
def to_dense(self):
"""Output dense matrix at highest resolution."""
out_array = np.full((self.resolution + 1,) * 3, np.nan)
cdef double[:, :, :] out_view = out_array
cdef GridPoint point
cdef int i, j, k
for point in self.grid_points:
# Take voxel for which points is upper left corner
# assert(point.known)
out_view[point.loc.x, point.loc.y, point.loc.z] = point.value
# Complete along x axis
for i in range(1, self.resolution + 1):
for j in range(self.resolution + 1):
for k in range(self.resolution + 1):
if isnan(out_view[i, j, k]):
out_view[i, j, k] = out_view[i-1, j, k]
# Complete along y axis
for i in range(self.resolution + 1):
for j in range(1, self.resolution + 1):
for k in range(self.resolution + 1):
if isnan(out_view[i, j, k]):
out_view[i, j, k] = out_view[i, j-1, k]
# Complete along z axis
for i in range(self.resolution + 1):
for j in range(self.resolution + 1):
for k in range(1, self.resolution + 1):
if isnan(out_view[i, j, k]):
out_view[i, j, k] = out_view[i, j, k-1]
assert(not isnan(out_view[i, j, k]))
return out_array