Spaces:
Running
on
Zero
Running
on
Zero
import os | |
import numpy as np | |
from requests import Response | |
def list_dirs(root_dir): | |
dirs_to_return = [] | |
with os.scandir(root_dir) as entries: | |
for entry in entries: | |
if entry.is_dir(): | |
dirs_to_return.append(entry.name) | |
return dirs_to_return | |
def rotate_x(angle_degrees: int, c2w: np.ndarray) -> np.ndarray: | |
angle_radians = np.radians(angle_degrees) | |
rotation_matrix = np.array( | |
[ | |
[1, 0, 0, 0], | |
[0, np.cos(angle_radians), -np.sin(angle_radians), 0], | |
[0, np.sin(angle_radians), np.cos(angle_radians), 0], | |
[0, 0, 0, 1], | |
] | |
) | |
return c2w @ rotation_matrix | |
def rotate_y(angle_degrees: int, c2w: np.ndarray) -> np.ndarray: | |
angle_radians = np.radians(angle_degrees) | |
rotation_matrix = np.array( | |
[ | |
[np.cos(angle_radians), 0, np.sin(angle_radians), 0], | |
[0, 1, 0, 0], | |
[-np.sin(angle_radians), 0, np.cos(angle_radians), 0], | |
[0, 0, 0, 1], | |
] | |
) | |
return c2w @ rotation_matrix | |
def rotate_z(angle_degrees: int, c2w: np.ndarray) -> np.ndarray: | |
angle_radians = np.radians(angle_degrees) | |
rotation_matrix = np.array( | |
[ | |
[np.cos(angle_radians), -np.sin(angle_radians), 0, 0], | |
[np.sin(angle_radians), np.cos(angle_radians), 0, 0], | |
[0, 0, 1, 0], | |
[0, 0, 0, 1], | |
] | |
) | |
return c2w @ rotation_matrix | |
def get_status_code_and_reason(response: Response | None) -> str: | |
if response is None: | |
return "" | |
return f"{response.status_code} - {response.reason}" | |