napari: a multi-dimensional image viewer for Python
Authors/Creators
-
Sofroniew, Nicholas1
-
Lambert, Talley2
-
Bokota, Grzegorz3
-
Nunez-Iglesias, Juan4
-
Sobolewski, Peter5
- Sweet, Andrew1
-
Gaifas, Lorenzo6
- Evans, Kira1
- Burt, Alister7
- Doncila Pop, Draga8
- Yamauchi, Kevin9
-
Weber Mendonça, Melissa10
- Liu, Lucy10
-
Buckley, Genevieve8
-
Vierdag, Wouter-Michiel11
-
Monko, Timothy12
-
Willing, Carol13
- Royer, Loic14
- Can Solak, Ahmet14
-
Harrington, Kyle I. S.1
-
Abramo, Jacopo15
-
Ahlers, Jannis8
-
Althviz Moré, Daniel10
-
Amsalem, Oren16
-
Anderson, Ashley1
-
Annex, Andrew17
-
Aronssohn, Constantin
-
Balzaretti, Filippo18
- Boone, Peter
- Bragantini, Jordão14
-
Bussonnier, Matthias19
-
Caporal, Clément20
-
Coccimiglio, Ian21
-
Eglinger, Jan22
-
Eisenbarth, Andreas23
- Freeman, Jeremy1
- Gohlke, Christoph24
- Gunalan, Kabilar
-
Halchenko, Yaroslav Olegovich25
- Har-Gil, Hagai26
-
Harfouche, Mark27
-
Hilsenstein, Volker23
- Hutchings, Katherine28
-
Kozar, Robert29
-
Lauer, Jessy30
-
Lichtner, Gregor31
-
Liu, Hanjin32
- Liu, Ziyang33
- Lowe, Alan34
-
Marconato, Luca35
-
Martin, Sean36
- McGovern, Abigail8
- Migas, Lukasz37
-
Miller, Nadalyn38
-
Miñano, Sofía39
-
Muñoz, Hector40
-
Müller, Jan-Hendrik41
- Nauroth-Kreß, Christopher42
-
Obenhaus, Horst A.43
-
Palecek, David44
-
Pape, Constantin41
-
Perlman, Eric45
- Pevey, Kim
-
Peña-Castellanos, Gonzalo10
-
Pierré, Andrea46
- Pinto, David
-
Rodríguez-Guerra, Jaime19
-
Ross, David47
-
Russell, Craig T.48
- Ryan, James
-
Selzer, Gabriel49
-
Smith, MB50
-
Smith, Paul28
- Sofiiuk, Konstantin
-
Soltwedel, Johannes51
-
Stansby, David28
-
Vanaret, Jules52
- Wadhwa, Pam19
-
Weigert, Martin53
-
Windhager, Jonas54
- Winston, Philip55
-
Zhao, Rubin56
- 1. Chan Zuckerberg Initiative
- 2. Harvard Medical School
- 3. napari; University of Warsaw, Faculty of Mathematics, Informatics, and Mechanics
- 4. Monash eResearch Centre, Monash University
- 5. The Jackson Laboratory
- 6. napari
- 7. MRC-LMB
- 8. Monash University
- 9. Iber Lab - ETH Zürich
- 10. Quansight
- 11. European Molecular Biology Laboratory, Genome Biology Unit, Heidelberg, Germany
- 12. University of Minnesota — Twin Cities
- 13. Willing Consulting
- 14. Chan Zuckerberg Biohub
- 15. Leibniz-IPHT, Jena, Germany
- 16. Harvard Medical School, BIDMC
- 17. SETI Institute/NASA ARC
- 18. University of California, Santa Cruz
- 19. Quansight Labs
- 20. Laboratory for Optics and Biosciences, Ecole Polytechnique, INSERM, CNRS, Palaiseau, France
- 21. Unaffiliated
- 22. Friedrich Miescher Institute for Biomedical Research (FMI), Basel (Switzerland)
- 23. EMBL Heidelberg, Germany
- 24. University of California, Irvine
- 25. Dartmouth College
- 26. Tel Aviv University, Israel
- 27. Ramona Optics Inc, Durham, North Carolina, USA
- 28. University College London
- 29. Naval Nuclear Laboratory
- 30. Swiss Federal Institute of Technology (EPFL), Lausanne, Switzerland
- 31. Universitätsmedizin Greifswald
- 32. Kobe University
- 33. Chan Zuckerberg Initiative Foundation
- 34. UCL & The Alan Turing Institute
- 35. EMBL Heidelberg
- 36. MetaCell
- 37. Delft University of Technology
- 38. Apex Systems
- 39. Sainsbury Wellcome Centre - University College London
- 40. University of California, Los Angeles
- 41. Georg-August-Universität Göttingen
- 42. University Hospital Würzburg - Institute of Neuroradiology
- 43. Kavli Institute for Systems Neuroscience at NTNU, Trondheim, Norway
- 44. Algarve Centre of Marine Sciences (CCMAR)
- 45. Yikes LLC
- 46. Brown University
- 47. NanoString Technologies, Inc.
- 48. European Bioinformatics Institute - European Molecular Biology Laboratory
- 49. University of Wisconsin-Madison
- 50. AI lab for Living Technologies, University Medical Centre Utrecht (The Netherlands)
- 51. DFG cluster of excellence 'Physics of Life', TU Dresden
- 52. Aix Marseille University, CNRS, Fresnel, I2M, IBDM, Turing Centre for Living systems
- 53. TU-Dresden / EPFL
- 54. ETH Zurich / University of Zurich
- 55. Tobeva Software
- 56. Chinese Academy of Sciences - SIAT, Shenzhen, China
Description
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-packagesdirectory (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-rerunfailuresfor flakytest_toggle_fullscreen_from_maximizedtest (#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
Notes
Files
napari/napari-v0.6.3.zip
Files
(3.9 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:d6cd460f589fbeeb54e2d3cbbff09862
|
3.9 MB | Preview Download |
Additional details
Related works
- Is supplement to
- Software: https://github.com/napari/napari/tree/v0.6.3 (URL)
Software
- Repository URL
- https://github.com/napari/napari