From c78b52893030ee03394fbff98b76921d2e62dab5 Mon Sep 17 00:00:00 2001 From: Abe Levitan Date: Wed, 19 Nov 2025 10:46:01 +0100 Subject: [PATCH] Change how the dataset mask is calculated, so that it only raises a divide by zero error if unmasked pixels have an issue. Add an option to ptycho_2d_dataset to plot the mask --- src/cdtools/datasets/ptycho_2d_dataset.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/cdtools/datasets/ptycho_2d_dataset.py b/src/cdtools/datasets/ptycho_2d_dataset.py index 3825d6de..adfe866e 100644 --- a/src/cdtools/datasets/ptycho_2d_dataset.py +++ b/src/cdtools/datasets/ptycho_2d_dataset.py @@ -220,7 +220,8 @@ def inspect( logarithmic=True, units='um', log_offset=1, - plot_mean_pattern=True + plot_mean_pattern=True, + plot_mask=False, ): """Launches an interactive plot for perusing the data @@ -241,7 +242,7 @@ def get_images(idx): mask = 1 if logarithmic: - return np.log(meas_data + log_offset) / np.log(10) * mask + return np.log10((meas_data * mask) + log_offset) else: return meas_data * mask @@ -268,6 +269,9 @@ def get_images(idx): if plot_mean_pattern: self.plot_mean_pattern(log_offset=log_offset) + + if plot_mask: + plotting.plot_real(self.mask, title='Dataset Mask') return plotting.plot_nanomap_with_images(self.translations.detach().cpu(), get_images, values=nanomap_values, nanomap_units=units, image_title='Diffraction Pattern', image_colorbar_title=cbar_title)