napari: a multi-dimensional image viewer for Python
Notice bibliographique
Résumé
napari 0.5.5 Thu, Dec 12, 2024 We're happy to announce the release of napari 0.5.5! (You might have noticed it's been a hot minute since our last release — the team has been busy on the conference circuit (watch our talk at PyConAU!), defending their PhDs, and more! We are now back to our regularly-scheduled programming. 😂 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 This release continues the 0.5 tradition of churning out the bug fixes and enhancements, with 24 pull requests total in that category. If you are a user of oblique plane rendering, you'll appreciate #7422, which fixes the plane calculation when data is anisotropic. And, did you have a hole in your heart where high-quality 3D labels rendering should have been? Check out #7431, in which Ashley Anderson has (again) improved the quality of 3D labels by filling the (apparent, but fictional) holes in labels at the borders of a volume. Before/after gif: Additionally, Grzegorz Bokota has again sped up launch time for Shapes layers by porting all the edge triangulation code to numba (#7268). As part of that work he also created a fantastic developer example explaining how the edge triangulation works, which you can find at examples/dev/triangle_edge.py. Give it a read and a play if you want to peek under the hood of the Shapes layer! Did you miss a napari error or warning while reading these notes? We don't blame you! Those missed notifications will be a thing of the past with #7220, which will keep notifications open if the napari window is not in focus. Whew! Finally, for the zarrventurous among you, napari 0.5.5 is ready for zarr v3, coming soon to a PyPI near you! (#7215) If you are using or testing the zarr 3.0.0 betas, try them with napari! We hope you'll be pleasantly surprised. 😊 As always, we thank all the contributors to this napari release and all the previous ones! We welcome Carol Willing and Tim Monko to the list of contributors. Read on for all the changes in this version! Read on for all the changes in this version! Improvements Do not start notification timer if window is not active. (#7220) Speedup triangulation of edges (#7268) [Enh] Double-click to zoom in on the clicked location (alt to zoom out) (#7286) Highlight Shapes and Points layer data only when active (#7289) Remove keybinding full stops (#7304) Add example doc comparing screenshot and export_figure (#7319) [Enh] Add a Merge to RGB contextual menu item (#7322) Enable mouse pan and zoom when no active layer is available (#7408) Add metadata event to Layer class (#7416) Update normal calculation for labels isosurface rendering (#7431) Bug Fixes Use font_size setting to control napari-console font-size (#6753) Add from maximized to fullscreen mode interactions handling and allow using Alt-Tab while on fullscreen on Windows (#7308) Fix bounding box to not contain only shape interior but also edges (#7332) Clean selected data in Shapes layer when setting data (#7336) fix iso_gradient_mode in constructor call (#7340) Fix using transform mode when having layers with a different number of dimensions (#7342) fix: change highlight only on zoom and mouse press (#7386) Don't show plane normal controls unless layer has 3 or more dimensions and change controls order (plane controls under depiction combobox) (#7395) Enable mouse pan and zoom when no active layer is available (#7408) bug fix: have layerlist consume return, not pass to viewer (#7417) Prevent errors when interacting with selected non-visible layers (#7418) [bugfix] implement proper world to data normal transformation (#7422) Turn off 'flash' in screenshot/export_figure examples (#7427) Update surface shading control combobox when value is set programatically (#7432) Documentation update scale_bar example to include new attributes (#7309) Add example doc comparing screenshot and export_figure (#7319) Add reminder about version added directive in PR template (#7359) Update the docstrings and comments for status checker thread (#7381) Update to_screenshot and export_figure example docstrings (#7426) Turn off 'flash' in screenshot/export_figure examples (#7427) Add draft release notes for 0.5.5 (docs#536) Add linkcheck step to be run once a week (docs#474) Fix broken links detected by make linkcheck-files (docs#484) Add 0.5.4 to the version switcher (docs#500) Document the SPEC-0 rule for bundled Python (docs#501) Update docs to remove flake8, isort mentions and add ruff (docs#502) Highlight Jupyter option in gallery examples (docs#503) Add community calendar link to landing page (docs#504) Add information about qt_viewer fixture (docs#505) Add information that qt_viewer fixture hide the viewer (docs#506) Update release guide anchor (docs#507) Minor improvement to provider annotations (docs#510) Add notes about versionadded/versionchanged directives to dev guide (docs#512) Update Step 4 of development set up to clarify qt backends (docs#516) Update benchmarks.md to use conda napari-env (docs#518) Add contributing text and link about CI (docs#519) Update finding_and_installing_plugins.md (docs#521) [Labels] Add more prominent info about the next label keybind and fix n_dimensional (deprecated) (docs#522) Update NAP-6 to remove mention of context menu (docs#525) Move Andy Sweet from core-devs to emeritus core-devs (docs#530) Other Pull Requests Add testing for drag and drop events/behavior on QtLayerList (#6699) Fix zarr 3.0 compatibility (#7215) Add more tests for Qt processors (#7280) Update coverage, dask, fsspec, hypothesis, imageio, ipython, napari-console, pillow, psutil, qtconsole, qtpy, rich, tensorstore, toolz, tqdm, virtualenv, xarray (#7287) Block zarr 3.0.0a5, 3.0.0a6 (#7305) [pre-commit.ci] pre-commit autoupdate (#7307) ci(dependabot): bump peter-evans/create-pull-request from 6 to 7 in the actions group (#7311) Change Layer.create type annotation to accept any Mapping (#7317) [pre-commit.ci] pre-commit autoupdate (#7324) Fix double reporting of leaked widgets (#7326) Improve docstrings and code flow of ShapeList.outline add missed return in thread status (#7337) Add screenshot test for highlights visibility when layer selection/active layer changes (#7339) [miant] update binder to use conda nightly and jupyter-remote-desktop-proxy (#7352) Update dask, hypothesis, pint (#7358) Add setting Windows resolution step for prereleases testing workflow and some tests fixes (#7360) [pre-commit.ci] pre-commit autoupdate (#7361) Add maintainer and contributor documentation about workflow automation near the configuration (#7365) Stop testing PySide6 on python 3.9 (#7368) fix: remove "openblas_set_num_threads not found" warning by add missed break (#7369) Isolate keybinding tests using pytest.mark (#7375) Add python-dotenv to dev dependencies (#7377) mark slow local tests (#7383) Speed up bigtiff test using np.empty and smaller data (#7384) Update coverage, dask, hypothesis, tensorstore (#7385) [pre-commit.ci] pre-commit autoupdate (#7388) [Maint] drop unused n_dimensional property of Labels (#7389) [pre-commit.ci] pre-commit autoupdate (#7424) [tests] add tests for Layer._world_to_displayed_data_normal (#7435) [pre-commit.ci] pre-commit autoupdate (#7439) Remove lucyleeow from qt/ codeowners (#7441) [Maint] Fix labeler action by using proper syntax (docs#523) Update labeler.yml to check subfolders (docs#526) Fix linkchecker (docs#528) 12 authors added to this release (alphabetical) (+) denotes first-time contributors 🥳 andrew sweet - @andy-sweet Ashley Anderson - @aganders3 Carol Willing (docs) - @willingc + clement caporal - @ClementCaporal Daniel Althviz Moré - @dalthviz Grzegorz Bokota (docs) - @Czaki jaime rodriguez-guerra - @jaimergp Juan Nunez-Iglesias (docs) - @jni Lucy Liu (docs) - @lucyleeow Melissa Weber Mendonça (docs) - @melissawm Peter Sobolewski (docs) - @psobolewskiPhD Tim Monko - @TimMonko + 14 reviewers added to this release (alphabetical) (+) denotes first-time contributors 🥳 Ashley Anderson - @aganders3 Carol Willing (docs) - @willingc + Daniel Althviz Moré - @dalthviz Davis Bennett - @d-v-b Draga Doncila Pop - @DragaDoncila Genevieve Buckley - @GenevieveBuckley Grzegorz Bokota (docs) - @Czaki Juan Nunez-Iglesias (docs) - @jni Lorenzo Gaifas - @brisvag Lucy Liu (docs) - @lucyleeow Melissa Weber Mendonça (docs) - @melissawm Peter Sobolewski (docs) - @psobolewskiPhD Tim Monko - @TimMonko + Wouter-Michiel Vierdag - @melonora
Récupéré en direct depuis OpenAlex et désinversé. Les résumés ne sont pas conservés dans cette base de données : les index inversés représentent 8,6 Go des 9,3 Go de texte de la base, et le serveur dispose de 13 Go libres.
Comment cette classification a été obtenuedéplier
Prédiction machine sur la base complète
Imitation des enseignantsNi prévalence calibrée, ni vérité terrain. Validation humaine à venir. Le volet Gemma est une étiquette directe du modèle pour chaque travail de la base, lue sur la notice réduite au titre. Le volet Codex est un classifieur appris des 10 348 étiquettes directes de Codex et calibré sur les taux pondérés de l'échantillon; les champs sans appui suffisant ne portent aucun appel Codex. Le mode candidate est l'union des deux volets; le consensus est leur intersection. Ces sorties portent le statut machine_predicted_unvalidated et ne sont pas des étiquettes humaines.
Scores du classifieur distillé par catégorie (deux têtes)
| Catégorie | Codex | Gemma |
|---|---|---|
| Métarecherche | 0,002 | 0,004 |
| Méta-épidémiologie (sens strict) | 0,002 | 0,002 |
| Méta-épidémiologie (sens large) | 0,001 | 0,002 |
| Bibliométrie | 0,001 | 0,001 |
| Études des sciences et des technologies | 0,001 | 0,001 |
| Communication savante | 0,003 | 0,005 |
| Science ouverte | 0,005 | 0,004 |
| Intégrité de la recherche | 0,001 | 0,004 |
| Charge utile insuffisante (le modèle a refusé de juger) | 0,312 | 0,259 |
Scores machine (provisoires)
Les deux têtes enseignantes du modèle étudiant, lues sur ce travail. Un score ordonne la base pour la relecture; il n'affirme jamais une catégorie, et le statut de validation accompagne chaque rangée tel quel.
Scores de référence d'un modèle non mature (critères de maturité non atteints, 7 itérations). Un score ordonne; il n'affirme jamais une catégorie.
score_only:v0-immature-baseline · tel quel depuis la passe de notation : score_only signifie que le nombre peut ordonner les travaux, et qu'aucune étiquette de catégorie n'en découleClassification
machine, non validéePrédiction automatique; un appel candidat d’une seule source (Gemma direct ou Codex distillé), pas un consensus.
Le détail, modèle par modèle et score par score, se trouve en fin de page sous « Comment cette classification a été obtenue ».