MétaCan
Menu
Back to cohort
Record W6912489651 · doi:10.5281/zenodo.16627702

napari: a multi-dimensional image viewer for Python

2025· other· en· W6912489651 on OpenAlexaff

Bibliographic record

VenueZenodo (CERN European Organization for Nuclear Research) · 2025
Typeother
Languageen
FieldComputer Science
TopicDigital Imaging for Blood Diseases
Canadian institutionsInnovation Cluster (Canada)
Fundersnot available
KeywordsSlicingZoomScripting languagePython (programming language)VisualizationFeature (linguistics)Focus (optics)Graphical user interface

Abstract

fetched live from OpenAlex

napari 0.6.3 Thu, Jul 31, 2025 We're happy to announce the release of napari 0.6.3! napari is a fast, interactive, multi-dimensional image viewer for Python. It's designed for exploring, annotating, and analyzing multi-dimensional images. It's built on Qt (for the GUI), VisPy (for performant GPU-based rendering), and the scientific Python stack (NumPy, SciPy, and friends). For more information, examples, and documentation, please visit our website: https://napari.org/ Highlights A Zoom with a View 🔍 Pardon the play on words, but you can now zoom directly to a region of interest in the viewer by holding Alt and dragging with the mouse (#8004). The camera will pan and zoom to fit the selected region, making it much easier to focus on specific areas of your data. This feature works in both 2D and 3D views. Fine Tuning Thick Slicing from the GUI 📏 Thick slicing controls are now available in the GUI (#6146)! This allows you to project multiple slices together using different modes (sum, mean, max, and min) for better visualization of your multidimensional data. You can access the thickness controls by right-clicking on the dimension sliders to open a popup to change the margins either symmetrically or asymmetrical and projection mode settings are now available per layer in the layer controls widget. Run Scripts by Dragging and Dropping into the Viewer 🖱️ Scripts can now be run by dragging and dropping them into the viewer (#8135)! This is particularly useful for running napari examples without having to use the command line; you can even run these scripts from the bundled install! This works by adding a .py reader to napari's builtins. Windows: Access ~~Denied~~ Fixed 🪟 A critical Windows-specific bug that caused Access Violation errors has been resolved (#8122)! This longstanding issue would cause napari to stop displaying layers due to various events and often occurred at seemingly non-reproducible times, and required a full restart of napari. The fix ensures proper cleanup and syncing of GPU resources, also reducing memory usage on all platforms. If you were an effected user, you may recall it as Access Violation, 0x000000000000001C if triggered without a plugin, or 0x000000000000034C if triggered with a plugin. Improved PySide6 Support 🛠️ Napari now has improved support for PySide6 (#7887). We encourage plugin developers to test against PySide6, as a fully supported backend going forward. Additionally, this change will enable us to drop PySide2 along side Python 3.10, in the near future. If you are a plugin developer or otherwise depend on napari and PySide2, please reach out on Zulip or Github. New Features Qt controls for thick slicing (#6146) Add automatic area and perimeter measurement for shapes + action (#7262) Add 'zoom-box' to the viewer (#8004) Add viewbox coordinates to events and Cursor (#8130) feat: Add option to execute python code by drag'n'drop script to viewer (#8135) Improvements Allow use functions from PartSegCore-compiled-backend as numba alternative for data to texture mapping (#6617) Enable testing on recent PySide6 (#7887) Implement pasting spatial information into higher dimensions (#7973) Improve performance and memory usage of editing Shapes layer (#8006) Colorblind friendly image sample of kidney and lily (#8090) Added fixed seed and tested the value. (#8097) Add alpha to split rgba into channels and remerge image. (#8112) Add keybinding (CtrlCmd-up/down) to select layer above/below (#8119) Do not calculate projection on slices of thickness 1 (#8157) Add variables from drag and drop to console (#8174) Performance Allow use functions from PartSegCore-compiled-backend as numba alternative for data to texture mapping (#6617) Bug Fixes ensure sync when taking a screenshot (#8064) Updated code to use current symbol and border width for new points. (#8102) Improve performance and memory usage of editing Shapes layer (#8006 again) (#8109) Add alpha to split rgba into channels and remerge image. (#8112) Prevent Windows Access Violation with GPU resource cleanup on layer removal (#8122) Only use scale to transform margins in thick slices (#8137) Fix scalebar behaviour at high/low zoom (#8144) Ensure contrast limits are computed on original dtype with projected thick slices (#8149) Fix multiscale clim estimation by using full visible data, not first row (#8152) Remove np.asarray(self.cursor._view_direction) that return unbound array (#8172) API Changes Add viewbox coordinates to events and Cursor (#8130) Documentation Update docs constraints and pyprojecttoml for npe2 (#8075) Typo ismhow -> imshow (#8084) Replace deprecated view_*() method from examples (#8091) Comment the HEX codes of each color theme and where they're used (#8099) New example for affine transformations in 3D using meshio and stl (#8103) Added a try it out now section to README.md for using uv. (#8107) Update README wording about scikit-image example (#8125) Add example for grid mode. (#8131) Update xarray_nD_image_.py to use xarray tag (#8167) Autogenerate images of parts of the viewer (docs#621) Update instructions on how to update constraints files (docs#672) Updates to NAP-9: Multiple Views (docs#730) Update guides.md to add menu contribution guide (docs#747) Update building your first plugin guide (docs#753) Update version switcher for 0.6.2 (docs#754) Update Release Guide (docs#755) Fix information about site-packages directory (docs#756) Add empty release notes for 0.6.3 (docs#757) Add roadmap to sidebar links (docs#760) Refactor contributing guide landing page (docs#761) Reorganize homepage with grid columns (docs#767) Fix sidebar roadmap link (docs#768) Fix Image Annotation example (docs#777) Add website colors to community resources (docs#779) Update napari.org homepage to remove the imshow "button" (docs#780) Add instructions for headless docs build on Wayland (docs#781) Add module docstrings to scripts (docs#787) Update pre-commit config to add some python checkers (docs#788) Group event docs in order (docs#789) Add 0.6.3 release notes draft for release candidate (docs#792) Add docs for thick slicing (docs#794) Minor roadmap update (docs#795) Add "feature highlights" page (docs#796) Add introductory paragraph to starting an event loop api doc (docs#797) Update title of event loop api page for discoverability of napari.run (docs#799) Improve API docs for view_* pending removal in 0.7 (docs#800) Update 0.6.3 release notes (docs#803) Drag and drop python scripts (docs#805) Add Carol Willing to list of core developers in documentation (docs#806) Update announcement and version switcher (docs#807) Other Pull Requests Move export ROI and export figure implementations into QtViewer (#7950) [pre-commit.ci] pre-commit autoupdate (#8062) Block the recent pytest-qt version on python 3.10 to keep PySide2 support in testing. (#8067) Add configurable suffix for test artifacts (#8069) Update coverage, hypothesis, ipython, pillow, psygnal, pytest-qt, tensorstore, xarray (#8073) [pre-commit.ci] pre-commit autoupdate (#8074) Move non-qt file actions from qactions module (#8076) Move more view actions from qaction to actions (#8077) Report benchmark on non skipped status (#8086) Enable SIM117 ruff rule (#8088) Remove dotenv from dev dependencies (#8089) Add deprecation warning for view_<layer_type> functions (#8092) Revert #8006 Improve performance and memory usage of editing Shapes layer (#8104) Improve stability of tests by ensuring cleaning of QtViewer instances (#8113) Do not crash test with leaked graph if test failed (#8123) [pre-commit.ci] pre-commit autoupdate (#8124) Cleanup of test_qt_utils.py (#8129) Small fix to shapes measurement (#8133) Update Citation file for 0.6.1 through 0.6.3 (#8138) Slightly increase pip test workflow timeout (#8143) Use pytest-rerunfailures for flaky test_toggle_fullscreen_from_maximized test (#8151) [pre-commit.ci] pre-commit autoupdate (#8158) Move scalar field _slice machinery to proper module and update naming (#8164) Fix reporting python version in benchmark bug reports (#8169) Clean benchmark logs by using the non-deprecated layer-adding method (#8170) Update list of affiliation of Grzegorz Bokota (#8179) Update triggered_target_build.yml regex to ensure we match on hyphen (docs#764) Pin Github Actions actions to their hashes (docs#804) 15 authors added to this release (alphabetical) (+) denotes first-time contributors 🥳 Andrew - @ahuang11 + Carol Willing (docs) - @willingc Filippo Balzaretti (docs) - @FilBalza + Grzegorz Bokota (docs) - @Czaki Ian Coccimiglio - @ian-coccimiglio + jaime rodraguez-guerra - @jaimergp Juan Nunez-Iglesias - @jni Kanai Potts - @8bitbiscuit + Lorenzo Gaifas (docs) - @brisvag Lukasz Migas - @lukasz-migas Melissa Weber Mendonça - @melissawm Peter Sobolewski (docs) - @psobolewskiPhD Rahul Kumar - @rahul713rk rwkozar - @rwkozar Tim Monko (docs) - @TimMonko 18 reviewers added to this release (alphabetical) (+) denotes first-time contributors 🥳 andrew sweet - @andy-sweet Carol Willing (docs) - @willingc Constantin Aronssohn - @cnstt Daniel Althviz Moré - @dalthviz Davis Bennett - @d-v-b Draga Doncila Pop - @DragaDoncila Grzegorz Bokota (docs) - @Czaki Jacopo Abramo - @jacopoabramo jaime rodraguez-guerra - @jaimergp Juan Nunez-Iglesias - @jni Lorenzo Gaifas (docs) - @brisvag Lukasz Migas - @lukasz-migas Melissa Weber Mendonça - @melissawm Peter Sobolewski (docs) - @psobolewskiPhD Rahul Kumar - @rahul713rk rwkozar - @rwkozar Tim Monko (docs) - @TimMonko Wouter-Michiel Vierdag - @melonora

Fetched live from OpenAlex and de-inverted. Abstracts are not stored in this database: the inverted indexes are 8.6 GB of the frame’s 9.3 GB of text, and the host has 13 GB free.

How this classification was reachedexpand

Full frame distilled prediction

Teacher imitation

Not calibrated prevalence, not ground truth. Human validation pending. Learned from the 10,348 direct Codex labels and 10,348 direct Gemma labels. Candidate is the union of thresholded teacher heads; consensus is their intersection. These outputs are machine_predicted_unvalidated and are not human labels or direct frontier model labels.

metaresearch head score (Codex)0.000
metaresearch head score (Gemma)0.001
Version: codex-gemma-dda1882f352aValidation status: machine_predicted_unvalidated
Candidate categoriesMeta-epidemiology (narrow), Scholarly communication, Insufficient payload (model declined to judge)
Consensus categoriesInsufficient payload (model declined to judge)
DomainCandidate signal: none · Consensus signal: none
Study designCandidate signal: Not applicable · Consensus signal: Not applicable
GenreCandidate signal: Other · Consensus signal: Other
Teacher disagreement score0.085
Threshold uncertainty score1.000

Codex and Gemma teacher scores by category

CategoryCodexGemma
Metaresearch0.0000.001
Meta-epidemiology (narrow)0.0000.000
Meta-epidemiology (broad)0.0000.000
Bibliometrics0.0010.001
Science and technology studies0.0010.000
Scholarly communication0.0020.000
Open science0.0030.003
Research integrity0.0000.000
Insufficient payload (model declined to judge)0.0050.008

Machine scores (provisional)

The two teacher heads of the student model, read on this work. A score orders the frame for review; it never asserts a category, and the validation status ships verbatim with every row.

Baseline scores from an immature model (maturity gate not passed, 7 training rounds). Scores rank; they never assert a category.

Opus teacher head0.027
GPT teacher head0.263
Teacher spread0.236 · how far apart the two teachers sit on this one work
Validation statusscore_only:v0-immature-baseline · verbatim from the scoring run: score_only means the number may rank works, and no category label ships from it

Classification

machine, unvalidated

Machine predicted; both teacher heads agree on what is shown here.

Study designNot applicable
Domainnot available
GenreOther

How this classification was reached, model by model and score by score, is at the end of the page under "How this classification was reached".

Quick stats

Citations1
Published2025
Admission routes1
Has abstractyes

Explore more

Same venueZenodo (CERN European Organization for Nuclear Research)Same topicDigital Imaging for Blood DiseasesFrench-language works237,207