Skip to content

napari tests failing #2069

@iimog

Description

@iimog

Description

All tests fail when running napari tests as they throw the following error: TypeError: add_points() got an unexpected keyword argument 'edge_color' after changing edge_color to border_color some tests still fail with ValueError: cannot convert float NaN to integer.

Steps/Code to Reproduce

Run

pytest -m 'napari'

Expected Results

8 passing tests

Actual Results

All 8 tests fail with the error: TypeError: add_points() got an unexpected keyword argument 'edge_color'. In napari 0.5, edge_color was renamed to border_color, producing deprecation warnings. In napari 0.6 (released on May 1, 2025), it throws the error.

This can easily be fixed by changing edge_color to border_color here:

edge_color="red",

However, after this change, some tests still fail with the error: ValueError: cannot convert float NaN to integer.

Full test output
===================================================================================================================================== test session starts ======================================================================================================================================
platform linux -- Python 3.12.9, pytest-8.3.5, pluggy-1.5.0
PyQt5 5.15.11 -- Qt runtime 5.15.16 -- Qt compiled 5.15.14
rootdir: /tank/home/iimog/software/starfish
configfile: pytest.ini
plugins: napari-0.6.0, napari-plugin-engine-0.2.0, npe2-0.7.8, qt-4.4.0
collected 385 items / 377 deselected / 8 selected                                                                                                                                                                                                                                              

starfish/core/test/test_display..FF..                              [100%]

=================================== FAILURES ===================================
_______________________ test_display[stack-spots-masks] ________________________

qtbot = <pytestqt.qtbot.QtBot object at 0x7fd659c0a270>
stack = <starfish.ImageStack (r: 3, c: 2, z: 10, y: 50, x: 45)>
spots = <xarray.IntensityTable (features: 1, r: 3, c: 2)>
array([[[1., 0.],
        [0., 1.],
        [1., 0.]]], dtype=float3...us    (features) float64 nan
  * features  (features) int64 0
  * r         (r) int64 0 1 2
  * c         (c) int64 0 1
masks = <starfish.core.morphology.binary_mask.binary_mask.BinaryMaskCollection object at 0x7fd659b29a30>

    @pytest.mark.napari
    @pytest.mark.parametrize('masks', [masks, None], ids=['masks', '     '])
    @pytest.mark.parametrize('spots', [spots, None], ids=['spots', '     '])
    @pytest.mark.parametrize('stack', [stack, None], ids=['stack', '     '])
    def test_display(qtbot, stack, spots, masks):
        from napari import Viewer
    
        viewer = Viewer()
        view = viewer.window.qt_viewer
        qtbot.addWidget(view)
    
        if stack is None and spots is None and masks is None:
            with pytest.raises(TypeError):
                display(stack, spots, masks, viewer=viewer)
        else:
>           display(stack, spots, masks, viewer=viewer)

starfish/core/test/test_display.py:48: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
starfish/core/_display.py:279: in display
    viewer.add_points(
../../miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/site-packages/napari/utils/add_layer.py_tmpl:11: in add_points
    self.layers.append(layer)
<frozen _collections_abc>:1130: in append
    ???
../../miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/site-packages/napari/components/layerlist.py:233: in insert
    super().insert(index, new_layer)
../../miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/site-packages/napari/utils/events/containers/_selectable_list.py:68: in insert
    super().insert(index, value)
../../miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/site-packages/napari/utils/events/containers/_evented_list.py:197: in insert
    self.events.inserted(index=index, value=value)
../../miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/site-packages/napari/utils/events/event.py:753: in __call__
    self._invoke_callback(cb, event if pass_event else None)
../../miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/site-packages/napari/utils/events/event.py:791: in _invoke_callback
    _handle_exception(
../../miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/site-packages/napari/utils/events/event.py:778: in _invoke_callback
    cb(event)
../../miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/site-packages/napari/_qt/layer_controls/qt_layer_controls_container.py:142: in _add
    controls = create_qt_layer_controls(layer)
../../miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/site-packages/napari/_qt/layer_controls/qt_layer_controls_container.py:67: in create_qt_layer_controls
    return controls(layer)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <napari._qt.layer_controls.qt_points_controls.QtPointsControls object at 0x7fd62bb70ef0>
layer = <Points layer 'spots' at 0x7fd648fd0ec0>

    def __init__(self, layer) -> None:
        super().__init__(layer)
    
        self.layer.events.out_of_slice_display.connect(
            self._on_out_of_slice_display_change
        )
        self.layer.events.symbol.connect(self._on_current_symbol_change)
        self.layer.events.size.connect(self._on_current_size_change)
        self.layer.events.current_size.connect(self._on_current_size_change)
        self.layer.events.current_border_color.connect(
            self._on_current_border_color_change
        )
        self.layer._border.events.current_color.connect(
            self._on_current_border_color_change
        )
        self.layer.events.current_face_color.connect(
            self._on_current_face_color_change
        )
        self.layer._face.events.current_color.connect(
            self._on_current_face_color_change
        )
        self.layer.events.current_symbol.connect(
            self._on_current_symbol_change
        )
        self.layer.text.events.visible.connect(self._on_text_visibility_change)
    
        sld = QLabeledSlider(Qt.Orientation.Horizontal)
        sld.setToolTip(
            trans._(
                'Change the size of currently selected points and any added afterwards.'
            )
        )
        sld.setFocusPolicy(Qt.FocusPolicy.NoFocus)
        sld.setMinimum(1)
        if self.layer.size.size:
>           max_value = max(100, int(np.max(self.layer.size)) + 1)
E           ValueError: cannot convert float NaN to integer

../../miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/site-packages/napari/_qt/layer_controls/qt_points_controls.py:117: ValueError
_______________________ test_display[stack-spots-     ] ________________________

qtbot = <pytestqt.qtbot.QtBot object at 0x7fd608799130>
stack = <starfish.ImageStack (r: 3, c: 2, z: 10, y: 50, x: 45)>
spots = <xarray.IntensityTable (features: 1, r: 3, c: 2)>
array([[[1., 0.],
        [0., 1.],
        [1., 0.]]], dtype=float3...us    (features) float64 nan
  * features  (features) int64 0
  * r         (r) int64 0 1 2
  * c         (c) int64 0 1
masks = None

    @pytest.mark.napari
    @pytest.mark.parametrize('masks', [masks, None], ids=['masks', '     '])
    @pytest.mark.parametrize('spots', [spots, None], ids=['spots', '     '])
    @pytest.mark.parametrize('stack', [stack, None], ids=['stack', '     '])
    def test_display(qtbot, stack, spots, masks):
        from napari import Viewer
    
        viewer = Viewer()
        view = viewer.window.qt_viewer
        qtbot.addWidget(view)
    
        if stack is None and spots is None and masks is None:
            with pytest.raises(TypeError):
                display(stack, spots, masks, viewer=viewer)
        else:
>           display(stack, spots, masks, viewer=viewer)

starfish/core/test/test_display.py:48: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
starfish/core/_display.py:279: in display
    viewer.add_points(
../../miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/site-packages/napari/utils/add_layer.py_tmpl:11: in add_points
    self.layers.append(layer)
<frozen _collections_abc>:1130: in append
    ???
../../miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/site-packages/napari/components/layerlist.py:233: in insert
    super().insert(index, new_layer)
../../miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/site-packages/napari/utils/events/containers/_selectable_list.py:68: in insert
    super().insert(index, value)
../../miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/site-packages/napari/utils/events/containers/_evented_list.py:197: in insert
    self.events.inserted(index=index, value=value)
../../miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/site-packages/napari/utils/events/event.py:753: in __call__
    self._invoke_callback(cb, event if pass_event else None)
../../miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/site-packages/napari/utils/events/event.py:791: in _invoke_callback
    _handle_exception(
../../miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/site-packages/napari/utils/events/event.py:778: in _invoke_callback
    cb(event)
../../miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/site-packages/napari/_qt/layer_controls/qt_layer_controls_container.py:142: in _add
    controls = create_qt_layer_controls(layer)
../../miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/site-packages/napari/_qt/layer_controls/qt_layer_controls_container.py:67: in create_qt_layer_controls
    return controls(layer)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <napari._qt.layer_controls.qt_points_controls.QtPointsControls object at 0x7fd64bfc75c0>
layer = <Points layer 'spots' at 0x7fd608799520>

    def __init__(self, layer) -> None:
        super().__init__(layer)
    
        self.layer.events.out_of_slice_display.connect(
            self._on_out_of_slice_display_change
        )
        self.layer.events.symbol.connect(self._on_current_symbol_change)
        self.layer.events.size.connect(self._on_current_size_change)
        self.layer.events.current_size.connect(self._on_current_size_change)
        self.layer.events.current_border_color.connect(
            self._on_current_border_color_change
        )
        self.layer._border.events.current_color.connect(
            self._on_current_border_color_change
        )
        self.layer.events.current_face_color.connect(
            self._on_current_face_color_change
        )
        self.layer._face.events.current_color.connect(
            self._on_current_face_color_change
        )
        self.layer.events.current_symbol.connect(
            self._on_current_symbol_change
        )
        self.layer.text.events.visible.connect(self._on_text_visibility_change)
    
        sld = QLabeledSlider(Qt.Orientation.Horizontal)
        sld.setToolTip(
            trans._(
                'Change the size of currently selected points and any added afterwards.'
            )
        )
        sld.setFocusPolicy(Qt.FocusPolicy.NoFocus)
        sld.setMinimum(1)
        if self.layer.size.size:
>           max_value = max(100, int(np.max(self.layer.size)) + 1)
E           ValueError: cannot convert float NaN to integer

../../miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/site-packages/napari/_qt/layer_controls/qt_points_controls.py:117: ValueError
_______________________ test_display[     -spots-masks] ________________________

qtbot = <pytestqt.qtbot.QtBot object at 0x7fd62873d4f0>, stack = None
spots = <xarray.IntensityTable (features: 1, r: 3, c: 2)>
array([[[1., 0.],
        [0., 1.],
        [1., 0.]]], dtype=float3...us    (features) float64 nan
  * features  (features) int64 0
  * r         (r) int64 0 1 2
  * c         (c) int64 0 1
masks = <starfish.core.morphology.binary_mask.binary_mask.BinaryMaskCollection object at 0x7fd659b29a30>

    @pytest.mark.napari
    @pytest.mark.parametrize('masks', [masks, None], ids=['masks', '     '])
    @pytest.mark.parametrize('spots', [spots, None], ids=['spots', '     '])
    @pytest.mark.parametrize('stack', [stack, None], ids=['stack', '     '])
    def test_display(qtbot, stack, spots, masks):
        from napari import Viewer
    
        viewer = Viewer()
        view = viewer.window.qt_viewer
        qtbot.addWidget(view)
    
        if stack is None and spots is None and masks is None:
            with pytest.raises(TypeError):
                display(stack, spots, masks, viewer=viewer)
        else:
>           display(stack, spots, masks, viewer=viewer)

starfish/core/test/test_display.py:48: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
starfish/core/_display.py:279: in display
    viewer.add_points(
../../miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/site-packages/napari/utils/add_layer.py_tmpl:11: in add_points
    self.layers.append(layer)
<frozen _collections_abc>:1130: in append
    ???
../../miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/site-packages/napari/components/layerlist.py:233: in insert
    super().insert(index, new_layer)
../../miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/site-packages/napari/utils/events/containers/_selectable_list.py:68: in insert
    super().insert(index, value)
../../miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/site-packages/napari/utils/events/containers/_evented_list.py:197: in insert
    self.events.inserted(index=index, value=value)
../../miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/site-packages/napari/utils/events/event.py:753: in __call__
    self._invoke_callback(cb, event if pass_event else None)
../../miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/site-packages/napari/utils/events/event.py:791: in _invoke_callback
    _handle_exception(
../../miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/site-packages/napari/utils/events/event.py:778: in _invoke_callback
    cb(event)
../../miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/site-packages/napari/_qt/layer_controls/qt_layer_controls_container.py:142: in _add
    controls = create_qt_layer_controls(layer)
../../miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/site-packages/napari/_qt/layer_controls/qt_layer_controls_container.py:67: in create_qt_layer_controls
    return controls(layer)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <napari._qt.layer_controls.qt_points_controls.QtPointsControls object at 0x7fd5b7ff1490>
layer = <Points layer 'spots' at 0x7fd5882e9f40>

    def __init__(self, layer) -> None:
        super().__init__(layer)
    
        self.layer.events.out_of_slice_display.connect(
            self._on_out_of_slice_display_change
        )
        self.layer.events.symbol.connect(self._on_current_symbol_change)
        self.layer.events.size.connect(self._on_current_size_change)
        self.layer.events.current_size.connect(self._on_current_size_change)
        self.layer.events.current_border_color.connect(
            self._on_current_border_color_change
        )
        self.layer._border.events.current_color.connect(
            self._on_current_border_color_change
        )
        self.layer.events.current_face_color.connect(
            self._on_current_face_color_change
        )
        self.layer._face.events.current_color.connect(
            self._on_current_face_color_change
        )
        self.layer.events.current_symbol.connect(
            self._on_current_symbol_change
        )
        self.layer.text.events.visible.connect(self._on_text_visibility_change)
    
        sld = QLabeledSlider(Qt.Orientation.Horizontal)
        sld.setToolTip(
            trans._(
                'Change the size of currently selected points and any added afterwards.'
            )
        )
        sld.setFocusPolicy(Qt.FocusPolicy.NoFocus)
        sld.setMinimum(1)
        if self.layer.size.size:
>           max_value = max(100, int(np.max(self.layer.size)) + 1)
E           ValueError: cannot convert float NaN to integer

../../miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/site-packages/napari/_qt/layer_controls/qt_points_controls.py:117: ValueError
_______________________ test_display[     -spots-     ] ________________________

qtbot = <pytestqt.qtbot.QtBot object at 0x7fd5ce3665d0>, stack = None
spots = <xarray.IntensityTable (features: 1, r: 3, c: 2)>
array([[[1., 0.],
        [0., 1.],
        [1., 0.]]], dtype=float3...us    (features) float64 nan
  * features  (features) int64 0
  * r         (r) int64 0 1 2
  * c         (c) int64 0 1
masks = None

    @pytest.mark.napari
    @pytest.mark.parametrize('masks', [masks, None], ids=['masks', '     '])
    @pytest.mark.parametrize('spots', [spots, None], ids=['spots', '     '])
    @pytest.mark.parametrize('stack', [stack, None], ids=['stack', '     '])
    def test_display(qtbot, stack, spots, masks):
        from napari import Viewer
    
        viewer = Viewer()
        view = viewer.window.qt_viewer
        qtbot.addWidget(view)
    
        if stack is None and spots is None and masks is None:
            with pytest.raises(TypeError):
                display(stack, spots, masks, viewer=viewer)
        else:
>           display(stack, spots, masks, viewer=viewer)

starfish/core/test/test_display.py:48: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
starfish/core/_display.py:279: in display
    viewer.add_points(
../../miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/site-packages/napari/utils/add_layer.py_tmpl:11: in add_points
    self.layers.append(layer)
<frozen _collections_abc>:1130: in append
    ???
../../miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/site-packages/napari/components/layerlist.py:233: in insert
    super().insert(index, new_layer)
../../miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/site-packages/napari/utils/events/containers/_selectable_list.py:68: in insert
    super().insert(index, value)
../../miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/site-packages/napari/utils/events/containers/_evented_list.py:197: in insert
    self.events.inserted(index=index, value=value)
../../miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/site-packages/napari/utils/events/event.py:753: in __call__
    self._invoke_callback(cb, event if pass_event else None)
../../miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/site-packages/napari/utils/events/event.py:791: in _invoke_callback
    _handle_exception(
../../miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/site-packages/napari/utils/events/event.py:778: in _invoke_callback
    cb(event)
../../miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/site-packages/napari/_qt/layer_controls/qt_layer_controls_container.py:142: in _add
    controls = create_qt_layer_controls(layer)
../../miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/site-packages/napari/_qt/layer_controls/qt_layer_controls_container.py:67: in create_qt_layer_controls
    return controls(layer)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <napari._qt.layer_controls.qt_points_controls.QtPointsControls object at 0x7fd588d474a0>
layer = <Points layer 'spots' at 0x7fd588ca7c20>

    def __init__(self, layer) -> None:
        super().__init__(layer)
    
        self.layer.events.out_of_slice_display.connect(
            self._on_out_of_slice_display_change
        )
        self.layer.events.symbol.connect(self._on_current_symbol_change)
        self.layer.events.size.connect(self._on_current_size_change)
        self.layer.events.current_size.connect(self._on_current_size_change)
        self.layer.events.current_border_color.connect(
            self._on_current_border_color_change
        )
        self.layer._border.events.current_color.connect(
            self._on_current_border_color_change
        )
        self.layer.events.current_face_color.connect(
            self._on_current_face_color_change
        )
        self.layer._face.events.current_color.connect(
            self._on_current_face_color_change
        )
        self.layer.events.current_symbol.connect(
            self._on_current_symbol_change
        )
        self.layer.text.events.visible.connect(self._on_text_visibility_change)
    
        sld = QLabeledSlider(Qt.Orientation.Horizontal)
        sld.setToolTip(
            trans._(
                'Change the size of currently selected points and any added afterwards.'
            )
        )
        sld.setFocusPolicy(Qt.FocusPolicy.NoFocus)
        sld.setMinimum(1)
        if self.layer.size.size:
>           max_value = max(100, int(np.max(self.layer.size)) + 1)
E           ValueError: cannot convert float NaN to integer

../../miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/site-packages/napari/_qt/layer_controls/qt_points_controls.py:117: ValueError
=============================== warnings summary ===============================
starfish/core/util/logging.py:6
  /tank/home/iimog/software/starfish/starfish/core/util/logging.py:6: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
    import pkg_resources

../../miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/site-packages/pkg_resources/__init__.py:3147
  /tank/home/iimog/miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/site-packages/pkg_resources/__init__.py:3147: DeprecationWarning: Deprecated call to `pkg_resources.declare_namespace('mpl_toolkits')`.
  Implementing implicit namespace packages (as specified in PEP 420) is preferred to `pkg_resources.declare_namespace`. See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages
    declare_namespace(pkg)

../../miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/site-packages/pkg_resources/__init__.py:3147
  /tank/home/iimog/miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/site-packages/pkg_resources/__init__.py:3147: DeprecationWarning: Deprecated call to `pkg_resources.declare_namespace('sphinxcontrib')`.
  Implementing implicit namespace packages (as specified in PEP 420) is preferred to `pkg_resources.declare_namespace`. See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages
    declare_namespace(pkg)

../../miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/copy.py:151
  /tank/home/iimog/miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/copy.py:151: DeprecationWarning: Pickle, copy, and deepcopy support will be removed from itertools in Python 3.14.
    rv = reductor(4)

../../miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/copy.py:261
  /tank/home/iimog/miniforge3/envs/in-situ-seq-influenza-starfish/lib/python3.12/copy.py:261: DeprecationWarning: Pickle, copy, and deepcopy support will be removed from itertools in Python 3.14.
    y.__setstate__(state)

starfish/core/test/test_display.py::test_display[stack-spots-masks]
starfish/core/test/test_display.py::test_display[stack-spots-     ]
starfish/core/test/test_display.py::test_display[stack-     -masks]
starfish/core/test/test_display.py::test_display[stack-     -     ]
starfish/core/test/test_display.py::test_display[     -spots-masks]
starfish/core/test/test_display.py::test_display[     -spots-     ]
starfish/core/test/test_display.py::test_display[     -     -masks]
starfish/core/test/test_display.py::test_display[     -     -     ]
  /tank/home/iimog/software/starfish/starfish/core/test/test_display.py:41: FutureWarning: Public access to Window.qt_viewer is deprecated and will be removed in
  v0.7.0. It is considered an "implementation detail" of the napari
  application, not part of the napari viewer model. If your use case
  requires access to qt_viewer, please open an issue to discuss.
    view = viewer.window.qt_viewer

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED starfish/core/test/test_display.py::test_display[stack-spots-masks] - ValueError: cannot convert float NaN to integer
FAILED starfish/core/test/test_display.py::test_display[stack-spots-     ] - ValueError: cannot convert float NaN to integer
FAILED starfish/core/test/test_display.py::test_display[     -spots-masks] - ValueError: cannot convert float NaN to integer
FAILED starfish/core/test/test_display.py::test_display[     -spots-     ] - ValueError: cannot convert float NaN to integer
=========== 4 failed, 4 passed, 377 deselected, 13 warnings in 7.40s ===========

I'll try to find out, where this error comes from.

Versions

Linux-6.1.0-34-amd64-x86_64-with-glibc2.36
Python 3.12.9 | packaged by conda-forge | (main, Mar 4 2025, 22:48:41) [GCC 13.3.0]
NumPy 1.26.4
SciPy 1.15.3
scikit-image 0.25.2
pandas 2.2.3
sklearn 1.6.1
xarray 2023.8.0
sympy 1.14.0
starfish 0.3.2+6.g04ca0e3a

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugAn issue with an existing feature

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions