1+ from hexrdgui .create_hedm_instrument import create_hedm_instrument
12from hexrdgui .hexrd_config import HexrdConfig
23from hexrdgui .ui_loader import UiLoader
34from hexrdgui .utils import block_signals
45
56
7+
8+
69class AbsorptionCorrectionOptionsDialog :
710
811 def __init__ (self , parent = None ):
@@ -11,16 +14,9 @@ def __init__(self, parent=None):
1114 parent )
1215
1316 self .additional_materials = {}
14- self .filters = {
15- det : {
16- 'material' : HexrdConfig ().detector_filter (det ).material ,
17- 'density' : HexrdConfig ().detector_filter (det ).density ,
18- 'thickness' : HexrdConfig ().detector_filter (det ).thickness
19- }
20- for det in HexrdConfig ().detector_names
21- }
2217 self .mat_options = []
2318
19+ self .get_initial_filter_values ()
2420 self .load_additional_materials ()
2521 self .setup_connections ()
2622 self .update_gui ()
@@ -234,3 +230,19 @@ def toggle_apply_phosphor(self, checked):
234230 self .ui .phosphor_thickness .setEnabled (checked )
235231 self .ui .phosphor_readout_length .setEnabled (checked )
236232 self .ui .phosphor_pre_U0 .setEnabled (checked )
233+
234+ def get_initial_filter_values (self ):
235+ # Use the current value, or if none, use the default
236+ self .filters = {}
237+ instr = create_hedm_instrument ()
238+ for det in HexrdConfig ().detector_names :
239+ filter = HexrdConfig ().detector_filter (det )
240+ print (f'config filter { det } : { filter .material } { filter .density } { filter .thickness } ' )
241+ if filter is None :
242+ filter = instr .detectors [det ].filter
243+ print (f'default filter { det } : { filter .material } { filter .density } { filter .thickness } ' )
244+ self .filters [det ] = {
245+ 'material' : filter .material ,
246+ 'density' : filter .density ,
247+ 'thickness' : filter .thickness
248+ }
0 commit comments