Skip to content

Commit 02355ee

Browse files
committed
Convert events to float if necessary
1 parent 65e420e commit 02355ee

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

src/ess/reduce/nexus/workflow.py

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -591,17 +591,21 @@ def _add_variances(da: sc.DataArray) -> sc.DataArray:
591591
out = da.copy(deep=False)
592592
if out.bins is not None:
593593
content = out.bins.constituents['data']
594-
if content.variances is None:
595-
content.variances = content.values
594+
content.data = _assign_values_as_variances(content.data)
596595
elif out.variances is None:
597-
try:
598-
out.variances = out.values
599-
except sc.VariancesError:
600-
out = out.to(dtype=sc.DType.float64)
601-
out.variances = out.values
596+
out.data = _assign_values_as_variances(out.data)
602597
return out
603598

604599

600+
def _assign_values_as_variances(var: sc.Variable) -> sc.Variable:
601+
try:
602+
var.variances = var.values
603+
except sc.VariancesError:
604+
var = var.to(dtype=sc.DType.float64)
605+
var.variances = var.values
606+
return var
607+
608+
605609
def load_beamline_metadata_from_nexus(file_spec: NeXusFileSpec[SampleRun]) -> Beamline:
606610
"""Load beamline metadata from a sample NeXus file."""
607611
return nexus.load_metadata(file_spec.value, Beamline)

0 commit comments

Comments
 (0)