MétaCan
Menu
Back to cohort
Record W6930327327 · doi:10.5281/zenodo.12722145

napari: a multi-dimensional image viewer for Python

2024· other· en· W6930327327 on OpenAlexaff

Bibliographic record

VenueZenodo (CERN European Organization for Nuclear Research) · 2024
Typeother
Languageen
FieldSocial Sciences
TopicFamily Dynamics and Relationships
Canadian institutionsInnovation Cluster (Canada)
Fundersnot available
KeywordsPlug-inZoomPython (programming language)Code refactoringArchitectureSketchSlicingAsynchronous communication

Abstract

fetched live from OpenAlex

napari 0.5.0 Thursday, Jul 11, 2024 We're happy to announce the release of napari 0.5.0! 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 napari 0.5.0 is the beginning of an architectural overhaul of napari. The architecture improvements, which are still ongoing, enable more responsive asynchronous loading when slicing layers or panning and zooming in multiscale 2D layers (#5816). There's several performance improvements, too, including faster points layer creation and updates (#6727). Other architectural changes, refactoring napari on top of app-model, have enabled us to (finally 😅) implement NAP-6, which allows plugins to organize their commands in defined menus in the napari menubar and application. Please read NAP-6 for all the juicy details, including how to request more menus if the existing ones don't meet your needs. 📋 (#7011) Another important development for plugins is that we have added fields for axis names and physical units in layers (#6979). If you implement a reader plugin, you can now specify the names of the axes in the data that you are reading in, and the physical units of the scale and other transformations. Currently, napari is not using this information, but we will in upcoming versions, so plugins should start providing this information if they have it. There's plenty of new features, too, including a polygon drawing tool when painting labels (#5806), pinch-to-zoom (#5859), better ways to show/hide individual layers when exploring your data (#5574) (#5618), creating a layer from an image or URL in your clipboard (#6532), a new way to export figure-quality renderings from the canvas (#6730) (2D-only for now), and the ability to copy and paste spatial metadata (scale, translate, etc) between layers (#6864). You'll also note a new little button on layer controls, including images: :alt: transform layer icon :width: 100px :align: center This little button allows you to resize and rotate layers, enabling manual alignment (#6794)! All in all, this release has over 20 new features and over 100 bug fixes and improvements. Please see below for the full list of changes since 0.4.19. New Features Add layer slicer base class for async slicing (#5170) Add unique_id attribute to Layer to uniquely identify layers (#5230) Feature: add layer contextual menu to hide not-selected layers (#5574) Feature: alt-click visibility eye to toggle show just that layer (hide others) (#5618) Feature: Add action to set current label to background (with keybinding) (#5672) Use Dims margin in layer slicing code (#5697) Changing brush size with mouse movement while holding specified modifiers (#5753) Feature: polygon drawing in the Labels layer (#5806) Replace old async loading with new approach (#5816) Enable pinch-to-zoom with vispy 0.13+ (#5859) Keep shading light for Surface fixed relative to camera (#5893) Use Request/Response pattern for Vectors layer (#5918) Lock dimensions / axes while rolling (#5986) Added support for features in surface layers (#6515) Add creating image from clipboard (#6532) Add viewer keybinds to select & show only next/prev layer and to toggle visibility of unselected (#6590) Show About napari action on macOS application menu (#6666) Add points/shapes highlight color setting to Appereance settings and preference page (#6689) Include features index as key in FormatStringEncoding (#6703) Better export of figure-quality renderings from the canvas (#6730) Add transform mode button for layers (#6794) Reset all dims to be rollable (#6797) implement copying spatial information via clipboard (#6864) Add axis_labels and units to layers and transforms (#6979) Alpha implementation of NAP-6 (#7011) Improvements use app-model for file menu (#4865) Show platform specific shortcut while editing. (#5064) Add secondary keybindings to restore mnemonic (non-numeric) shortcuts in layers (#5155) Add loading layer UI indicator (#5342) Clean up layer slicer before integration with viewer (#5435) Thick Slices (Dims as nD-box instead of nD-point) (#5522) Add font-size to theme (#5607) Feature: Background color swapping for the Label layer (extends #5672) (#5744) Improve error message when user passes nonexistent plugin (#6016) Reduce comparison in evented model (#6075) Expose theme font_size as an Appearance setting (#6113) ENH Adds LayerList context (#6165) Add layer name to QFileDialog when only one layer is selected for saving. (#6360) Use blobs instead of random integers (#6527) Show notification when using shortcut to change current selected label to largest used label plus one (#6546) Keep vertex selection after shape drawing finishes (#6640) Add GL_MAX_3D_TEXTURE_SIZE to napari --info (#6645) [ENH] use imageio.v3 for builtins io imread (#6677) Make new labels dtype configurable (#6695) Add Optional section to napari info with numba and triangle (#6710) [ENH] Add repeatable kwarg to register_viewer_action and use it for slider left/right keybind (#6769) "Shapes to Labels", "(float)Image to Labels": Don't pop layer being converted, append new one (#6859) [enh] Transform mode: shift to snap layer rotation to 45 deg (#6948) [UX/UI] flip the default for the reader plugin dialog to not have the Remember box checked (#7016) [UI/UX] Updated polygon button icon for Shapes & Labels regular polygon tool (#7019) [Enh] Labels polygon tool: use a setting for completion_radius, by default double-click always works. (#7023) Add convenience input validation for Labels colormaps (#7025) Add empty menu placeholder actions using functional context keys from #6965 (#7038) [Shapes] for line tool, have _fixed_aspect (shift) enable 45 degree rotations if shift held first. (#7043) Add partial and weakref for empty shapes layer context key (#7064) Move IO_Utilities and Acquire submenus to their own group in the File menu (#7075) Performance Do not copy label data when not necessary (#5542) Throttle mouse move event to fix high-polling-rate input (#5710) Speed up symbols validation in points layers (#6277) Making Tracks layers creation and update faster (#6671) Making Points layer creation and update faster (#6727) Remove unnecessary early call to np.asarray before thick slicing (#6735) perf: remove extra highlight calls (#6893) Bug Fixes Quick silo dev version settings in a dev sub-directory (#5322) Fix conda avaliability check (#5496) Bugfix: PR build of docs doesn't use proper napari versioning for substitutions (#5557) fix various keybinding/shortcut bugs (#5604) Bugfix (macOS): Remove PYTHONEXECUTABLE from env for conda installs (#5622) Fix waiting for multiple signals in threading progress bar test (#5637) Update the sliders axis_label widget to be a QElidingLineEdit instance (#5665) Fix usage of closed interval dims and unify extents calculations (#5751) Add aditional guard at the end of test_worker_may_exceed_total (#5781) Return full colormap dict in get_state (#5782) Add test coverage for async slicing of points and fix rounding bug (#5783) Add pydantic<2 constrains to plugin install (#5785) Readd exception to event proxy (#5797) Bugfix: do not allow drawing while adjusting the brush size with the mouse (#5842) Amend pydantic constraints in the plugin manager (#5851) Bugfix: Ensure bgcolor is set in init of VispyCanvas (#5970) Make sure open_sample respects reader_plugin for sample URIs (#5971) Async refresh when experimental setting is on (#6008) Add validation logic for Dims.last_used to prevent slider selection errors when rolling dims (#6024) Update layer's loaded state before vispy and thumbnail (#6026) Fix string list JSON formatting (#6033) Remove 3D multiscale warning (#6070) A few small improvements to async slicing (#6080) Add toggle status view menu items (#6137) Fix PR html stripping workflow (#6139) Add test on top of #6142 (#6167) Bugfix: ensure thumbnail represents canvas when multiscale (#6200) Fix (N>4)D shapes. (#6210) Fix typing checks in PRs (#6230) convert Color to string (#6243) Fix link to artifacts in update dependecies comment (#6270) Fix vispy pixel offset in 3D multi-scale image layers (#6319) Fix setting shortcuts with modifier keys and only one modifier key as a shortcut on Windows/Linux (#6330) Pass key event from Main window to our internal mechanism (#6419) Restore old breakpointhook after console import in tests fixture (#6436) FIX: Remove None default from _remove_dock_widget (#6481) Fix crash on python -m napari (#6484) Bugfix: ensure gamma and opacity are floats (#6498) Restore quit shortcut (#6526) Fix contrast limits for single layer numpy case. (#6535) Fix check if plugin is available from conda (#6545) Set default dtype for empty _ImageSliceResponse (#6552) Ensure consistent layer tooltip (#6589) Make Shift-Up/Down in layer list expand and contract selection (#6606) Remove scaling of highlight width, fix showing shapes for uneven coordinates (#6629) Fix decomposition function to properly work with more than 2x2 matrices (#6636) Remove if that prevents from setting gamma in constructor (#6650) [Bugfix] update selection ctx keys before showing LayerList context menu (#6664) Fix offset in rendering of TransformBox of image/labels layers (#6679) Exclude size and symbol pts attributes from linking, because they depend on number of points (#6687) Fix shape layer infinite edge bug (#6706) [Dockerfile] update pip before installing napari (#6728) Fix npe1 samples menu building (#6739) [Maint, CI] Fix upgrade_test_constraints.yml to use pyproject.toml (#6749) Update description of a, shift-a points keybin

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.001
metaresearch head score (Gemma)0.001
Version: codex-gemma-dda1882f352aValidation status: machine_predicted_unvalidated
Candidate categoriesScience and technology studies, 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.030
Threshold uncertainty score0.999

Codex and Gemma teacher scores by category

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

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.060
GPT teacher head0.313
Teacher spread0.253 · 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
Published2024
Admission routes1
Has abstractyes

Explore more

Same venueZenodo (CERN European Organization for Nuclear Research)Same topicFamily Dynamics and RelationshipsFrench-language works237,207