v_pos.to(level.device), t_pos_idx.to(level.device)
Browse files- tsr/models/isosurface.py +4 -4
tsr/models/isosurface.py
CHANGED
|
@@ -7,7 +7,7 @@ from torchmcubes import marching_cubes
|
|
| 7 |
|
| 8 |
|
| 9 |
class IsosurfaceHelper(nn.Module):
|
| 10 |
-
points_range: Tuple[float, float] = (
|
| 11 |
|
| 12 |
@property
|
| 13 |
def grid_vertices(self) -> torch.FloatTensor:
|
|
@@ -41,8 +41,8 @@ class MarchingCubeHelper(IsosurfaceHelper):
|
|
| 41 |
self,
|
| 42 |
level: torch.FloatTensor,
|
| 43 |
) -> Tuple[torch.FloatTensor, torch.LongTensor]:
|
| 44 |
-
level =
|
| 45 |
v_pos, t_pos_idx = self.mc_func(level.detach(), 0.0)
|
| 46 |
v_pos = v_pos[..., [2, 1, 0]]
|
| 47 |
-
v_pos = v_pos / (self.resolution - 1.0)
|
| 48 |
-
return v_pos, t_pos_idx
|
|
|
|
| 7 |
|
| 8 |
|
| 9 |
class IsosurfaceHelper(nn.Module):
|
| 10 |
+
points_range: Tuple[float, float] = (-1, 1)
|
| 11 |
|
| 12 |
@property
|
| 13 |
def grid_vertices(self) -> torch.FloatTensor:
|
|
|
|
| 41 |
self,
|
| 42 |
level: torch.FloatTensor,
|
| 43 |
) -> Tuple[torch.FloatTensor, torch.LongTensor]:
|
| 44 |
+
level = level.view(self.resolution, self.resolution, self.resolution)
|
| 45 |
v_pos, t_pos_idx = self.mc_func(level.detach(), 0.0)
|
| 46 |
v_pos = v_pos[..., [2, 1, 0]]
|
| 47 |
+
v_pos = v_pos * 2.0 / (self.resolution - 1.0) - 1.0
|
| 48 |
+
return v_pos.to(level.device), t_pos_idx.to(level.device)
|