napari 0.4.12
We’re happy to announce the release of napari 0.4.12! napari is a fast, interactive, multi-dimensional image viewer for Python. It’s designed for browsing, annotating, and analyzing large multi-dimensional images. It’s built on top of Qt (for the GUI), vispy (for performant GPU-based rendering), and the scientific Python stack (numpy, scipy).
For more information, examples, and documentation, please visit our website: https://github.com/napari/napari
Highlights¶
This is a bug fix release with many minor improvements and bug fixes. The user experience for users of dask arrays might be significantly improved by a new approach to setting the contrast limits based on the current slice (#3425).
A progress bar will now display when opening multiple files (#3355). Thanks to first-time contributor @tibuch the data type of labels layers can now be converted from a context menu on the layer list (#3402).
See the full list of merged pull requests below for further delails!
New Features¶
Add progress bar when opening list of files (#3355)
Add right-click context menu to convert label data type. (#3402)
Improvements¶
Support for
Future
return type in magicgui widget (#2581)Don’t register dask cache globally - but do use cache as context manager when slicing (#3285)
Hide or Destroy dock widgets (#3331)
_vispy
module cleanup (#3333)Add expressions API (will eventually support
when
expressions for internal & plugin usage) (#3350)Experimental npe2 support (#3354)
Disable save options if no layers available (#3363)
Add cancel and cancel all actions to plugin dialog and improve UI (#3369)
Add an option to change the theme to match the system one (#3370)
Add toggle visibility to layer actions (#3372)
Remove 0.4.9 deprecations (#3377)
Move
progress
outside ofqt
and eliminate need forqt
imports in headless mode (#3379)Normalize_dtype() when setting contrast limits. (#3380)
Add translucent no depth blending mode (#3398)
Center data within points thumbnail (#3406)
Add back support for big-endian NumPy dtypes in get_dtype_limits (#3424)
Schedule contrast limits calculation for dask arrays after first set_view_slice (#3425)
Minor refactor of get_active_layer_dtype (#3434)
Add event filter to convert tooltips to richtext (#3442)
Remove duplicate test parameter (#3443)
Check if proper function name is found when connect to EventEmmiter (#3445)
Prevent shapes removal while creating (#3451)
Bug fix for individual shape selection with shift modifier (#3456)
Multiscale slicing extends beyond shape (#3460)
Added float16 support to dtype normalization (#3463)
Updates for magicgui 0.3.0 (#3465)
Finds layer_controls based on layer’s MRO (#3471)
Use
ensure_main_thread
instead of custom thread propagation mechanism in NapariQtNotification (#3473)Drop pythonw patch in windows bundle (#3479)
Revert “drop pythonw patch (#3479)” (#3501)
Bug Fixes¶
Fix
_old_size
attribute error in main window (#3329)Fix problem with local function signal binding (#3352)
Fix getattr in WorkerBase (#3368)
Fix off-by-one bug in extent of Image and Labels layers (#3381)
Try to fix bundle building. (#3403)
Fix to_labels default output shape (#3412)
Fix lazy load console (#3419)
Fix teardown of menus to prevent widget test leaks (#3433)
Fix off-by one error in Dims.range for non pixel-based layers (#3444)
Fix naming inconsistency for windows bundle (#3476)
Add ability to provide empty data to vectors layer (#2995)
API Changes¶
Deprecations¶
Documentation¶
Fix docs order in _toc.yml for 0.4.11 (#3330)
Add example with data of mixed dimensionality (#3392)
Build Tools and Support¶
Split windows pyside/pyqt into own GitHub action check (#2989)
Attempt to cache tox virtualenv. (#2996)
Update references to master to point to main (#3351)
Fix docs build from main branch (#3365)
Turn on testing examples on CI again (#3367)
Add certifi to dependencies (#3386)
Update README.md (#3396)
Fix CI failure from example (#3397)
Attempt to speedup tests around theme. (#3405)
Add global test timeout to avoid regression. (#3407)
Add missing rendering documentation (#3436)
Try to skip test on windows. (#3438)
Add wheel to bundle run dependecies (#3450)
Clarify existing behavior of
TextManager
with new tests and benchmarks (#3452)Move 8s tiemout to github actions only (#3457)
Move icons to package src (#3462)
Fix image display for plugin installation page. (#3480)
Fix broken links in documentation (#3481)
Update formatting in README.md (#3482)
Fix formatting of Layers docstrings (#3483)
Add links to napari repo in README (#3484)
Bump minimum NumPy requirement to 1.18 (as per NEP29) (#3485)
Remove make_napari_viewer in vispy tests. (#3486)
Update ubuntu image to 18.04 (#3348)
Bundle: canonicalize arch names (#3349)
Fix min_req text matrix by skiping test (#3496)
Bundle: make fork multiprocessing default in macos again (#3498)
22 authors added to this release (alphabetical)¶
Andy Sweet - @andy-sweet
Draga Doncila Pop - @DragaDoncila
Eric Perlman - @perlman
Genevieve Buckley - @GenevieveBuckley
Gonzalo Peña-Castellanos - @goanpeca
Gregory R. Lee - @grlee77
Grzegorz Bokota - @Czaki
Guillaume Gay - @glyg
Jaime Rodríguez-Guerra - @jaimergp
Jan-Hendrik Müller - @kolibril13
Jordão Bragantini - @JoOkuma
Juan Nunez-Iglesias - @jni
Kevin Yamauchi - @kevinyamauchi
Lorenzo Gaifas - @brisvag
Lukas Vasadi - @lukasvasadi
Matthias Bussonnier - @Carreau
Melissa Weber Mendonça - @melissawm
Nicholas Sofroniew - @sofroniewn
Pam - @ppwadhwa
Talley Lambert - @tlambert03
Tim-Oliver Buchholz - @tibuch
Ziyang Liu - @potating-potato
20 reviewers added to this release (alphabetical)¶
Alister Burt - @alisterburt
Andy Sweet - @andy-sweet
Draga Doncila Pop - @DragaDoncila
Genevieve Buckley - @GenevieveBuckley
Gonzalo Peña-Castellanos - @goanpeca
Gregory R. Lee - @grlee77
Grzegorz Bokota - @Czaki
Jaime Rodríguez-Guerra - @jaimergp
Juan Nunez-Iglesias - @jni
Kevin Yamauchi - @kevinyamauchi
Lorenzo Gaifas - @brisvag
Lukasz Migas - @lukasz-migas
Matthias Bussonnier - @Carreau
Nathan Clack - @nclack
Nicholas Sofroniew - @sofroniewn
Pam - @ppwadhwa
psobolewskiPhD - @psobolewskiPhD
Talley Lambert - @tlambert03
Tim-Oliver Buchholz - @tibuch
Ziyang Liu - @potating-potato