mirror of
https://github.com/nerfstudio-project/nerfstudio.git
synced 2026-11-11 10:34:29 +08:00
* Add D-NeRF temporal distortion and D-NeRF model This allows for temporal distortion to be enabled on a variety of models through config parameters, without an explicit model. Temporal distortion and MIP-NeRF are not currently jointly runnable but can be changed in the future. * Simplifying changes * Simplifying changes Co-authored-by: Matthew Tancik <tancik@berkeley.edu>
26 lines
773 B
Python
26 lines
773 B
Python
"""
|
|
Test if temporal distortions run properly
|
|
"""
|
|
import torch
|
|
|
|
from nerfstudio.field_components.temporal_distortions import DNeRFDistortion
|
|
|
|
|
|
def test_dnerf_distortion():
|
|
"""Test dnerf distortion"""
|
|
# pylint: disable=import-outside-toplevel
|
|
# pylint: disable=unused-import
|
|
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
|
|
distortion = DNeRFDistortion().to(device)
|
|
|
|
num_rays = 1024
|
|
num_samples = 256
|
|
positions = torch.rand((num_rays, num_samples, 3), dtype=torch.float32, device=device)
|
|
assert distortion.forward(positions, None) is None
|
|
times = torch.rand_like(positions[..., :1])
|
|
assert distortion.forward(positions, times).shape == positions.shape
|
|
|
|
|
|
if __name__ == "__main__":
|
|
test_dnerf_distortion()
|