Skip to content

Commit 54b9a55

Browse files
committed
Fix magic
1 parent f889141 commit 54b9a55

File tree

1 file changed

+15
-11
lines changed

1 file changed

+15
-11
lines changed

src/ndv/controllers/_array_viewer.py

+15-11
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,8 @@ def __init__(
6565
"When display_model is provided, kwargs are be ignored.",
6666
stacklevel=2,
6767
)
68-
data = DataWrapper.create(data)
68+
if data is not None:
69+
data = DataWrapper.create(data)
6970
self._data_model = _ArrayDataDisplayModel(
7071
data_wrapper=data,
7172
display=display_model or self._default_display_model(data, **kwargs),
@@ -222,24 +223,27 @@ def clone(self) -> ArrayViewer:
222223

223224
@staticmethod
224225
def _default_display_model(
225-
data: DataWrapper, **kwargs: Unpack[ArrayDisplayModelKwargs]
226+
data: None | DataWrapper, **kwargs: Unpack[ArrayDisplayModelKwargs]
226227
) -> ArrayDisplayModel:
227228
"""
228229
Creates a default ArrayDisplayModel when none is provided by the user.
229230
230231
All magical setup goes here.
231232
"""
233+
# Can't do any magic with no data
234+
if data is None:
235+
return ArrayDisplayModel(**kwargs)
236+
232237
# RGB images
233238
if "channel_mode" not in kwargs and "channel_axis" not in kwargs:
234-
if data is not None:
235-
rgb_channel_axis = data.dims[-1]
236-
if data.sizes()[rgb_channel_axis] in {3, 4}:
237-
kwargs["channel_mode"] = "rgba"
238-
kwargs["channel_axis"] = -1
239-
# HACK - this gets around the warning conditional in
240-
# ArrayDisplayModel's validator. Ideally we wouldn't need to specify
241-
# this.
242-
kwargs["visible_axes"] = (-3, -2)
239+
rgb_channel_axis = data.dims[-1]
240+
if data.sizes()[rgb_channel_axis] in {3, 4}:
241+
kwargs["channel_mode"] = "rgba"
242+
kwargs["channel_axis"] = -1
243+
# HACK - this gets around the warning conditional in
244+
# ArrayDisplayModel's validator. Ideally we wouldn't need to specify
245+
# this.
246+
kwargs["visible_axes"] = (-3, -2)
243247

244248
return ArrayDisplayModel(**kwargs)
245249

0 commit comments

Comments
 (0)