Skip to content

Commit ca74e03

Browse files
committed
use getMetadata in new ncempy version
1 parent 01da9ce commit ca74e03

1 file changed

Lines changed: 16 additions & 6 deletions

File tree

TemDataBrowser/__init__.py

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ def on_change_data_filename(self, fname):
8282
"""
8383
try:
8484
is_stemtomo = False
85+
print(f'Loading {fname}...')
8586
if Path(fname).suffix.lower() == '.emd':
8687
# Check for special STEMTomo7 Berkeley EMD files
8788
try:
@@ -230,7 +231,8 @@ def get_mrc_metadata(path):
230231
if hasattr(mrc1, 'FEIinfo'):
231232
# add in the special FEIinfo if it exists
232233
try:
233-
metaData.update(mrc1.FEIinfo)
234+
if isinstance(mrc1.FEIinfo, dict):
235+
metaData.update(mrc1.FEIinfo)
234236
except TypeError:
235237
pass
236238

@@ -313,6 +315,8 @@ def get_velox_metadata(path):
313315
import json
314316
metaData = {}
315317
with ncempy.io.emdVelox.fileEMDVelox(path) as f0:
318+
if f0.list_data is None:
319+
return metaData
316320
dataGroup = f0.list_data[0]
317321
dataset0 = dataGroup['Data']
318322

@@ -402,11 +406,17 @@ def on_change_data_filename(self, fname):
402406
elif ext in ('.mrc', '.rec', '.ali'):
403407
meta_data = self.get_mrc_metadata(fname)
404408
elif ext in ('.emd',):
405-
with ncempy.io.emd.fileEMD(fname) as emd0:
406-
if len(emd0.list_emds) > 0:
407-
meta_data = self.get_emd_metadata(fname)
408-
else:
409-
meta_data = self.get_velox_metadata(fname)
409+
try:
410+
# Parse the file to see if any EMD datasets exist
411+
# if not then it throws a NoEmdDataSets error
412+
with ncempy.io.emd.fileEMD(fname) as f0:
413+
meta_data = f0.getMetadata(0)
414+
except ncempy.io.emd.NoEmdDataSets:
415+
with ncempy.io.emdVelox.fileEMDVelox(fname) as f0:
416+
if f0.list_data is not None:
417+
meta_data = f0.getMetadata(0)
418+
else:
419+
meta_data = {'file name': str(fname), 'error': 'No EMD datasets found'}
410420
elif ext in ('.ser',):
411421
meta_data = self.get_ser_metadata(fname)
412422
elif ext in ('.emi',):

0 commit comments

Comments
 (0)