Skip to content

Refactor debrief: known issues and potential improvements #184

Description

@C-Achard

This is meant to help list potential future additions and fixes to be made at a glance.

Potential features

Known issues

Bugs

  • The color scheme list highlight color does not match actual kp colors when loading a default config Update ClickableLabel in color scheme reference: don't use colored text #206
  • Stray Qt pop-ups when opening, likely due to layout addition ordering. Might also create delay in opening
  • Video frame extraction : if no config.yaml is present, extracting frames should ask for a config and save relative to it ideally
  • Bodypart/individual toggle menu is sometimes incorrectly shown on start
  • If KeypointControls were added by drag-and-drop, one can still open a new widget instance
  • Moving a keypoint on frame t, then going to t+1 in LOOP mode, does not add a keypoint and skips to next frame immediately.

For future PRs

  • _widgets.py is still too heavy and would benefit from further separation into other files
  • Annoying warning napari\_qt\widgets\qt_progress_bar.py:55: UserWarning: constrained_layout not applied because axes sizes collapsed to zero. Try making figure larger or Axes decorations smaller.! should be fixed (or silenced, failing that).
  • While documentation warns not to load several datasets at once, there is no hard guard either; this should be made safe or enforced by the code itself.
  • More ergonomic labeling controls (e.g. using A/D to navigate frames, W/S to switch keypoints, and Shift/Space for special actions or saving) could be nice
  • Machine labels should have visually different markers
  • Disable/monkeypatch "5" keybind shortcut for transform tool ? -> Show warning
  • Centralizing logic further would be valuable. Probably around schemas which guarantee their own validity and provide relevant operations in a centralized way
    • I/O especially would benefit
    • This would also make future refactoring of keypoints handling easier
  • All I/O still heavily depends on pandas and its operations
  • Relax versions pins (napari 0.7, ...)

Miscellaneous

  • pydantic schemas in config/models.py should be moved to core
  • Plugin metadata in layers is not namespaced, instead of a flat dict, using a "napari-dlc" key and adding all metadata there would make interoperability with other plugin/metadata edits safer
  • Coverage report is biased by tests being included currently

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Fields

No fields configured for Task.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions