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

"nd3 spheres" layer disappears from napari when running Pick job in RELION 5 #1131

Open
dmichalak opened this issue May 22, 2024 · 0 comments

Comments

@dmichalak
Copy link

Describe your problem

When picking particles with spheres in napari, if no particles were picked in tomogram 1, then the n3d spheres layer disappears when pressing ']' to view tomogram 2. The layer does not disappear if a sphere was defined in tomogram 1. It seems that it expects the user to define a sphere in every tomogram. The run.out error message is more informative.

Environment:

  • OS: Ubuntu 22.04.4 LTS
  • MPI runtime: OpenMPI 4.1.2
  • RELION version RELION-5.0-beta-3-commit-ad0c1f
  • Memory: 512 GB
  • GPU: RTX 3090

Job options:

  • Full command (see note.txt in the job directory):
`which relion_python_tomo_pick`  spheres --tilt-series-star-file Denoise/job015/tomograms.star --output-directory Picks/job033/  --pipeline_control Picks/job033/ && `which relion_python_tomo_get_particle_poses` spheres --tilt-series-star-file Denoise/job015/tomograms.star --annotations-directory Picks/job033/annotations --output-directory Picks/job033/ --spacing-angstroms 60  --pipeline_control Picks/job033/

Error message:

run.out
�[0;31m---------------------------------------------------------------------------�[0m
�[0;31mValueError�[0m                                Traceback (most recent call last)
File �[0;32msrc/psygnal/_signal.py:1196�[0m, in �[0;36m_run_emit_loop�[0;34m()�[0m

File �[0;32msrc/psygnal/_signal.py:1225�[0m, in �[0;36m_run_emit_loop_immediate�[0;34m()�[0m

File �[0;32msrc/psygnal/_weak_callback.py:453�[0m, in �[0;36mcb�[0;34m()�[0m

File �[0;32m~/mambaforge/envs/relion-5.0/lib/python3.10/site-packages/tomography_python_programs/pick/spheres.py:69�[0m, in �[0;36mPickSpheresWidget.synchronise_annotator�[0;34m(self=<tomography_python_programs.pick.spheres.PickSpheresWidget object>)�[0m
�[1;32m     68�[0m     �[38;5;28mself�[39m�[38;5;241m.�[39mviewer�[38;5;241m.�[39mlayers�[38;5;241m.�[39mremove(�[38;5;28mself�[39m�[38;5;241m.�[39mpoints_layer)
�[0;32m---> 69�[0m     �[38;5;28;43mself�[39;49m�[38;5;241;43m.�[39;49m�[43mviewer�[49m�[38;5;241;43m.�[39;49m�[43mlayers�[49m�[38;5;241;43m.�[39;49m�[43mremove�[49m�[43m(�[49m�[38;5;28;43mself�[39;49m�[38;5;241;43m.�[39;49m�[43mannotator�[49m�[38;5;241;43m.�[39;49m�[43msurface_layer�[49m�[43m)�[49m
        self.annotator �[0;34m= <napari_threedee.annotators.spheres.annotator.SphereAnnotator object at 0x754b342d3460>�[0m�[0;34m
        �[0mself �[0;34m= <tomography_python_programs.pick.spheres.PickSpheresWidget object at 0x754bc9f0c430>�[0m�[0;34m
        �[0mself.viewer.layers �[0;34m= [<Image layer 'tomogram' at 0x754b844d82e0>]�[0m�[0;34m
        �[0mself.annotator.surface_layer �[0;34m= None�[0m�[0;34m
        �[0mself.viewer �[0;34m= Viewer(camera=Camera(center=(134.25097504957012, 624.4804183213577, 472.5304129756257), zoom=1.6198914971997482, angles=(-19.093573125126735, 15.977671555947397, 137.60177770462866), perspective=0.0, mouse_pan=True, mouse_zoom=True), cursor=Cursor(position=(138.31620318898487, 580.496436869052, 595.5458249047225), scaled=True, size=1, style=<CursorStyle.STANDARD: 'standard'>), dims=Dims(ndim=3, ndisplay=3, last_used=0, range=((0.0, 296.0, 1.0), (0.0, 1270.0, 1.0), (0.0, 952.0, 1.0)), current_step=(147, 634, 475), order=(0, 1, 2), axis_labels=('0', '1', '2')), grid=GridCanvas(stride=1, shape=(-1, -1), enabled=False), layers=[<Image layer 'tomogram' at 0x754b844d82e0>], help='use <2> for transform', status={'layer_base': 'tomogram', 'source_type': '', 'plugin': '', 'coordinates': ' [138 580 596]'}, tooltip=Tooltip(visible=False, text=''), theme='dark', title='napari', mouse_over_canvas=True, mouse_move_callbacks=[], mouse_drag_callbacks=[], mouse_double_click_callbacks=[], mouse_wheel_callbacks=[<function dims_scroll at 0x754bd67603a0>], _persisted_mouse_event={}, _mouse_drag_gen={}, _mouse_wheel_gen={}, keymap={'[': <bound method TomogramBrowserWidget.previous_tilt_series of <tomography_python_programs._qt.components.tomogram_browser.TomogramBrowserWidget object at 0x754bc9fe28c0>>, ']': <bound method TomogramBrowserWidget.next_tilt_series of <tomography_python_programs._qt.components.tomogram_browser.TomogramBrowserWidget object at 0x754bc9fe28c0>>})�[0m
�[1;32m     70�[0m �[38;5;28;01mtry�[39;00m:

File �[0;32m~/mambaforge/envs/relion-5.0/lib/python3.10/_collections_abc.py:1163�[0m, in �[0;36mMutableSequence.remove�[0;34m(self=[<Image layer 'tomogram' at 0x754b844d82e0>], value=None)�[0m
�[1;32m   1160�[0m �[38;5;250m�[39m�[38;5;124;03m'''S.remove(value) -- remove first occurrence of value.�[39;00m
�[1;32m   1161�[0m �[38;5;124;03m   Raise ValueError if the value is not present.�[39;00m
�[1;32m   1162�[0m �[38;5;124;03m'''�[39;00m
�[0;32m-> 1163�[0m �[38;5;28;01mdel�[39;00m �[38;5;28mself�[39m[�[38;5;28;43mself�[39;49m�[38;5;241;43m.�[39;49m�[43mindex�[49m�[43m(�[49m�[43mvalue�[49m�[43m)�[49m]
        self �[0;34m= [<Image layer 'tomogram' at 0x754b844d82e0>]�[0m�[0;34m
        �[0mvalue �[0;34m= None�[0m

File �[0;32m~/mambaforge/envs/relion-5.0/lib/python3.10/site-packages/napari/utils/events/containers/_typed.py:230�[0m, in �[0;36mTypedMutableSequence.index�[0;34m(self=[<Image layer 'tomogram' at 0x754b844d82e0>], value=None, start=0, stop=None)�[0m
�[1;32m    228�[0m         �[38;5;28;01mreturn�[39;00m i
�[0;32m--> 230�[0m �[38;5;28;01mraise�[39;00m �[38;5;167;01mValueError�[39;00m(
        trans �[0;34m= <napari.utils.translations.TranslationBundle object at 0x754bddab8c70>�[0m�[0;34m
        �[0mvalue �[0;34m= None�[0m
�[1;32m    231�[0m     trans�[38;5;241m.�[39m_(
�[1;32m    232�[0m         �[38;5;124m"�[39m�[38;5;132;01m{value!r}�[39;00m�[38;5;124m is not in list�[39m�[38;5;124m"�[39m,
�[1;32m    233�[0m         deferred�[38;5;241m=�[39m�[38;5;28;01mTrue�[39;00m,
�[1;32m    234�[0m         value�[38;5;241m=�[39mvalue,
�[1;32m    235�[0m     )
�[1;32m    236�[0m )

�[0;31mValueError�[0m: None is not in list

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

�[0;31mEmitLoopError�[0m                             Traceback (most recent call last)
File �[0;32m~/mambaforge/envs/relion-5.0/lib/python3.10/site-packages/tomography_python_programs/_qt/components/tomogram_browser.py:69�[0m, in �[0;36mTomogramBrowserWidget._on_tomogram_selection_change�[0;34m(self=<tomography_python_programs._qt.components.tomogram_browser.TomogramBrowserWidget object>)�[0m
�[1;32m     67�[0m �[38;5;28mself�[39m�[38;5;241m.�[39mchanging_tomogram�[38;5;241m.�[39memit()
�[1;32m     68�[0m �[38;5;28mself�[39m�[38;5;241m.�[39mselected_tilt_series �[38;5;241m=�[39m �[38;5;28mself�[39m�[38;5;241m.�[39mtilt_series_list_widget�[38;5;241m.�[39mselected_tilt_series_in_view()
�[0;32m---> 69�[0m �[38;5;28;43mself�[39;49m�[38;5;241;43m.�[39;49m�[43m_load_tomogram�[49m�[43m(�[49m�[38;5;28;43mself�[39;49m�[38;5;241;43m.�[39;49m�[43mselected_tilt_series�[49m�[38;5;241;43m.�[39;49m�[43mname�[49m�[43m,�[49m�[43m �[49m�[43madd_to_viewer�[49m�[38;5;241;43m=�[39;49m�[38;5;28;43;01mTrue�[39;49;00m�[43m)�[49m
        self �[0;34m= <tomography_python_programs._qt.components.tomogram_browser.TomogramBrowserWidget object at 0x754bc9fe28c0>�[0m
�[1;32m     70�[0m �[38;5;28mself�[39m�[38;5;241m.�[39m_preload_next_tomograms()

File �[0;32m~/mambaforge/envs/relion-5.0/lib/python3.10/site-packages/tomography_python_programs/_qt/components/tomogram_browser.py:88�[0m, in �[0;36mTomogramBrowserWidget._load_tomogram�[0;34m(self=<tomography_python_programs._qt.components.tomogram_browser.TomogramBrowserWidget object>, tilt_series_id='AQB1tomo006', add_to_viewer=True)�[0m
�[1;32m     86�[0m �[38;5;28;01mdef�[39;00m �[38;5;21m_load_tomogram�[39m(�[38;5;28mself�[39m, tilt_series_id: �[38;5;28mstr�[39m, add_to_viewer: �[38;5;28mbool�[39m) �[38;5;241m-�[39m�[38;5;241m>�[39m �[38;5;28;01mNone�[39;00m:
�[1;32m     87�[0m     �[38;5;28;01mif�[39;00m tilt_series_id �[38;5;129;01min�[39;00m �[38;5;28mself�[39m�[38;5;241m.�[39m_cache:
�[0;32m---> 88�[0m         �[38;5;28;43mself�[39;49m�[38;5;241;43m.�[39;49m�[43m_load_tomogram_from_cache�[49m�[43m(�[49m�[43mtilt_series_id�[49m�[43m,�[49m�[43m �[49m�[43madd_to_viewer�[49m�[43m)�[49m
        add_to_viewer �[0;34m= True�[0m�[0;34m
        �[0mtilt_series_id �[0;34m= 'AQB1tomo006'�[0m�[0;34m
        �[0mself �[0;34m= <tomography_python_programs._qt.components.tomogram_browser.TomogramBrowserWidget object at 0x754bc9fe28c0>�[0m
�[1;32m     89�[0m         �[38;5;28;01mreturn�[39;00m
�[1;32m     90�[0m     denoised_tomogram_file �[38;5;241m=�[39m �[38;5;28mself�[39m�[38;5;241m.�[39mtilt_series[tilt_series_id]�[38;5;241m.�[39mdenoised_tomogram_file

File �[0;32m~/mambaforge/envs/relion-5.0/lib/python3.10/site-packages/tomography_python_programs/_qt/components/tomogram_browser.py:100�[0m, in �[0;36mTomogramBrowserWidget._load_tomogram_from_cache�[0;34m(self=<tomography_python_programs._qt.components.tomogram_browser.TomogramBrowserWidget object>, tilt_series_id='AQB1tomo006', add_to_viewer=True)�[0m
�[1;32m     98�[0m �[38;5;28;01mdef�[39;00m �[38;5;21m_load_tomogram_from_cache�[39m(�[38;5;28mself�[39m, tilt_series_id: �[38;5;28mstr�[39m, add_to_viewer: �[38;5;28mbool�[39m):
�[1;32m     99�[0m     �[38;5;28;01mif�[39;00m add_to_viewer �[38;5;129;01mis�[39;00m �[38;5;28;01mTrue�[39;00m:
�[0;32m--> 100�[0m         �[38;5;28;43mself�[39;49m�[38;5;241;43m.�[39;49m�[43m_update_tomogram_in_viewer�[49m�[43m(�[49m�[38;5;28;43mself�[39;49m�[38;5;241;43m.�[39;49m�[43m_cache�[49m�[43m[�[49m�[43mtilt_series_id�[49m�[43m]�[49m�[43m)�[49m
        self �[0;34m= <tomography_python_programs._qt.components.tomogram_browser.TomogramBrowserWidget object at 0x754bc9fe28c0>�[0m�[0;34m
        �[0mself._cache �[0;34m= {'AQB1tomo002': <class 'numpy.ndarray'> (296, 1270, 952) float32, 'AQB1tomo005': <class 'numpy.ndarray'> (296, 1270, 952) float32, 'AQB1tomo006': <class 'numpy.ndarray'> (296, 1270, 952) float32}�[0m�[0;34m
        �[0mtilt_series_id �[0;34m= 'AQB1tomo006'�[0m

File �[0;32m~/mambaforge/envs/relion-5.0/lib/python3.10/site-packages/tomography_python_programs/_qt/components/tomogram_browser.py:84�[0m, in �[0;36mTomogramBrowserWidget._update_tomogram_in_viewer�[0;34m(self=<tomography_python_programs._qt.components.tomogram_browser.TomogramBrowserWidget object>, tomogram=<class 'numpy.ndarray'> (296, 1270, 952) float32)�[0m
�[1;32m     75�[0m �[38;5;28;01melse�[39;00m:
�[1;32m     76�[0m     �[38;5;28mself�[39m�[38;5;241m.�[39mviewer�[38;5;241m.�[39madd_image(
�[1;32m     77�[0m         data�[38;5;241m=�[39mtomogram,
�[1;32m     78�[0m         name�[38;5;241m=�[39mIMAGE_LAYER_NAME,
�[0;32m   (...)�[0m
�[1;32m     82�[0m         blending�[38;5;241m=�[39m�[38;5;124m'�[39m�[38;5;124mtranslucent�[39m�[38;5;124m'�[39m,
�[1;32m     83�[0m     )
�[0;32m---> 84�[0m �[38;5;28;43mself�[39;49m�[38;5;241;43m.�[39;49m�[43m_on_tomogram_loaded�[49m�[43m(�[49m�[43m)�[49m
        self �[0;34m= <tomography_python_programs._qt.components.tomogram_browser.TomogramBrowserWidget object at 0x754bc9fe28c0>�[0m

File �[0;32m~/mambaforge/envs/relion-5.0/lib/python3.10/site-packages/tomography_python_programs/_qt/components/tomogram_browser.py:108�[0m, in �[0;36mTomogramBrowserWidget._on_tomogram_loaded�[0;34m(self=<tomography_python_programs._qt.components.tomogram_browser.TomogramBrowserWidget object>)�[0m
�[1;32m    106�[0m layer�[38;5;241m.�[39mplane�[38;5;241m.�[39mnormal �[38;5;241m=�[39m (�[38;5;241m1�[39m, �[38;5;241m0�[39m, �[38;5;241m0�[39m)
�[1;32m    107�[0m �[38;5;28mself�[39m�[38;5;241m.�[39mviewer�[38;5;241m.�[39mlayers�[38;5;241m.�[39mselection �[38;5;241m=�[39m [layer]
�[0;32m--> 108�[0m �[38;5;28;43mself�[39;49m�[38;5;241;43m.�[39;49m�[43mtomogram_changed�[49m�[38;5;241;43m.�[39;49m�[43memit�[49m�[43m(�[49m�[43m)�[49m
        self.tomogram_changed �[0;34m= <SignalInstance 'tomogram_changed' on <tomography_python_programs._qt.components.tomogram_browser.TomogramBrowserWidget object at 0x754bc9fe28c0>>�[0m�[0;34m
        �[0mself �[0;34m= <tomography_python_programs._qt.components.tomogram_browser.TomogramBrowserWidget object at 0x754bc9fe28c0>�[0m

File �[0;32msrc/psygnal/_signal.py:1176�[0m, in �[0;36memit�[0;34m()�[0m

File �[0;32msrc/psygnal/_signal.py:1213�[0m, in �[0;36m_run_emit_loop�[0;34m()�[0m

File �[0;32msrc/psygnal/_signal.py:1196�[0m, in �[0;36m_run_emit_loop�[0;34m()�[0m

File �[0;32msrc/psygnal/_signal.py:1225�[0m, in �[0;36m_run_emit_loop_immediate�[0;34m()�[0m

File �[0;32msrc/psygnal/_weak_callback.py:453�[0m, in �[0;36mcb�[0;34m()�[0m

File �[0;32m~/mambaforge/envs/relion-5.0/lib/python3.10/site-packages/tomography_python_programs/pick/spheres.py:69�[0m, in �[0;36mPickSpheresWidget.synchronise_annotator�[0;34m(self=<tomography_python_programs.pick.spheres.PickSpheresWidget object>)�[0m
�[1;32m     67�[0m �[38;5;28;01mif�[39;00m �[38;5;28mself�[39m�[38;5;241m.�[39mpoints_layer �[38;5;129;01mis�[39;00m �[38;5;129;01mnot�[39;00m �[38;5;28;01mNone�[39;00m:
�[1;32m     68�[0m     �[38;5;28mself�[39m�[38;5;241m.�[39mviewer�[38;5;241m.�[39mlayers�[38;5;241m.�[39mremove(�[38;5;28mself�[39m�[38;5;241m.�[39mpoints_layer)
�[0;32m---> 69�[0m     �[38;5;28;43mself�[39;49m�[38;5;241;43m.�[39;49m�[43mviewer�[49m�[38;5;241;43m.�[39;49m�[43mlayers�[49m�[38;5;241;43m.�[39;49m�[43mremove�[49m�[43m(�[49m�[38;5;28;43mself�[39;49m�[38;5;241;43m.�[39;49m�[43mannotator�[49m�[38;5;241;43m.�[39;49m�[43msurface_layer�[49m�[43m)�[49m
        self.annotator �[0;34m= <napari_threedee.annotators.spheres.annotator.SphereAnnotator object at 0x754b342d3460>�[0m�[0;34m
        �[0mself �[0;34m= <tomography_python_programs.pick.spheres.PickSpheresWidget object at 0x754bc9f0c430>�[0m�[0;34m
        �[0mself.viewer.layers �[0;34m= [<Image layer 'tomogram' at 0x754b844d82e0>]�[0m�[0;34m
        �[0mself.annotator.surface_layer �[0;34m= None�[0m�[0;34m
        �[0mself.viewer �[0;34m= Viewer(camera=Camera(center=(134.25097504957012, 624.4804183213577, 472.5304129756257), zoom=1.6198914971997482, angles=(-19.093573125126735, 15.977671555947397, 137.60177770462866), perspective=0.0, mouse_pan=True, mouse_zoom=True), cursor=Cursor(position=(138.31620318898487, 580.496436869052, 595.5458249047225), scaled=True, size=1, style=<CursorStyle.STANDARD: 'standard'>), dims=Dims(ndim=3, ndisplay=3, last_used=0, range=((0.0, 296.0, 1.0), (0.0, 1270.0, 1.0), (0.0, 952.0, 1.0)), current_step=(147, 634, 475), order=(0, 1, 2), axis_labels=('0', '1', '2')), grid=GridCanvas(stride=1, shape=(-1, -1), enabled=False), layers=[<Image layer 'tomogram' at 0x754b844d82e0>], help='use <2> for transform', status={'layer_base': 'tomogram', 'source_type': '', 'plugin': '', 'coordinates': ' [138 580 596]'}, tooltip=Tooltip(visible=False, text=''), theme='dark', title='napari', mouse_over_canvas=True, mouse_move_callbacks=[], mouse_drag_callbacks=[], mouse_double_click_callbacks=[], mouse_wheel_callbacks=[<function dims_scroll at 0x754bd67603a0>], _persisted_mouse_event={}, _mouse_drag_gen={}, _mouse_wheel_gen={}, keymap={'[': <bound method TomogramBrowserWidget.previous_tilt_series of <tomography_python_programs._qt.components.tomogram_browser.TomogramBrowserWidget object at 0x754bc9fe28c0>>, ']': <bound method TomogramBrowserWidget.next_tilt_series of <tomography_python_programs._qt.components.tomogram_browser.TomogramBrowserWidget object at 0x754bc9fe28c0>>})�[0m
�[1;32m     70�[0m �[38;5;28;01mtry�[39;00m:
�[1;32m     71�[0m     n3d_spheres �[38;5;241m=�[39m �[38;5;28mself�[39m�[38;5;241m.�[39mload_particles()

File �[0;32m~/mambaforge/envs/relion-5.0/lib/python3.10/_collections_abc.py:1163�[0m, in �[0;36mMutableSequence.remove�[0;34m(self=[<Image layer 'tomogram' at 0x754b844d82e0>], value=None)�[0m
�[1;32m   1159�[0m �[38;5;28;01mdef�[39;00m �[38;5;21mremove�[39m(�[38;5;28mself�[39m, value):
�[1;32m   1160�[0m �[38;5;250m    �[39m�[38;5;124;03m'''S.remove(value) -- remove first occurrence of value.�[39;00m
�[1;32m   1161�[0m �[38;5;124;03m       Raise ValueError if the value is not present.�[39;00m
�[1;32m   1162�[0m �[38;5;124;03m    '''�[39;00m
�[0;32m-> 1163�[0m     �[38;5;28;01mdel�[39;00m �[38;5;28mself�[39m[�[38;5;28;43mself�[39;49m�[38;5;241;43m.�[39;49m�[43mindex�[49m�[43m(�[49m�[43mvalue�[49m�[43m)�[49m]
        self �[0;34m= [<Image layer 'tomogram' at 0x754b844d82e0>]�[0m�[0;34m
        �[0mvalue �[0;34m= None�[0m

File �[0;32m~/mambaforge/envs/relion-5.0/lib/python3.10/site-packages/napari/utils/events/containers/_typed.py:230�[0m, in �[0;36mTypedMutableSequence.index�[0;34m(self=[<Image layer 'tomogram' at 0x754b844d82e0>], value=None, start=0, stop=None)�[0m
�[1;32m    227�[0m     �[38;5;28;01mif�[39;00m v �[38;5;129;01mis�[39;00m value �[38;5;129;01mor�[39;00m v �[38;5;241m==�[39m value:
�[1;32m    228�[0m         �[38;5;28;01mreturn�[39;00m i
�[0;32m--> 230�[0m �[38;5;28;01mraise�[39;00m �[38;5;167;01mValueError�[39;00m(
        trans �[0;34m= <napari.utils.translations.TranslationBundle object at 0x754bddab8c70>�[0m�[0;34m
        �[0mvalue �[0;34m= None�[0m
�[1;32m    231�[0m     trans�[38;5;241m.�[39m_(
�[1;32m    232�[0m         �[38;5;124m"�[39m�[38;5;132;01m{value!r}�[39;00m�[38;5;124m is not in list�[39m�[38;5;124m"�[39m,
�[1;32m    233�[0m         deferred�[38;5;241m=�[39m�[38;5;28;01mTrue�[39;00m,
�[1;32m    234�[0m         value�[38;5;241m=�[39mvalue,
�[1;32m    235�[0m     )
�[1;32m    236�[0m )

�[0;31mEmitLoopError�[0m: 

While emitting signal 'tomography_python_programs._qt.components.tomogram_browser.TomogramBrowserWidget.tomogram_changed', a ValueError occurred in a callback:

  Signal emitted at: /home/michalakdj/mambaforge/envs/relion-5.0/lib/python3.10/site-packages/tomography_python_programs/_qt/components/tomogram_browser.py:108, in _on_tomogram_loaded
    >  self.tomogram_changed.emit()

  Callback error at: /home/michalakdj/mambaforge/envs/relion-5.0/lib/python3.10/site-packages/napari/utils/events/containers/_typed.py:230, in index
    >  raise ValueError(

    Local variables:
       value = None
       start = 0
       stop = None
       convert = <function _noop at 0x754bddb0a5f0>
       i = 0
       v = <Image layer 'tomogram' at 0x754b844d82e0>

See ValueError above for original traceback.
�[0;31m---------------------------------------------------------------------------�[0m
�[0;31mValueError�[0m                                Traceback (most recent call last)
File �[0;32msrc/psygnal/_signal.py:1196�[0m, in �[0;36m_run_emit_loop�[0;34m()�[0m

File �[0;32msrc/psygnal/_signal.py:1225�[0m, in �[0;36m_run_emit_loop_immediate�[0;34m()�[0m

File �[0;32msrc/psygnal/_weak_callback.py:453�[0m, in �[0;36mcb�[0;34m()�[0m

File �[0;32m~/mambaforge/envs/relion-5.0/lib/python3.10/site-packages/tomography_python_programs/pick/spheres.py:68�[0m, in �[0;36mPickSpheresWidget.synchronise_annotator�[0;34m(self=<tomography_python_programs.pick.spheres.PickSpheresWidget object>)�[0m
�[1;32m     67�[0m �[38;5;28;01mif�[39;00m �[38;5;28mself�[39m�[38;5;241m.�[39mpoints_layer �[38;5;129;01mis�[39;00m �[38;5;129;01mnot�[39;00m �[38;5;28;01mNone�[39;00m:
�[0;32m---> 68�[0m     �[38;5;28;43mself�[39;49m�[38;5;241;43m.�[39;49m�[43mviewer�[49m�[38;5;241;43m.�[39;49m�[43mlayers�[49m�[38;5;241;43m.�[39;49m�[43mremove�[49m�[43m(�[49m�[38;5;28;43mself�[39;49m�[38;5;241;43m.�[39;49m�[43mpoints_layer�[49m�[43m)�[49m
        self.points_layer �[0;34m= <Points layer 'n3d spheres' at 0x754b7846c400>�[0m�[0;34m
        �[0mself �[0;34m= <tomography_python_programs.pick.spheres.PickSpheresWidget object at 0x754bc9f0c430>�[0m�[0;34m
        �[0mself.viewer.layers �[0;34m= [<Image layer 'tomogram' at 0x754b844d82e0>]�[0m�[0;34m
        �[0mself.viewer �[0;34m= Viewer(camera=Camera(center=(134.25097504957012, 624.4804183213577, 472.5304129756257), zoom=1.6198914971997482, angles=(-19.093573125126735, 15.977671555947397, 137.60177770462866), perspective=0.0, mouse_pan=True, mouse_zoom=True), cursor=Cursor(position=(168.02505784420777, 609.1196656123706, 591.684795982022), scaled=True, size=1, style=<CursorStyle.STANDARD: 'standard'>), dims=Dims(ndim=3, ndisplay=3, last_used=0, range=((0.0, 296.0, 1.0), (0.0, 1270.0, 1.0), (0.0, 952.0, 1.0)), current_step=(147, 634, 475), order=(0, 1, 2), axis_labels=('0', '1', '2')), grid=GridCanvas(stride=1, shape=(-1, -1), enabled=False), layers=[<Image layer 'tomogram' at 0x754b844d82e0>], help='use <2> for transform', status={'layer_base': 'tomogram', 'source_type': '', 'plugin': '', 'coordinates': ' [168 609 592]'}, tooltip=Tooltip(visible=False, text=''), theme='dark', title='napari', mouse_over_canvas=True, mouse_move_callbacks=[], mouse_drag_callbacks=[], mouse_double_click_callbacks=[], mouse_wheel_callbacks=[<function dims_scroll at 0x754bd67603a0>], _persisted_mouse_event={}, _mouse_drag_gen={}, _mouse_wheel_gen={}, keymap={'[': <bound method TomogramBrowserWidget.previous_tilt_series of <tomography_python_programs._qt.components.tomogram_browser.TomogramBrowserWidget object at 0x754bc9fe28c0>>, ']': <bound method TomogramBrowserWidget.next_tilt_series of <tomography_python_programs._qt.components.tomogram_browser.TomogramBrowserWidget object at 0x754bc9fe28c0>>})�[0m
�[1;32m     69�[0m     �[38;5;28mself�[39m�[38;5;241m.�[39mviewer�[38;5;241m.�[39mlayers�[38;5;241m.�[39mremove(�[38;5;28mself�[39m�[38;5;241m.�[39mannotator�[38;5;241m.�[39msurface_layer)

File �[0;32m~/mambaforge/envs/relion-5.0/lib/python3.10/_collections_abc.py:1163�[0m, in �[0;36mMutableSequence.remove�[0;34m(self=[<Image layer 'tomogram' at 0x754b844d82e0>], value=<Points layer 'n3d spheres'>)�[0m
�[1;32m   1160�[0m �[38;5;250m�[39m�[38;5;124;03m'''S.remove(value) -- remove first occurrence of value.�[39;00m
�[1;32m   1161�[0m �[38;5;124;03m   Raise ValueError if the value is not present.�[39;00m
�[1;32m   1162�[0m �[38;5;124;03m'''�[39;00m
�[0;32m-> 1163�[0m �[38;5;28;01mdel�[39;00m �[38;5;28mself�[39m[�[38;5;28;43mself�[39;49m�[38;5;241;43m.�[39;49m�[43mindex�[49m�[43m(�[49m�[43mvalue�[49m�[43m)�[49m]
        self �[0;34m= [<Image layer 'tomogram' at 0x754b844d82e0>]�[0m�[0;34m
        �[0mvalue �[0;34m= <Points layer 'n3d spheres' at 0x754b7846c400>�[0m

File �[0;32m~/mambaforge/envs/relion-5.0/lib/python3.10/site-packages/napari/utils/events/containers/_typed.py:230�[0m, in �[0;36mTypedMutableSequence.index�[0;34m(self=[<Image layer 'tomogram' at 0x754b844d82e0>], value=<Points layer 'n3d spheres'>, start=0, stop=None)�[0m
�[1;32m    228�[0m         �[38;5;28;01mreturn�[39;00m i
�[0;32m--> 230�[0m �[38;5;28;01mraise�[39;00m �[38;5;167;01mValueError�[39;00m(
        trans �[0;34m= <napari.utils.translations.TranslationBundle object at 0x754bddab8c70>�[0m�[0;34m
        �[0mvalue �[0;34m= <Points layer 'n3d spheres' at 0x754b7846c400>�[0m
�[1;32m    231�[0m     trans�[38;5;241m.�[39m_(
�[1;32m    232�[0m         �[38;5;124m"�[39m�[38;5;132;01m{value!r}�[39;00m�[38;5;124m is not in list�[39m�[38;5;124m"�[39m,
�[1;32m    233�[0m         deferred�[38;5;241m=�[39m�[38;5;28;01mTrue�[39;00m,
�[1;32m    234�[0m         value�[38;5;241m=�[39mvalue,
�[1;32m    235�[0m     )
�[1;32m    236�[0m )

�[0;31mValueError�[0m: <Points layer 'n3d spheres' at 0x754b7846c400> is not in list

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

�[0;31mEmitLoopError�[0m                             Traceback (most recent call last)
File �[0;32m~/mambaforge/envs/relion-5.0/lib/python3.10/site-packages/tomography_python_programs/_qt/components/tomogram_browser.py:69�[0m, in �[0;36mTomogramBrowserWidget._on_tomogram_selection_change�[0;34m(self=<tomography_python_programs._qt.components.tomogram_browser.TomogramBrowserWidget object>)�[0m
�[1;32m     67�[0m �[38;5;28mself�[39m�[38;5;241m.�[39mchanging_tomogram�[38;5;241m.�[39memit()
�[1;32m     68�[0m �[38;5;28mself�[39m�[38;5;241m.�[39mselected_tilt_series �[38;5;241m=�[39m �[38;5;28mself�[39m�[38;5;241m.�[39mtilt_series_list_widget�[38;5;241m.�[39mselected_tilt_series_in_view()
�[0;32m---> 69�[0m �[38;5;28;43mself�[39;49m�[38;5;241;43m.�[39;49m�[43m_load_tomogram�[49m�[43m(�[49m�[38;5;28;43mself�[39;49m�[38;5;241;43m.�[39;49m�[43mselected_tilt_series�[49m�[38;5;241;43m.�[39;49m�[43mname�[49m�[43m,�[49m�[43m �[49m�[43madd_to_viewer�[49m�[38;5;241;43m=�[39;49m�[38;5;28;43;01mTrue�[39;49;00m�[43m)�[49m
        self �[0;34m= <tomography_python_programs._qt.components.tomogram_browser.TomogramBrowserWidget object at 0x754bc9fe28c0>�[0m
�[1;32m     70�[0m �[38;5;28mself�[39m�[38;5;241m.�[39m_preload_next_tomograms()

File �[0;32m~/mambaforge/envs/relion-5.0/lib/python3.10/site-packages/tomography_python_programs/_qt/components/tomogram_browser.py:96�[0m, in �[0;36mTomogramBrowserWidget._load_tomogram�[0;34m(self=<tomography_python_programs._qt.components.tomogram_browser.TomogramBrowserWidget object>, tilt_series_id='AQB1tomo008', add_to_viewer=True)�[0m
�[1;32m     94�[0m �[38;5;28mself�[39m�[38;5;241m.�[39m_cache[tilt_series_id] �[38;5;241m=�[39m tomogram
�[1;32m     95�[0m �[38;5;28;01mif�[39;00m add_to_viewer:
�[0;32m---> 96�[0m     �[38;5;28;43mself�[39;49m�[38;5;241;43m.�[39;49m�[43m_update_tomogram_in_viewer�[49m�[43m(�[49m�[43mtomogram�[49m�[43m)�[49m
        tomogram �[0;34m= <class 'numpy.ndarray'> (296, 1270, 952) float32�[0m�[0;34m
        �[0mself �[0;34m= <tomography_python_programs._qt.components.tomogram_browser.TomogramBrowserWidget object at 0x754bc9fe28c0>�[0m

File �[0;32m~/mambaforge/envs/relion-5.0/lib/python3.10/site-packages/tomography_python_programs/_qt/components/tomogram_browser.py:84�[0m, in �[0;36mTomogramBrowserWidget._update_tomogram_in_viewer�[0;34m(self=<tomography_python_programs._qt.components.tomogram_browser.TomogramBrowserWidget object>, tomogram=<class 'numpy.ndarray'> (296, 1270, 952) float32)�[0m
�[1;32m     75�[0m �[38;5;28;01melse�[39;00m:
�[1;32m     76�[0m     �[38;5;28mself�[39m�[38;5;241m.�[39mviewer�[38;5;241m.�[39madd_image(
�[1;32m     77�[0m         data�[38;5;241m=�[39mtomogram,
�[1;32m     78�[0m         name�[38;5;241m=�[39mIMAGE_LAYER_NAME,
�[0;32m   (...)�[0m
�[1;32m     82�[0m         blending�[38;5;241m=�[39m�[38;5;124m'�[39m�[38;5;124mtranslucent�[39m�[38;5;124m'�[39m,
�[1;32m     83�[0m     )
�[0;32m---> 84�[0m �[38;5;28;43mself�[39;49m�[38;5;241;43m.�[39;49m�[43m_on_tomogram_loaded�[49m�[43m(�[49m�[43m)�[49m
        self �[0;34m= <tomography_python_programs._qt.components.tomogram_browser.TomogramBrowserWidget object at 0x754bc9fe28c0>�[0m

File �[0;32m~/mambaforge/envs/relion-5.0/lib/python3.10/site-packages/tomography_python_programs/_qt/components/tomogram_browser.py:108�[0m, in �[0;36mTomogramBrowserWidget._on_tomogram_loaded�[0;34m(self=<tomography_python_programs._qt.components.tomogram_browser.TomogramBrowserWidget object>)�[0m
�[1;32m    106�[0m layer�[38;5;241m.�[39mplane�[38;5;241m.�[39mnormal �[38;5;241m=�[39m (�[38;5;241m1�[39m, �[38;5;241m0�[39m, �[38;5;241m0�[39m)
�[1;32m    107�[0m �[38;5;28mself�[39m�[38;5;241m.�[39mviewer�[38;5;241m.�[39mlayers�[38;5;241m.�[39mselection �[38;5;241m=�[39m [layer]
�[0;32m--> 108�[0m �[38;5;28;43mself�[39;49m�[38;5;241;43m.�[39;49m�[43mtomogram_changed�[49m�[38;5;241;43m.�[39;49m�[43memit�[49m�[43m(�[49m�[43m)�[49m
        self.tomogram_changed �[0;34m= <SignalInstance 'tomogram_changed' on <tomography_python_programs._qt.components.tomogram_browser.TomogramBrowserWidget object at 0x754bc9fe28c0>>�[0m�[0;34m
        �[0mself �[0;34m= <tomography_python_programs._qt.components.tomogram_browser.TomogramBrowserWidget object at 0x754bc9fe28c0>�[0m

File �[0;32msrc/psygnal/_signal.py:1176�[0m, in �[0;36memit�[0;34m()�[0m

File �[0;32msrc/psygnal/_signal.py:1213�[0m, in �[0;36m_run_emit_loop�[0;34m()�[0m

File �[0;32msrc/psygnal/_signal.py:1196�[0m, in �[0;36m_run_emit_loop�[0;34m()�[0m

File �[0;32msrc/psygnal/_signal.py:1225�[0m, in �[0;36m_run_emit_loop_immediate�[0;34m()�[0m

File �[0;32msrc/psygnal/_weak_callback.py:453�[0m, in �[0;36mcb�[0;34m()�[0m

File �[0;32m~/mambaforge/envs/relion-5.0/lib/python3.10/site-packages/tomography_python_programs/pick/spheres.py:68�[0m, in �[0;36mPickSpheresWidget.synchronise_annotator�[0;34m(self=<tomography_python_programs.pick.spheres.PickSpheresWidget object>)�[0m
�[1;32m     66�[0m �[38;5;28mself�[39m�[38;5;241m.�[39mannotator�[38;5;241m.�[39menabled �[38;5;241m=�[39m �[38;5;28;01mFalse�[39;00m
�[1;32m     67�[0m �[38;5;28;01mif�[39;00m �[38;5;28mself�[39m�[38;5;241m.�[39mpoints_layer �[38;5;129;01mis�[39;00m �[38;5;129;01mnot�[39;00m �[38;5;28;01mNone�[39;00m:
�[0;32m---> 68�[0m     �[38;5;28;43mself�[39;49m�[38;5;241;43m.�[39;49m�[43mviewer�[49m�[38;5;241;43m.�[39;49m�[43mlayers�[49m�[38;5;241;43m.�[39;49m�[43mremove�[49m�[43m(�[49m�[38;5;28;43mself�[39;49m�[38;5;241;43m.�[39;49m�[43mpoints_layer�[49m�[43m)�[49m
        self.points_layer �[0;34m= <Points layer 'n3d spheres' at 0x754b7846c400>�[0m�[0;34m
        �[0mself �[0;34m= <tomography_python_programs.pick.spheres.PickSpheresWidget object at 0x754bc9f0c430>�[0m�[0;34m
        �[0mself.viewer.layers �[0;34m= [<Image layer 'tomogram' at 0x754b844d82e0>]�[0m�[0;34m
        �[0mself.viewer �[0;34m= Viewer(camera=Camera(center=(134.25097504957012, 624.4804183213577, 472.5304129756257), zoom=1.6198914971997482, angles=(-19.093573125126735, 15.977671555947397, 137.60177770462866), perspective=0.0, mouse_pan=True, mouse_zoom=True), cursor=Cursor(position=(168.02505784420777, 609.1196656123706, 591.684795982022), scaled=True, size=1, style=<CursorStyle.STANDARD: 'standard'>), dims=Dims(ndim=3, ndisplay=3, last_used=0, range=((0.0, 296.0, 1.0), (0.0, 1270.0, 1.0), (0.0, 952.0, 1.0)), current_step=(147, 634, 475), order=(0, 1, 2), axis_labels=('0', '1', '2')), grid=GridCanvas(stride=1, shape=(-1, -1), enabled=False), layers=[<Image layer 'tomogram' at 0x754b844d82e0>], help='use <2> for transform', status={'layer_base': 'tomogram', 'source_type': '', 'plugin': '', 'coordinates': ' [168 609 592]'}, tooltip=Tooltip(visible=False, text=''), theme='dark', title='napari', mouse_over_canvas=True, mouse_move_callbacks=[], mouse_drag_callbacks=[], mouse_double_click_callbacks=[], mouse_wheel_callbacks=[<function dims_scroll at 0x754bd67603a0>], _persisted_mouse_event={}, _mouse_drag_gen={}, _mouse_wheel_gen={}, keymap={'[': <bound method TomogramBrowserWidget.previous_tilt_series of <tomography_python_programs._qt.components.tomogram_browser.TomogramBrowserWidget object at 0x754bc9fe28c0>>, ']': <bound method TomogramBrowserWidget.next_tilt_series of <tomography_python_programs._qt.components.tomogram_browser.TomogramBrowserWidget object at 0x754bc9fe28c0>>})�[0m
�[1;32m     69�[0m     �[38;5;28mself�[39m�[38;5;241m.�[39mviewer�[38;5;241m.�[39mlayers�[38;5;241m.�[39mremove(�[38;5;28mself�[39m�[38;5;241m.�[39mannotator�[38;5;241m.�[39msurface_layer)
�[1;32m     70�[0m �[38;5;28;01mtry�[39;00m:

File �[0;32m~/mambaforge/envs/relion-5.0/lib/python3.10/_collections_abc.py:1163�[0m, in �[0;36mMutableSequence.remove�[0;34m(self=[<Image layer 'tomogram' at 0x754b844d82e0>], value=<Points layer 'n3d spheres'>)�[0m
�[1;32m   1159�[0m �[38;5;28;01mdef�[39;00m �[38;5;21mremove�[39m(�[38;5;28mself�[39m, value):
�[1;32m   1160�[0m �[38;5;250m    �[39m�[38;5;124;03m'''S.remove(value) -- remove first occurrence of value.�[39;00m
�[1;32m   1161�[0m �[38;5;124;03m       Raise ValueError if the value is not present.�[39;00m
�[1;32m   1162�[0m �[38;5;124;03m    '''�[39;00m
�[0;32m-> 1163�[0m     �[38;5;28;01mdel�[39;00m �[38;5;28mself�[39m[�[38;5;28;43mself�[39;49m�[38;5;241;43m.�[39;49m�[43mindex�[49m�[43m(�[49m�[43mvalue�[49m�[43m)�[49m]
        self �[0;34m= [<Image layer 'tomogram' at 0x754b844d82e0>]�[0m�[0;34m
        �[0mvalue �[0;34m= <Points layer 'n3d spheres' at 0x754b7846c400>�[0m

File �[0;32m~/mambaforge/envs/relion-5.0/lib/python3.10/site-packages/napari/utils/events/containers/_typed.py:230�[0m, in �[0;36mTypedMutableSequence.index�[0;34m(self=[<Image layer 'tomogram' at 0x754b844d82e0>], value=<Points layer 'n3d spheres'>, start=0, stop=None)�[0m
�[1;32m    227�[0m     �[38;5;28;01mif�[39;00m v �[38;5;129;01mis�[39;00m value �[38;5;129;01mor�[39;00m v �[38;5;241m==�[39m value:
�[1;32m    228�[0m         �[38;5;28;01mreturn�[39;00m i
�[0;32m--> 230�[0m �[38;5;28;01mraise�[39;00m �[38;5;167;01mValueError�[39;00m(
        trans �[0;34m= <napari.utils.translations.TranslationBundle object at 0x754bddab8c70>�[0m�[0;34m
        �[0mvalue �[0;34m= <Points layer 'n3d spheres' at 0x754b7846c400>�[0m
�[1;32m    231�[0m     trans�[38;5;241m.�[39m_(
�[1;32m    232�[0m         �[38;5;124m"�[39m�[38;5;132;01m{value!r}�[39;00m�[38;5;124m is not in list�[39m�[38;5;124m"�[39m,
�[1;32m    233�[0m         deferred�[38;5;241m=�[39m�[38;5;28;01mTrue�[39;00m,
�[1;32m    234�[0m         value�[38;5;241m=�[39mvalue,
�[1;32m    235�[0m     )
�[1;32m    236�[0m )

�[0;31mEmitLoopError�[0m: 

While emitting signal 'tomography_python_programs._qt.components.tomogram_browser.TomogramBrowserWidget.tomogram_changed', a ValueError occurred in a callback:

  Signal emitted at: /home/michalakdj/mambaforge/envs/relion-5.0/lib/python3.10/site-packages/tomography_python_programs/_qt/components/tomogram_browser.py:108, in _on_tomogram_loaded
    >  self.tomogram_changed.emit()

  Callback error at: /home/michalakdj/mambaforge/envs/relion-5.0/lib/python3.10/site-packages/napari/utils/events/containers/_typed.py:230, in index
    >  raise ValueError(

    Local variables:
       value = <Points layer 'n3d spheres' at 0x754b7846c400>
       start = 0
       stop = None
       convert = <function _noop at 0x754bddb0a5f0>
       i = 0
       v = <Image layer 'tomogram' at 0x754b844d82e0>

See ValueError above for original traceback.
�[0;31m---------------------------------------------------------------------------�[0m
�[0;31mValueError�[0m                                Traceback (most recent call last)
File �[0;32msrc/psygnal/_signal.py:1196�[0m, in �[0;36m_run_emit_loop�[0;34m()�[0m

File �[0;32msrc/psygnal/_signal.py:1225�[0m, in �[0;36m_run_emit_loop_immediate�[0;34m()�[0m

File �[0;32msrc/psygnal/_weak_callback.py:453�[0m, in �[0;36mcb�[0;34m()�[0m

File �[0;32m~/mambaforge/envs/relion-5.0/lib/python3.10/site-packages/tomography_python_programs/pick/spheres.py:68�[0m, in �[0;36mPickSpheresWidget.synchronise_annotator�[0;34m(self=<tomography_python_programs.pick.spheres.PickSpheresWidget object>)�[0m
�[1;32m     67�[0m �[38;5;28;01mif�[39;00m �[38;5;28mself�[39m�[38;5;241m.�[39mpoints_layer �[38;5;129;01mis�[39;00m �[38;5;129;01mnot�[39;00m �[38;5;28;01mNone�[39;00m:
�[0;32m---> 68�[0m     �[38;5;28;43mself�[39;49m�[38;5;241;43m.�[39;49m�[43mviewer�[49m�[38;5;241;43m.�[39;49m�[43mlayers�[49m�[38;5;241;43m.�[39;49m�[43mremove�[49m�[43m(�[49m�[38;5;28;43mself�[39;49m�[38;5;241;43m.�[39;49m�[43mpoints_layer�[49m�[43m)�[49m
        self.points_layer �[0;34m= <Points layer 'n3d spheres' at 0x754b7846c400>�[0m�[0;34m
        �[0mself �[0;34m= <tomography_python_programs.pick.spheres.PickSpheresWidget object at 0x754bc9f0c430>�[0m�[0;34m
        �[0mself.viewer.layers �[0;34m= [<Image layer 'tomogram' at 0x754b844d82e0>]�[0m�[0;34m
        �[0mself.viewer �[0;34m= Viewer(camera=Camera(center=(134.25097504957012, 624.4804183213577, 472.5304129756257), zoom=1.6198914971997482, angles=(-19.093573125126735, 15.977671555947397, 137.60177770462866), perspective=0.0, mouse_pan=True, mouse_zoom=True), cursor=Cursor(position=(168.65673457295958, 610.490941355705, 589.6356189088904), scaled=True, size=1, style=<CursorStyle.STANDARD: 'standard'>), dims=Dims(ndim=3, ndisplay=3, last_used=0, range=((0.0, 296.0, 1.0), (0.0, 1270.0, 1.0), (0.0, 952.0, 1.0)), current_step=(147, 634, 475), order=(0, 1, 2), axis_labels=('0', '1', '2')), grid=GridCanvas(stride=1, shape=(-1, -1), enabled=False), layers=[<Image layer 'tomogram' at 0x754b844d82e0>], help='use <2> for transform', status={'layer_base': 'tomogram', 'source_type': '', 'plugin': '', 'coordinates': ' [169 610 590]'}, tooltip=Tooltip(visible=False, text=''), theme='dark', title='napari', mouse_over_canvas=True, mouse_move_callbacks=[], mouse_drag_callbacks=[], mouse_double_click_callbacks=[], mouse_wheel_callbacks=[<function dims_scroll at 0x754bd67603a0>], _persisted_mouse_event={}, _mouse_drag_gen={}, _mouse_wheel_gen={}, keymap={'[': <bound method TomogramBrowserWidget.previous_tilt_series of <tomography_python_programs._qt.components.tomogram_browser.TomogramBrowserWidget object at 0x754bc9fe28c0>>, ']': <bound method TomogramBrowserWidget.next_tilt_series of <tomography_python_programs._qt.components.tomogram_browser.TomogramBrowserWidget object at 0x754bc9fe28c0>>})�[0m
�[1;32m     69�[0m     �[38;5;28mself�[39m�[38;5;241m.�[39mviewer�[38;5;241m.�[39mlayers�[38;5;241m.�[39mremove(�[38;5;28mself�[39m�[38;5;241m.�[39mannotator�[38;5;241m.�[39msurface_layer)

File �[0;32m~/mambaforge/envs/relion-5.0/lib/python3.10/_collections_abc.py:1163�[0m, in �[0;36mMutableSequence.remove�[0;34m(self=[<Image layer 'tomogram' at 0x754b844d82e0>], value=<Points layer 'n3d spheres'>)�[0m
�[1;32m   1160�[0m �[38;5;250m�[39m�[38;5;124;03m'''S.remove(value) -- remove first occurrence of value.�[39;00m
�[1;32m   1161�[0m �[38;5;124;03m   Raise ValueError if the value is not present.�[39;00m
�[1;32m   1162�[0m �[38;5;124;03m'''�[39;00m
�[0;32m-> 1163�[0m �[38;5;28;01mdel�[39;00m �[38;5;28mself�[39m[�[38;5;28;43mself�[39;49m�[38;5;241;43m.�[39;49m�[43mindex�[49m�[43m(�[49m�[43mvalue�[49m�[43m)�[49m]
        self �[0;34m= [<Image layer 'tomogram' at 0x754b844d82e0>]�[0m�[0;34m
        �[0mvalue �[0;34m= <Points layer 'n3d spheres' at 0x754b7846c400>�[0m

File �[0;32m~/mambaforge/envs/relion-5.0/lib/python3.10/site-packages/napari/utils/events/containers/_typed.py:230�[0m, in �[0;36mTypedMutableSequence.index�[0;34m(self=[<Image layer 'tomogram' at 0x754b844d82e0>], value=<Points layer 'n3d spheres'>, start=0, stop=None)�[0m
�[1;32m    228�[0m         �[38;5;28;01mreturn�[39;00m i
�[0;32m--> 230�[0m �[38;5;28;01mraise�[39;00m �[38;5;167;01mValueError�[39;00m(
        trans �[0;34m= <napari.utils.translations.TranslationBundle object at 0x754bddab8c70>�[0m�[0;34m
        �[0mvalue �[0;34m= <Points layer 'n3d spheres' at 0x754b7846c400>�[0m
�[1;32m    231�[0m     trans�[38;5;241m.�[39m_(
�[1;32m    232�[0m         �[38;5;124m"�[39m�[38;5;132;01m{value!r}�[39;00m�[38;5;124m is not in list�[39m�[38;5;124m"�[39m,
�[1;32m    233�[0m         deferred�[38;5;241m=�[39m�[38;5;28;01mTrue�[39;00m,
�[1;32m    234�[0m         value�[38;5;241m=�[39mvalue,
�[1;32m    235�[0m     )
�[1;32m    236�[0m )

�[0;31mValueError�[0m: <Points layer 'n3d spheres' at 0x754b7846c400> is not in list

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

�[0;31mEmitLoopError�[0m                             Traceback (most recent call last)
File �[0;32m~/mambaforge/envs/relion-5.0/lib/python3.10/site-packages/tomography_python_programs/_qt/components/tomogram_browser.py:69�[0m, in �[0;36mTomogramBrowserWidget._on_tomogram_selection_change�[0;34m(self=<tomography_python_programs._qt.components.tomogram_browser.TomogramBrowserWidget object>)�[0m
�[1;32m     67�[0m �[38;5;28mself�[39m�[38;5;241m.�[39mchanging_tomogram�[38;5;241m.�[39memit()
�[1;32m     68�[0m �[38;5;28mself�[39m�[38;5;241m.�[39mselected_tilt_series �[38;5;241m=�[39m �[38;5;28mself�[39m�[38;5;241m.�[39mtilt_series_list_widget�[38;5;241m.�[39mselected_tilt_series_in_view()
�[0;32m---> 69�[0m �[38;5;28;43mself�[39;49m�[38;5;241;43m.�[39;49m�[43m_load_tomogram�[49m�[43m(�[49m�[38;5;28;43mself�[39;49m�[38;5;241;43m.�[39;49m�[43mselected_tilt_series�[49m�[38;5;241;43m.�[39;49m�[43mname�[49m�[43m,�[49m�[43m �[49m�[43madd_to_viewer�[49m�[38;5;241;43m=�[39;49m�[38;5;28;43;01mTrue�[39;49;00m�[43m)�[49m
        self �[0;34m= <tomography_python_programs._qt.components.tomogram_browser.TomogramBrowserWidget object at 0x754bc9fe28c0>�[0m
�[1;32m     70�[0m �[38;5;28mself�[39m�[38;5;241m.�[39m_preload_next_tomograms()

File �[0;32m~/mambaforge/envs/relion-5.0/lib/python3.10/site-packages/tomography_python_programs/_qt/components/tomogram_browser.py:96�[0m, in �[0;36mTomogramBrowserWidget._load_tomogram�[0;34m(self=<tomography_python_programs._qt.components.tomogram_browser.TomogramBrowserWidget object>, tilt_series_id='AQB1tomo012', add_to_viewer=True)�[0m
�[1;32m     94�[0m �[38;5;28mself�[39m�[38;5;241m.�[39m_cache[tilt_series_id] �[38;5;241m=�[39m tomogram
�[1;32m     95�[0m �[38;5;28;01mif�[39;00m add_to_viewer:
�[0;32m---> 96�[0m     �[38;5;28;43mself�[39;49m�[38;5;241;43m.�[39;49m�[43m_update_tomogram_in_viewer�[49m�[43m(�[49m�[43mtomogram�[49m�[43m)�[49m
        tomogram �[0;34m= <class 'numpy.ndarray'> (296, 1270, 952) float32�[0m�[0;34m
        �[0mself �[0;34m= <tomography_python_programs._qt.components.tomogram_browser.TomogramBrowserWidget object at 0x754bc9fe28c0>�[0m

File �[0;32m~/mambaforge/envs/relion-5.0/lib/python3.10/site-packages/tomography_python_programs/_qt/components/tomogram_browser.py:84�[0m, in �[0;36mTomogramBrowserWidget._update_tomogram_in_viewer�[0;34m(self=<tomography_python_programs._qt.components.tomogram_browser.TomogramBrowserWidget object>, tomogram=<class 'numpy.ndarray'> (296, 1270, 952) float32)�[0m
�[1;32m     75�[0m �[38;5;28;01melse�[39;00m:
�[1;32m     76�[0m     �[38;5;28mself�[39m�[38;5;241m.�[39mviewer�[38;5;241m.�[39madd_image(
�[1;32m     77�[0m         data�[38;5;241m=�[39mtomogram,
�[1;32m     78�[0m         name�[38;5;241m=�[39mIMAGE_LAYER_NAME,
�[0;32m   (...)�[0m
�[1;32m     82�[0m         blending�[38;5;241m=�[39m�[38;5;124m'�[39m�[38;5;124mtranslucent�[39m�[38;5;124m'�[39m,
�[1;32m     83�[0m     )
�[0;32m---> 84�[0m �[38;5;28;43mself�[39;49m�[38;5;241;43m.�[39;49m�[43m_on_tomogram_loaded�[49m�[43m(�[49m�[43m)�[49m
        self �[0;34m= <tomography_python_programs._qt.components.tomogram_browser.TomogramBrowserWidget object at 0x754bc9fe28c0>�[0m

File �[0;32m~/mambaforge/envs/relion-5.0/lib/python3.10/site-packages/tomography_python_programs/_qt/components/tomogram_browser.py:108�[0m, in �[0;36mTomogramBrowserWidget._on_tomogram_loaded�[0;34m(self=<tomography_python_programs._qt.components.tomogram_browser.TomogramBrowserWidget object>)�[0m
�[1;32m    106�[0m layer�[38;5;241m.�[39mplane�[38;5;241m.�[39mnormal �[38;5;241m=�[39m (�[38;5;241m1�[39m, �[38;5;241m0�[39m, �[38;5;241m0�[39m)
�[1;32m    107�[0m �[38;5;28mself�[39m�[38;5;241m.�[39mviewer�[38;5;241m.�[39mlayers�[38;5;241m.�[39mselection �[38;5;241m=�[39m [layer]
�[0;32m--> 108�[0m �[38;5;28;43mself�[39;49m�[38;5;241;43m.�[39;49m�[43mtomogram_changed�[49m�[38;5;241;43m.�[39;49m�[43memit�[49m�[43m(�[49m�[43m)�[49m
        self.tomogram_changed �[0;34m= <SignalInstance 'tomogram_changed' on <tomography_python_programs._qt.components.tomogram_browser.TomogramBrowserWidget object at 0x754bc9fe28c0>>�[0m�[0;34m
        �[0mself �[0;34m= <tomography_python_programs._qt.components.tomogram_browser.TomogramBrowserWidget object at 0x754bc9fe28c0>�[0m

File �[0;32msrc/psygnal/_signal.py:1176�[0m, in �[0;36memit�[0;34m()�[0m

File �[0;32msrc/psygnal/_signal.py:1213�[0m, in �[0;36m_run_emit_loop�[0;34m()�[0m

File �[0;32msrc/psygnal/_signal.py:1196�[0m, in �[0;36m_run_emit_loop�[0;34m()�[0m

File �[0;32msrc/psygnal/_signal.py:1225�[0m, in �[0;36m_run_emit_loop_immediate�[0;34m()�[0m

File �[0;32msrc/psygnal/_weak_callback.py:453�[0m, in �[0;36mcb�[0;34m()�[0m

File �[0;32m~/mambaforge/envs/relion-5.0/lib/python3.10/site-packages/tomography_python_programs/pick/spheres.py:68�[0m, in �[0;36mPickSpheresWidget.synchronise_annotator�[0;34m(self=<tomography_python_programs.pick.spheres.PickSpheresWidget object>)�[0m
�[1;32m     66�[0m �[38;5;28mself�[39m�[38;5;241m.�[39mannotator�[38;5;241m.�[39menabled �[38;5;241m=�[39m �[38;5;28;01mFalse�[39;00m
�[1;32m     67�[0m �[38;5;28;01mif�[39;00m �[38;5;28mself�[39m�[38;5;241m.�[39mpoints_layer �[38;5;129;01mis�[39;00m �[38;5;129;01mnot�[39;00m �[38;5;28;01mNone�[39;00m:
�[0;32m---> 68�[0m     �[38;5;28;43mself�[39;49m�[38;5;241;43m.�[39;49m�[43mviewer�[49m�[38;5;241;43m.�[39;49m�[43mlayers�[49m�[38;5;241;43m.�[39;49m�[43mremove�[49m�[43m(�[49m�[38;5;28;43mself�[39;49m�[38;5;241;43m.�[39;49m�[43mpoints_layer�[49m�[43m)�[49m
        self.points_layer �[0;34m= <Points layer 'n3d spheres' at 0x754b7846c400>�[0m�[0;34m
        �[0mself �[0;34m= <tomography_python_programs.pick.spheres.PickSpheresWidget object at 0x754bc9f0c430>�[0m�[0;34m
        �[0mself.viewer.layers �[0;34m= [<Image layer 'tomogram' at 0x754b844d82e0>]�[0m�[0;34m
        �[0mself.viewer �[0;34m= Viewer(camera=Camera(center=(134.25097504957012, 624.4804183213577, 472.5304129756257), zoom=1.6198914971997482, angles=(-19.093573125126735, 15.977671555947397, 137.60177770462866), perspective=0.0, mouse_pan=True, mouse_zoom=True), cursor=Cursor(position=(168.65673457295958, 610.490941355705, 589.6356189088904), scaled=True, size=1, style=<CursorStyle.STANDARD: 'standard'>), dims=Dims(ndim=3, ndisplay=3, last_used=0, range=((0.0, 296.0, 1.0), (0.0, 1270.0, 1.0), (0.0, 952.0, 1.0)), current_step=(147, 634, 475), order=(0, 1, 2), axis_labels=('0', '1', '2')), grid=GridCanvas(stride=1, shape=(-1, -1), enabled=False), layers=[<Image layer 'tomogram' at 0x754b844d82e0>], help='use <2> for transform', status={'layer_base': 'tomogram', 'source_type': '', 'plugin': '', 'coordinates': ' [169 610 590]'}, tooltip=Tooltip(visible=False, text=''), theme='dark', title='napari', mouse_over_canvas=True, mouse_move_callbacks=[], mouse_drag_callbacks=[], mouse_double_click_callbacks=[], mouse_wheel_callbacks=[<function dims_scroll at 0x754bd67603a0>], _persisted_mouse_event={}, _mouse_drag_gen={}, _mouse_wheel_gen={}, keymap={'[': <bound method TomogramBrowserWidget.previous_tilt_series of <tomography_python_programs._qt.components.tomogram_browser.TomogramBrowserWidget object at 0x754bc9fe28c0>>, ']': <bound method TomogramBrowserWidget.next_tilt_series of <tomography_python_programs._qt.components.tomogram_browser.TomogramBrowserWidget object at 0x754bc9fe28c0>>})�[0m
�[1;32m     69�[0m     �[38;5;28mself�[39m�[38;5;241m.�[39mviewer�[38;5;241m.�[39mlayers�[38;5;241m.�[39mremove(�[38;5;28mself�[39m�[38;5;241m.�[39mannotator�[38;5;241m.�[39msurface_layer)
�[1;32m     70�[0m �[38;5;28;01mtry�[39;00m:

File �[0;32m~/mambaforge/envs/relion-5.0/lib/python3.10/_collections_abc.py:1163�[0m, in �[0;36mMutableSequence.remove�[0;34m(self=[<Image layer 'tomogram' at 0x754b844d82e0>], value=<Points layer 'n3d spheres'>)�[0m
�[1;32m   1159�[0m �[38;5;28;01mdef�[39;00m �[38;5;21mremove�[39m(�[38;5;28mself�[39m, value):
�[1;32m   1160�[0m �[38;5;250m    �[39m�[38;5;124;03m'''S.remove(value) -- remove first occurrence of value.�[39;00m
�[1;32m   1161�[0m �[38;5;124;03m       Raise ValueError if the value is not present.�[39;00m
�[1;32m   1162�[0m �[38;5;124;03m    '''�[39;00m
�[0;32m-> 1163�[0m     �[38;5;28;01mdel�[39;00m �[38;5;28mself�[39m[�[38;5;28;43mself�[39;49m�[38;5;241;43m.�[39;49m�[43mindex�[49m�[43m(�[49m�[43mvalue�[49m�[43m)�[49m]
        self �[0;34m= [<Image layer 'tomogram' at 0x754b844d82e0>]�[0m�[0;34m
        �[0mvalue �[0;34m= <Points layer 'n3d spheres' at 0x754b7846c400>�[0m

File �[0;32m~/mambaforge/envs/relion-5.0/lib/python3.10/site-packages/napari/utils/events/containers/_typed.py:230�[0m, in �[0;36mTypedMutableSequence.index�[0;34m(self=[<Image layer 'tomogram' at 0x754b844d82e0>], value=<Points layer 'n3d spheres'>, start=0, stop=None)�[0m
�[1;32m    227�[0m     �[38;5;28;01mif�[39;00m v �[38;5;129;01mis�[39;00m value �[38;5;129;01mor�[39;00m v �[38;5;241m==�[39m value:
�[1;32m    228�[0m         �[38;5;28;01mreturn�[39;00m i
�[0;32m--> 230�[0m �[38;5;28;01mraise�[39;00m �[38;5;167;01mValueError�[39;00m(
        trans �[0;34m= <napari.utils.translations.TranslationBundle object at 0x754bddab8c70>�[0m�[0;34m
        �[0mvalue �[0;34m= <Points layer 'n3d spheres' at 0x754b7846c400>�[0m
�[1;32m    231�[0m     trans�[38;5;241m.�[39m_(
�[1;32m    232�[0m         �[38;5;124m"�[39m�[38;5;132;01m{value!r}�[39;00m�[38;5;124m is not in list�[39m�[38;5;124m"�[39m,
�[1;32m    233�[0m         deferred�[38;5;241m=�[39m�[38;5;28;01mTrue�[39;00m,
�[1;32m    234�[0m         value�[38;5;241m=�[39mvalue,
�[1;32m    235�[0m     )
�[1;32m    236�[0m )

�[0;31mEmitLoopError�[0m: 

While emitting signal 'tomography_python_programs._qt.components.tomogram_browser.TomogramBrowserWidget.tomogram_changed', a ValueError occurred in a callback:

  Signal emitted at: /home/michalakdj/mambaforge/envs/relion-5.0/lib/python3.10/site-packages/tomography_python_programs/_qt/components/tomogram_browser.py:108, in _on_tomogram_loaded
    >  self.tomogram_changed.emit()

  Callback error at: /home/michalakdj/mambaforge/envs/relion-5.0/lib/python3.10/site-packages/napari/utils/events/containers/_typed.py:230, in index
    >  raise ValueError(

    Local variables:
       value = <Points layer 'n3d spheres' at 0x754b7846c400>
       start = 0
       stop = None
       convert = <function _noop at 0x754bddb0a5f0>
       i = 0
       v = <Image layer 'tomogram' at 0x754b844d82e0>

See ValueError above for original traceback.
run.err
/home/michalakdj/mambaforge/envs/relion-5.0/lib/python3.10/site-packages/starfile/parser.py:177: FutureWarning: The 'delim_whitespace' keyword in pd.read_csv is deprecated and will be removed in a future version. Use ``sep='\s+'`` instead
  df = pd.read_csv(
/home/michalakdj/mambaforge/envs/relion-5.0/lib/python3.10/site-packages/starfile/parser.py:194: FutureWarning: errors='ignore' is deprecated and will raise in a future version. Use to_numeric without passing `errors` and catch exceptions explicitly instead
  self.dataframes[key] = df.apply(pd.to_numeric, errors='ignore')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant