Skip to content

Conversation

@niksirbi
Copy link
Member

@niksirbi niksirbi commented Nov 19, 2024

Description

What is this PR

  • Bug fix
  • Addition of a new feature
  • Other

Why is this PR needed?

This was brought up by @lochhh while reviewing #253.

We have in movement CLI movement info. We could also have movement gui as an alias to napari -w movement.

What does this PR do?

Adds a new CLI entry point, called movement launch, which aliases to python -m napari -w movement (i.e. launch napari with the movement plugin docked). I'm open to different names for this command.

References

How has this PR been tested?

I had troubles extending the existing unit test with parametrisation, so I added a separate test for the movement launch command. Let me know if there's a better way.

It would be nice to test if the command works as expected on Windows.

Is this a breaking change?

No.

Does this PR require an update to the documentation?

Yes, but this will be part of the upcoming user guide for the napari plugin #283.

Checklist:

  • The code has been tested locally
  • Tests have been added to cover all new functionality
  • The documentation has been updated to reflect any changes
  • The code has been formatted with pre-commit

@codecov
Copy link

codecov bot commented Nov 19, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 99.81%. Comparing base (cc4155d) to head (7c7c02e).
Report is 1 commits behind head on napari-dev.

Additional details and impacted files
@@             Coverage Diff             @@
##           napari-dev     #345   +/-   ##
===========================================
  Coverage       99.80%   99.81%           
===========================================
  Files              18       18           
  Lines            1051     1060    +9     
===========================================
+ Hits             1049     1058    +9     
  Misses              2        2           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.


🚨 Try these New Features:

@niksirbi niksirbi marked this pull request as ready for review November 19, 2024 21:09
@niksirbi niksirbi requested a review from lochhh November 19, 2024 21:09
@niksirbi niksirbi force-pushed the add-cli-entry-for-napari branch from e45a171 to 7c7c02e Compare November 21, 2024 12:02
@sonarqubecloud
Copy link

Copy link
Member

@lochhh lochhh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! 🚀

@lochhh lochhh merged commit 6cb0c0f into napari-dev Nov 22, 2024
27 checks passed
@lochhh lochhh deleted the add-cli-entry-for-napari branch November 25, 2024 11:30
niksirbi added a commit that referenced this pull request Dec 16, 2024
niksirbi added a commit that referenced this pull request Dec 18, 2024
niksirbi added a commit that referenced this pull request Jan 28, 2025
sfmig pushed a commit that referenced this pull request Feb 24, 2025
sfmig pushed a commit that referenced this pull request Feb 25, 2025
@lochhh lochhh mentioned this pull request Feb 25, 2025
6 tasks
niksirbi added a commit that referenced this pull request Feb 27, 2025
niksirbi added a commit that referenced this pull request Feb 28, 2025
niksirbi added a commit that referenced this pull request Mar 3, 2025
niksirbi added a commit that referenced this pull request Mar 3, 2025
* initialise napari plugin development

* Create skeleton for napari plugin with collapsible widgets (#218)

* initialise napari plugin development

* initialise napari plugin development

* create  skeleton for napari plugin with collapsible widgets

* add basic widget smoke tests and allow headless testing

* do not depend on napari from pip

* include napari option in install instructions

* make meta_widget module private

* pin atlasapi version to avoid unnecessary dependencies

* pin napari >= 0.4.19 from conda-forge

* switched to pip install of napari[all]

* seperation of concerns in widget tests

* add pytest-mock dev dependency

* Qt widget for loading pose datasets as napari Points layers (#253)

* initialise napari plugin development

* Create skeleton for napari plugin with collapsible widgets (#218)

* initialise napari plugin development

* initialise napari plugin development

* create  skeleton for napari plugin with collapsible widgets

* add basic widget smoke tests and allow headless testing

* do not depend on napari from pip

* include napari option in install instructions

* make meta_widget module private

* pin atlasapi version to avoid unnecessary dependencies

* pin napari >= 0.4.19 from conda-forge

* switched to pip install of napari[all]

* seperation of concerns in widget tests

* add pytest-mock dev dependency

* initialise napari plugin development

* initialise napari plugin development

* initialise napari plugin development

* Added loader widget for poses

* update widget tests

* simplify dependency on brainglobe-utils

* consistent monospace formatting for movement in public docstrings

* get rid of code that's only relevant for displaying Tracks

* enable visibility of napari layer tooltips

* renamed widget to PosesLoader

* make cmap optional in set_color_by method

* wrote unit tests for napari convert module

* wrote unit-tests for the layer styles module

* linkcheck ignore zenodo redirects

* move _sample_colormap out of PointsStyle class

* small refactoring in the loader widget

* Expand tests for loader widget

* added comments and docstrings to napari plugin tests

* refactored all napari tests into separate unit test folder

* added napari-video to dependencies

* replaced deprecated edge_width with border_width

* got rid of widget pytest fixtures

* remove duplicate word from docstring

* remove napari-video dependency

* include napari extras in docs requirements

* add test for _on_browse_clicked method

* getOpenFileName returns tuple, not str

* simplify poses_to_napari_tracks

Co-authored-by: Chang Huan Lo <changhuan.lo@ucl.ac.uk>

* [pre-commit.ci] pre-commit autoupdate (#338)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.6.9 → v0.7.2](astral-sh/ruff-pre-commit@v0.6.9...v0.7.2)
- [github.com/pre-commit/mirrors-mypy: v1.11.2 → v1.13.0](pre-commit/mirrors-mypy@v1.11.2...v1.13.0)
- [github.com/mgedmin/check-manifest: 0.49 → 0.50](mgedmin/check-manifest@0.49...0.50)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Implement `compute_speed` and `compute_path_length` (#280)

* implement compute_speed and compute_path_length functions

* added speed to existing kinematics unit test

* rewrote compute_path_length with various nan policies

* unit test compute_path_length across time ranges

* fixed and refactor compute_path_length and its tests

* fixed docstring for compute_path_length

* Accept suggestion on docstring wording

Co-authored-by: Chang Huan Lo <changhuan.lo@ucl.ac.uk>

* Remove print statement from test

Co-authored-by: Chang Huan Lo <changhuan.lo@ucl.ac.uk>

* Ensure nan report is printed

Co-authored-by: Chang Huan Lo <changhuan.lo@ucl.ac.uk>

* adapt warning message match in test

* change 'any' to 'all'

* uniform wording across path length docstrings

* (mostly) leave time range validation to xarray slice

* refactored parameters for test across time ranges

* simplified test for path lenght with nans

* replace drop policy with ffill

* remove B905 ruff rule

* make pre-commit happy

---------

Co-authored-by: Chang Huan Lo <changhuan.lo@ucl.ac.uk>

* initialise napari plugin development

* initialise napari plugin development

* initialise napari plugin development

* initialise napari plugin development

* initialise napari plugin development

* avoid redefining duplicate attributes in child dataclass

* modify test case to match poses_to_napari_tracks simplification

* expected_log_messages should be a subset of captured messages

Co-authored-by: Chang Huan Lo <changhuan.lo@ucl.ac.uk>

* fix typo

Co-authored-by: Chang Huan Lo <changhuan.lo@ucl.ac.uk>

* use names for Qwidgets

* reorganised test_valid_poses_to_napari_tracks

* parametrised layer style tests

* delet integration test which was reintroduced after conflict resolution

* added test about file filters

* deleted obsolete loader widget file (had snuck back in due to conflict merging)

* combine tests for button callouts

Co-authored-by: Chang Huan Lo <changhuan.lo@ucl.ac.uk>

* Simplify test_layer_style_as_kwargs

Co-authored-by: Chang Huan Lo <changhuan.lo@ucl.ac.uk>

---------

Co-authored-by: Chang Huan Lo <changhuan.lo@ucl.ac.uk>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* added `movement launch` CLI entrypoint (#345)

* updated dimensions order in poses_to_napari_tracks conversion function

* Document napari plugin (#393)

* started user guide about napari plugin

* added optional dependencies for napari-video and pyvideoreader

* WIP expanding on the napari plugin user guide

* add section on loading poses datasets

* set maximum card columns to 2 in the user guide page

* corrected grammar and spelling mistakes in the plugin guide

* removed automatic setting of playback fps to tracking fps

* update to v3 of pyvista/setup-headless-display-action

* Apply suggestions from Sofia's code review

Co-authored-by: sfmig <33267254+sfmig@users.noreply.github.com>

* renamed napari guide and added clarifications

* fps spinbox: make float, default 1, add tooltip

* made image annotations more prominent

* Apply suggestions from CH's code review

Co-authored-by: Chang Huan Lo <changhuan.lo@ucl.ac.uk>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* applied more suggestions from CH's review

* documented known issues

* renamed napari_plugin.md to gui.md

* add link to github issues tagged with GUI + bug

* Use movement-github link from myst-url-scheme

Co-authored-by: Chang Huan Lo <changhuan.lo@ucl.ac.uk>

---------

Co-authored-by: sfmig <33267254+sfmig@users.noreply.github.com>
Co-authored-by: Chang Huan Lo <changhuan.lo@ucl.ac.uk>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* use updated pytest fixtures in napari convert tests

* Replace bg-utils with qt-niu (#441)

* update command for testing GUI in installation guide.

* updated wording in v0.1 roadmap

---------

Co-authored-by: Chang Huan Lo <changhuan.lo@ucl.ac.uk>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: sfmig <33267254+sfmig@users.noreply.github.com>
niksirbi added a commit that referenced this pull request Apr 8, 2025
niksirbi added a commit that referenced this pull request Jun 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants