Skip to content

Commit

Permalink
Merge pull request #1777 from SasView/slicers-apply-mask
Browse files Browse the repository at this point in the history
Exclude masked data points from slicer calculations
  • Loading branch information
butlerpd committed Feb 3, 2021
2 parents 587c4c0 + e5cee34 commit 8a2e762
Showing 1 changed file with 16 additions and 0 deletions.
16 changes: 16 additions & 0 deletions src/sas/sascalc/dataloader/manipulations.py
Expand Up @@ -347,6 +347,7 @@ def _avg(self, data2D, maj):
err_data = data2D.err_data[np.isfinite(data2D.data)]
qx_data = data2D.qx_data[np.isfinite(data2D.data)]
qy_data = data2D.qy_data[np.isfinite(data2D.data)]
mask_data = data2D.mask[np.isfinite(data2D.data)]

# Build array of Q intervals
if maj == 'x':
Expand All @@ -371,6 +372,9 @@ def _avg(self, data2D, maj):

# Average pixelsize in q space
for npts in range(len(data)):
if not mask_data[npts]:
# ignore points that are masked
continue
# default frac
frac_x = 0
frac_y = 0
Expand Down Expand Up @@ -506,13 +510,17 @@ def _sum(self, data2D):
err_data = data2D.err_data[np.isfinite(data2D.data)]
qx_data = data2D.qx_data[np.isfinite(data2D.data)]
qy_data = data2D.qy_data[np.isfinite(data2D.data)]
mask_data = data2D.mask[np.isfinite(data2D.data)]

y = 0.0
err_y = 0.0
y_counts = 0.0

# Average pixelsize in q space
for npts in range(len(data)):
if not mask_data[npts]:
# ignore points that are masked
continue
# default frac
frac_x = 0
frac_y = 0
Expand Down Expand Up @@ -730,6 +738,7 @@ def __call__(self, data2D):
err_data = data2D.err_data[np.isfinite(data2D.data)]
qx_data = data2D.qx_data[np.isfinite(data2D.data)]
qy_data = data2D.qy_data[np.isfinite(data2D.data)]
mask_data = data2D.mask[np.isfinite(data2D.data)]

# Set space for 1d outputs
phi_bins = np.zeros(self.nbins_phi)
Expand All @@ -742,6 +751,9 @@ def __call__(self, data2D):
phi_shift = Pi / self.nbins_phi

for npt in range(len(data)):
if not mask_data[npt]:
# ignore points that are masked
continue
frac = 0
# q-value at the point (npt)
q_value = q_data[npt]
Expand Down Expand Up @@ -831,6 +843,7 @@ def _agv(self, data2D, run='phi'):
err_data = data2D.err_data[np.isfinite(data2D.data)]
qx_data = data2D.qx_data[np.isfinite(data2D.data)]
qy_data = data2D.qy_data[np.isfinite(data2D.data)]
mask_data = data2D.mask[np.isfinite(data2D.data)]

dq_data = None
if data2D.dqx_data is not None and data2D.dqy_data is not None:
Expand All @@ -854,6 +867,9 @@ def _agv(self, data2D, run='phi'):
binning = Binning(self.r_min, self.r_max, self.nbins, self.base)

for n in range(len(data)):
if not mask_data[n]:
# ignore points that are masked
continue

# q-value at the pixel (j,i)
q_value = q_data[n]
Expand Down

0 comments on commit 8a2e762

Please sign in to comment.