File ~\myenv\Lib\site-packages\nellie_napari\nellie_fileselect.py:263, in NellieFileSelect.initialize_single_file(self=)
261 dim_sizes, dim_order = self.check_manual_params()
262 # open the file and load its info
--> 263 self.im_info = ImInfo(self.filepath, ch=self.nellie.processor.channel_input.value(), dimension_order=dim_order, dim_sizes=dim_sizes)
self.im_info = None
dim_sizes = None
dim_order = ''
self = <nellie_napari.nellie_fileselect.NellieFileSelect object at 0x000002694CEE08B0>
self.filepath = 'C:/Users/killescas/Downloads/xyzt_test.lif'
self.nellie = <nellie_napari.nellie_loader.NellieLoader object at 0x000002694A9CC430>
self.nellie.processor.channel_input = <PyQt5.QtWidgets.QSpinBox object at 0x000002694CEE1360>
self.nellie.processor = <nellie_napari.nellie_processor.NellieProcessor object at 0x000002694CEE1240>
264 self.nellie.im_info = self.im_info
265 self.dim_order = self.im_info.axes
File ~\myenv\Lib\site-packages\nellie\im_info\im_info.py:48, in ImInfo.init(self=, im_path='C:/Users/killescas/Downloads/xyzt_test.lif', output_dirpath=None, screenshot_dirpath=None, ch=0, dim_sizes=None, dimension_order='', output_suffix='')
45 self._load_metadata()
47 if self.dim_sizes is None:
---> 48 self._set_dim_sizes()
self = <nellie.im_info.im_info.ImInfo object at 0x00000269558F1F10>
50 self.no_z = True
51 self.no_t = True
File ~\myenv\Lib\site-packages\nellie\im_info\im_info.py:215, in ImInfo._set_dim_sizes(self=)
213 self.metadata = {}
214 self.dim_sizes = {}
--> 215 raise e
File ~\myenv\Lib\site-packages\nellie\im_info\im_info.py:187, in ImInfo._set_dim_sizes(self=)
183 logger.warning(f'File is an ImageJ type, but has weird metadata, '
184 f'found dimension sizes: {self.dim_sizes}')
186 elif self.metadata_type is None:
--> 187 self._get_tif_tag_metadata(self.metadata)
self.metadata = {}
self = <nellie.im_info.im_info.ImInfo object at 0x00000269558F1F10>
188 logger.warning(f'File is not an ImageJ or OME type, found dimension sizes: {self.dim_sizes}')
190 elif self.metadata_type == 'nd2':
File ~\myenv\Lib\site-packages\nellie\im_info\im_info.py:120, in ImInfo._get_tif_tag_metadata(self=, metadata=None)
119 def _get_tif_tag_metadata(self, metadata):
--> 120 tag_names = {tag_value.name: tag_code for tag_code, tag_value in metadata.items()}
metadata = None
122 if 'XResolution' in tag_names:
123 self.dim_sizes['X'] = metadata[tag_names['XResolution']].value[1] \
124 / metadata[tag_names['XResolution']].value[0]
AttributeError: 'NoneType' object has no attribute 'items'
Hi Sofia, thanks for the issue! I haven't set up support for .lif files yet. Can you send me an example one at austin.e.lefebvre+nellie@gmail.com? I'm happy to implement it.
Hi! I have an issue where I can't open any .lif file, even though I installed napari-aicsimageio, when I try I get this error:
AttributeError Traceback (most recent call last) File ~\myenv\Lib\site-packages\nellie_napari\nellie_fileselect.py:383, in NellieFileSelect.select_filepath(self=)
380 return
381 self.single = True
--> 383 self.initialize_single_file()
self = <nellie_napari.nellie_fileselect.NellieFileSelect object at 0x000002694CEE08B0>
384 filename = os.path.basename(self.filepath)
385 show_info(f"Selected file: {filename}")
File ~\myenv\Lib\site-packages\nellie_napari\nellie_fileselect.py:263, in NellieFileSelect.initialize_single_file(self=)
261 dim_sizes, dim_order = self.check_manual_params()
262 # open the file and load its info
--> 263 self.im_info = ImInfo(self.filepath, ch=self.nellie.processor.channel_input.value(), dimension_order=dim_order, dim_sizes=dim_sizes)
self.im_info = None
dim_sizes = None
dim_order = ''
self = <nellie_napari.nellie_fileselect.NellieFileSelect object at 0x000002694CEE08B0>
self.filepath = 'C:/Users/killescas/Downloads/xyzt_test.lif'
self.nellie = <nellie_napari.nellie_loader.NellieLoader object at 0x000002694A9CC430>
self.nellie.processor.channel_input = <PyQt5.QtWidgets.QSpinBox object at 0x000002694CEE1360>
self.nellie.processor = <nellie_napari.nellie_processor.NellieProcessor object at 0x000002694CEE1240>
264 self.nellie.im_info = self.im_info
265 self.dim_order = self.im_info.axes
File ~\myenv\Lib\site-packages\nellie\im_info\im_info.py:48, in ImInfo.init(self=, im_path='C:/Users/killescas/Downloads/xyzt_test.lif', output_dirpath=None, screenshot_dirpath=None, ch=0, dim_sizes=None, dimension_order='', output_suffix='')
45 self._load_metadata()
47 if self.dim_sizes is None:
---> 48 self._set_dim_sizes()
self = <nellie.im_info.im_info.ImInfo object at 0x00000269558F1F10>
50 self.no_z = True
51 self.no_t = True
File ~\myenv\Lib\site-packages\nellie\im_info\im_info.py:215, in ImInfo._set_dim_sizes(self=)
213 self.metadata = {}
214 self.dim_sizes = {}
--> 215 raise e
File ~\myenv\Lib\site-packages\nellie\im_info\im_info.py:187, in ImInfo._set_dim_sizes(self=)
183 logger.warning(f'File is an ImageJ type, but has weird metadata, '
184 f'found dimension sizes: {self.dim_sizes}')
186 elif self.metadata_type is None:
--> 187 self._get_tif_tag_metadata(self.metadata)
self.metadata = {}
self = <nellie.im_info.im_info.ImInfo object at 0x00000269558F1F10>
188 logger.warning(f'File is not an ImageJ or OME type, found dimension sizes: {self.dim_sizes}')
190 elif self.metadata_type == 'nd2':
File ~\myenv\Lib\site-packages\nellie\im_info\im_info.py:120, in ImInfo._get_tif_tag_metadata(self=, metadata=None)
119 def _get_tif_tag_metadata(self, metadata):
--> 120 tag_names = {tag_value.name: tag_code for tag_code, tag_value in metadata.items()}
metadata = None
122 if 'XResolution' in tag_names:
123 self.dim_sizes['X'] = metadata[tag_names['XResolution']].value[1] \
124 / metadata[tag_names['XResolution']].value[0]
AttributeError: 'NoneType' object has no attribute 'items'
I can open yeast_3d_mitochondria.ome just fine.