ibex_bluesky_core.devices.simpledae.reducers
DAE data reduction strategies.
Members
Sum a set of user-specified spectra, then normalize by total good frames. |
|
Normalize a set of user-specified detector spectra by user-specified monitor spectra. |
|
Sum a set of user-specified spectra, then normalize by period good frames. |
|
Sum a set of user-specified spectra, then normalize by a scalar signal. |
|
Read and sum a number of spectra from the DAE. |
|
Sum a set of neutron spectra between the specified time of flight bounds. |
|
Sum a set of neutron spectra between the specified wavelength bounds. |
- class ibex_bluesky_core.devices.simpledae.reducers.GoodFramesNormalizer(prefix: str, detector_spectra: ~collections.abc.Sequence[int], sum_detector: ~typing.Callable[[~collections.abc.Collection[~ibex_bluesky_core.devices.dae.dae_spectra.DaeSpectra]], ~collections.abc.Awaitable[~scipp._scipp.core.Variable | ~scipp._scipp.core.DataArray]] = <function sum_spectra>)[source]
Bases:
ScalarNormalizer
Sum a set of user-specified spectra, then normalize by total good frames.
Init.
- Parameters:
prefix – the PV prefix of the instrument to get spectra from (e.g. IN:DEMO:)
detector_spectra – a sequence of spectra numbers (detectors) to sum.
sum_detector – takes spectra objects, reads from them, and returns a scipp scalar describing the detector intensity. Defaults to summing over the entire spectrum.
- class ibex_bluesky_core.devices.simpledae.reducers.MonitorNormalizer(prefix: str, detector_spectra: ~collections.abc.Sequence[int], monitor_spectra: ~collections.abc.Sequence[int], sum_detector: ~typing.Callable[[~collections.abc.Collection[~ibex_bluesky_core.devices.dae.dae_spectra.DaeSpectra]], ~collections.abc.Awaitable[~scipp._scipp.core.Variable | ~scipp._scipp.core.DataArray]] = <function sum_spectra>, sum_monitor: ~typing.Callable[[~collections.abc.Collection[~ibex_bluesky_core.devices.dae.dae_spectra.DaeSpectra]], ~collections.abc.Awaitable[~scipp._scipp.core.Variable | ~scipp._scipp.core.DataArray]] = <function sum_spectra>)[source]
Bases:
Reducer
,StandardReadable
Normalize a set of user-specified detector spectra by user-specified monitor spectra.
Init.
- Parameters:
prefix – the PV prefix of the instrument to get spectra from (e.g. IN:DEMO:)
detector_spectra – a sequence of spectra numbers (detectors) to sum.
monitor_spectra – a sequence of spectra number (monitors) to sum and normalize by.
sum_detector – takes spectra objects, reads from them, and returns a scipp scalar describing the detector intensity. Defaults to summing over the entire spectrum.
sum_monitor – takes spectra objects, reads from them, and returns a scipp scalar describing the monitor intensity. Defaults to summing over the entire spectrum.
Scipp scalars are described in further detail here: https://scipp.github.io/generated/functions/scipp.scalar.html
- class ibex_bluesky_core.devices.simpledae.reducers.PeriodGoodFramesNormalizer(prefix: str, detector_spectra: ~collections.abc.Sequence[int], sum_detector: ~typing.Callable[[~collections.abc.Collection[~ibex_bluesky_core.devices.dae.dae_spectra.DaeSpectra]], ~collections.abc.Awaitable[~scipp._scipp.core.Variable | ~scipp._scipp.core.DataArray]] = <function sum_spectra>)[source]
Bases:
ScalarNormalizer
Sum a set of user-specified spectra, then normalize by period good frames.
Init.
- Parameters:
prefix – the PV prefix of the instrument to get spectra from (e.g. IN:DEMO:)
detector_spectra – a sequence of spectra numbers (detectors) to sum.
sum_detector – takes spectra objects, reads from them, and returns a scipp scalar describing the detector intensity. Defaults to summing over the entire spectrum.
- class ibex_bluesky_core.devices.simpledae.reducers.ScalarNormalizer(prefix: str, detector_spectra: ~collections.abc.Sequence[int], sum_detector: ~typing.Callable[[~collections.abc.Collection[~ibex_bluesky_core.devices.dae.dae_spectra.DaeSpectra]], ~collections.abc.Awaitable[~scipp._scipp.core.Variable | ~scipp._scipp.core.DataArray]] = <function sum_spectra>)[source]
Bases:
Reducer
,StandardReadable
,ABC
Sum a set of user-specified spectra, then normalize by a scalar signal.
Init.
- Parameters:
prefix – the PV prefix of the instrument to get spectra from (e.g. IN:DEMO:)
detector_spectra – a sequence of spectra numbers (detectors) to sum.
sum_detector – takes spectra objects, reads from them, and returns a scipp scalar describing the detector intensity. Defaults to summing over the entire spectrum.
- additional_readable_signals(dae: SimpleDae) list[Device] [source]
Publish interesting signals derived or used by this reducer.
- async ibex_bluesky_core.devices.simpledae.reducers.sum_spectra(spectra: Collection[DaeSpectra]) Variable | DataArray [source]
Read and sum a number of spectra from the DAE.
Returns a scipp scalar, which has .value and .variance properties for accessing the sum and variance respectively of the summed counts.
More info on scipp scalars can be found here: https://scipp.github.io/generated/functions/scipp.scalar.html
- ibex_bluesky_core.devices.simpledae.reducers.tof_bounded_spectra(bounds: Variable) Callable[[Collection[DaeSpectra]], Awaitable[Variable | DataArray]] [source]
Sum a set of neutron spectra between the specified time of flight bounds.
- Parameters:
bounds – A scipp array of size 2, no variances, unit of us, where the second element must be larger than the first.
Returns a scipp scalar, which has .value and .variance properties for accessing the sum and variance respectively of the summed counts.
More info on scipp arrays and scalars can be found here: https://scipp.github.io/generated/functions/scipp.scalar.html
- ibex_bluesky_core.devices.simpledae.reducers.wavelength_bounded_spectra(bounds: Variable, total_flight_path_length: Variable) Callable[[Collection[DaeSpectra]], Awaitable[Variable | DataArray]] [source]
Sum a set of neutron spectra between the specified wavelength bounds.
- Parameters:
bounds – A scipp array of size 2 of wavelength bounds, in units of angstrom, where the second element must be larger than the first.
total_flight_path_length – A scipp scalar of Ltotal (total flight path length), the path length from neutron source to detector or monitor, in units of meters.
- Time of flight is converted to wavelength using scipp neutron’s library function
wavelength_from_tof, more info on which can be found here: https://scipp.github.io/scippneutron/generated/modules/scippneutron.conversion.tof.wavelength_from_tof.html
Returns a scipp scalar, which has .value and .variance properties for accessing the sum and variance respectively of the summed counts.