Hi Marc,
using version 2.3.0
if I put measurements into LineRatioFit as a dictionary, with keys as line identifiers, when doing lrf.run() I get an Attribute Error. See below for comparison with measurements as a list, which works fine:
type(meas_list), type(meas_dict)Out[35]: (list, dict)lrf_list = LineRatioFit(ms, measurements = meas_list)lrf_dict = LineRatioFit(ms, measurements = meas_dict)lrf_list.run() 0%| | 0/8118 [00:00<?, ?it/s]fitted 6949 of 8118 pixelsgot 0 exceptionslrf_dict.run()Traceback (most recent call last): Input In [39] in <cell line: 1> lrf_dict.run() File C:\ProgramData\Anaconda3\lib\site-packages\pdrtpy\tool\lineratiofit.py:387 in run self._reset_masks() File C:\ProgramData\Anaconda3\lib\site-packages\pdrtpy\tool\lineratiofit.py:417 in _reset_masks self._measurements[m].mask = deepcopy(self._masks[m])AttributeError: 'LineRatioFit' object has no attribute '_masks'lrf_list._masksOut[40]: {'OI_63': array([[ True, True, True, ..., True, True, True], [ True, True, True, ..., True, True, True], [ True, True, True, ..., True, True, True], ..., [False, False, False, ..., True, True, True], [False, False, False, ..., True, True, True], [False, False, False, ..., True, True, True]]), 'OI_145': array([[ True, True, True, ..., True, True, True], [ True, True, True, ..., True, True, True], [ True, True, True, ..., True, True, True], ..., [False, False, False, ..., True, True, True], [False, False, False, ..., True, True, True], [False, False, False, ..., True, True, True]]), 'CII_158': array([[ True, True, True, ..., True, True, True], [ True, True, True, ..., True, True, True], [ True, True, True, ..., True, True, True], ..., [False, False, False, ..., True, True, True], [False, False, False, ..., True, True, True], [False, False, False, ..., True, True, True]])}lrf_dict._masksTraceback (most recent call last): Input In [41] in <cell line: 1> lrf_dict._masksAttributeError: 'LineRatioFit' object has no attribute '_masks'
I see in line 50 of lineratiofit.py, dict measurements get turned straight into self._measurements, whereas list measurements go to _init_measurements where self gets the _masks attribute. So I think this may be the source of the problem.
thanks,
Aaron