MétaCan
Menu
Back to cohort
Record W6949248590 · doi:10.5281/zenodo.14427406

napari: a multi-dimensional image viewer for Python

2024· other· en· W6949248590 on OpenAlexaff

Bibliographic record

VenueZenodo (CERN European Organization for Nuclear Research) · 2024
Typeother
Languageen
Field
Topic
Canadian institutionsInnovation Cluster (Canada)
Fundersnot available
KeywordsChurningPython (programming language)Rendering (computer graphics)PortingWorkflowOblique case

Abstract

fetched live from OpenAlex

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

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 machine prediction

Teacher imitation

Not calibrated prevalence, not ground truth. Human validation pending. The Gemma side is a direct model label for every work in the frame, read from the title-only record. The Codex side is a classifier learned from the 10,348 direct Codex labels and calibrated to design-weighted sample rates; fields without enough sample support carry no Codex call. Candidate is the union of the two sides; consensus is their intersection. These outputs are machine_predicted_unvalidated and are not human labels.

metaresearch head score (Codex)0.002
metaresearch head score (Gemma)0.004
Version: metacan-v3-hybrid-931329e0061cValidation status: machine_predicted_unvalidated
Candidate categoriesInsufficient payload (model declined to judge)
Consensus categoriesnone
DomainCandidate signal: none · Consensus signal: none
Study designCandidate signal: Not applicable · Consensus signal: Not applicable
GenreCandidate signal: Software · Consensus signal: Software
Teacher disagreement score0.312
Threshold uncertainty score0.981

Distilled classifier scores by category (both heads)

CategoryCodexGemma
Metaresearch0.0020.004
Meta-epidemiology (narrow)0.0020.002
Meta-epidemiology (broad)0.0010.002
Bibliometrics0.0010.001
Science and technology studies0.0010.001
Scholarly communication0.0030.005
Open science0.0050.004
Research integrity0.0010.004
Insufficient payload (model declined to judge)0.3120.259

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.046
GPT teacher head0.288
Teacher spread0.242 · 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; a candidate call from one source (direct Gemma or distilled Codex), not a consensus.

Study designNot applicable
Domainnot available
GenreSoftware

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

Citations2
Published2024
Admission routes1
Has abstractyes

Explore more

Same venueZenodo (CERN European Organization for Nuclear Research)French-language works237,207