pulsar image_size validation

Summary:
For a non-square image, the image_size in PointsRasterizationSettings is now (H,W) not (W,H). A part of pulsar's validation code wasn't updated for this.

The following now works.
```
H, W = 249, 125
image_size = (H, W)
camera = PerspectiveCameras(focal_length=1.0, image_size=(image_size,), in_ndc=True)
points_rasterizer = PointsRasterizer(cameras=camera, raster_settings=PointsRasterizationSettings(image_size=image_size, radius=0.0000001))
pulsar_renderer = PulsarPointsRenderer(rasterizer=points_rasterizer)
pulsar_renderer(Pointclouds(...), gamma = (0.1,), znear = (0.1,), zfar = (70,))
```

Reviewed By: nikhilaravi, classner

Differential Revision: D32316322

fbshipit-source-id: 8405a49acecb1c95d37ee368c3055868b797208a
This commit is contained in:
Jeremy Reizenstein 2021-11-17 15:16:32 -08:00 committed by Facebook GitHub Bot
parent a8cb7fa862
commit a0247ea6bd

View File

@ -143,41 +143,30 @@ class PulsarPointsRenderer(nn.Module):
"The camera type can not be changed after renderer initialization! " "The camera type can not be changed after renderer initialization! "
"Current camera orthogonal: %r. Original orthogonal: %r." "Current camera orthogonal: %r. Original orthogonal: %r."
) % (orthogonal_projection, self.renderer._renderer.orthogonal) ) % (orthogonal_projection, self.renderer._renderer.orthogonal)
if ( image_size = self.rasterizer.raster_settings.image_size
isinstance(self.rasterizer.raster_settings.image_size, tuple) if isinstance(image_size, tuple):
and self.rasterizer.raster_settings.image_size[0] expected_height, expected_width = image_size
!= self.renderer._renderer.width else:
) or ( expected_height = expected_width = image_size
not isinstance(self.rasterizer.raster_settings.image_size, tuple) if expected_width != self.renderer._renderer.width:
and self.rasterizer.raster_settings.image_size
!= self.renderer._renderer.width
):
raise ValueError( raise ValueError(
( (
"The rasterizer width and height can not be changed after renderer " "The rasterizer width can not be changed after renderer "
"initialization! Current width: %d. Original width: %d." "initialization! Current width: %s. Original width: %d."
) )
% ( % (
self.rasterizer.raster_settings.image_size, expected_width,
self.renderer._renderer.width, self.renderer._renderer.width,
) )
) )
if ( if expected_height != self.renderer._renderer.height:
isinstance(self.rasterizer.raster_settings.image_size, tuple)
and self.rasterizer.raster_settings.image_size[1]
!= self.renderer._renderer.height
) or (
not isinstance(self.rasterizer.raster_settings.image_size, tuple)
and self.rasterizer.raster_settings.image_size
!= self.renderer._renderer.height
):
raise ValueError( raise ValueError(
( (
"The rasterizer width and height can not be changed after renderer " "The rasterizer height can not be changed after renderer "
"initialization! Current height: %d. Original height: %d." "initialization! Current height: %s. Original height: %d."
) )
% ( % (
self.rasterizer.raster_settings.image_size, expected_height,
self.renderer._renderer.height, self.renderer._renderer.height,
) )
) )