Dectris Mythen strip (1D) detector controller¶
The Mythen is a 1D,strip , detector based on hybrid pixel technology made by Dectric company. It can operate at 1000Hz, 24-bit, with a readout time of 89us. Its energy range is from 4 to 40 keV (down to 4keV only for 320um x 4 mm sensors). Threshold and energy in keV can be selected.
The Mythen strip detector is commonly used as MCA-like detector in the field of spectroscopy application.
There are actually two versions of Mythen hardware, so-called Mythen and Mythen2, the BLISS controller supports both systems.
The Mythen is a networked device which can be configured for a fix IP address. An embedded web client is running in the Detector Control System4 (DCS4) box. The DCS4 is delivered from factory with IP address 192.168.0.90.
The Mythen web client can be used to test the detector, it provides a full access to the detector configuration and the acquisition.
Configuration example from ID10 EH1¶
- name: mythen1
module: mca.mythen
class: Mythen
plugin: bliss
hostname: mythenid101
apply_defaults: True # Reset all the settings to their default value, it
applies a reset command, see dectris manual for
reset values
energy: 10 # keV
threshold: 5 # kev
- name: mythen2
module: mca.mythen
class: Mythen
plugin: bliss
hostname: mythenid102
apply_defaults: True
energy: 12
Above example works in case there is a __init__.yml in the same directory containing:
plugin: bliss
Full list of configuration with default values¶
Setting | Possible values | Default | Unit |
---|---|---|---|
nmodules | 1-4 | 1 | int. |
delay_after_frame | 0-N | 0.0 | sec. |
nframes | 1-N | 1 | int. |
nbits | 4,8,16,24 | 24 | bit |
exposure_time | 1e-7-N | 1.0 | sec. |
energy | Emin-Emax (1) | 8.05 | keV |
threshold | Thrmin-Thrmax (1) | 1 | keV |
bad_channel_interpolation | True,False | True | bool. |
flat_field_correction | True,False | True | bool. |
rate_correction | True,False | False | bool. |
rate_correction_deadtime | 0-N | N/A | sec. |
continuous_trigger_mode | True,False | False | bool. |
single_trigger_mode | True,False | False | bool. |
delay_before_frame | 1e-7-N | 0.0 | sec. |
gate_mode | True,False | False | bool. |
ngates | 1-N | 1 | int. |
input_polarity | 0,1 (2) | 0 | int. |
output_polarity | 0,1 (2) | 0 | int. |
selected_module | 0-N | 0 | int. |
element_settings | Cu,Mo,Cr,Ag | Cu | N/A |
(1) : The supported energy and threshold ranges depend on the module type, see the detector manual for the ranges.
(2) : in/out polarity change is deprecated from mythen controller model DCS4.
Sample Tricks¶
The mythen has low level commands for energy/threshold/correction/deadtime
settings and a high level command element_settings
with predefined settings
for Copper, Molybdenum, Chromium or Silver tube. Changing the element_settings
will apply new values for the low levet settings.
From the Mythen controller object you can display the settings in one shot:
TEST_MYTHEN [1]: mythen2 = config.get('mythenid102')
TEST_MYTHEN [3]: mythen2
Out [3]: Mythen on mythenid102:
nmodules = 2
delay_after_frame = 0.0
nframes = 1
nbits = 24
exposure_time = 1.0
energy = (22.16, 22.16)
threshold = (11.08, 11.08)
bad_channel_interpolation = True
flat_field_correction = True
rate_correction = False
rate_correction_deadtime = (1.3882828e-07, 1.3525846e-07)
continuous_trigger_mode = False
single_trigger_mode = False
delay_before_frame = 0.0
gate_mode = False
ngates = 1
selected_module = 0
element_settings = ('Ag', 'Ag')
Some Mythen commands (energy, threshold, element_settings …) apply on the
selected module. The DCS4 can control up to 4 modules and you can choose to
select all (default) on only one. The attribute selected_module
gives
access to this:
TEST_MYTHEN [4]: mythen2.selected_module
Out [4]: 0 # means all selected
TEST_MYTHEN [5]: mythen2.selected_module=2 #select module number 2
TEST_MYTHEN [6]: mythen2.element_settings='Cu' # change settings of
module #2 to Cu
TEST_MYTHEN [8]: mythen2
Out [8]: Mythen on mythenid102:
nmodules = 2
delay_after_frame = 0.0
nframes = 1
nbits = 24
exposure_time = 1.0
energy = (22.16, 8.05)
threshold = (11.08, 6.4)
bad_channel_interpolation = True
flat_field_correction = True
rate_correction = False
rate_correction_deadtime = (1.3882828e-07, 2.3231377e-07)
continuous_trigger_mode = False
single_trigger_mode = False
delay_before_frame = 0.0
gate_mode = False
ngates = 1
selected_module = 2
element_settings = ('Ag', 'Cu')