There is a newer version of this record available.

Software Open Access

napari/napari: 0.4.11

Nicholas Sofroniew; Talley Lambert; Kira Evans; Juan Nunez-Iglesias; Grzegorz Bokota; Philip Winston; Gonzalo Peña-Castellanos; Kevin Yamauchi; Matthias Bussonnier; Draga Doncila Pop; ACS; ziyangczi; Pam; alisterburt; Genevieve Buckley; Andy Sweet; Lukasz Migas; Volker Hilsenstein; Lorenzo Gaifas; Jordão Bragantini; Jaime Rodríguez-Guerra; Hector; Jeremy Freeman; Peter Boone; Alan R Lowe; Christoph Gohlke; Loic Royer; Andrea PIERRÉ; Hagai Har-Gil; Abigail McGovern


Citation Style Language JSON Export

{
  "publisher": "Zenodo", 
  "DOI": "10.5281/zenodo.5399494", 
  "title": "napari/napari: 0.4.11", 
  "issued": {
    "date-parts": [
      [
        2021, 
        9, 
        3
      ]
    ]
  }, 
  "abstract": "napari 0.4.11\n<p>We're happy to announce the release of napari 0.4.11!\nnapari is a fast, interactive, multi-dimensional image viewer for Python.\nIt's designed for browsing, annotating, and analyzing large multi-dimensional\nimages. It's built on top of Qt (for the GUI), vispy (for performant GPU-based\nrendering), and the scientific Python stack (numpy, scipy).</p>\n<p>For more information, examples, and documentation, please visit our website:\n<a href=\"https://github.com/napari/napari\">https://github.com/napari/napari</a></p>\nHighlights\n<p>This release introduces ways to interact with data in 3D (#3037). Features like\nlabel picking (#3074) and label painting/erasing (#3108) now work in 3D, but\nthese are just the beginning! We're excited to see new ways of annotating 3D\ndata appear in napari! For more details, please see the documentation at\n<a href=\"https://napari.org/guides/stable/3D_interactivity.html\">https://napari.org/guides/stable/3D_interactivity.html</a>.\nMany thanks to Alister Burt and Kevin Yamauchi for their foundational work\nsetting up the infrastructure for these features.</p>\n<p>Our volume rendering functionality has been significantly improved and now\nincludes the ability to render arbitrary planes through volumes (#3023) and add\nclipping planes to restrict rendering to a region of interest (#3140). For now,\nthese features are marked as <code>experimental</code> and the API around their use is\nlikely to change in future versions of napari. We've also greatly improved how\ndepth is handled across our visuals to fix some artifacts, see #3181 and</p>\n3265. Thanks to Alister Burt, Lorenzo Gaifas, and Kevin Yamauchi for this\n<p>work.</p>\n<p>Last but not least, some common operations are now much more accessible from\nthe GUI thanks to a new context menu on the layer list (#2556 and #3028) and\nbuttons for controlling image contrast limit scaling (#3022). Thanks to Talley\nLambert for these features!</p>\n<p>Read on below for the full list of new features, improvements, bug fixes, and\nmore! Thanks to our incredible user and contributor community.</p>\nNew Features\n<ul>\n<li>Add context menu on layer list, introduce <code>QtActionContextMenu</code>. (#2556)</li>\n<li>Add activity dialog and style progress bars (#2656)</li>\n<li>Add playback options to settings (#2933)</li>\n<li>Refactor settings manager to allow setting all preferences with env vars and context managers (#2932)</li>\n<li>Add autoscale modes to image layer model, and buttons to GUI (#3022)</li>\n<li>Arbitrary plane rendering prototype (#3023)</li>\n<li>Add projections to layer context menu, allow grouping and nesting of menu items (#3028)</li>\n<li>Add\u00a0napari_experimental_provide_theme\u00a0hook specification\u00a0(#3034)</li>\n<li>Add view ray and labels selection in 3D (#3037)</li>\n<li>Add <code>add_&lt;shape_type&gt;</code> method for each shape type (#3076)</li>\n<li>Grid mode popup (#3084)</li>\n<li>Fix stubgen and package stubs in wheel/sdists (#3105)</li>\n<li>Add 3D fill, \"mill\", and \"print\" on top of #3074 (#3108)</li>\n<li>Add positive tail length to tracks layer (#3138)</li>\n<li>Arbitrary clipping planes for volumes in the image layer (#3140)</li>\n<li>Mask image from points layer (#3151)</li>\n<li>Add .npy reader to builtin reader (#3271)</li>\n</ul>\nImprovements\n<ul>\n<li>Add <code>assign_[plugin]_to_extension</code> methods on plugin_manager.  (#2695)</li>\n<li>Use QDoubleRangeSlider from superqt package (#2752)</li>\n<li>Use labeled sliders from superqt (#2753)</li>\n<li>Shortcuts UI (#2864)</li>\n<li>Convert TextManager to an EventedModel (#2885)</li>\n<li>Make maximum brush size flexible (#2901)</li>\n<li>Allow layer to register action on double clicks. (#2907)</li>\n<li>Reduce numpy array traceback print (#2910)</li>\n<li>Provide manual deepcopy implementation for translations strings. (#2913)</li>\n<li>Make Points construction with properties consistent with setting properties (#2916)</li>\n<li>Add search field to plugin dialog  (#2923)</li>\n<li>Add initital support to install from conda/mamba (#2943)</li>\n<li>Shape Mouse refactor (#2950)</li>\n<li>Make handling properties more consistent across some layer types (#2957)</li>\n<li>Labels paintbrush now takes anisotropy into account (#2962)</li>\n<li>Remove mode guards for selection interactions in points (#2982)</li>\n<li>Emit data event when moving, adding or removing shapes or points (#2992)</li>\n<li>Add TypedMutableMapping and EventedDict (#2994)</li>\n<li>Add isosurface rendering to Labels (#3006)</li>\n<li>Remove mentions of _mode_history (2987) (#3008)</li>\n<li>Change opacity slider to float slider (#3016)</li>\n<li>Refactor the Point, Label and Shape Layer Mode logic. (#3050)</li>\n<li>Make flash effect feel more instant (#3060)</li>\n<li>Use enum values internally for settings. (#3063)</li>\n<li>Update vendored volume visual from vispy (#3064)</li>\n<li>Allow for multiple installs and update buttons to reflect state (#3067)</li>\n<li>Unify plugin wording and installer dialog to display only package/plugins (#3071)</li>\n<li>3D label picking and label ID in status bar (#3074)</li>\n<li>Store unmaximized size if napari closes maximized (#3075)</li>\n<li>Change shapes default edge color to middle gray (#3113)</li>\n<li>Change default text overlay color to mid grey (#3114)</li>\n<li>Add 3D get_value to Shapes (#3117)</li>\n<li>Replace custom signals to accept/reject (#3120)</li>\n<li>Remove old utils/settings/constants file (#3122)</li>\n<li>NAPARI_CATCH_ERRORS disable notification manager (#3126)</li>\n<li>Save files after launch from ipython (#3130)</li>\n<li>Don't try to read unknown formats in builtin reader plugin (#3145)</li>\n<li>Make current viewer accessible from the napari module (#3149)</li>\n<li>Rename <code>Layer.plane</code> to <code>Layer.slicing_plane</code> (#3150)</li>\n<li>Update new label action to work with tensorstore arrays (#3153)</li>\n<li>Always raise PluginErrors (#3157)</li>\n<li>Establish better YAML encoding for settings (fix enum encoding issue). (#3163)</li>\n<li>Move <code>get_color</code> call to after <code>all_vals</code> have been cleared (#3173)</li>\n<li>Prevent highlight widget from emitting constant signals (#3175)</li>\n<li>Refactor preferences dialog to take advantage of evented settings methods (#3178)</li>\n<li>Set gl_FragDepth in volume visual isosurface rendering\u00a0(#3181)</li>\n<li>Use QElidingLabel from superqt (#3188)</li>\n<li>Move dock widgets in menu (#3190)</li>\n<li>Use <code>QLargeIntSpinBox</code> from superqt, remove internal one (#3191)</li>\n<li>Catch and prune connections to stale Qt callbacks in events.py (#3193)</li>\n<li>Add checkbox to handle global plugin enable/disabled state (#3194)</li>\n<li>Print warning if error formatting in the console fails instead of ignoring errors. (#3201)</li>\n<li>Ensure we save a copy of existing value for undo (#3203)</li>\n<li>Pull main window menu creation off of\u00a0Window (#3204)</li>\n<li>Remove extra box on plugin dialog\u00a0(#3235)</li>\n<li>Add instant hover tooltips\u00a0(#3242)</li>\n<li>Clipping planes, generalized (#3252)</li>\n<li>Improve behavior when holding \"shift\" while editing shapes (#3259)</li>\n<li>Mesh depth (#3265)</li>\n<li>Make notification text selectable (#3310)</li>\n</ul>\nBug Fixes\n<ul>\n<li>Fix notification manager threading test (#2892)</li>\n<li>Pycharm blocking fix (#2905)</li>\n<li>Fix windows 37 test (#2909)</li>\n<li>Fix docstring, and type annotate. (#2912)</li>\n<li>Don't raise exception when failing to save qt resources. (#2919)</li>\n<li>Dix invalid yaml for docs workflow (#2920)</li>\n<li>Fix use of <code>default_factory</code> in settings (#2930)</li>\n<li>Close Qt progress bars when viewer is closed (#2931)</li>\n<li>Degrade gracefully to default when colormap is not recognized (#2936)</li>\n<li>Fix magicgui registration and circular imports (#2949)</li>\n<li>Fix error in <code>Viewer.reset_view()</code> with vispy 0.7 (#2958)</li>\n<li>Addressing case where argument to get_default_shape_type is empty list, addresses issue #2960 (#2961)</li>\n<li>Fix nD anisotropic painting when scale is negative (#2966)</li>\n<li>Ensure new height of expanded notification is larger than current height (#2981)</li>\n<li>Gracefully handle properties with <code>object</code> dtype (#2986)</li>\n<li>Fix scale decomp with composite (#2990)</li>\n<li>Fix behavior of return/escape on preferences dialog to accept/cancel (#2998)</li>\n<li>Fix EventedDict (#3011)</li>\n<li>Use compression=('zlib', 1) for new tifffile (#3040)</li>\n<li>Fix saving preferences (#3041)</li>\n<li>Use non-deprecated colormap in viewer cmap test (#3043)</li>\n<li>Fix Labels layer controls checkbox labels (#3046)</li>\n<li>Fix Layer.affine assignment and broadcasting (#3056)</li>\n<li>Fix problem with assigning affine with negative entries to  pyramids (#3088)</li>\n<li>Fix stubgen and package stubs in wheel/sdists (#3105)</li>\n<li>Fix opacity slider on shapes (#3109)</li>\n<li>Fix empty points layer with color cycle (#3110)</li>\n<li>Fix point deletion bug (#3119)</li>\n<li>Fix for get_value() with mixed dims (#3121)</li>\n<li>Fix settings reset breaking connections (creating a new instance of nested sub-models) (#3123)</li>\n<li>Fix plane serialisation (#3143)</li>\n<li>Bugfix in labels erasing (#3146)</li>\n<li>Bug fix for undo history in 3D painting (#3154)</li>\n<li>Don't clear blocked plugins when closing preferences dialog (#3164)</li>\n<li>Revert <code>Points</code> <code>remove_selected</code> always overwriting <code>self._value</code> to <code>None</code> (#3165)</li>\n<li>Fix window geometry loading bug, and make <code>ApplicationSettings</code> types more accurate (#3182)</li>\n<li>Fix missing import in napari.<strong>init</strong>.pyi (#3183)</li>\n<li>Fix incorrect window position storage (#3196)</li>\n<li>Fix incorrect use of dims_order when 3D painting (#3202)</li>\n<li>Fix plugin settings restore and schema_version validation error in preferences dialog (#3215)</li>\n<li>Fix memory leak in napari (#3217)</li>\n<li>Disable space bar on layer list\u00a0(#3234)</li>\n<li>Close napari window on Ctrl+C without geting window focus\u00a0(#3239)</li>\n<li>Skip labeled sliders for &lt;5.14 (#3243)</li>\n<li>Don't pass interpolation when creating a new projection layer\u00a0(#3247)</li>\n<li>Prevent greedy dask array calculation when creating an Image layer (#3248)</li>\n<li>Fix plane normal inconsistency\u00a0(#3264)</li>\n<li>Remove accidental print statement (#3269)</li>\n<li>Only change <code>labels</code> color mode in <code>color</code> setter if new <code>colors</code> are not default (#3275)</li>\n<li>Fix updating of plugins (#3288)</li>\n<li>Fix theme color setting on startup\u00a0(#3293)</li>\n<li>Fix incorrect theme registration\u00a0(#3299)</li>\n<li>Fix issubclass error in update_docs\u00a0(#3305)</li>\n<li>Fix some divide-by-zeros (#3320)</li>\n<li>Fix connect_setattr to handle single arguments better (#3324)</li>\n<li>Fix objectName being an empty string (#3326)</li>\n<li>Fix napari.run aborting due to IPython being imported during script (#3328)</li>\n<li>Fix _old_size attribute error in main window (#3329)</li>\n</ul>\nAPI Changes\n<ul>\n<li>Remove brush shape (#3047)</li>\n<li>Enforce layer.metadata as dict (#3020)</li>\n<li>Use enum objects in EventedModel (#3112)</li>\n</ul>\nUI Changes\n<ul>\n<li>Remove keybindings dialog from help menu (#3048)</li>\n<li>Remove plugin sorter from plugin install dialog (#3069)</li>\n<li>Update Labels layer keybindings to be more ergonomic (#3072)</li>\n</ul>\nBuild Tools, Tests, Documentation, and other Tasks\n<ul>\n<li>Add imagecodecs to the bundle to open additional tiffs (#2895)</li>\n<li>Make ordering of releases manual (#2921)</li>\n<li>Add alister burt to team page (#2937)</li>\n<li>Use briefcase 0.3.1 on all platforms (#2980)</li>\n<li>Move to Python 3.9 in the bundled application (#2991)</li>\n<li>Speedup one of the slowest test. (#2997)</li>\n<li>Update plugin guide with references and instructions for napari-hub (#3055)</li>\n<li>Skip progress indicator test when viewer is not shown (#3065)</li>\n<li>Add missing libraries in docker file and entrypoint (#3081)</li>\n<li>Update documentation regarding the hub (#3091)</li>\n<li>Block showing dialog in nongui test (#3127)</li>\n<li>Update about page (#3134)</li>\n<li>Adding new design issues template (#3142)</li>\n<li>Fix emoji for design template (#3161)</li>\n<li>Update design_related.md (#3162)</li>\n<li>Try to fix CI, change perfmon test strategy (#3167)</li>\n<li>Fix comprehensive tests (#3168)</li>\n<li>Fix <code>make_docs</code> action (#3169)</li>\n<li>Remove convert_app (#3171)</li>\n<li>Update team.md (#3176)</li>\n<li>Misc Doc format fixing (#3179)</li>\n<li>Add public meeting calendar to the docs (#3192)</li>\n<li>Don't start gui qt event loop when building docs (#3207)</li>\n<li>Add note detailing current octree support (#3208)</li>\n<li>Add napari_write_tracks to hook spec reference (#3209)</li>\n<li>Add 3d interactivity docs (#3210)</li>\n<li>Fix docs build again (#3211)</li>\n<li>Fix CI typing tests\u00a0(#3212)</li>\n<li>Fix typo, add proper note markdown\u00a0(#3216)</li>\n<li>Pooch bugfix (#3218)</li>\n<li>Update team.md\u00a0(#3237)</li>\n<li>Add binder to repository and badge on README\u00a0(#3244)</li>\n<li>Add extras_require for bundle deps (#3255)</li>\n<li>Pin support pkg revision macos\u00a0(#3266)</li>\n<li>Exclude vispy 0.8.0\u00a0(#3276)</li>\n<li>Revert sys.exit(0) debugging\u00a0(#3277)</li>\n<li>Bundle: export ARCH on Linux (#3280)</li>\n<li>DOC: misc edits/fixes in the developer guide (#3296)</li>\n<li>Update napari console dependency (#3297)</li>\n<li>Bundle: use python 3.8 on Windows (#3300)</li>\n<li>Bundle: add arch suffix to zip name (#3302)</li>\n<li>Fix headless test failure (#3311)</li>\n<li>Pin furo version (#3315)</li>\n<li>Update the affine parameter description in several classes\u00a0(#3319)</li>\n</ul>\n21 authors added to this release (alphabetical)\n<ul>\n<li><a href=\"https://github.com/napari/napari/commits?author=AbigailMcGovern\">Abigail McGovern</a> - @AbigailMcGovern</li>\n<li><a href=\"https://github.com/napari/napari/commits?author=alisterburt\">Alister Burt</a> - @alisterburt</li>\n<li><a href=\"https://github.com/napari/napari/commits?author=andy-sweet\">Andy Sweet</a> - @andy-sweet</li>\n<li><a href=\"https://github.com/napari/napari/commits?author=DragaDoncila\">Draga Doncila Pop</a> - @DragaDoncila</li>\n<li><a href=\"https://github.com/napari/napari/commits?author=goanpeca\">Gonzalo Pe\u00f1a-Castellanos</a> - @goanpeca</li>\n<li><a href=\"https://github.com/napari/napari/commits?author=Czaki\">Grzegorz Bokota</a> - @Czaki</li>\n<li><a href=\"https://github.com/napari/napari/commits?author=jaimergp\">Jaime Rodr\u00edguez-Guerra</a> - @jaimergp</li>\n<li><a href=\"https://github.com/napari/napari/commits?author=JoOkuma\">Jord\u00e3o Bragantini</a> - @JoOkuma</li>\n<li><a href=\"https://github.com/napari/napari/commits?author=jni\">Juan Nunez-Iglesias</a> - @jni</li>\n<li><a href=\"https://github.com/napari/napari/commits?author=kevinyamauchi\">Kevin Yamauchi</a> - @kevinyamauchi</li>\n<li><a href=\"https://github.com/napari/napari/commits?author=kne42\">Kira Evans</a> - @kne42</li>\n<li><a href=\"https://github.com/napari/napari/commits?author=liaprins-czi\">Lia Prins</a> - @liaprins-czi</li>\n<li><a href=\"https://github.com/napari/napari/commits?author=brisvag\">Lorenzo Gaifas</a> - @brisvag</li>\n<li><a href=\"https://github.com/napari/napari/commits?author=lukasz-migas\">Lukasz Migas</a> - @lukasz-migas</li>\n<li><a href=\"https://github.com/napari/napari/commits?author=marlene09\">Marlene Elisa Da Vitoria Lobo</a> - @marlene09</li>\n<li><a href=\"https://github.com/napari/napari/commits?author=Carreau\">Matthias Bussonnier</a> - @Carreau</li>\n<li><a href=\"https://github.com/napari/napari/commits?author=nclack\">Nathan Clack</a> - @nclack</li>\n<li><a href=\"https://github.com/napari/napari/commits?author=sofroniewn\">Nicholas Sofroniew</a> - @sofroniewn</li>\n<li><a href=\"https://github.com/napari/napari/commits?author=ppwadhwa\">Pam</a> - @ppwadhwa</li>\n<li><a href=\"https://github.com/napari/napari/commits?author=tlambert03\">Talley Lambert</a> - @tlambert03</li>\n<li><a href=\"https://github.com/napari/napari/commits?author=thanushipeiris\">Thanushi Peiris</a> - @thanushipeiris</li>\n<li><a href=\"https://github.com/napari/napari/commits?author=VolkerH\">Volker Hilsenstein</a> - @VolkerH</li>\n<li><a href=\"https://github.com/napari/napari/commits?author=ziyangczi\">Ziyang Liu</a> - @ziyangczi</li>\n</ul>\n19 reviewers added to this release (alphabetical)\n<ul>\n<li><a href=\"https://github.com/napari/napari/commits?author=alisterburt\">Alister Burt</a> - @alisterburt</li>\n<li><a href=\"https://github.com/napari/napari/commits?author=andy-sweet\">Andy Sweet</a> - @andy-sweet</li>\n<li><a href=\"https://github.com/napari/napari/commits?author=DragaDoncila\">Draga Doncila Pop</a> - @DragaDoncila</li>\n<li><a href=\"https://github.com/napari/napari/commits?author=GenevieveBuckley\">Genevieve Buckley</a> - @GenevieveBuckley</li>\n<li><a href=\"https://github.com/napari/napari/commits?author=goanpeca\">Gonzalo Pe\u00f1a-Castellanos</a> - @goanpeca</li>\n<li><a href=\"https://github.com/napari/napari/commits?author=JoOkuma\">Jord\u00e3o Bragantini</a> - @JoOkuma</li>\n<li><a href=\"https://github.com/napari/napari/commits?author=jni\">Juan Nunez-Iglesias</a> - @jni</li>\n<li><a href=\"https://github.com/napari/napari/commits?author=kevinyamauchi\">Kevin Yamauchi</a> - @kevinyamauchi</li>\n<li><a href=\"https://github.com/napari/napari/commits?author=kne42\">Kira Evans</a> - @kne42</li>\n<li><a href=\"https://github.com/napari/napari/commits?author=liaprins-czi\">Lia Prins</a> - @liaprins-czi</li>\n<li><a href=\"https://github.com/napari/napari/commits?author=brisvag\">Lorenzo Gaifas</a> - @brisvag</li>\n<li><a href=\"https://github.com/napari/napari/commits?author=LCObus\">Lucy Obus</a> - @LCObus</li>\n<li><a href=\"https://github.com/napari/napari/commits?author=lukasz-migas\">Lukasz Migas</a> - @lukasz-migas</li>\n<li><a href=\"https://github.com/napari/napari/commits?author=Carreau\">Matthias Bussonnier</a> - @Carreau</li>\n<li><a href=\"https://github.com/napari/napari/commits?author=nclack\">Nathan Clack</a> - @nclack</li>\n<li><a href=\"https://github.com/napari/napari/commits?author=sofroniewn\">Nicholas Sofroniew</a> - @sofroniewn</li>\n<li><a href=\"https://github.com/napari/napari/commits?author=ppwadhwa\">Pam</a> - @ppwadhwa</li>\n<li><a href=\"https://github.com/napari/napari/commits?author=tlambert03\">Talley Lambert</a> - @tlambert03</li>\n<li><a href=\"https://github.com/napari/napari/commits?author=ziyangczi\">Ziyang Liu</a> - @ziyangczi</li>\n</ul>", 
  "author": [
    {
      "family": "Nicholas Sofroniew"
    }, 
    {
      "family": "Talley Lambert"
    }, 
    {
      "family": "Kira Evans"
    }, 
    {
      "family": "Juan Nunez-Iglesias"
    }, 
    {
      "family": "Grzegorz Bokota"
    }, 
    {
      "family": "Philip Winston"
    }, 
    {
      "family": "Gonzalo Pe\u00f1a-Castellanos"
    }, 
    {
      "family": "Kevin Yamauchi"
    }, 
    {
      "family": "Matthias Bussonnier"
    }, 
    {
      "family": "Draga Doncila Pop"
    }, 
    {
      "family": "ACS"
    }, 
    {
      "family": "ziyangczi"
    }, 
    {
      "family": "Pam"
    }, 
    {
      "family": "alisterburt"
    }, 
    {
      "family": "Genevieve Buckley"
    }, 
    {
      "family": "Andy Sweet"
    }, 
    {
      "family": "Lukasz Migas"
    }, 
    {
      "family": "Volker Hilsenstein"
    }, 
    {
      "family": "Lorenzo Gaifas"
    }, 
    {
      "family": "Jord\u00e3o Bragantini"
    }, 
    {
      "family": "Jaime Rodr\u00edguez-Guerra"
    }, 
    {
      "family": "Hector"
    }, 
    {
      "family": "Jeremy Freeman"
    }, 
    {
      "family": "Peter Boone"
    }, 
    {
      "family": "Alan R Lowe"
    }, 
    {
      "family": "Christoph Gohlke"
    }, 
    {
      "family": "Loic Royer"
    }, 
    {
      "family": "Andrea PIERR\u00c9"
    }, 
    {
      "family": "Hagai Har-Gil"
    }, 
    {
      "family": "Abigail McGovern"
    }
  ], 
  "version": "v0.4.11", 
  "type": "article", 
  "id": "5399494"
}
3,922
737
views
downloads
All versions This version
Views 3,922240
Downloads 7373
Data volume 2.7 GB21.2 MB
Unique views 3,061196
Unique downloads 2842

Share

Cite as