Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions docs/guides/rendering.md
Original file line number Diff line number Diff line change
Expand Up @@ -273,6 +273,10 @@ As a part of these calculations, {attr}`Layer.corner_pixels<napari.layers.Layer.
This means that whenever the canvas' camera is panned or zoomed, napari fetches all the data needed to draw the current field of view.
While this can work well with local data, it will be slow with remote or other high latency data.

This automatic level selection can be overridden by setting {attr}`locked_data_level<napari.layers.Image.locked_data_level>` on the layer.
When set, the layer always renders at that specific level and `corner_pixels` spans the full extent of that level, bypassing the automatic computation described above.
Setting it back to `None` restores automatic behavior.

### Loading non-image data

Other layer types, like {class}`Points<napari.layers.Points>` and {class}`Shapes<napari.layers.Shapes>`, have layer specific data structures.
Expand Down
24 changes: 24 additions & 0 deletions docs/howtos/layers/image.md
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,30 @@ layer to specify if your data is a multiscale image or not. If you don't provide
this value, then napari will try and guess whether your data is or needs to be a
multiscale image.

### Locking the multiscale level

By default, napari automatically selects which resolution level to display based
on the current zoom and viewport. In 2D this means zooming in loads
higher-resolution data, while in 3D the coarsest level is used for performance.

If you want to force a specific resolution level — for example, to keep a
consistent view while panning or to inspect a particular level — you can set
the `locked_data_level` property, or using the resolution dropdown in the layer controls:

```python
# Lock rendering to level 0 (highest resolution)
layer.locked_data_level = 0

# Restore automatic level selection
layer.locked_data_level = None
```

When a level is locked, napari loads the full extent of that level on the currently
displayed dimensions regardless of zoom or display mode. The lock is automatically
reset to `None` when the layer's data is replaced.

This property is available on both `Image` and `Labels` layers.

## Loading multichannel images

Each channel in a multichannel image can be displayed as an individual layer by
Expand Down
Loading