4
0
mirror of https://github.com/nerfstudio-project/nerfstudio.git synced 2026-11-11 18:44:21 +08:00

Merge pull request #5 from ethanweber/skeleton

Add skeleton
This commit is contained in:
Matthew Tancik 2022-04-05 14:00:57 -07:00 committed by GitHub
commit 387d817358
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 41 additions and 0 deletions

41
mattport/nerf/cameras.py Normal file
View File

@ -0,0 +1,41 @@
"""
Camera Models
"""
from dataclasses import dataclass
from torchtyping import TensorType
@dataclass
class Rays:
"""Camera rays. Can be arbitrary dimension"""
origin: TensorType[..., 3]
direction: TensorType[..., 3]
class Camera:
"""Base Camera. Intended to be subclassed"""
def __init__(self, height, width, camera_to_world) -> None:
self.height = height
self.width = width
self.camera_to_world = camera_to_world
def get_rays(self, coords: TensorType[..., 2]) -> Rays:
"""Encodes an input tensor.
Args:
coords (TensorType[..., 2]): Input tensor to be encoded
Returns:
TensorType[..., "output_dim"]: A encoded input tensor
"""
raise NotImplementedError
def get_all_rays(self) -> Rays:
"""Generate rays for entire camera
Returns:
Rays: Camera rays of shape [height, width]
"""
raise NotImplementedError

0
mattport/nerf/loss.py Normal file
View File

View File

0
mattport/nerf/sampler.py Normal file
View File

0
mattport/nerf/trainer.py Normal file
View File

View File

View File