Files
nerfstudio/tests/nerf/test_renderers.py
T
2022-04-20 13:58:39 -07:00

36 lines
853 B
Python

"""
Test renderers
"""
import pytest
import torch
from mattport.nerf import renderers
def test_rgb_renderer():
"""Test RGB volumetric rendering"""
num_samples = 10
rgb = torch.ones((3, num_samples, 3))
densities = torch.ones((3, num_samples, 1))
deltas = torch.ones((3, num_samples))
rgb_renderer = renderers.RGBRenderer()
assert rgb_renderer.required_field_outputs is not None
out = rgb_renderer(rgb=rgb, density=densities, deltas=deltas)
assert torch.max(out.rgb) > 0.9
out = rgb_renderer(rgb=rgb * 0, density=densities, deltas=deltas)
assert torch.max(out.rgb) == pytest.approx(0)
out = rgb_renderer(rgb=rgb, density=densities * 0, deltas=deltas)
assert torch.max(out.rgb) == pytest.approx(0)
# TODO Tancik: Add more precise tests
if __name__ == "__main__":
test_rgb_renderer()