Skip to content
Snippets Groups Projects

[AGIPD][CORRECT] Use calcat_interface and remove precorrection notebook

Merged Karim Ahmed requested to merge AGIPD_calcat_interface into master
1 file
+ 79
10
Compare changes
  • Side-by-side
  • Inline
"""
"""
TEST CALCAT INTERFACE:
TEST CALCAT INTERFACE:
1- AGIPD_CalibrationData/ CalibrationData / metadata()
All the tests run with client = None
2- physical_detector_units().
"""
"""
 
import numpy as np
import pytest
import pytest
from cal_tools.calcat_interface import AGIPD_CalibrationData, DSSC_CalibrationData
from cal_tools.calcat_interface import (
 
AGIPD_CalibrationData,
 
DSSC_CalibrationData,
 
JUNGFRAU_CalibrationData,
 
LPD_CalibrationData,
 
)
@pytest.mark.requires_gpfs
@pytest.mark.requires_gpfs
@@ -20,9 +25,9 @@ from cal_tools.calcat_interface import AGIPD_CalibrationData, DSSC_CalibrationDa
@@ -20,9 +25,9 @@ from cal_tools.calcat_interface import AGIPD_CalibrationData, DSSC_CalibrationDa
]
]
)
)
def test_AGIPD_CalibrationData(mod, mod_naming):
def test_AGIPD_CalibrationData_metadata(mod, mod_naming):
"""Test CalibrationData through AGIPD_CalibrationData
"""Test CalibrationData through AGIPD_CalibrationData
and test metadata method.
and test metadata() method.
Args:
Args:
mod (str): Module name
mod (str): Module name
@@ -43,7 +48,18 @@ def test_AGIPD_CalibrationData(mod, mod_naming):
@@ -43,7 +48,18 @@ def test_AGIPD_CalibrationData(mod, mod_naming):
module_naming=mod_naming
module_naming=mod_naming
).metadata()
).metadata()
assert isinstance(agipd_md, dict)
assert isinstance(agipd_md, dict)
 
# Check correct module naming (da, qm, modno)
assert list(agipd_md.keys())[0] == mod
assert list(agipd_md.keys())[0] == mod
 
# closest_ccv_by_time_by_condition
 
assert [
 
"begin_validity_at",
 
"cc_id", "cc_name",
 
"ccv_id", "ccv_name",
 
"condition_id", "dataset",
 
"end_idx", "end_validity_at",
 
"path", "physical_name",
 
"raw_data_location", "start_idx",
 
] == sorted(list(agipd_md[mod]["Offset"].keys()))
@pytest.mark.parametrize(
@pytest.mark.parametrize(
@@ -55,14 +71,14 @@ def test_AGIPD_CalibrationData(mod, mod_naming):
@@ -55,14 +71,14 @@ def test_AGIPD_CalibrationData(mod, mod_naming):
]
]
)
)
def test_physical_detector_units(mod, mod_naming):
def test_DSSC_physical_detector_units(mod, mod_naming):
"""Test physical_detector_units property.
"""Test physical_detector_units property and DSSC_CalibrationData.
Args:
Args:
mod (str): Module name
mod (str): Module name
mod_naming (str): Selected module naming
mod_naming (str): Selected module naming
"""
"""
agipd_cal = DSSC_CalibrationData(
dssc_cal = DSSC_CalibrationData(
detector_name="SCS_DET_DSSC1M-1",
detector_name="SCS_DET_DSSC1M-1",
sensor_bias_voltage=300,
sensor_bias_voltage=300,
memory_cells=400,
memory_cells=400,
@@ -72,10 +88,63 @@ def test_physical_detector_units(mod, mod_naming):
@@ -72,10 +88,63 @@ def test_physical_detector_units(mod, mod_naming):
encoded_gain=None,
encoded_gain=None,
event_at="2020-01-07 13:26:48.00",
event_at="2020-01-07 13:26:48.00",
modules=[mod],
modules=[mod],
client=None,
module_naming=mod_naming
module_naming=mod_naming
)
)
pdus = agipd_cal.physical_detector_units
pdus = dssc_cal.physical_detector_units
assert isinstance(pdus, dict)
assert isinstance(pdus, dict)
assert len(pdus) == 16
assert len(pdus) == 16
assert list(pdus.keys())[0] == mod
assert list(pdus.keys())[0] == mod
 
 
 
@pytest.mark.requires_gpfs
 
@pytest.mark.parametrize(
 
"mod,mod_naming",
 
[
 
("JNGFR01", "da"),
 
(1, "modno"),
 
 
]
 
)
 
def test_JUNGFRAU_CalibrationData_ndarray(mod, mod_naming):
 
"""Test ndarray() through JUNGFRAU_CalibrationData.
 
 
Args:
 
mod (str): Module name
 
mod_naming (str): Selected module naming
 
"""
 
 
jf_cal = JUNGFRAU_CalibrationData(
 
detector_name="SPB_IRDA_JF4M",
 
sensor_bias_voltage=180,
 
memory_cells=1,
 
integration_time=10,
 
gain_setting=0,
 
gain_mode=0,
 
modules=[mod],
 
module_naming=mod_naming,
 
event_at="2022-07-11 13:26:48.00",
 
)
 
assert isinstance(jf_cal.ndarray(mod, "Offset10Hz"), np.ndarray)
 
 
 
@pytest.mark.requires_gpfs
 
def test_LPD_CalibrationData_ndarray():
 
"""Test ndarray_map() through LPD_CalibrationData.
 
 
Args:
 
mod (str): Module name
 
mod_naming (str): Selected module naming
 
"""
 
 
lpd_cal = LPD_CalibrationData(
 
detector_name="FXE_DET_LPD1M-1",
 
sensor_bias_voltage=250,
 
memory_cells=512,
 
feedback_capacitor=5.0,
 
event_at="2022-07-11 13:26:48.00",
 
)
 
const_map = lpd_cal.ndarray_map()
 
assert isinstance(const_map, dict)
 
assert "LPD00" in const_map.keys()
 
assert "Offset" in const_map["LPD00"].keys()
 
assert isinstance(const_map["LPD00"]["Offset"], np.ndarray)
Loading