Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
if 'width-name' in rpl_info:
names[iwidth] = rpl_info['width-name']
if 'height-origin' in rpl_info:
origins[iheight] = rpl_info['height-origin']
if 'height-scale' in rpl_info:
scales[iheight] = rpl_info['height-scale']
if 'height-units' in rpl_info:
units[iheight] = rpl_info['height-units']
if 'height-name' in rpl_info:
names[iheight] = rpl_info['height-name']
mp = DictionaryTreeBrowser({
'General': {'original_filename': os.path.split(filename)[1],
'date': rpl_info['date'],
'time': rpl_info['time'],
'title': rpl_info['title']
},
"Signal": {'signal_type': rpl_info['signal'],
'record_by': record_by},
})
if 'convergence-angle' in rpl_info:
mp.set_item('Acquisition_instrument.TEM.convergence_angle',
rpl_info['convergence-angle'])
if 'tilt-stage' in rpl_info:
mp.set_item('Acquisition_instrument.TEM.tilt_stage',
rpl_info['tilt-stage'])
if 'collection-angle' in rpl_info:
mp.set_item('Acquisition_instrument.TEM.Detector.EELS.' +
Examples
--------
>>> dict_browser = DictionaryTreeBrowser({})
>>> dict_browser.add_node('First.Second')
>>> dict_browser.First.Second = 3
>>> dict_browser
└── First
└── Second = 3
"""
keys = node_path.split('.')
dtb = self
for key in keys:
if dtb.has_item(key) is False:
dtb[key] = DictionaryTreeBrowser()
dtb = dtb[key]
It must complain with the EMSA/MSA standard.
filename: string or None
The filename.
Returns:
--------
file_data_list: list
The list containts a dictionary that contains the parsed
information. It can be used to create a `:class:BaseSignal`
using `:func:hyperspy.io.dict2signal`.
"""
if not hasattr(string, "readlines"):
string = string.splitlines()
parameters = {}
mapped = DictionaryTreeBrowser({})
y = []
# Read the keywords
data_section = False
for line in string:
if data_section is False:
if line[0] == "#":
try:
key, value = line.split(': ')
value = value.strip()
except ValueError:
key = line
value = None
key = key.strip('#').strip()
if key != 'SPECTRUM':
parameters[key] = value
continue
if not isinstance(key_, types.MethodType):
key = ensure_unicode(value['key'])
value = value['_dtb_value_']
if j == eoi - 1:
symbol = s_end
else:
symbol = s_middle
if preferences.General.dtb_expand_structures:
if isinstance(value, list) or isinstance(value, tuple):
iflong, strvalue = check_long_string(value, max_len)
if iflong:
key += (" "
if isinstance(value, list)
else " ")
value = DictionaryTreeBrowser(
{'[%d]' % i: v for i, v in enumerate(value)},
double_lines=True)
else:
string += "%s%s%s = %s\n" % (
padding, symbol, key, strvalue)
j += 1
continue
if isinstance(value, DictionaryTreeBrowser):
string += '%s%s%s\n' % (padding, symbol, key)
if j == eoi - 1:
extra_padding = ' '
else:
extra_padding = pad_middle
string += value._get_print_items(
padding + extra_padding)
if isinstance(value, list) or isinstance(value, tuple):
iflong, strvalue = check_long_string(value, max_len)
if iflong:
key += (" "
if isinstance(value, list)
else " ")
value = DictionaryTreeBrowser(
{'[%d]' % i: v for i, v in enumerate(value)},
double_lines=True)
else:
string += "%s%s%s = %s\n" % (
padding, symbol, key, strvalue)
j += 1
continue
if isinstance(value, DictionaryTreeBrowser):
string += '%s%s%s\n' % (padding, symbol, key)
if j == eoi - 1:
extra_padding = ' '
else:
extra_padding = pad_middle
string += value._get_print_items(
padding + extra_padding)
else:
_, strvalue = check_long_string(value, max_len)
string += "%s%s%s = %s\n" % (
padding, symbol, key, strvalue)
j += 1
return string
def __setattr__(self, key, value):
if key.startswith('_sig_'):
key = key[5:]
from hyperspy.signal import BaseSignal
value = BaseSignal(**value)
slugified_key = str(slugify(key, valid_variable_name=True))
if isinstance(value, dict):
if self.has_item(slugified_key):
self.get_item(slugified_key).add_dictionary(
value,
double_lines=self._double_lines)
return
else:
value = DictionaryTreeBrowser(
value,
double_lines=self._double_lines)
super(DictionaryTreeBrowser, self).__setattr__(
slugified_key,
{'key': key, '_dtb_value_': value})
def __init__(self, model, workers=None, setup=True, **kwargs):
# constants:
if workers is None:
workers = max(1, cpu_count() - 1)
self.model = model
self.metadata = DictionaryTreeBrowser()
self._scale = 1.0
# -1 -> done pixel, use
# -2 -> done, ignore when diffusion
# 0 -> bad fit/no info
# >0 -> select when turn comes
self.metadata.add_node('marker')
self.metadata.add_node('goodness_test')
marker = np.empty(self.model.axes_manager.navigation_shape[::-1])
marker.fill(self._scale)
self.metadata.marker = marker
self.strategies = StrategyList(self)
self.strategies.append(ReducedChiSquaredStrategy())