ess.sans.normalization.iofq_denominator#

ess.sans.normalization.iofq_denominator(data, data_transmission_monitor, direct_incident_monitor, direct_transmission_monitor, direct_beam=None, signal_over_monitor_threshold=0.1)#

Compute the denominator term for the I(Q) normalization. This is basically: solid_angle * direct_beam * data_transmission_monitor * direct_incident_monitor / direct_transmission_monitor If the solid angle is not supplied, it is assumed to be 1. If the direct beam is not supplied, it is assumed to be 1.

Because the multiplication between the wavelength dependent terms (monitor counts) and the pixel dependent term (solid angle) consists of a broadcast operation which would introduce correlations, we strip the data of variances. It is the responsibility of the user to ensure that the variances are small enough that they can be ignored. See more details in Heybrock et al. (2023).

Parameters
  • data (DataArray) – The detector counts.

  • data_transmission_monitor (DataArray) – The transmission monitor counts from the measurement run (depends on wavelength).

  • direct_incident_monitor (DataArray) – The incident monitor counts from the direct run (depends on wavelength).

  • direct_transmission_monitor (DataArray) – The transmission monitor counts from the direct run (depends on wavelength).

  • direct_beam (Optional[DataArray], default: None) – The DataArray containing the direct beam function (depends on wavelength).

  • signal_over_monitor_threshold (float, default: 0.1) – The threshold for the ratio of detector counts to monitor counts above which an error is raised because it is not safe to drop the variances of the monitor.

Returns

DataArray – The denominator for the SANS I(Q) normalization.