Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error message at the first step or the Napari_lattice use #103

Open
cyrfav opened this issue Feb 14, 2025 · 8 comments
Open

Error message at the first step or the Napari_lattice use #103

cyrfav opened this issue Feb 14, 2025 · 8 comments

Comments

@cyrfav
Copy link

cyrfav commented Feb 14, 2025

When intializing the Napari lattice after loading a Zeiss LLSM image, I consistently get thhe following error :

Is it something other got before? Any solution?

AttributeError Traceback (most recent call last)
File C:\Program Files\Python310\lib\site-packages\magicclass_gui_base.py:1175, in build_mgui(widget=PushButtonPlus(value=False, annotation=None, name='Choose_Image_Layer'), func=<function _napari_lattice_widget_wrapper..LLSZWidget.LlszMenu.Choose_Image_Layer>, parent=<napari_lattice._dock_widget._napari_lattice_widget_wrapper..LLSZWidget.LlszMenu object>)
1174 if parent._popup_mode is PopUpMode.popup:
-> 1175 QtGui.QShortcut(QtGui.QKeySequence("Esc"), qmgui, activated=mgui.close)
mgui = <FunctionGuiPlus Choose_Image_Layer(img_layer: napari.layers.base.base.Layer = None, pixel_size_dx: float = 0.1449922, pixel_size_dy: float = 0.1449922, pixel_size_dz: float = 0.3, angle: float = 30.0, select_device: str = 'NVIDIA RTX A2000 8GB Laptop GPU', last_dimension_channel: bool = 'Get_from_metadata', merge_all_channel_layers: bool = True, skew_dir=<DeskewDirection.Y: 2>, set_logging=<Log_Levels.INFO: 20>)>
qmgui = <PyQt5.QtWidgets.QWidget object at 0x00000201AE888550>
QtGui = <module 'qtpy.QtGui' from 'C:\Users\Cyril\AppData\Roaming\Python\Python310\site-packages\qtpy\QtGui.py'>
QtGui.QKeySequence = <class 'PyQt5.QtGui.QKeySequence'>
1177 preview_setting = opt.get("preview", None)

AttributeError: module 'qtpy.QtGui' has no attribute 'QShortcut'

During handling of the above exception, another exception occurred:

MagicGuiBuildError Traceback (most recent call last)
File C:\Program Files\Python310\lib\site-packages\psygnal_signal.py:1196, in SignalInstance._run_emit_loop(self=<SignalInstance 'changed' on PushButtonPlus(valu...lse, annotation=None, name='Choose_Image_Layer')>, args=(False,))
1195 with Signal._emitting(self):
-> 1196 self._run_emit_loop_inner()
self = <SignalInstance 'changed' on PushButtonPlus(value=False, annotation=None, name='Choose_Image_Layer')>
self._run_emit_loop_inner = <bound method SignalInstance._run_emit_loop_immediate of <SignalInstance 'changed' on PushButtonPlus(value=False, annotation=None, name='Choose_Image_Layer')>>
1197 except RecursionError as e:

File C:\Program Files\Python310\lib\site-packages\psygnal_signal.py:1225, in SignalInstance._run_emit_loop_immediate(self=<SignalInstance 'changed' on PushButtonPlus(valu...lse, annotation=None, name='Choose_Image_Layer')>)
1224 for caller in self._slots:
-> 1225 caller.cb(args)
args = (False,)
caller = <StrongFunction on magicclass._gui._base.MagicTemplate._create_widget_from_method..run_function>

File C:\Program Files\Python310\lib\site-packages\psygnal_weak_callback.py:357, in StrongFunction.cb(self=<StrongFunction on magicclass._gui._base.MagicTe..._create_widget_from_method..run_function>, args=())
356 args = args[: self._max_args]
--> 357 self._f(*self._args, *args, **self._kwargs)
args = ()
self._f = <function MagicTemplate._create_widget_from_method..run_function at 0x00000201AE673EB0>
self = <StrongFunction on magicclass._gui._base.MagicTemplate._create_widget_from_method..run_function>
self._args = ()
self._kwargs = {}

File C:\Program Files\Python310\lib\site-packages\magicclass_gui_base.py:788, in MagicTemplate._create_widget_from_method..run_function()
787 def run_function():
--> 788 mgui = _build_mgui(widget, func, self)
widget = PushButtonPlus(value=False, annotation=None, name='Choose_Image_Layer')
func = <function _napari_lattice_widget_wrapper..LLSZWidget.LlszMenu.Choose_Image_Layer at 0x00000201AE673AC0>
self = <napari_lattice._dock_widget._napari_lattice_widget_wrapper..LLSZWidget.LlszMenu object at 0x00000201AE6637F0>
789 _need_title_bar = self._popup_mode.need_title_bar()

File C:\Program Files\Python310\lib\site-packages\magicclass_gui_base.py:1193, in build_mgui(widget=PushButtonPlus(value=False, annotation=None, name='Choose_Image_Layer'), func=<function _napari_lattice_widget_wrapper..LLSZWidget.LlszMenu.Choose_Image_Layer>, parent=<napari_lattice._dock_widget.napari_lattice_widget_wrapper..LLSZWidget.LlszMenu object>)
1192 widget
.mgui = None
-> 1193 raise MagicGuiBuildError(msg)
msg = "Exception was raised during building magicgui from method Choose_Image_Layer.\nAttributeError: module 'qtpy.QtGui' has no attribute 'QShortcut'"
1195 return _connect_functiongui_event(mgui, opt)

MagicGuiBuildError: Exception was raised during building magicgui from method Choose_Image_Layer.
AttributeError: module 'qtpy.QtGui' has no attribute 'QShortcut'

The above exception was the direct cause of the following exception:

EmitLoopError Traceback (most recent call last)
File C:\Program Files\Python310\lib\site-packages\magicgui\widgets\bases_value_widget.py:71, in ValueWidget._on_value_change(self=PushButtonPlus(value=False, annotation=None, name='Choose_Image_Layer'), value=False)
69 if value is self.null_value and not self._nullable:
70 return
---> 71 self.changed.emit(value)
value = False
self.changed = <SignalInstance 'changed' on PushButtonPlus(value=False, annotation=None, name='Choose_Image_Layer')>
self = PushButtonPlus(value=False, annotation=None, name='Choose_Image_Layer')

File C:\Program Files\Python310\lib\site-packages\psygnal_signal.py:1176, in SignalInstance.emit(self=<SignalInstance 'changed' on PushButtonPlus(valu...lse, annotation=None, name='Choose_Image_Layer')>, check_nargs=False, check_types=False, *args=(False,))
1172 from ._group import EmissionInfo
1174 SignalInstance._debug_hook(EmissionInfo(self, args))
-> 1176 self._run_emit_loop(args)
self = <SignalInstance 'changed' on PushButtonPlus(value=False, annotation=None, name='Choose_Image_Layer')>
args = (False,)

File C:\Program Files\Python310\lib\site-packages\psygnal_signal.py:1213, in SignalInstance._run_emit_loop(self=<SignalInstance 'changed' on PushButtonPlus(valu...lse, annotation=None, name='Choose_Image_Layer')>, args=(False,))
1205 loop_err = EmitLoopError(
1206 exc=cb_err,
1207 signal=self,
(...)
1210 emit_queue=self._emit_queue,
1211 ).with_traceback(cb_err.traceback)
1212 # this comment will show up in the traceback
-> 1213 raise loop_err from cb_err # emit() call ABOVE || callback error BELOW
loop_err = EmitLoopError('\n\nWhile emitting signal 'magicclass._gui.mgui_ext.PushButtonPlus.changed', a MagicGuiBuildError occurred in a callback:\n\n Signal emitted at: C:\Program Files\Python310\lib\site-packages\magicgui\widgets\bases\_value_widget.py:71, in _on_value_change\n > self.changed.emit(value)\n\n Callback error at: C:\Program Files\Python310\lib\site-packages\magicclass\_gui\_base.py:1193, in build_mgui\n > raise MagicGuiBuildError(msg)\n\n Local variables:\n widget = PushButtonPlus(value=False, annotation=None, name='Choose_Im...\n func = <function _napari_lattice_widget_wrapper..LLSZWidget...\n parent = <napari_lattice._dock_widget._napari_lattice_widget_wrapper....\n sig = <MagicMethodSignature (img_layer: napari.layers.base.base.La...\n opt = {'call_button': None, 'layout': 'vertical', 'labels': True, ...\n call_button = None\n layout = 'vertical'\n labels = True\n auto_call = False\n mgui = <FunctionGuiPlus Choose_Image_Layer(img_layer: napari.layers...\n qmgui = <PyQt5.QtWidgets.QWidget object at 0x00000201AE888550>\n msg = "Exception was raised during building magicgui from method C...\n\nSee MagicGuiBuildError above for original traceback.')
1214 finally:
1215 self._recursion_depth -= 1

File C:\Program Files\Python310\lib\site-packages\psygnal_signal.py:1196, in SignalInstance._run_emit_loop(self=<SignalInstance 'changed' on PushButtonPlus(valu...lse, annotation=None, name='Choose_Image_Layer')>, args=(False,))
1192 self._max_recursion_depth = max(
1193 self._max_recursion_depth, self._recursion_depth
1194 )
1195 with Signal._emitting(self):
-> 1196 self._run_emit_loop_inner()
self = <SignalInstance 'changed' on PushButtonPlus(value=False, annotation=None, name='Choose_Image_Layer')>
self._run_emit_loop_inner = <bound method SignalInstance._run_emit_loop_immediate of <SignalInstance 'changed' on PushButtonPlus(value=False, annotation=None, name='Choose_Image_Layer')>>
1197 except RecursionError as e:
1198 raise RecursionError(
1199 f"RecursionError when "
1200 f"emitting signal {self.name!r} with args {args}"
1201 ) from e

File C:\Program Files\Python310\lib\site-packages\psygnal_signal.py:1225, in SignalInstance._run_emit_loop_immediate(self=<SignalInstance 'changed' on PushButtonPlus(valu...lse, annotation=None, name='Choose_Image_Layer')>)
1223 args = self._emit_queue.popleft()
1224 for caller in self._slots:
-> 1225 caller.cb(args)
args = (False,)
caller = <StrongFunction on magicclass._gui._base.MagicTemplate._create_widget_from_method..run_function>

File C:\Program Files\Python310\lib\site-packages\psygnal_weak_callback.py:357, in StrongFunction.cb(self=<StrongFunction on magicclass._gui._base.MagicTe..._create_widget_from_method..run_function>, args=())
355 if self._max_args is not None:
356 args = args[: self._max_args]
--> 357 self._f(*self._args, *args, **self._kwargs)
args = ()
self._f = <function MagicTemplate._create_widget_from_method..run_function at 0x00000201AE673EB0>
self = <StrongFunction on magicclass._gui._base.MagicTemplate._create_widget_from_method..run_function>
self._args = ()
self._kwargs = {}

File C:\Program Files\Python310\lib\site-packages\magicclass_gui_base.py:788, in MagicTemplate._create_widget_from_method..run_function()
787 def run_function():
--> 788 mgui = _build_mgui(widget, func, self)
widget = PushButtonPlus(value=False, annotation=None, name='Choose_Image_Layer')
func = <function _napari_lattice_widget_wrapper..LLSZWidget.LlszMenu.Choose_Image_Layer at 0x00000201AE673AC0>
self = <napari_lattice._dock_widget._napari_lattice_widget_wrapper..LLSZWidget.LlszMenu object at 0x00000201AE6637F0>
789 _need_title_bar = self._popup_mode.need_title_bar()
790 if not mgui._initialized_for_magicclass: # connect only once

File C:\Program Files\Python310\lib\site-packages\magicclass_gui_base.py:1193, in build_mgui(widget=PushButtonPlus(value=False, annotation=None, name='Choose_Image_Layer'), func=<function _napari_lattice_widget_wrapper..LLSZWidget.LlszMenu.Choose_Image_Layer>, parent=<napari_lattice._dock_widget.napari_lattice_widget_wrapper..LLSZWidget.LlszMenu object>)
1188 msg = (
1189 "Exception was raised during building magicgui from method "
1190 f"{func.name}.\n{e.class.name}: {e}"
1191 )
1192 widget
.mgui = None
-> 1193 raise MagicGuiBuildError(msg)
msg = "Exception was raised during building magicgui from method Choose_Image_Layer.\nAttributeError: module 'qtpy.QtGui' has no attribute 'QShortcut'"
1195 return _connect_functiongui_event(mgui, opt)

EmitLoopError:

While emitting signal 'magicclass._gui.mgui_ext.PushButtonPlus.changed', a MagicGuiBuildError occurred in a callback:

Signal emitted at: C:\Program Files\Python310\lib\site-packages\magicgui\widgets\bases_value_widget.py:71, in _on_value_change
> self.changed.emit(value)

Callback error at: C:\Program Files\Python310\lib\site-packages\magicclass_gui_base.py:1193, in _build_mgui
> raise MagicGuiBuildError(msg)

Local variables:
   widget_ = PushButtonPlus(value=False, annotation=None, name='Choose_Im...
   func = <function _napari_lattice_widget_wrapper.<locals>.LLSZWidget...
   parent = <napari_lattice._dock_widget._napari_lattice_widget_wrapper....
   sig = <MagicMethodSignature (img_layer: napari.layers.base.base.La...
   opt = {'call_button': None, 'layout': 'vertical', 'labels': True, ...
   call_button = None
   layout = 'vertical'
   labels = True
   auto_call = False
   mgui = <FunctionGuiPlus Choose_Image_Layer(img_layer: napari.layers...
   qmgui = <PyQt5.QtWidgets.QWidget object at 0x00000201AE888550>
   msg = "Exception was raised during building magicgui from method C...

See MagicGuiBuildError above for original traceback.

@multimeric
Copy link
Collaborator

Thanks for the report. Please tell me your Python version, attach the result of pip freeze in the environment where you installed the plugin.

@cyrfav
Copy link
Author

cyrfav commented Feb 14, 2025

Thanks for your fast answer!
Here's the result
WARNING: Ignoring invalid distribution -illow (c:\users\cyril\appdata\roaming\python\python310\site-packages)
absl-py==1.3.0
aicsimageio==4.11.0
aicspylibczi==3.0.5
aiobotocore==2.4.2
aiohttp==3.8.3
aioitertools==0.11.0
aiosignal==1.2.0
alabaster==0.7.12
anndata==0.8.0
appdirs==1.4.4
asciitree==0.3.3
asttokens==2.0.8
astunparse==1.6.3
async-timeout==4.0.2
attrs==22.1.0
autopep8==1.7.0
Babel==2.10.3
backcall==0.2.0
bfio==2.3.0
bg-atlasapi==1.0.2
bg-space==0.6.0
bioformats-jar==2020.5.27
botocore==1.27.59
brainglobe-napari-io==0.1.5
btrack==0.4.6
build==1.0.3
CacheControl==0.13.1
cachetools==5.2.0
cachey==0.2.1
cellfinder-core==0.3.0
cellfinder-napari==0.0.20
cellpose==2.1.0
cellpose-napari==0.1.5
certifi==2022.9.24
chardet==5.0.0
charset-normalizer==2.1.1
cleo==2.1.0
click==8.1.3
cloudpickle==2.2.0
collections-undo==0.0.7
colorama==0.4.5
colorlog==6.7.0
commonmark==0.9.1
configobj==5.0.6
configparser==5.3.0
contourpy==1.0.5
crashtest==0.4.1
csbdeep==0.7.4
cvxopt==1.3.0
cycler==0.11.0
dask==2022.10.0
dask-image==2022.9.0
debugpy==1.6.3
decorator==5.1.1
distlib==0.3.8
distributed==2022.10.0
dnspython==2.2.1
docstring-parser==0.15
docutils==0.17.1
dulwich==0.21.7
einops==0.7.0
elementpath==4.1.3
email-validator==1.3.0
entrypoints==0.4
et-xmlfile==1.1.0
executing==1.1.1
fancylog==0.2.6
fasteners==0.18
fastjsonschema==2.19.1
fastremap==1.13.3
filelock==3.13.1
flatbuffers==22.9.24
fonttools==4.38.0
freetype-py==2.3.0
frozenlist==1.3.1
fsspec==2022.10.0
funcsigs==1.0.2
future==0.18.2
gast==0.4.0
google-auth==2.13.0
google-auth-oauthlib==0.4.6
google-pasta==0.2.0
gputools==0.2.14
grpcio==1.50.0
h5py==3.7.0
HeapDict==1.0.1
hsluv==5.0.3
idna==3.4
igraph==0.10.2
imagecodecs==2022.9.26
imageio==2.22.2
imageio-ffmpeg==0.4.7
imagesize==1.4.1
imlib==0.1.3
importlib-metadata==7.0.1
in-n-out==0.1.9
installer==0.7.0
ipykernel==6.16.1
ipython==8.5.0
ipython-genutils==0.2.0
jaraco.classes==3.3.0
jedi==0.18.1
jgo==1.0.5
Jinja2==3.1.2
jmespath==1.0.1
joblib==1.2.0
JPype1==1.4.0
jsonschema==4.16.0
jupyter-client==7.3.4
jupyter_core==4.11.2
keras==2.10.0
Keras-Preprocessing==1.1.2
keyring==24.3.0
kiwisolver==1.4.4
lazy_loader==0.3
leidenalg==0.9.0
libclang==14.0.6
lightning==2.1.3
lightning-utilities==0.10.0
llvmlite==0.39.1
locket==1.0.0
luddite==1.0.2
lxml==4.9.1
macro-kit==0.4.9
magic-class==0.7.11
magicgui==0.8.3
Mako==1.3.5
mapbox-earcut==1.0.0
Markdown==3.4.1
MarkupSafe==2.1.1
matplotlib==3.6.0
matplotlib-inline==0.1.6
meshio==5.3.4
micrometa==0.0.11
monai==1.3.0
more-itertools==10.2.0
morphometrics==0.0.6
mpmath==1.2.1
mrc==0.3.0
msgpack==1.0.4
multidict==6.0.2
munkres==1.1.4
napari==0.4.16
napari-aicsimageio==0.7.2
napari-bioformats==0.2.1
napari-console==0.0.6
napari-correct-drift==0.4.0
napari-filaments==0.2.1
napari-lattice==0.2.7
napari-ndtiffs==0.1.2
napari-nikon-nd2==0.1.3
napari-plugin-engine==0.2.0
napari-pystackreg==0.1.1
napari-roi==0.1.8
napari-roi-registration==0.1.2
napari-sairyscan==0.0.2
napari-skimage-regionprops==0.5.5
napari-spreadsheet==0.0.4
napari-svg==0.1.6
napari-tools-menu==0.1.17
napari-unicell==0.0.1.post3
napari-workflow-inspector==0.2.2
napari-workflows==0.2.10
natsort==8.2.0
nd2==0.6.0
nd2reader==3.3.0
nest-asyncio==1.5.6
networkx==2.8.7
npe2==0.6.1
npy2bdv==1.0.8
numba==0.56.3
numcodecs==0.11.0
numpy==1.23.4
numpydoc==1.5.0
oauthlib==3.2.2
ome-types==0.3.4
ome-zarr==0.7.1
opencv-python==4.7.0.72
opencv-python-headless==4.6.0.66
openpyxl==3.1.2
opt-einsum==3.3.0
packaging==21.3
palmari==0.3.0
pandas==2.2.2
parso==0.8.3
partd==1.3.0
patsy==0.5.3
pep517==0.13.0
pexpect==4.9.0
pickleshare==0.7.5
Pillow==9.5.0
PIMS==0.6.1
Pint==0.19.2
pkginfo==1.9.6
platformdirs==3.11.0
poetry==1.7.1
poetry-core==1.8.1
poetry-plugin-export==1.6.0
pooch==1.6.0
prompt-toolkit==3.0.31
protobuf==3.19.6
psutil==5.9.3
psygnal==0.11.1
ptyprocess==0.7.0
pure-eval==0.2.2
pyasn1==0.4.8
pyasn1-modules==0.2.8
pyclesperanto_prototype==0.24.4
pycodestyle==2.9.1
pycollada==0.7.2
pyconify==0.1.6
pydantic==1.10.2
pyglet==1.5.27
Pygments==2.13.0
pymeshfix==0.16.1
pynndescent==0.5.7
pynvml==11.5.0
pyopencl==2022.2.4
PyOpenGL==3.1.6
pyparsing==3.0.9
pyproject_hooks==1.0.0
PyQt5==5.15.7
PyQt5-Qt5==5.15.2
PyQt5-sip==12.11.0
pyrsistent==0.18.1
pystackreg==0.2.7
python-dateutil==2.8.2
pytomlpp==1.0.11
pytools==2022.1.12
pytorch-lightning==2.1.3
pytz==2022.5
pyvista==0.36.1
PyWavelets==1.4.1
pywin32==304
pywin32-ctypes==0.2.2
PyYAML==6.0
pyzmq==24.0.1
qt-command-palette==0.0.10
qtconsole==5.3.2
QtPy==2.2.1
rapidfuzz==3.6.1
read-roi==1.6.0
readlif==0.6.5
RedLionfish==0.10
reikna==0.8.0
requests==2.28.1
requests-oauthlib==1.3.1
requests-toolbelt==1.0.0
resource-backed-dask-array==0.1.0
rich==12.6.0
rsa==4.9
Rtree==1.0.1
s3fs==2022.10.0
sairyscan==0.0.2
scanpy==1.9.1
scikit-image==0.19.3
scikit-learn==1.1.2
scipy==1.9.3
scooby==0.6.0
scyjava==1.9.0
seaborn==0.12.1
session-info==1.0.0
Shapely==1.8.5.post1
shellingham==1.5.4
six==1.16.0
sklearn==0.0
slicerator==1.1.0
slurmio==0.0.6
snowballstemmer==2.2.0
sortedcontainers==2.4.0
Sphinx==5.3.0
sphinxcontrib-applehelp==1.0.2
sphinxcontrib-devhelp==1.0.2
sphinxcontrib-htmlhelp==2.0.0
sphinxcontrib-jsmath==1.0.1
sphinxcontrib-qthelp==1.0.3
sphinxcontrib-serializinghtml==1.1.5
stack-data==0.5.1
stardist==0.8.5
statsmodels==0.13.2
stdlib-list==0.8.0
superqt==0.6.7
svg.path==6.2
sympy==1.11.1
tabulate==0.9.0
tabulous==0.5.7
tblib==2.0.0
tensorboard==2.10.1
tensorboard-data-server==0.6.1
tensorboard-plugin-wit==1.8.1
tensorflow==2.10.0
tensorflow-estimator==2.10.0
tensorflow-io-gcs-filesystem==0.27.0
termcolor==2.0.1
test-tube==0.7.5
texttable==1.6.4
threadpoolctl==3.1.0
tifffile==2022.4.8
tiffile==2018.10.18
toml==0.10.2
tomli==2.0.1
tomli_w==1.0.0
tomlkit==0.12.3
toolz==0.12.0
torch==1.12.1
torchaudio==0.12.1+cu116
torchmetrics==1.3.0
torchvision==0.13.1
tornado==6.1
tqdm==4.64.1
trackpy==0.5.0
traitlets==5.5.0
transforms3d==0.4.1
treelib==1.6.1
trimesh==3.15.5
trove-classifiers==2024.1.8
typer==0.6.1
typing_extensions==4.12.2
tzdata==2024.1
umap-learn==0.5.3
urllib3==1.26.12
virtualenv==20.25.0
vispy==0.10.0
vollseg==32.2.1
vtk==9.2.2
wcwidth==0.2.5
Werkzeug==2.2.2
wrapt==1.14.1
wslink==1.9.0
wurlitzer==3.0.3
xarray==2023.1.0
xmlschema==2.3.1
xmltodict==0.13.0
xxhash==3.1.0
yarl==1.8.1
zarr==2.15.0
zict==3.0.0
zipp==3.17.0

@multimeric
Copy link
Collaborator

Just noting at this stage that your Napari Lattice version is quite old. To get the latest version I would advise following https://bioimageanalysiscorewehi.github.io/napari_lattice/installation/.

@cyrfav
Copy link
Author

cyrfav commented Feb 14, 2025

I'll try and get back to you

@cyrfav
Copy link
Author

cyrfav commented Feb 14, 2025

I didn't catch but, I did exactly this process to update the plugin... I previously started from the Napari interface to update the plugin and add the same error, then I went to the web page you are providing and proceed in a conda installation of the plugin. Didin't change anything...

@pr4deepr
Copy link
Collaborator

pr4deepr commented Feb 14, 2025

Sorry did you mean you tried a fresh environment and you got same error?

Assuming you didn't have any other packages installed?

Could you post error trace and pip freeze when you try a new python environment?

@cyrfav
Copy link
Author

cyrfav commented Feb 14, 2025

I found the error... the LLSM file opener was not the correct one before starting the plugin. Napari gives you 3 choices and I unfortunately select the bad one that still show the image but does not allowed proceeding with the plugin.
By selecting the good one, first step of the Napari plugin is working...

@pr4deepr
Copy link
Collaborator

Thanks for the update.
We'll make sure to highlight this in the docs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Todo
Development

No branches or pull requests

3 participants