Source code for blissoda.tests.test_fluo

import sys

import pytest

from ..fluo.parameters.offline import fluoxas_parameters
from ..fluo.parameters.offline import mosaic_fluoxas_parameters
from ..fluo.parameters.offline import mosaic_xrfmap_parameters
from ..fluo.parameters.offline import xrfmap_parameters


[docs] @pytest.mark.skipif( sys.platform == "win32", reason="Skipping fluo path tests on windows" ) def test_xrfmap_single_detector(): workflow_path, inputs, convert_destination = xrfmap_parameters( session="/data/visitor/blc16198/id16b/20250527", sample="test", dataset="9147_136783", scan_number=30, config_filenames=["fit.cfg"], detectors=[8], instrument_name="test", demo=False, ) eworkflow_path = "/data/visitor/blc16198/id16b/20250527/SCRIPTS/ewoks_results/workflows/xrfmap_single_detector.json" econvert_destination = "/data/visitor/blc16198/id16b/20250527/PROCESSED_DATA/ewoks_results/test_9147_136783_scan0030.json" einputs = [ { "name": "filename", "value": "/data/visitor/blc16198/id16b/20250527/RAW_DATA/test/test_9147_136783/test_9147_136783.h5", "task_identifier": "PickScan", }, {"name": "scan_number", "value": 30, "task_identifier": "PickScan"}, { "name": "output_root_uri", "value": "/data/visitor/blc16198/id16b/20250527/PROCESSED_DATA/ewoks_results/test_9147_136783.h5::/30.1", "task_identifier": "FitSingleScanSingleDetector", }, { "name": "config", "value": "/data/visitor/blc16198/id16b/20250527/SCRIPTS/pymca/fit.cfg", "task_identifier": "FitSingleScanSingleDetector", }, { "name": "fast_fitting", "value": True, "task_identifier": "FitSingleScanSingleDetector", }, { "name": "quantification", "value": True, "task_identifier": "FitSingleScanSingleDetector", }, { "name": "diagnostics", "value": True, "task_identifier": "FitSingleScanSingleDetector", }, { "name": "detector_name", "value": "fx_test_det8", "task_identifier": "FitSingleScanSingleDetector", }, { "name": "energy_name", "value": "Etest", "task_identifier": "FitSingleScanSingleDetector", }, { "name": "energy_multiplier", "value": None, "task_identifier": "FitSingleScanSingleDetector", }, { "name": "counter_name", "value": "testI0", "task_identifier": "NormalizeXrfResults", }, { "name": "counter_normalization_template", "value": "np.nanmean(<instrument/{}/data>)/<instrument/{}/data>", "task_identifier": "NormalizeXrfResults", }, { "name": "detector_normalization_template", "value": "0.1/<instrument/{}/live_time>", "task_identifier": "NormalizeXrfResults", }, { "name": "axes_units", "value": {"testx": "mm", "testy": "mm", "testpx": "um", "testpy": "um"}, "task_identifier": "RegridXrfResults", }, { "name": "positioners", "value": None, "task_identifier": "RegridXrfResults", }, { "name": "ignore_positioners", "value": ["testignore1", "testignore2"], "task_identifier": "RegridXrfResults", }, {"name": "resolution", "value": None, "task_identifier": "RegridXrfResults"}, ] assert workflow_path == eworkflow_path assert convert_destination == econvert_destination assert inputs == einputs
[docs] @pytest.mark.skipif( sys.platform == "win32", reason="Skipping fluo path tests on windows" ) def test_xrfmap_sum_spectra(): workflow_path, inputs, convert_destination = xrfmap_parameters( session="/data/visitor/ls3288/id21/20240221", sample="DIV15_10uM_2", dataset="roi75698_90925", scan_number=1, config_filenames=["sample_10200ev_sheldon.cfg"], detectors=[0, 1, 2, 3, 4], instrument_name="test", demo=False, ) eworkflow_path = "/data/visitor/ls3288/id21/20240221/SCRIPTS/ewoks_results/workflows/xrfmap_multi_detector_sumspectra.json" econvert_destination = "/data/visitor/ls3288/id21/20240221/PROCESSED_DATA/ewoks_results/DIV15_10uM_2_roi75698_90925_scan0001.json" einputs = [ { "name": "filename", "value": "/data/visitor/ls3288/id21/20240221/RAW_DATA/DIV15_10uM_2/DIV15_10uM_2_roi75698_90925/DIV15_10uM_2_roi75698_90925.h5", "task_identifier": "PickScan", }, {"name": "scan_number", "value": 1, "task_identifier": "PickScan"}, { "name": "detector_names", "value": [ "fx_test_det0", "fx_test_det1", "fx_test_det2", "fx_test_det3", "fx_test_det4", ], "task_identifier": "SumXrfSpectra", }, { "name": "output_root_uri", "value": "/data/visitor/ls3288/id21/20240221/PROCESSED_DATA/ewoks_results/DIV15_10uM_2_roi75698_90925.h5::/1.1", "task_identifier": "SumXrfSpectra", }, { "name": "detector_normalization_template", "value": "0.1/<instrument/{}/live_time>", "task_identifier": "SumXrfSpectra", }, { "name": "config", "value": "/data/visitor/ls3288/id21/20240221/SCRIPTS/pymca/sample_10200ev_sheldon.cfg", "task_identifier": "FitSingleScanSingleDetector", }, { "name": "fast_fitting", "value": True, "task_identifier": "FitSingleScanSingleDetector", }, { "name": "quantification", "value": True, "task_identifier": "FitSingleScanSingleDetector", }, { "name": "diagnostics", "value": True, "task_identifier": "FitSingleScanSingleDetector", }, { "name": "energy_name", "value": "Etest", "task_identifier": "FitSingleScanSingleDetector", }, { "name": "energy_multiplier", "value": None, "task_identifier": "FitSingleScanSingleDetector", }, { "name": "counter_name", "value": "testI0", "task_identifier": "NormalizeXrfResults", }, { "name": "counter_normalization_template", "value": "np.nanmean(<instrument/{}/data>)/<instrument/{}/data>", "task_identifier": "NormalizeXrfResults", }, { "name": "axes_units", "value": {"testx": "mm", "testy": "mm", "testpx": "um", "testpy": "um"}, "task_identifier": "RegridXrfResults", }, { "name": "positioners", "value": None, "task_identifier": "RegridXrfResults", }, { "name": "ignore_positioners", "value": ["testignore1", "testignore2"], "task_identifier": "RegridXrfResults", }, {"name": "resolution", "value": None, "task_identifier": "RegridXrfResults"}, ] assert workflow_path == eworkflow_path assert convert_destination == econvert_destination assert inputs == einputs
[docs] @pytest.mark.skipif( sys.platform == "win32", reason="Skipping fluo path tests on windows" ) def test_xrfmap_sum_results(): workflow_path, inputs, convert_destination = xrfmap_parameters( session="/data/visitor/ls3288/id21/20240221", sample="DIV15_10uM_2", dataset="roi75698_90925", scan_number=1, config_filenames=[ "sample_10200ev_sheldon.cfg", "sample_10200ev_sheldon.cfg", "sample_10200ev_sheldon.cfg", "sample_10200ev_sheldon.cfg", "sample_10200ev_sheldon.cfg", ], detectors=[0, 1, 2, 3, 4], instrument_name="test", demo=False, ) eworkflow_path = "/data/visitor/ls3288/id21/20240221/SCRIPTS/ewoks_results/workflows/xrfmap_multi_detector.json" econvert_destination = "/data/visitor/ls3288/id21/20240221/PROCESSED_DATA/ewoks_results/DIV15_10uM_2_roi75698_90925_scan0001.json" einputs = [ { "name": "filename", "value": "/data/visitor/ls3288/id21/20240221/RAW_DATA/DIV15_10uM_2/DIV15_10uM_2_roi75698_90925/DIV15_10uM_2_roi75698_90925.h5", "task_identifier": "PickScan", }, {"name": "scan_number", "value": 1, "task_identifier": "PickScan"}, { "name": "output_root_uri", "value": "/data/visitor/ls3288/id21/20240221/PROCESSED_DATA/ewoks_results/DIV15_10uM_2_roi75698_90925.h5::/1.1", "task_identifier": "FitSingleScanMultiDetector", }, { "name": "configs", "value": [ "/data/visitor/ls3288/id21/20240221/SCRIPTS/pymca/sample_10200ev_sheldon.cfg", "/data/visitor/ls3288/id21/20240221/SCRIPTS/pymca/sample_10200ev_sheldon.cfg", "/data/visitor/ls3288/id21/20240221/SCRIPTS/pymca/sample_10200ev_sheldon.cfg", "/data/visitor/ls3288/id21/20240221/SCRIPTS/pymca/sample_10200ev_sheldon.cfg", "/data/visitor/ls3288/id21/20240221/SCRIPTS/pymca/sample_10200ev_sheldon.cfg", ], "task_identifier": "FitSingleScanMultiDetector", }, { "name": "fast_fitting", "value": True, "task_identifier": "FitSingleScanMultiDetector", }, { "name": "quantification", "value": True, "task_identifier": "FitSingleScanMultiDetector", }, { "name": "diagnostics", "value": True, "task_identifier": "FitSingleScanMultiDetector", }, { "name": "detector_names", "value": [ "fx_test_det0", "fx_test_det1", "fx_test_det2", "fx_test_det3", "fx_test_det4", ], "task_identifier": "FitSingleScanMultiDetector", }, { "name": "energy_name", "value": "Etest", "task_identifier": "FitSingleScanMultiDetector", }, { "name": "energy_multiplier", "value": None, "task_identifier": "FitSingleScanMultiDetector", }, { "name": "detector_normalization_template", "value": "0.1/<instrument/{}/live_time>", "task_identifier": "SumXrfResults", }, { "name": "counter_name", "value": "testI0", "task_identifier": "NormalizeXrfResults", }, { "name": "counter_normalization_template", "value": "np.nanmean(<instrument/{}/data>)/<instrument/{}/data>", "task_identifier": "NormalizeXrfResults", }, { "name": "axes_units", "value": {"testx": "mm", "testy": "mm", "testpx": "um", "testpy": "um"}, "task_identifier": "RegridXrfResults", }, { "name": "positioners", "value": None, "task_identifier": "RegridXrfResults", }, { "name": "ignore_positioners", "value": ["testignore1", "testignore2"], "task_identifier": "RegridXrfResults", }, {"name": "resolution", "value": None, "task_identifier": "RegridXrfResults"}, ] assert workflow_path == eworkflow_path assert convert_destination == econvert_destination assert inputs == einputs
[docs] @pytest.mark.skipif( sys.platform == "win32", reason="Skipping fluo path tests on windows" ) def test_mosaic_xrfmap_single_detector(): workflow_path, inputs, convert_destination = mosaic_xrfmap_parameters( session="/data/visitor/blc15972/id21/20250128", sample="Cd250", datasets=["roi106394_124471", "roi106393_124470"], scan_ranges=[(1, 1), (1, 1)], config_filenames=["config_9800ev.cfg"], detectors=[0], instrument_name="test", resolution={"testvy": (1, "um"), "testvz": (1, "um")}, demo=False, ) eworkflow_path = "/data/visitor/blc15972/id21/20250128/SCRIPTS/ewoks_results/workflows/mosaic_single_detector.json" econvert_destination = "/data/visitor/blc15972/id21/20250128/PROCESSED_DATA/ewoks_results/Cd250_roi106394_124471_scan0001.json" einputs = [ { "name": "filenames", "value": [ "/data/visitor/blc15972/id21/20250128/RAW_DATA/Cd250/Cd250_roi106394_124471/Cd250_roi106394_124471.h5", "/data/visitor/blc15972/id21/20250128/RAW_DATA/Cd250/Cd250_roi106393_124470/Cd250_roi106393_124470.h5", ], "task_identifier": "PickScans", }, { "name": "scan_ranges", "value": [(1, 1), (1, 1)], "task_identifier": "PickScans", }, {"name": "exclude_scans", "value": [[], []], "task_identifier": "PickScans"}, { "name": "bliss_scan_uri", "value": "/data/visitor/blc15972/id21/20250128/PROCESSED_DATA/ewoks_results/Cd250_roi106394_124471_concat.h5::/1.1", "task_identifier": "ConcatBliss", }, { "name": "output_root_uri", "value": "/data/visitor/blc15972/id21/20250128/PROCESSED_DATA/ewoks_results/Cd250_roi106394_124471_results.h5::/1.1", "task_identifier": "FitSingleScanSingleDetector", }, { "name": "config", "value": "/data/visitor/blc15972/id21/20250128/SCRIPTS/pymca/config_9800ev.cfg", "task_identifier": "FitSingleScanSingleDetector", }, { "name": "fast_fitting", "value": True, "task_identifier": "FitSingleScanSingleDetector", }, { "name": "quantification", "value": True, "task_identifier": "FitSingleScanSingleDetector", }, { "name": "diagnostics", "value": True, "task_identifier": "FitSingleScanSingleDetector", }, { "name": "detector_name", "value": "fx_test_det0", "task_identifier": "FitSingleScanSingleDetector", }, { "name": "energy_name", "value": "Etest", "task_identifier": "FitSingleScanSingleDetector", }, { "name": "energy_multiplier", "value": None, "task_identifier": "FitSingleScanSingleDetector", }, { "name": "counter_name", "value": "testI0", "task_identifier": "NormalizeXrfResults", }, { "name": "counter_normalization_template", "value": "np.nanmean(<instrument/{}/data>)/<instrument/{}/data>", "task_identifier": "NormalizeXrfResults", }, { "name": "detector_normalization_template", "value": "0.1/<instrument/{}/live_time>", "task_identifier": "NormalizeXrfResults", }, { "name": "axes_units", "value": {"testx": "mm", "testy": "mm", "testpx": "um", "testpy": "um"}, "task_identifier": "ConcatBliss", }, { "name": "virtual_axes", "value": {"testvy": "<testy>+<testpy>", "testvz": "<testz>+<testpz>"}, "task_identifier": "ConcatBliss", }, { "name": "positioners", "value": ["testvz", "testvy"], "task_identifier": "RegridXrfResults", }, { "name": "resolution", "value": {"testvy": (1, "um"), "testvz": (1, "um")}, "task_identifier": "RegridXrfResults", }, ] assert workflow_path == eworkflow_path assert convert_destination == econvert_destination assert inputs == einputs
[docs] @pytest.mark.skipif( sys.platform == "win32", reason="Skipping fluo path tests on windows" ) def test_mosaic_xrfmap_sum_results(): workflow_path, inputs, convert_destination = mosaic_xrfmap_parameters( session="/data/visitor/blc15972/id21/20250128", sample="Cd250", datasets=["roi106394_124471", "roi106393_124470"], scan_ranges=[(1, 1), (1, 1)], config_filenames=["config_9800ev.cfg", "config_9800ev.cfg"], detectors=[0, 1], instrument_name="test", resolution={"testvy": (1, "um"), "testvz": (1, "um")}, demo=False, ) eworkflow_path = "/data/visitor/blc15972/id21/20250128/SCRIPTS/ewoks_results/workflows/mosaic_multi_detector.json" econvert_destination = "/data/visitor/blc15972/id21/20250128/PROCESSED_DATA/ewoks_results/Cd250_roi106394_124471_scan0001.json" einputs = [ { "name": "filenames", "value": [ "/data/visitor/blc15972/id21/20250128/RAW_DATA/Cd250/Cd250_roi106394_124471/Cd250_roi106394_124471.h5", "/data/visitor/blc15972/id21/20250128/RAW_DATA/Cd250/Cd250_roi106393_124470/Cd250_roi106393_124470.h5", ], "task_identifier": "PickScans", }, { "name": "scan_ranges", "value": [(1, 1), (1, 1)], "task_identifier": "PickScans", }, {"name": "exclude_scans", "value": [[], []], "task_identifier": "PickScans"}, { "name": "bliss_scan_uri", "value": "/data/visitor/blc15972/id21/20250128/PROCESSED_DATA/ewoks_results/Cd250_roi106394_124471_concat.h5::/1.1", "task_identifier": "ConcatBliss", }, { "name": "output_root_uri", "value": "/data/visitor/blc15972/id21/20250128/PROCESSED_DATA/ewoks_results/Cd250_roi106394_124471_results.h5::/1.1", "task_identifier": "FitSingleScanMultiDetector", }, { "name": "configs", "value": [ "/data/visitor/blc15972/id21/20250128/SCRIPTS/pymca/config_9800ev.cfg", "/data/visitor/blc15972/id21/20250128/SCRIPTS/pymca/config_9800ev.cfg", ], "task_identifier": "FitSingleScanMultiDetector", }, { "name": "fast_fitting", "value": True, "task_identifier": "FitSingleScanMultiDetector", }, { "name": "quantification", "value": True, "task_identifier": "FitSingleScanMultiDetector", }, { "name": "diagnostics", "value": True, "task_identifier": "FitSingleScanMultiDetector", }, { "name": "detector_names", "value": ["fx_test_det0", "fx_test_det1"], "task_identifier": "FitSingleScanMultiDetector", }, { "name": "energy_name", "value": "Etest", "task_identifier": "FitSingleScanMultiDetector", }, { "name": "energy_multiplier", "value": None, "task_identifier": "FitSingleScanMultiDetector", }, { "name": "detector_normalization_template", "value": "0.1/<instrument/{}/live_time>", "task_identifier": "SumXrfResults", }, { "name": "counter_name", "value": "testI0", "task_identifier": "NormalizeXrfResults", }, { "name": "counter_normalization_template", "value": "np.nanmean(<instrument/{}/data>)/<instrument/{}/data>", "task_identifier": "NormalizeXrfResults", }, { "name": "axes_units", "value": {"testx": "mm", "testy": "mm", "testpx": "um", "testpy": "um"}, "task_identifier": "ConcatBliss", }, { "name": "virtual_axes", "value": {"testvy": "<testy>+<testpy>", "testvz": "<testz>+<testpz>"}, "task_identifier": "ConcatBliss", }, { "name": "positioners", "value": ["testvz", "testvy"], "task_identifier": "RegridXrfResults", }, { "name": "resolution", "value": {"testvy": (1, "um"), "testvz": (1, "um")}, "task_identifier": "RegridXrfResults", }, ] assert workflow_path == eworkflow_path assert convert_destination == econvert_destination assert inputs == einputs
[docs] @pytest.mark.skipif( sys.platform == "win32", reason="Skipping fluo path tests on windows" ) def test_mosaic_xrfmap_sum_spectra(): workflow_path, inputs, convert_destination = mosaic_xrfmap_parameters( session="/data/visitor/blc15972/id21/20250128", sample="Cd250", datasets=["roi106394_124471", "roi106393_124470"], scan_ranges=[(1, 1), (1, 1)], config_filenames=["config_9800ev.cfg"], detectors=[0, 1], instrument_name="test", resolution={"testvy": (1, "um"), "testvz": (1, "um")}, demo=False, ) eworkflow_path = "/data/visitor/blc15972/id21/20250128/SCRIPTS/ewoks_results/workflows/mosaic_multi_detector_sumspectra.json" econvert_destination = "/data/visitor/blc15972/id21/20250128/PROCESSED_DATA/ewoks_results/Cd250_roi106394_124471_scan0001.json" einputs = [ { "name": "filenames", "value": [ "/data/visitor/blc15972/id21/20250128/RAW_DATA/Cd250/Cd250_roi106394_124471/Cd250_roi106394_124471.h5", "/data/visitor/blc15972/id21/20250128/RAW_DATA/Cd250/Cd250_roi106393_124470/Cd250_roi106393_124470.h5", ], "task_identifier": "PickScans", }, { "name": "scan_ranges", "value": [(1, 1), (1, 1)], "task_identifier": "PickScans", }, {"name": "exclude_scans", "value": [[], []], "task_identifier": "PickScans"}, { "name": "bliss_scan_uri", "value": "/data/visitor/blc15972/id21/20250128/PROCESSED_DATA/ewoks_results/Cd250_roi106394_124471_concat.h5::/1.1", "task_identifier": "ConcatBliss", }, { "name": "output_root_uri", "value": "/data/visitor/blc15972/id21/20250128/PROCESSED_DATA/ewoks_results/Cd250_roi106394_124471_results.h5::/1.1", "task_identifier": "SumXrfSpectra", }, { "name": "detector_names", "value": ["fx_test_det0", "fx_test_det1"], "task_identifier": "SumXrfSpectra", }, { "name": "detector_normalization_template", "value": "0.1/<instrument/{}/live_time>", "task_identifier": "SumXrfSpectra", }, { "name": "config", "value": "/data/visitor/blc15972/id21/20250128/SCRIPTS/pymca/config_9800ev.cfg", "task_identifier": "FitSingleScanSingleDetector", }, { "name": "fast_fitting", "value": True, "task_identifier": "FitSingleScanSingleDetector", }, { "name": "quantification", "value": True, "task_identifier": "FitSingleScanSingleDetector", }, { "name": "diagnostics", "value": True, "task_identifier": "FitSingleScanSingleDetector", }, { "name": "energy_name", "value": "Etest", "task_identifier": "FitSingleScanSingleDetector", }, { "name": "energy_multiplier", "value": None, "task_identifier": "FitSingleScanSingleDetector", }, { "name": "counter_name", "value": "testI0", "task_identifier": "NormalizeXrfResults", }, { "name": "counter_normalization_template", "value": "np.nanmean(<instrument/{}/data>)/<instrument/{}/data>", "task_identifier": "NormalizeXrfResults", }, { "name": "axes_units", "value": {"testx": "mm", "testy": "mm", "testpx": "um", "testpy": "um"}, "task_identifier": "ConcatBliss", }, { "name": "virtual_axes", "value": {"testvy": "<testy>+<testpy>", "testvz": "<testz>+<testpz>"}, "task_identifier": "ConcatBliss", }, { "name": "positioners", "value": ["testvz", "testvy"], "task_identifier": "RegridXrfResults", }, { "name": "resolution", "value": {"testvy": (1, "um"), "testvz": (1, "um")}, "task_identifier": "RegridXrfResults", }, ] assert workflow_path == eworkflow_path assert convert_destination == econvert_destination assert inputs == einputs
[docs] @pytest.mark.skipif( sys.platform == "win32", reason="Skipping fluo path tests on windows" ) def test_fluoxas_single_detector(): workflow_path, inputs, convert_destination = fluoxas_parameters( session="/data/visitor/ma5958/id21/20250207", sample="BaCrO4-com-o-aged-thin", datasets=["roi107244_125314"], scan_ranges=[(2, 3)], exclude_scans=[[]], config_filenames=["config_nano_6_3.cfg"], detectors=[0], instrument_name="test", demo=False, ) eworkflow_path = "/data/visitor/ma5958/id21/20250207/SCRIPTS/ewoks_results/workflows/fluoxas_single_detector_align.json" econvert_destination = "/data/visitor/ma5958/id21/20250207/PROCESSED_DATA/ewoks_results/BaCrO4-com-o-aged-thin_roi107244_125314_scan0002.json" einputs = [ { "name": "filenames", "value": [ "/data/visitor/ma5958/id21/20250207/RAW_DATA/BaCrO4-com-o-aged-thin/BaCrO4-com-o-aged-thin_roi107244_125314/BaCrO4-com-o-aged-thin_roi107244_125314.h5" ], "task_identifier": "PickScans", }, {"name": "scan_ranges", "value": [(2, 3)], "task_identifier": "PickScans"}, {"name": "exclude_scans", "value": [[]], "task_identifier": "PickScans"}, { "name": "output_root_uri", "value": "/data/visitor/ma5958/id21/20250207/PROCESSED_DATA/ewoks_results/BaCrO4-com-o-aged-thin_roi107244_125314.h5::/2.1", "task_identifier": "FitStackSingleDetector", }, { "name": "config", "value": "/data/visitor/ma5958/id21/20250207/SCRIPTS/pymca/config_nano_6_3.cfg", "task_identifier": "FitStackSingleDetector", }, { "name": "fast_fitting", "value": True, "task_identifier": "FitStackSingleDetector", }, { "name": "quantification", "value": True, "task_identifier": "FitStackSingleDetector", }, { "name": "diagnostics", "value": True, "task_identifier": "FitStackSingleDetector", }, { "name": "detector_name", "value": "fx_test_det0", "task_identifier": "FitStackSingleDetector", }, { "name": "energy_name", "value": "Etest", "task_identifier": "FitStackSingleDetector", }, { "name": "energy_multiplier", "value": 2, "task_identifier": "FitStackSingleDetector", }, { "name": "counter_name", "value": "testI0", "task_identifier": "NormalizeXrfResultsStack", }, { "name": "counter_normalization_template", "value": "np.nanmean(<instrument/{}/data>)/<instrument/{}/data>", "task_identifier": "NormalizeXrfResultsStack", }, { "name": "detector_normalization_template", "value": "0.1/<instrument/{}/live_time>", "task_identifier": "NormalizeXrfResultsStack", }, { "name": "axes_units", "value": {"testx": "mm", "testy": "mm", "testpx": "um", "testpy": "um"}, "task_identifier": "RegridXrfResultsStack", }, { "name": "stack_positioner", "task_identifier": "RegridXrfResultsStack", "value": None, }, { "name": "positioners", "value": None, "task_identifier": "RegridXrfResultsStack", }, { "name": "ignore_positioners", "value": ["testignore1", "testignore2"], "task_identifier": "RegridXrfResultsStack", }, { "name": "resolution", "value": None, "task_identifier": "RegridXrfResultsStack", }, { "name": "reference_stack", "value": None, "task_identifier": "Reg2DPreEvaluation", }, {"name": "skip", "value": True, "task_identifier": "Reg2DPreEvaluation"}, { "name": "transformation_type", "task_identifier": "Reg2DIntensities", "value": "translation", }, { "name": "block_size", "task_identifier": "Reg2DIntensities", "value": 10, }, { "name": "mapper", "task_identifier": "Reg2DIntensities", "value": "Optimization-SimpleITK", }, { "name": "mapper_options", "task_identifier": "Reg2DIntensities", "value": { "metric": "ANTSNeighborhoodCorrelation", "optimizer": "Powell", }, }, {"name": "skip", "value": False, "task_identifier": "Reg2DPostEvaluation"}, {"name": "crop", "value": True, "task_identifier": "Reg2DTransform"}, { "name": "interpolation_order", "task_identifier": "Reg2DTransform", "value": 1, }, ] assert workflow_path == eworkflow_path assert convert_destination == econvert_destination assert inputs == einputs
[docs] @pytest.mark.skipif( sys.platform == "win32", reason="Skipping fluo path tests on windows" ) def test_fluoxas_sum_results(): workflow_path, inputs, convert_destination = fluoxas_parameters( session="/data/visitor/ma5958/id21/20250207", sample="BaCrO4-com-o-aged-thin", datasets=["roi107244_125314"], scan_ranges=[(2, 3)], exclude_scans=[[]], config_filenames=["config_nano_6_3.cfg", "config_nano_6_3.cfg"], detectors=[0, 1], instrument_name="test", demo=False, ) eworkflow_path = "/data/visitor/ma5958/id21/20250207/SCRIPTS/ewoks_results/workflows/fluoxas_multi_detector_align.json" econvert_destination = "/data/visitor/ma5958/id21/20250207/PROCESSED_DATA/ewoks_results/BaCrO4-com-o-aged-thin_roi107244_125314_scan0002.json" einputs = [ { "name": "filenames", "value": [ "/data/visitor/ma5958/id21/20250207/RAW_DATA/BaCrO4-com-o-aged-thin/BaCrO4-com-o-aged-thin_roi107244_125314/BaCrO4-com-o-aged-thin_roi107244_125314.h5" ], "task_identifier": "PickScans", }, {"name": "scan_ranges", "value": [(2, 3)], "task_identifier": "PickScans"}, {"name": "exclude_scans", "value": [[]], "task_identifier": "PickScans"}, { "name": "output_root_uri", "value": "/data/visitor/ma5958/id21/20250207/PROCESSED_DATA/ewoks_results/BaCrO4-com-o-aged-thin_roi107244_125314.h5::/2.1", "task_identifier": "FitStackMultiDetector", }, { "name": "configs", "value": [ "/data/visitor/ma5958/id21/20250207/SCRIPTS/pymca/config_nano_6_3.cfg", "/data/visitor/ma5958/id21/20250207/SCRIPTS/pymca/config_nano_6_3.cfg", ], "task_identifier": "FitStackMultiDetector", }, { "name": "fast_fitting", "value": True, "task_identifier": "FitStackMultiDetector", }, { "name": "quantification", "value": True, "task_identifier": "FitStackMultiDetector", }, { "name": "diagnostics", "value": True, "task_identifier": "FitStackMultiDetector", }, { "name": "detector_names", "value": ["fx_test_det0", "fx_test_det1"], "task_identifier": "FitStackMultiDetector", }, { "name": "energy_name", "value": "Etest", "task_identifier": "FitStackMultiDetector", }, { "name": "energy_multiplier", "value": 2, "task_identifier": "FitStackMultiDetector", }, { "name": "detector_normalization_template", "value": "0.1/<instrument/{}/live_time>", "task_identifier": "SumXrfResultsStack", }, { "name": "counter_name", "value": "testI0", "task_identifier": "NormalizeXrfResultsStack", }, { "name": "counter_normalization_template", "value": "np.nanmean(<instrument/{}/data>)/<instrument/{}/data>", "task_identifier": "NormalizeXrfResultsStack", }, { "name": "axes_units", "value": {"testx": "mm", "testy": "mm", "testpx": "um", "testpy": "um"}, "task_identifier": "RegridXrfResultsStack", }, { "name": "stack_positioner", "task_identifier": "RegridXrfResultsStack", "value": None, }, { "name": "positioners", "value": None, "task_identifier": "RegridXrfResultsStack", }, { "name": "ignore_positioners", "value": ["testignore1", "testignore2"], "task_identifier": "RegridXrfResultsStack", }, { "name": "resolution", "value": None, "task_identifier": "RegridXrfResultsStack", }, { "name": "reference_stack", "value": None, "task_identifier": "Reg2DPreEvaluation", }, {"name": "skip", "value": True, "task_identifier": "Reg2DPreEvaluation"}, { "name": "transformation_type", "task_identifier": "Reg2DIntensities", "value": "translation", }, { "name": "block_size", "task_identifier": "Reg2DIntensities", "value": 10, }, { "name": "mapper", "task_identifier": "Reg2DIntensities", "value": "Optimization-SimpleITK", }, { "name": "mapper_options", "task_identifier": "Reg2DIntensities", "value": { "metric": "ANTSNeighborhoodCorrelation", "optimizer": "Powell", }, }, {"name": "skip", "value": False, "task_identifier": "Reg2DPostEvaluation"}, {"name": "crop", "value": True, "task_identifier": "Reg2DTransform"}, { "name": "interpolation_order", "task_identifier": "Reg2DTransform", "value": 1, }, ] assert workflow_path == eworkflow_path assert convert_destination == econvert_destination assert inputs == einputs
[docs] @pytest.mark.skipif( sys.platform == "win32", reason="Skipping fluo path tests on windows" ) def test_mosaic_fluoxas_single_detector(): workflow_path, inputs, convert_destination = mosaic_fluoxas_parameters( session="/data/visitor/ma5958/id21/20250207", sample="BaCrO4-com-o-aged-thin", datasets=[["roi107244_125314"], ["roi107244_125315"]], scan_ranges=[[(2, 3)], [(2, 3)]], exclude_scans=[[[]], [[]]], config_filenames=["config_nano_6_3.cfg"], detectors=[0], instrument_name="test", demo=False, ) eworkflow_path = "/data/visitor/ma5958/id21/20250207/SCRIPTS/ewoks_results/workflows/mosaic_fluoxas_single_detector_align.json" econvert_destination = "/data/visitor/ma5958/id21/20250207/PROCESSED_DATA/ewoks_results/BaCrO4-com-o-aged-thin_roi107244_125314_scan0002.json" einputs = [ { "name": "filenames", "value": [ [ "/data/visitor/ma5958/id21/20250207/RAW_DATA/BaCrO4-com-o-aged-thin/BaCrO4-com-o-aged-thin_roi107244_125314/BaCrO4-com-o-aged-thin_roi107244_125314.h5" ], [ "/data/visitor/ma5958/id21/20250207/RAW_DATA/BaCrO4-com-o-aged-thin/BaCrO4-com-o-aged-thin_roi107244_125315/BaCrO4-com-o-aged-thin_roi107244_125315.h5" ], ], "task_identifier": "PickScanGroups", }, { "name": "scan_ranges", "value": [[(2, 3)], [(2, 3)]], "task_identifier": "PickScanGroups", }, { "name": "exclude_scans", "value": [[[]], [[]]], "task_identifier": "PickScanGroups", }, { "name": "group_by_index", "value": False, "task_identifier": "PickScanGroups", }, { "name": "output_root_uri", "value": "/data/visitor/ma5958/id21/20250207/PROCESSED_DATA/ewoks_results/BaCrO4-com-o-aged-thin_roi107244_125314_concat.h5", "task_identifier": "ConcatBlissScanGroups", }, { "name": "output_root_uri", "value": "/data/visitor/ma5958/id21/20250207/PROCESSED_DATA/ewoks_results/BaCrO4-com-o-aged-thin_roi107244_125314.h5::/2.1", "task_identifier": "FitStackSingleDetector", }, { "name": "config", "value": "/data/visitor/ma5958/id21/20250207/SCRIPTS/pymca/config_nano_6_3.cfg", "task_identifier": "FitStackSingleDetector", }, { "name": "fast_fitting", "value": True, "task_identifier": "FitStackSingleDetector", }, { "name": "quantification", "value": True, "task_identifier": "FitStackSingleDetector", }, { "name": "diagnostics", "value": True, "task_identifier": "FitStackSingleDetector", }, { "name": "detector_name", "value": "fx_test_det0", "task_identifier": "FitStackSingleDetector", }, { "name": "energy_name", "value": "Etest", "task_identifier": "FitStackSingleDetector", }, { "name": "energy_multiplier", "value": 2, "task_identifier": "FitStackSingleDetector", }, { "name": "counter_name", "value": "testI0", "task_identifier": "NormalizeXrfResultsStack", }, { "name": "counter_normalization_template", "value": "np.nanmean(<instrument/{}/data>)/<instrument/{}/data>", "task_identifier": "NormalizeXrfResultsStack", }, { "name": "detector_normalization_template", "value": "0.1/<instrument/{}/live_time>", "task_identifier": "NormalizeXrfResultsStack", }, { "name": "axes_units", "task_identifier": "ConcatBlissScanGroups", "value": {"testpx": "um", "testpy": "um", "testx": "mm", "testy": "mm"}, }, { "name": "virtual_axes", "task_identifier": "ConcatBlissScanGroups", "value": {"testvy": "<testy>+<testpy>", "testvz": "<testz>+<testpz>"}, }, { "name": "axes_units", "value": {"testx": "mm", "testy": "mm", "testpx": "um", "testpy": "um"}, "task_identifier": "RegridXrfResultsStack", }, { "name": "stack_positioner", "task_identifier": "RegridXrfResultsStack", "value": None, }, { "name": "positioners", "value": None, "task_identifier": "RegridXrfResultsStack", }, { "name": "ignore_positioners", "value": ["testignore1", "testignore2"], "task_identifier": "RegridXrfResultsStack", }, { "name": "resolution", "value": None, "task_identifier": "RegridXrfResultsStack", }, { "name": "reference_stack", "value": None, "task_identifier": "Reg2DPreEvaluation", }, {"name": "skip", "value": True, "task_identifier": "Reg2DPreEvaluation"}, { "name": "transformation_type", "task_identifier": "Reg2DIntensities", "value": "translation", }, { "name": "block_size", "task_identifier": "Reg2DIntensities", "value": 10, }, { "name": "mapper", "task_identifier": "Reg2DIntensities", "value": "Optimization-SimpleITK", }, { "name": "mapper_options", "task_identifier": "Reg2DIntensities", "value": { "metric": "ANTSNeighborhoodCorrelation", "optimizer": "Powell", }, }, {"name": "skip", "value": False, "task_identifier": "Reg2DPostEvaluation"}, {"name": "crop", "value": True, "task_identifier": "Reg2DTransform"}, { "name": "interpolation_order", "task_identifier": "Reg2DTransform", "value": 1, }, ] assert workflow_path == eworkflow_path assert convert_destination == econvert_destination assert inputs == einputs
[docs] @pytest.mark.skipif( sys.platform == "win32", reason="Skipping fluo path tests on windows" ) def test_mosaic_fluoxas_sum_results(): workflow_path, inputs, convert_destination = mosaic_fluoxas_parameters( session="/data/visitor/ma5958/id21/20250207", sample="BaCrO4-com-o-aged-thin", datasets=[["roi107244_125314"], ["roi107244_125315"]], scan_ranges=[[(2, 3)], [(2, 3)]], exclude_scans=[[[]], [[]]], config_filenames=["config_nano_6_3.cfg", "config_nano_6_3.cfg"], detectors=[0, 1], instrument_name="test", demo=False, ) eworkflow_path = "/data/visitor/ma5958/id21/20250207/SCRIPTS/ewoks_results/workflows/mosaic_fluoxas_multi_detector_align.json" econvert_destination = "/data/visitor/ma5958/id21/20250207/PROCESSED_DATA/ewoks_results/BaCrO4-com-o-aged-thin_roi107244_125314_scan0002.json" einputs = [ { "name": "filenames", "value": [ [ "/data/visitor/ma5958/id21/20250207/RAW_DATA/BaCrO4-com-o-aged-thin/BaCrO4-com-o-aged-thin_roi107244_125314/BaCrO4-com-o-aged-thin_roi107244_125314.h5" ], [ "/data/visitor/ma5958/id21/20250207/RAW_DATA/BaCrO4-com-o-aged-thin/BaCrO4-com-o-aged-thin_roi107244_125315/BaCrO4-com-o-aged-thin_roi107244_125315.h5" ], ], "task_identifier": "PickScanGroups", }, { "name": "scan_ranges", "value": [[(2, 3)], [(2, 3)]], "task_identifier": "PickScanGroups", }, { "name": "exclude_scans", "value": [[[]], [[]]], "task_identifier": "PickScanGroups", }, { "name": "group_by_index", "value": False, "task_identifier": "PickScanGroups", }, { "name": "output_root_uri", "value": "/data/visitor/ma5958/id21/20250207/PROCESSED_DATA/ewoks_results/BaCrO4-com-o-aged-thin_roi107244_125314_concat.h5", "task_identifier": "ConcatBlissScanGroups", }, { "name": "output_root_uri", "value": "/data/visitor/ma5958/id21/20250207/PROCESSED_DATA/ewoks_results/BaCrO4-com-o-aged-thin_roi107244_125314.h5::/2.1", "task_identifier": "FitStackMultiDetector", }, { "name": "configs", "value": [ "/data/visitor/ma5958/id21/20250207/SCRIPTS/pymca/config_nano_6_3.cfg", "/data/visitor/ma5958/id21/20250207/SCRIPTS/pymca/config_nano_6_3.cfg", ], "task_identifier": "FitStackMultiDetector", }, { "name": "fast_fitting", "value": True, "task_identifier": "FitStackMultiDetector", }, { "name": "quantification", "value": True, "task_identifier": "FitStackMultiDetector", }, { "name": "diagnostics", "value": True, "task_identifier": "FitStackMultiDetector", }, { "name": "detector_names", "value": ["fx_test_det0", "fx_test_det1"], "task_identifier": "FitStackMultiDetector", }, { "name": "energy_name", "value": "Etest", "task_identifier": "FitStackMultiDetector", }, { "name": "energy_multiplier", "value": 2, "task_identifier": "FitStackMultiDetector", }, { "name": "detector_normalization_template", "value": "0.1/<instrument/{}/live_time>", "task_identifier": "SumXrfResultsStack", }, { "name": "counter_name", "value": "testI0", "task_identifier": "NormalizeXrfResultsStack", }, { "name": "counter_normalization_template", "value": "np.nanmean(<instrument/{}/data>)/<instrument/{}/data>", "task_identifier": "NormalizeXrfResultsStack", }, { "name": "axes_units", "task_identifier": "ConcatBlissScanGroups", "value": {"testpx": "um", "testpy": "um", "testx": "mm", "testy": "mm"}, }, { "name": "virtual_axes", "task_identifier": "ConcatBlissScanGroups", "value": {"testvy": "<testy>+<testpy>", "testvz": "<testz>+<testpz>"}, }, { "name": "axes_units", "value": {"testx": "mm", "testy": "mm", "testpx": "um", "testpy": "um"}, "task_identifier": "RegridXrfResultsStack", }, { "name": "stack_positioner", "task_identifier": "RegridXrfResultsStack", "value": None, }, { "name": "positioners", "value": None, "task_identifier": "RegridXrfResultsStack", }, { "name": "ignore_positioners", "value": ["testignore1", "testignore2"], "task_identifier": "RegridXrfResultsStack", }, { "name": "resolution", "value": None, "task_identifier": "RegridXrfResultsStack", }, { "name": "reference_stack", "value": None, "task_identifier": "Reg2DPreEvaluation", }, {"name": "skip", "value": True, "task_identifier": "Reg2DPreEvaluation"}, { "name": "transformation_type", "task_identifier": "Reg2DIntensities", "value": "translation", }, { "name": "block_size", "task_identifier": "Reg2DIntensities", "value": 10, }, { "name": "mapper", "task_identifier": "Reg2DIntensities", "value": "Optimization-SimpleITK", }, { "name": "mapper_options", "task_identifier": "Reg2DIntensities", "value": { "metric": "ANTSNeighborhoodCorrelation", "optimizer": "Powell", }, }, {"name": "skip", "value": False, "task_identifier": "Reg2DPostEvaluation"}, {"name": "crop", "value": True, "task_identifier": "Reg2DTransform"}, { "name": "interpolation_order", "task_identifier": "Reg2DTransform", "value": 1, }, ] assert workflow_path == eworkflow_path assert convert_destination == econvert_destination assert inputs == einputs