When I label a frame and then try to save the layer I get no notification in the state bar and the terminal gives this output:
DEBUG:napari_deeplabcut.core.io:Resolved multianimalproject=True from config at /Users/mike/Library/CloudStorage/Dropbox/Research Projects/BMS -- Umorin -- 2023 Winter -- AI for Pain Detection/MiceTesting/config.yaml
DEBUG:napari_deeplabcut.core.io:FINAL WRITE first columns=[('Umorin', 'mouse_1', 'nose', 'x'), ('Umorin', 'mouse_1', 'nose', 'y'), ('Umorin', 'mouse_1', 'lower_jaw', 'x'), ('Umorin', 'mouse_1', 'lower_jaw', 'y'), ('Umorin', 'mouse_1', 'left_eye', 'x'), ('Umorin', 'mouse_1', 'left_eye', 'y'), ('Umorin', 'mouse_1', 'right_eye', 'x'), ('Umorin', 'mouse_1', 'right_eye', 'y'), ('Umorin', 'mouse_1', 'left_ear', 'x'), ('Umorin', 'mouse_1', 'left_ear', 'y')]
DEBUG:napari_deeplabcut.core.io:FINAL WRITE bodyparts unique=['nose', 'lower_jaw', 'left_eye', 'right_eye', 'left_ear', 'right_ear', 'head_top', 'head_back', 'neck_lower', 'back_mid', 'back_lower', 'tail_base', 'tail_prox_third', 'tail_mid', 'tail_dist_third', 'tail_tip', 'left_elbow', 'left_paw', 'right_elbow', 'right_paw', 'left_knee', 'left_heel', 'right_knee', 'right_heel']
DEBUG:napari_deeplabcut.core.io:FINAL WRITE columns nlevels: 4
DEBUG:napari_deeplabcut.core.io:FINAL WRITE columns names: ['scorer', 'individuals', 'bodyparts', 'coords']
DEBUG:napari_deeplabcut.core.io:FINAL WRITE individuals values: ['mouse_1', 'mouse_2']
Traceback (most recent call last):
File "/Users/mike/miniconda3/envs/dlc3/lib/python3.12/site-packages/napari_deeplabcut/_widgets.py", line 313, in
lambda: self._save_layers_dialog(
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/mike/miniconda3/envs/dlc3/lib/python3.12/site-packages/napari_deeplabcut/_widgets.py", line 1217, in _save_layers_dialog
outcome = self._save_workflow.save_layers(selected=selected)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/mike/miniconda3/envs/dlc3/lib/python3.12/site-packages/napari_deeplabcut/ui/ui_dialogs/save.py", line 174, in save_layers
return self._save_single_points_layer(layer)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/mike/miniconda3/envs/dlc3/lib/python3.12/site-packages/napari_deeplabcut/ui/ui_dialogs/save.py", line 302, in _save_single_points_layer
self.viewer.layers.save("dlc.h5", selected=True, plugin="napari-deeplabcut")
File "/Users/mike/miniconda3/envs/dlc3/lib/python3.12/site-packages/napari/components/layerlist.py", line 543, in save
return save_layers(path, layers, plugin=plugin, _writer=_writer)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/mike/miniconda3/envs/dlc3/lib/python3.12/site-packages/napari/plugins/io.py", line 244, in save_layers
_written, writer_name = _write_single_layer_with_plugins(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/mike/miniconda3/envs/dlc3/lib/python3.12/site-packages/napari/plugins/io.py", line 475, in _write_single_layer_with_plugins
raise ValueError(
ValueError: There is no registered plugin named 'napari-deeplabcut'.
Plugins capable of writing layer._type_string layers are: set()
see above, the full terminal output:
(dlc3) mike@MacBook-Pro-4 ~ % python -m deeplabcut
Starting GUI...
WARNING:root:Could not read shuffle metadata for trainingsetindex=0, shuffle=1: Could not find a shuffle with train_fraction=0.95 and index=1. Known shuffles (fraction, index): none.. Falling back to detecting the engine from model folders.
_pythonToCppCopy: Cannot copy-convert 0x100f59ae8 (NoneType) to C++.
WARNING:root:Could not read shuffle metadata for trainingsetindex=0, shuffle=1: Could not find a shuffle with train_fraction=0.95 and index=1. Known shuffles (fraction, index): none.. Falling back to detecting the engine from model folders.
_pythonToCppCopy: Cannot copy-convert 0x100f59ae8 (NoneType) to C++.
INFO:deeplabcut.gui:Use all bodyparts
DEBUG:napari_deeplabcut.ui.plots.trajectory:Loading trajectory plot DataFrame from layer: None
DEBUG:napari_deeplabcut.ui.plots.trajectory:Loading trajectory plot DataFrame from layer: None
DEBUG:napari_deeplabcut.core.layer_lifecycle.manager:Lifecycle manager adopting existing layers count=0
DEBUG:napari_deeplabcut.core.layer_lifecycle.manager:Lifecycle manager processing insert layer='images' type=Image index=0
DEBUG:napari_deeplabcut.core.layer_lifecycle.manager:Setup image layer='images' index=0 reorder=True paths_count=200 root='/Users/mike/Library/CloudStorage/Dropbox/Research Projects/BMS -- Umorin -- 2023 Winter -- AI for Pain Detection/MiceTesting/labeled-data/test_2_mice_run_2_part_002' context_changed=True
DEBUG:napari_deeplabcut.ui.plots.trajectory:Loading trajectory plot DataFrame from layer: None
DEBUG:napari_deeplabcut.ui.plots.trajectory:Loading trajectory plot DataFrame from layer: None
DEBUG:napari_deeplabcut.core.layer_lifecycle.manager:Lifecycle manager processing insert layer='CollectedData_Umorin' type=Points index=1
DEBUG:napari_deeplabcut.core.keypoints:Requested 24 colors from a listed palette of length 12; cycling palette.
DEBUG:napari_deeplabcut._widgets:Setup points layer='CollectedData_Umorin' metadata_keys=['colormap_name', 'config_colormap', 'face_color_cycles', 'header', 'kind', 'paths', 'project', 'root']
DEBUG:napari_deeplabcut.core.layer_lifecycle.manager:Wire points layer='CollectedData_Umorin' existing_store=True project=/Users/mike/Library/CloudStorage/Dropbox/Research Projects/BMS -- Umorin -- 2023 Winter -- AI for Pain Detection/MiceTesting root=/Users/mike/Library/CloudStorage/Dropbox/Research Projects/BMS -- Umorin -- 2023 Winter -- AI for Pain Detection/MiceTesting/labeled-data/test_2_mice_run_2_part_002 len_paths=200
DEBUG:napari_deeplabcut.core.layer_lifecycle.manager:Setup points layer='CollectedData_Umorin' allow_merge=True metadata_keys=['colormap_name', 'config_colormap', 'face_color_cycles', 'header', 'kind', 'paths', 'project', 'root']
DEBUG:napari_deeplabcut.core.layer_lifecycle.manager:Remap start layer='CollectedData_Umorin' old_paths_len=200 new_paths_len=200 data_shape=(0, 3) frame_min=None frame_max=None
DEBUG:napari_deeplabcut.core.remap:Remap mapping stats: depth=3 old=200 new=200 mapped=200 identity=200 overlap=200
DEBUG:napari_deeplabcut.core.layer_lifecycle.manager:Remap result layer='CollectedData_Umorin' changed=False mapped_count=200 depth=3 message=Path keys already aligned; no remap needed. warnings=()
DEBUG:napari_deeplabcut.core.layer_lifecycle.manager:Remap accepted-noop for CollectedData_Umorin (depth=3, mapped=200): Path keys already aligned; no remap needed.
DEBUG:napari_deeplabcut.ui.plots.trajectory:Loading trajectory plot DataFrame from layer: None
DEBUG:napari_deeplabcut.ui.color_scheme_display:Skipping unavailable Points event 'shown' for layer='CollectedData_Umorin'
DEBUG:napari_deeplabcut.ui.plots.trajectory:Loading trajectory plot DataFrame from layer: None
DEBUG:napari_deeplabcut.ui.plots.trajectory:Loading trajectory plot DataFrame from layer: None
DEBUG:napari_deeplabcut.ui.plots.trajectory:Loading trajectory plot DataFrame from layer: None
DEBUG:napari_deeplabcut.core.keypoints:Requested 24 colors from a listed palette of length 12; cycling palette.
DEBUG:napari_deeplabcut.core.keypoints:Requested 24 colors from a listed palette of length 12; cycling palette.
DEBUG:napari_deeplabcut.ui.color_scheme_display:Updating color scheme display with 1 entries
DEBUG:napari_deeplabcut.core.keypoints:Requested 24 colors from a listed palette of length 12; cycling palette.
DEBUG:napari_deeplabcut.core.metadata:Raw header type=<class 'dict'>
DEBUG:napari_deeplabcut.core.metadata:Raw header has columns=False
DEBUG:napari_deeplabcut.core.metadata:columns type=<class 'NoneType'>
DEBUG:napari_deeplabcut._widgets:About to save. io.kind=None save_target=None
DEBUG:napari_deeplabcut.core.metadata:Raw header type=<class 'dict'>
DEBUG:napari_deeplabcut.core.metadata:Raw header has columns=False
DEBUG:napari_deeplabcut.core.metadata:columns type=<class 'NoneType'>
DEBUG:napari_deeplabcut.core.dataframes:Before reindex: cols nlevels 4, names ['scorer', 'individuals', 'bodyparts', 'coords']
DEBUG:napari_deeplabcut.core.dataframes:header cols nlevels 4, names ['scorer', 'individuals', 'bodyparts', 'coords']
DEBUG:napari_deeplabcut.core.dataframes:After reindex: cols nlevels 4, names ['scorer', 'individuals', 'bodyparts', 'coords']
DEBUG:napari_deeplabcut.core.dataframes:header cols nlevels 4, names ['scorer', 'individuals', 'bodyparts', 'coords']
DEBUG:napari_deeplabcut.core.metadata:Raw header type=<class 'dict'>
DEBUG:napari_deeplabcut.core.metadata:Raw header has columns=False
DEBUG:napari_deeplabcut.core.metadata:columns type=<class 'NoneType'>
DEBUG:napari_deeplabcut.core.metadata:Raw header type=<class 'dict'>
DEBUG:napari_deeplabcut.core.metadata:Raw header has columns=False
DEBUG:napari_deeplabcut.core.metadata:columns type=<class 'NoneType'>
DEBUG:napari_deeplabcut.core.io:HEADER nlevels: 4
DEBUG:napari_deeplabcut.core.io:HEADER names: ['scorer', 'individuals', 'bodyparts', 'coords']
DEBUG:napari_deeplabcut.core.io:WRITE header bodyparts=['nose', 'lower_jaw', 'left_eye', 'right_eye', 'left_ear', 'right_ear', 'head_top', 'head_back', 'neck_lower', 'back_mid', 'back_lower', 'tail_base', 'tail_prox_third', 'tail_mid', 'tail_dist_third', 'tail_tip', 'left_elbow', 'left_paw', 'right_elbow', 'right_paw', 'left_knee', 'left_heel', 'right_knee', 'right_heel']
DEBUG:napari_deeplabcut.core.io:WRITE props labels unique=['nose']
DEBUG:napari_deeplabcut.core.dataframes:Before reindex: cols nlevels 4, names ['scorer', 'individuals', 'bodyparts', 'coords']
DEBUG:napari_deeplabcut.core.dataframes:header cols nlevels 4, names ['scorer', 'individuals', 'bodyparts', 'coords']
DEBUG:napari_deeplabcut.core.dataframes:After reindex: cols nlevels 4, names ['scorer', 'individuals', 'bodyparts', 'coords']
DEBUG:napari_deeplabcut.core.dataframes:header cols nlevels 4, names ['scorer', 'individuals', 'bodyparts', 'coords']
DEBUG:napari_deeplabcut.core.io:DF_NEW columns nlevels: 4
DEBUG:napari_deeplabcut.core.io:DF_NEW columns names: ['scorer', 'individuals', 'bodyparts', 'coords']
DEBUG:napari_deeplabcut.core.io:DF_NEW finite count: 2
DEBUG:napari_deeplabcut.core.metadata:Raw header type=<class 'dict'>
DEBUG:napari_deeplabcut.core.metadata:Raw header has columns=False
DEBUG:napari_deeplabcut.core.metadata:columns type=<class 'NoneType'>
DEBUG:napari_deeplabcut.core.io:Resolved multianimalproject=True from config at /Users/mike/Library/CloudStorage/Dropbox/Research Projects/BMS -- Umorin -- 2023 Winter -- AI for Pain Detection/MiceTesting/config.yaml
DEBUG:napari_deeplabcut.core.io:FINAL WRITE first columns=[('Umorin', 'mouse_1', 'nose', 'x'), ('Umorin', 'mouse_1', 'nose', 'y'), ('Umorin', 'mouse_1', 'lower_jaw', 'x'), ('Umorin', 'mouse_1', 'lower_jaw', 'y'), ('Umorin', 'mouse_1', 'left_eye', 'x'), ('Umorin', 'mouse_1', 'left_eye', 'y'), ('Umorin', 'mouse_1', 'right_eye', 'x'), ('Umorin', 'mouse_1', 'right_eye', 'y'), ('Umorin', 'mouse_1', 'left_ear', 'x'), ('Umorin', 'mouse_1', 'left_ear', 'y')]
DEBUG:napari_deeplabcut.core.io:FINAL WRITE bodyparts unique=['nose', 'lower_jaw', 'left_eye', 'right_eye', 'left_ear', 'right_ear', 'head_top', 'head_back', 'neck_lower', 'back_mid', 'back_lower', 'tail_base', 'tail_prox_third', 'tail_mid', 'tail_dist_third', 'tail_tip', 'left_elbow', 'left_paw', 'right_elbow', 'right_paw', 'left_knee', 'left_heel', 'right_knee', 'right_heel']
DEBUG:napari_deeplabcut.core.io:FINAL WRITE columns nlevels: 4
DEBUG:napari_deeplabcut.core.io:FINAL WRITE columns names: ['scorer', 'individuals', 'bodyparts', 'coords']
DEBUG:napari_deeplabcut.core.io:FINAL WRITE individuals values: ['mouse_1', 'mouse_2']
Traceback (most recent call last):
File "/Users/mike/miniconda3/envs/dlc3/lib/python3.12/site-packages/napari_deeplabcut/_widgets.py", line 313, in <lambda>
lambda: self._save_layers_dialog(
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/mike/miniconda3/envs/dlc3/lib/python3.12/site-packages/napari_deeplabcut/_widgets.py", line 1217, in _save_layers_dialog
outcome = self._save_workflow.save_layers(selected=selected)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/mike/miniconda3/envs/dlc3/lib/python3.12/site-packages/napari_deeplabcut/ui/ui_dialogs/save.py", line 174, in save_layers
return self._save_single_points_layer(layer)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/mike/miniconda3/envs/dlc3/lib/python3.12/site-packages/napari_deeplabcut/ui/ui_dialogs/save.py", line 302, in _save_single_points_layer
self.viewer.layers.save("__dlc__.h5", selected=True, plugin="napari-deeplabcut")
File "/Users/mike/miniconda3/envs/dlc3/lib/python3.12/site-packages/napari/components/layerlist.py", line 543, in save
return save_layers(path, layers, plugin=plugin, _writer=_writer)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/mike/miniconda3/envs/dlc3/lib/python3.12/site-packages/napari/plugins/io.py", line 244, in save_layers
_written, writer_name = _write_single_layer_with_plugins(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/mike/miniconda3/envs/dlc3/lib/python3.12/site-packages/napari/plugins/io.py", line 475, in _write_single_layer_with_plugins
raise ValueError(
ValueError: There is no registered plugin named 'napari-deeplabcut'.
Plugins capable of writing layer._type_string layers are: set()
DEBUG:napari_deeplabcut.core.metadata:Raw header type=<class 'dict'>
DEBUG:napari_deeplabcut.core.metadata:Raw header has columns=False
DEBUG:napari_deeplabcut.core.metadata:columns type=<class 'NoneType'>
DEBUG:napari_deeplabcut._widgets:About to save. io.kind=None save_target=None
DEBUG:napari_deeplabcut.core.metadata:Raw header type=<class 'dict'>
DEBUG:napari_deeplabcut.core.metadata:Raw header has columns=False
DEBUG:napari_deeplabcut.core.metadata:columns type=<class 'NoneType'>
DEBUG:napari_deeplabcut.core.dataframes:Before reindex: cols nlevels 4, names ['scorer', 'individuals', 'bodyparts', 'coords']
DEBUG:napari_deeplabcut.core.dataframes:header cols nlevels 4, names ['scorer', 'individuals', 'bodyparts', 'coords']
DEBUG:napari_deeplabcut.core.dataframes:After reindex: cols nlevels 4, names ['scorer', 'individuals', 'bodyparts', 'coords']
DEBUG:napari_deeplabcut.core.dataframes:header cols nlevels 4, names ['scorer', 'individuals', 'bodyparts', 'coords']
DEBUG:napari_deeplabcut.core.metadata:Raw header type=<class 'dict'>
DEBUG:napari_deeplabcut.core.metadata:Raw header has columns=False
DEBUG:napari_deeplabcut.core.metadata:columns type=<class 'NoneType'>
DEBUG:napari_deeplabcut.core.metadata:Raw header type=<class 'dict'>
DEBUG:napari_deeplabcut.core.metadata:Raw header has columns=False
DEBUG:napari_deeplabcut.core.metadata:columns type=<class 'NoneType'>
DEBUG:napari_deeplabcut.core.io:HEADER nlevels: 4
DEBUG:napari_deeplabcut.core.io:HEADER names: ['scorer', 'individuals', 'bodyparts', 'coords']
DEBUG:napari_deeplabcut.core.io:WRITE header bodyparts=['nose', 'lower_jaw', 'left_eye', 'right_eye', 'left_ear', 'right_ear', 'head_top', 'head_back', 'neck_lower', 'back_mid', 'back_lower', 'tail_base', 'tail_prox_third', 'tail_mid', 'tail_dist_third', 'tail_tip', 'left_elbow', 'left_paw', 'right_elbow', 'right_paw', 'left_knee', 'left_heel', 'right_knee', 'right_heel']
DEBUG:napari_deeplabcut.core.io:WRITE props labels unique=['nose']
DEBUG:napari_deeplabcut.core.dataframes:Before reindex: cols nlevels 4, names ['scorer', 'individuals', 'bodyparts', 'coords']
DEBUG:napari_deeplabcut.core.dataframes:header cols nlevels 4, names ['scorer', 'individuals', 'bodyparts', 'coords']
DEBUG:napari_deeplabcut.core.dataframes:After reindex: cols nlevels 4, names ['scorer', 'individuals', 'bodyparts', 'coords']
DEBUG:napari_deeplabcut.core.dataframes:header cols nlevels 4, names ['scorer', 'individuals', 'bodyparts', 'coords']
DEBUG:napari_deeplabcut.core.io:DF_NEW columns nlevels: 4
DEBUG:napari_deeplabcut.core.io:DF_NEW columns names: ['scorer', 'individuals', 'bodyparts', 'coords']
DEBUG:napari_deeplabcut.core.io:DF_NEW finite count: 2
DEBUG:napari_deeplabcut.core.metadata:Raw header type=<class 'dict'>
DEBUG:napari_deeplabcut.core.metadata:Raw header has columns=False
DEBUG:napari_deeplabcut.core.metadata:columns type=<class 'NoneType'>
DEBUG:napari_deeplabcut.core.io:Resolved multianimalproject=True from config at /Users/mike/Library/CloudStorage/Dropbox/Research Projects/BMS -- Umorin -- 2023 Winter -- AI for Pain Detection/MiceTesting/config.yaml
DEBUG:napari_deeplabcut.core.io:FINAL WRITE first columns=[('Umorin', 'mouse_1', 'nose', 'x'), ('Umorin', 'mouse_1', 'nose', 'y'), ('Umorin', 'mouse_1', 'lower_jaw', 'x'), ('Umorin', 'mouse_1', 'lower_jaw', 'y'), ('Umorin', 'mouse_1', 'left_eye', 'x'), ('Umorin', 'mouse_1', 'left_eye', 'y'), ('Umorin', 'mouse_1', 'right_eye', 'x'), ('Umorin', 'mouse_1', 'right_eye', 'y'), ('Umorin', 'mouse_1', 'left_ear', 'x'), ('Umorin', 'mouse_1', 'left_ear', 'y')]
DEBUG:napari_deeplabcut.core.io:FINAL WRITE bodyparts unique=['nose', 'lower_jaw', 'left_eye', 'right_eye', 'left_ear', 'right_ear', 'head_top', 'head_back', 'neck_lower', 'back_mid', 'back_lower', 'tail_base', 'tail_prox_third', 'tail_mid', 'tail_dist_third', 'tail_tip', 'left_elbow', 'left_paw', 'right_elbow', 'right_paw', 'left_knee', 'left_heel', 'right_knee', 'right_heel']
DEBUG:napari_deeplabcut.core.io:FINAL WRITE columns nlevels: 4
DEBUG:napari_deeplabcut.core.io:FINAL WRITE columns names: ['scorer', 'individuals', 'bodyparts', 'coords']
DEBUG:napari_deeplabcut.core.io:FINAL WRITE individuals values: ['mouse_1', 'mouse_2']
Traceback (most recent call last):
File "/Users/mike/miniconda3/envs/dlc3/lib/python3.12/site-packages/napari_deeplabcut/_widgets.py", line 313, in <lambda>
lambda: self._save_layers_dialog(
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/mike/miniconda3/envs/dlc3/lib/python3.12/site-packages/napari_deeplabcut/_widgets.py", line 1217, in _save_layers_dialog
outcome = self._save_workflow.save_layers(selected=selected)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/mike/miniconda3/envs/dlc3/lib/python3.12/site-packages/napari_deeplabcut/ui/ui_dialogs/save.py", line 174, in save_layers
return self._save_single_points_layer(layer)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/mike/miniconda3/envs/dlc3/lib/python3.12/site-packages/napari_deeplabcut/ui/ui_dialogs/save.py", line 302, in _save_single_points_layer
self.viewer.layers.save("__dlc__.h5", selected=True, plugin="napari-deeplabcut")
File "/Users/mike/miniconda3/envs/dlc3/lib/python3.12/site-packages/napari/components/layerlist.py", line 543, in save
return save_layers(path, layers, plugin=plugin, _writer=_writer)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/mike/miniconda3/envs/dlc3/lib/python3.12/site-packages/napari/plugins/io.py", line 244, in save_layers
_written, writer_name = _write_single_layer_with_plugins(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/mike/miniconda3/envs/dlc3/lib/python3.12/site-packages/napari/plugins/io.py", line 475, in _write_single_layer_with_plugins
raise ValueError(
ValueError: There is no registered plugin named 'napari-deeplabcut'.
Plugins capable of writing layer._type_string layers are: set()
Is there an existing issue for this?
Operating System
MacOS 26.5
DeepLabCut version
3.0.0
(upgraded from 3.0.0rc13)
What engine are you using?
pytorch
DeepLabCut mode
multi animal
Device type
M5 Max
Bug description 🐛
When I label a frame and then try to save the layer I get no notification in the state bar and the terminal gives this output:
DEBUG:napari_deeplabcut.core.io:Resolved multianimalproject=True from config at /Users/mike/Library/CloudStorage/Dropbox/Research Projects/BMS -- Umorin -- 2023 Winter -- AI for Pain Detection/MiceTesting/config.yaml
DEBUG:napari_deeplabcut.core.io:FINAL WRITE first columns=[('Umorin', 'mouse_1', 'nose', 'x'), ('Umorin', 'mouse_1', 'nose', 'y'), ('Umorin', 'mouse_1', 'lower_jaw', 'x'), ('Umorin', 'mouse_1', 'lower_jaw', 'y'), ('Umorin', 'mouse_1', 'left_eye', 'x'), ('Umorin', 'mouse_1', 'left_eye', 'y'), ('Umorin', 'mouse_1', 'right_eye', 'x'), ('Umorin', 'mouse_1', 'right_eye', 'y'), ('Umorin', 'mouse_1', 'left_ear', 'x'), ('Umorin', 'mouse_1', 'left_ear', 'y')]
DEBUG:napari_deeplabcut.core.io:FINAL WRITE bodyparts unique=['nose', 'lower_jaw', 'left_eye', 'right_eye', 'left_ear', 'right_ear', 'head_top', 'head_back', 'neck_lower', 'back_mid', 'back_lower', 'tail_base', 'tail_prox_third', 'tail_mid', 'tail_dist_third', 'tail_tip', 'left_elbow', 'left_paw', 'right_elbow', 'right_paw', 'left_knee', 'left_heel', 'right_knee', 'right_heel']
DEBUG:napari_deeplabcut.core.io:FINAL WRITE columns nlevels: 4
DEBUG:napari_deeplabcut.core.io:FINAL WRITE columns names: ['scorer', 'individuals', 'bodyparts', 'coords']
DEBUG:napari_deeplabcut.core.io:FINAL WRITE individuals values: ['mouse_1', 'mouse_2']
Traceback (most recent call last):
File "/Users/mike/miniconda3/envs/dlc3/lib/python3.12/site-packages/napari_deeplabcut/_widgets.py", line 313, in
lambda: self._save_layers_dialog(
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/mike/miniconda3/envs/dlc3/lib/python3.12/site-packages/napari_deeplabcut/_widgets.py", line 1217, in _save_layers_dialog
outcome = self._save_workflow.save_layers(selected=selected)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/mike/miniconda3/envs/dlc3/lib/python3.12/site-packages/napari_deeplabcut/ui/ui_dialogs/save.py", line 174, in save_layers
return self._save_single_points_layer(layer)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/mike/miniconda3/envs/dlc3/lib/python3.12/site-packages/napari_deeplabcut/ui/ui_dialogs/save.py", line 302, in _save_single_points_layer
self.viewer.layers.save("dlc.h5", selected=True, plugin="napari-deeplabcut")
File "/Users/mike/miniconda3/envs/dlc3/lib/python3.12/site-packages/napari/components/layerlist.py", line 543, in save
return save_layers(path, layers, plugin=plugin, _writer=_writer)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/mike/miniconda3/envs/dlc3/lib/python3.12/site-packages/napari/plugins/io.py", line 244, in save_layers
_written, writer_name = _write_single_layer_with_plugins(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/mike/miniconda3/envs/dlc3/lib/python3.12/site-packages/napari/plugins/io.py", line 475, in _write_single_layer_with_plugins
raise ValueError(
ValueError: There is no registered plugin named 'napari-deeplabcut'.
Plugins capable of writing layer._type_string layers are: set()
Steps To Reproduce
I have a separate dlc3 environment with python = 3.12
I install the later DLC3 (the issue was present in rc13 as well
run DLC3
label a keypoint
try to save with Command-S
Relevant log output
Anything else?
No response
Code of Conduct