Skip to content

Commit

Permalink
pyqt scatter widget (#270)
Browse files Browse the repository at this point in the history
* simplify conditional

* basic pyqt graph

* mouse actions test

* editable rois added

* working gradient widget

* discret data works with lut widget

* discrete widget prototype

* discrete color widget works

* Rectangular selection implemented

* complex shapes columns saved with names

* translocation of ROIs works

* shortcuts implemented

* highlight sensitivity linked to zoom

* display discrete values by name

* fixed histogram notches

* fixed sensitivity issues with debouncing timer

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

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

* main fix for merge

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

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

* rename dialog

* tests - part 1

* tests part 2

* pyqtgraph added to the setup

* notebook - update_01

* changed initialization logic

* init modified - v2

* logger trim

* axis naming fixed

* scatter export connects with the main viewer

* saving implemented

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

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

* allow annotation overwriting

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

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

* style fix

* allow annotation overwriting - part2

* overwrite warning

* pyqt5 in cfg

* cfg test

* test cfg 2

* status updates added

* corrections for scatterwidget init

* plot widget tests updated

* fixtures fixed

* export tests

* PEP8 name changes

* PEP8 vs mouse events war resolved. Mice won.

* notebooks - part_1

* notebooks - part_2

* workaround mouse bug windows and macOS

* fix paths icons

* adding pytest-mock to test install requirements

* small fixes

* remove points border

* changes to the notebooks based on the review

* index

* initial_pos initialized

* control of auto range changed

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

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

* improved comments for tests

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

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

* pyqtgraph dropped from docs and readthedocs

* fixed finding view widget by number

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

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

* updated changelog

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

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

* fix position line placement

* Explicitly asking to install napari

* unification of notebooks starting parts

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

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

* fix data update

* updated notebooks

---------

Co-authored-by: Wouter-Michiel Vierdag <[email protected]>
Co-authored-by: Wouter-Michiel Vierdag <[email protected]>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Luca Marconato <[email protected]>
  • Loading branch information
5 people authored Dec 17, 2024
1 parent b3ae66c commit a5191c7
Show file tree
Hide file tree
Showing 21 changed files with 2,812 additions and 921 deletions.
19 changes: 19 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,25 @@ and this project adheres to [Semantic Versioning][].
- Bug when changing channel for a multichannel image #301 #302
- Bug when plotting catgorical annotations on points #304

## [0.5.3] - 2024-08-

### Added

- New Scatter Widget based on PyQtGraph, replacing the previous Matplotlib-based widget.
- New Features:
- Separate color controls for continuous and discrete data:
- Continuous: Histogram of values, LUT adjustment, contrast control.
- Discrete: Scrollable legend, class color modification.
- Pseudohistogram plot for single-axis data.
- Highlight nearby data points under the cursor with dynamic status display.
- Expanded ROI annotations (lasso and rectangle tools)
- Multiple disjointed ROIs with modifiable options.
- Annotation name dialog for saving annotations.

### Updated

Documentation: Notebooks updated with the new Scatter Widget information and screenshots.

## [0.5.2] - 2024-08-16

### Minor
Expand Down
1 change: 1 addition & 0 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,5 @@ cli.md
notebooks/nanostring_analysis
notebooks/mibitof_analysis
notebooks/scatterwidget
notebooks/scatterwidget_annotation
```
216 changes: 72 additions & 144 deletions docs/notebooks/mibitof_analysis.ipynb

Large diffs are not rendered by default.

325 changes: 124 additions & 201 deletions docs/notebooks/nanostring_analysis.ipynb

Large diffs are not rendered by default.

361 changes: 332 additions & 29 deletions docs/notebooks/scatterwidget.ipynb

Large diffs are not rendered by default.

318 changes: 318 additions & 0 deletions docs/notebooks/scatterwidget_annotation.ipynb

Large diffs are not rendered by default.

410 changes: 182 additions & 228 deletions docs/notebooks/spatialdata.ipynb

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ exclude = [
"__pycache__",
"build",
"docs/_build",
"docs/notebooks",
"dist",
"setup.py",
]
Expand Down
2 changes: 2 additions & 0 deletions setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ install_requires =
packaging
pandas
pillow
pyqtgraph
qtpy
scanpy
scipy
Expand All @@ -69,6 +70,7 @@ test =
loguru
pytest
pytest-cov # https://pytest-cov.readthedocs.io/en/latest/
pytest-mock # https://pytest-mock.readthedocs.io/en/latest/
pytest-qt # https://pytest-qt.readthedocs.io/en/latest/
pre-commit>=2.9.0

Expand Down
Loading

0 comments on commit a5191c7

Please sign in to comment.