ess.sans.i_of_q.to_I_of_Q(data, data_monitors, direct_monitors, direct_beam, wavelength_bins, q_bins, gravity=False, monitor_non_background_range=None, wavelength_bands=None)

Compute the scattering cross-section I(Q) for a SANS experimental run, performing binning in Q and a normalization based on monitor data and a direct beam function.

The main steps of the workflow are:

  • Generate a coordinate transformation graph from tof to Q, that also includes wavelength.

  • Convert the detector data and monitors to wavelength.

  • Remove the background noise from the monitors and align them to a common binning axis.

  • Compute the transmission fraction from the monitor data.

  • Compute the solid angles of the detector pixels.

  • Resample the direct beam function to the same wavelength binning as the monitors.

  • Combine solid angle, direct beam, transmission fraction and incident monitor counts to compute the denominator for the normalization.

  • Convert the detector data to momentum vector Q.

  • Convert the denominator to momentum vector Q.

  • Normalize the detector data.

  • data (DataArray) – The DataArray containing the detector data. This can be both events or dense (histogrammed) data.

  • data_monitors (dict) – A dict containing the data array for the incident and transmission monitors for the measurement run

  • direct_monitors (dict) – A dict containing the data array for the incident and transmission monitors for the direct (empty sample holder) run.

  • direct_beam (DataArray) – The direct beam function of the instrument (histogrammed, depends on wavelength).

  • wavelength_bins (Variable) – The binning in the wavelength dimension to be used.

  • q_bins (Variable) – The binning in the Q dimension to be used.

  • gravity (bool, default: False) – Include the effects of gravity when computing the scattering angle if True.

  • monitor_non_background_range (Optional[Variable], default: None) – The range of wavelengths for the monitors that are considered to not be part of the background. This is used to compute the background level on each monitor, which then gets subtracted from each monitor’s counts.

  • wavelength_bands (Optional[Variable], default: None) – If defined, return the data as a set of bands in the wavelength dimension. This is useful for separating different wavelength ranges that contribute to different regions in Q space.

Return type