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

AttributeError: 'CtrlLayer' object has no attribute '_ndisplay' #7

Open
QuentinRapilly opened this issue Aug 30, 2023 · 0 comments
Open

Comments

@QuentinRapilly
Copy link

Hi,

I want to use napari-splinedist but when I run it on an image, the process doesn't work.
The following exception is returned :
_AttributeError: 'CtrlLayer' object has no attribute 'ndisplay'
It seems that it comes from napari-splineit which is used by splinedist to plot the results and in fact when I try to add a new empty layer using splineit I got the same error.

Full error is :

"

AttributeError Traceback (most recent call last)
File ~/miniconda3/envs/napari-env/lib/python3.9/site-packages/napari_splineit/_widget.py:79, in SplineitQWidget._on_add_layers(self=<napari_splineit._widget.SplineitQWidget object>)
77 interpolator = SplineInterpolator(k=3)
78 base_name = self._get_layer_base_name()
---> 79 layer_factory(
self.viewer = Viewer(camera=Camera(center=(0.0, 248.7683971558929, 293.0533480914482), zoom=0.8677627853328994, angles=(0.0, 0.0, 90.0), perspective=0.0, mouse_pan=True, mouse_zoom=True), cursor=Cursor(position=(767.3432707057057, 585.760065017044), scaled=True, size=1, style=<CursorStyle.STANDARD: 'standard'>), dims=Dims(ndim=2, ndisplay=2, last_used=0, range=((0.0, 512.0, 1.0), (0.0, 640.0, 1.0)), current_step=(255, 319), order=(0, 1), axis_labels=('0', '1')), grid=GridCanvas(stride=1, shape=(-1, -1), enabled=False), layers=[<Image layer 'a5e695fce80dc03efb6665a9ec14500ab47f4ee9f6437531388dd3cc32c90db1' at 0x7f31b6bc4fd0>, <InterpolatedLayer layer 'Splines-Interpolated' at 0x7f30441064c0>], help='', status={'layer_base': 'Splines-Interpolated', 'source_type': '', 'plugin': '', 'coordinates': ' [767 586]: [, ]'}, 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 0x7f31bfa719d0>], _persisted_mouse_event={}, _mouse_drag_gen={}, _mouse_wheel_gen={}, keymap={})
self = <napari_splineit._widget.SplineitQWidget object at 0x7f31b6937ca0>
interpolator = <napari_splineit.interpolation.spline.SplineInterpolator object at 0x7f30441f4610>
base_name = 'Splines'
80 self.viewer,
81 interpolator=interpolator,
82 ctrl_layer_name=f"{base_name}-CTRL",
83 interpolated_layer_name=f"{base_name}-Interpolated",
84 )

File ~/miniconda3/envs/napari-env/lib/python3.9/site-packages/napari_splineit/layer/layer_factory.py:29, in layer_factory(viewer=Viewer(camera=Camera(center=(0.0, 248.7683971558...ouse_drag_gen={}, _mouse_wheel_gen={}, keymap={}), interpolator=<napari_splineit.interpolation.spline.SplineInterpolator object>, data=None, ctrl_layer_name='Splines-CTRL', interpolated_layer_name='Splines-Interpolated', edge_color=None, face_color=None, current_edge_color=None, current_face_color=None, edge_width=None, z_index=None, opacity=0.7)
24 interpolated_layer = InterpolatedLayer(
25 name=interpolated_layer_name, opacity=opacity
26 )
27 viewer.add_layer(interpolated_layer)
---> 29 ctrl_layer = CtrlLayer(
CtrlLayer = <class 'napari_splineit.layer._ctrl_layer.CtrlLayer'>
ctrl_layer_name = 'Splines-CTRL'
{
"interpolator": interpolator,
"interpolated_layer": interpolated_layer,
} = {'interpolator': <napari_splineit.interpolation.spline.SplineInterpolator object at 0x7f30441f4610>, 'interpolated_layer': <InterpolatedLayer layer 'Splines-Interpolated' at 0x7f30441064c0>}
interpolator = <napari_splineit.interpolation.spline.SplineInterpolator object at 0x7f30441f4610>
interpolated_layer = <InterpolatedLayer layer 'Splines-Interpolated' at 0x7f30441064c0>
30 name=ctrl_layer_name,
31 metadata={
32 "interpolator": interpolator,
33 "interpolated_layer": interpolated_layer,
34 },
35 interpolator=interpolator,
36 interpolated_layer=interpolated_layer,
37 )
39 viewer.add_layer(ctrl_layer)
41 if data is not None:

File ~/miniconda3/envs/napari-env/lib/python3.9/site-packages/napari_splineit/layer/_ctrl_layer.py:88, in CtrlLayer.init(self=<CtrlLayer layer 'Splines-CTRL'>, interpolator=<napari_splineit.interpolation.spline.SplineInterpolator object>, interpolated_layer=<InterpolatedLayer layer 'Splines-Interpolated'>, *args=(), **kwargs={'metadata': {'interpolated_layer': <InterpolatedLayer layer 'Splines-Interpolated'>, 'interpolator': <napari_splineit.interpolation.spline.SplineInterpolator object>}, 'name': 'Splines-CTRL'})
82 self.interpolated_layer.ctrl_layer = self
83 super().init(
84 *args, edge_color="transparent", face_color="transparent", **kwargs
85 )
87 self._data_view = CtrlLayerShapeList(
---> 88 ndisplay=self._ndisplay,
self = <CtrlLayer layer 'Splines-CTRL' at 0x7f30996d8610>
self._data_view = <napari.layers.shapes._shape_list.ShapeList object at 0x7f3099748490>
interpolated_layer = <InterpolatedLayer layer 'Splines-Interpolated' at 0x7f30441064c0>
89 ctrl_layer=self,
90 interpolated_layer=interpolated_layer,
91 )
92 self._data_view.slice_key = np.array(self._slice_indices)[
93 list(self._dims_not_displayed)
94 ]

AttributeError: 'CtrlLayer' object has no attribute '_ndisplay'
"

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