From 25c8fc31a8a99d18c0b204b14495d1f20e030865 Mon Sep 17 00:00:00 2001 From: Matthew Tancik Date: Thu, 15 Sep 2022 19:03:19 -0700 Subject: [PATCH] Undistort cameras (#446) Apply camera undistortion --- nerfactory/cameras/cameras.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/nerfactory/cameras/cameras.py b/nerfactory/cameras/cameras.py index 3e537fc01..54398109e 100644 --- a/nerfactory/cameras/cameras.py +++ b/nerfactory/cameras/cameras.py @@ -26,6 +26,7 @@ import torchvision from torch.nn.functional import normalize from torchtyping import TensorType +from nerfactory.cameras import utils as camera_utils from nerfactory.cameras.rays import RayBundle @@ -187,13 +188,14 @@ class Cameras: distortion_params = None if self.distortion_params is not None: + distortion_params = self.distortion_params[camera_indices] if distortion_params_delta is not None: - distortion_params = self.distortion_params[camera_indices] + distortion_params_delta + distortion_params = distortion_params + distortion_params_delta elif distortion_params_delta is not None: distortion_params = distortion_params_delta if distortion_params is not None: - raise NotImplementedError("Camera distortion not implemented.") + coord_stack = camera_utils.radial_and_tangential_undistort(coord_stack, distortion_params) if self.camera_type == CameraType.PERSPECTIVE: directions_stack = torch.stack(