Skip to content

Commit

Permalink
Minor issue that parameters are resolved as strings (#133)
Browse files Browse the repository at this point in the history
* Minor issue that parameters are resolved as strings

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* generate mde maskinputs chec if empty, related tests added and imports in tests

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Patrou, Maria <[email protected]>
  • Loading branch information
3 people authored May 20, 2024
1 parent cd93b17 commit 89e5acc
Show file tree
Hide file tree
Showing 3 changed files with 50 additions and 6 deletions.
15 changes: 9 additions & 6 deletions src/shiver/models/generate_dgs_mde.py
Original file line number Diff line number Diff line change
Expand Up @@ -237,15 +237,18 @@ def PyExec(self): # pylint: disable=too-many-branches
if mask_filename:
__mask = LoadNexusProcessed(Filename=mask_filename)
mask_btp_inputs = self.getPropertyValue("MaskInputs")
# check if the string is not empty
if mask_btp_inputs:
if not __mask:
__mask = LoadEventNexus(Filename=filename_nested_list[0][0], MetadataOnly=True)
btp_pars_list = json.loads(mask_btp_inputs.replace("'", '"'))
for pars in btp_pars_list:
MaskBTP(Workspace=__mask, **pars)
btp_pars_list = json.loads(mask_btp_inputs)
# check if the btp_pars_list has items
if len(btp_pars_list) > 0:
if not __mask:
__mask = LoadEventNexus(Filename=filename_nested_list[0][0], MetadataOnly=True)
for pars in btp_pars_list:
MaskBTP(Workspace=__mask, **pars)
cdsm_dict["MaskWorkspace"] = __mask

filter_bad_pulses_flag = self.getPropertyValue("ApplyFilterBadPulses")
filter_bad_pulses_flag = self.getProperty("ApplyFilterBadPulses").value
filter_threshold = None
if filter_bad_pulses_flag:
filter_threshold = self.getPropertyValue("BadPulsesThreshold")
Expand Down
2 changes: 2 additions & 0 deletions tests/models/test_generate_model.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
import time
import os
import pytest
import shiver.models.convert_dgs_to_single_mde # noqa: F401, E402 pylint: disable=unused-import, wrong-import-order
import shiver.models.generate_dgs_mde # noqa: F401, E402 pylint: disable=unused-import, wrong-import-order
from mantid.simpleapi import Load
from shiver.models.generate import (
GenerateModel,
Expand Down
39 changes: 39 additions & 0 deletions tests/models/test_generatemde.py
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,45 @@ def test_convert_dgs_to_single_mde_mask():
assert md1.getNEvents() == 415


def test_convert_dgs_to_single_mde_mask_empty():
"""Test for MaskInputs empty option ConvertDGSToSingleMDE"""

raw_data_folder = os.path.join(os.path.dirname(__file__), "../data/raw")

# custom mask
md1 = GenerateDGSMDE(
Filenames=os.path.join(raw_data_folder, "HYS_178921.nxs.h5"),
MaskInputs='[{"Bank": "1", "Tube": "1", "Pixel": "1"}]',
Ei=25.0,
T0=112.0,
TimeIndependentBackground="Default",
)

assert md1.getNEvents() == 24750

# implicit mask in the algorithm first and last 8 pixels in each tube
md2 = GenerateDGSMDE(
Filenames=os.path.join(raw_data_folder, "HYS_178921.nxs.h5"),
MaskInputs="[]",
Ei=25.0,
T0=112.0,
TimeIndependentBackground="Default",
)

assert md2.getNEvents() == 23682

# explicit mask in the algorithm first and last 8 pixels in each tube
md3 = GenerateDGSMDE(
Filenames=os.path.join(raw_data_folder, "HYS_178921.nxs.h5"),
MaskInputs='[{"Bank": "", "Tube": "", "Pixel": "1-8,121-128"}]',
Ei=25.0,
T0=112.0,
TimeIndependentBackground="Default",
)

assert md3.getNEvents() == md2.getNEvents()


def test_convert_dgs_to_single_mde_additional_dims():
"""Test for Additional Dimensions option ConvertDGSToSingleMDE"""

Expand Down

0 comments on commit 89e5acc

Please sign in to comment.