From 7178221438b167d30972a123cb2901092780c4ca Mon Sep 17 00:00:00 2001 From: bdrechsler Date: Thu, 4 Jun 2026 14:35:19 -0400 Subject: [PATCH 1/3] commented out subpixeling and fixed physical pixel sizes --- pinballrt/grids.py | 6 +++--- pinballrt/model.py | 11 +++++++---- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/pinballrt/grids.py b/pinballrt/grids.py index bff1807..8f3a4c2 100644 --- a/pinballrt/grids.py +++ b/pinballrt/grids.py @@ -1149,9 +1149,9 @@ def propagate_rays(self, ray_list: PhotonList, frequency, pixel_size): nrays = iray.size(0) while nrays > 0: - wp.launch(kernel=self.check_pixel_too_large, - dim=(nrays,), - inputs=[ray_list, pixel_size, (self.volume**(1./3)).to(torch.float32), iray]) + # wp.launch(kernel=self.check_pixel_too_large, + # dim=(nrays,), + # inputs=[ray_list, pixel_size, (self.volume**(1./3)).to(torch.float32), iray]) wp.launch(kernel=self.next_wall_distance, dim=(nrays,), diff --git a/pinballrt/model.py b/pinballrt/model.py index 4dd5df9..bb5d353 100644 --- a/pinballrt/model.py +++ b/pinballrt/model.py @@ -369,15 +369,18 @@ def make_image(self, npix=100, pixel_size=None, channels=None, rest_frequency=No #data_vars={ # "intensity": (["x", "y", "lam"], np.zeros((nx, ny, lam.size))),}, coords={ - "x": ("x", (np.arange(nx) - nx / 2)*pixel_size), - "y": ("y", (np.arange(ny) - ny / 2)*pixel_size), + "x": ("x", (np.arange(nx) - nx / 2)*pixel_size.to(u.arcsec)), + "y": ("y", (np.arange(ny) - ny / 2)*pixel_size.to(u.arcsec)), "lam": ("lam", lam), "nu": ("lam", (const.c / lam).to(u.GHz)),}, attrs={ "pixel_size": pixel_size,}) - new_x, new_y = xr.broadcast(image.x, image.y) - new_x, new_y = new_x.values.flatten(), new_y.values.flatten() + new_x_arcsec, new_y_arcsec = xr.broadcast(image.x, image.y) + new_x_arcsec, new_y_arcsec = new_x_arcsec.values.flatten() * u.arcsec, new_y_arcsec.values.flatten() * u.arcsec + # convert to physical units + new_x = (new_x_arcsec * distance).to(self.grid.distance_unit, equivalencies=u.dimensionless_angles()).value + new_y = (new_y_arcsec * distance).to(self.grid.distance_unit, equivalencies=u.dimensionless_angles()).value njobs = self.ncores From d1786126598bc9f9f5d5119e732d2b867e4577e5 Mon Sep 17 00:00:00 2001 From: bdrechsler Date: Thu, 4 Jun 2026 15:46:46 -0400 Subject: [PATCH 2/3] fixed vertical bars in images --- pinballrt/camera.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pinballrt/camera.py b/pinballrt/camera.py index 37f16c6..5153367 100644 --- a/pinballrt/camera.py +++ b/pinballrt/camera.py @@ -40,9 +40,9 @@ def emit_rays(self, x, y, nu, nx, ny, pixel_size): xflat, yflat = x.flatten(), y.flatten() intensity = np.zeros(xflat.shape+(nu.size,), dtype=np.float32) tau_intensity = np.zeros(xflat.shape+(nu.size,), dtype=float) - #image_ix, image_iy = np.meshgrid(np.arange(x.shape[0]), np.arange(x.shape[1])) - image_ix = (xflat / pixel_size + nx / 2).astype(np.int32) - image_iy = (yflat / pixel_size + ny / 2).astype(np.int32) + # image_ix, image_iy = np.meshgrid(np.arange(x.shape[0]), np.arange(x.shape[1])) + image_ix = np.rint(xflat / pixel_size + nx / 2).astype(np.int32) + image_iy = np.rint(yflat / pixel_size + ny / 2).astype(np.int32) pixel_too_large = np.zeros(xflat.shape).astype(bool) From 9aea699fdcf7732fe515bf394b08d55fe942ffa1 Mon Sep 17 00:00:00 2001 From: bdrechsler Date: Mon, 8 Jun 2026 13:07:32 -0400 Subject: [PATCH 3/3] Put subpixeling back in --- pinballrt/grids.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pinballrt/grids.py b/pinballrt/grids.py index 8f3a4c2..bff1807 100644 --- a/pinballrt/grids.py +++ b/pinballrt/grids.py @@ -1149,9 +1149,9 @@ def propagate_rays(self, ray_list: PhotonList, frequency, pixel_size): nrays = iray.size(0) while nrays > 0: - # wp.launch(kernel=self.check_pixel_too_large, - # dim=(nrays,), - # inputs=[ray_list, pixel_size, (self.volume**(1./3)).to(torch.float32), iray]) + wp.launch(kernel=self.check_pixel_too_large, + dim=(nrays,), + inputs=[ray_list, pixel_size, (self.volume**(1./3)).to(torch.float32), iray]) wp.launch(kernel=self.next_wall_distance, dim=(nrays,),