You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Stabilize napari plugin setup and clarify curvelet parity testing.
Align installation/docs with current plugin requirements by adding segmentation extras to setup, removing stale plugin status notes, and documenting how to run curvelet and strict MATLAB parity checks. Make process-image execution headless-safe in offscreen runs and gate strict MATLAB-reference assertions behind an explicit opt-in flag so default plugin validation remains reliable.
Co-authored-by: Cursor <cursoragent@cursor.com>
- Full tests with curvelets (after installing `curvelops`): `make test` — curvelet tests run automatically when curvelops is available; otherwise skipped.
57
+
- Enable curvelet-dependent tests:
58
+
```bash
59
+
export TMEQ_RUN_CURVELETS=1
60
+
QT_QPA_PLATFORM=offscreen uv run pytest -q tests/test_get_ct.py tests/test_new_curv.py tests/test_process_image.py -rs
-`test-basic`: default Python matrix without CurveLab secret requirements.
81
+
-`test-curvelab`: secure lane that fetches/builds CurveLab + FFTW and runs curvelet-enabled tests.
82
+
- Both lanes run with `QT_QPA_PLATFORM=offscreen`.
73
83
74
84
### Working with secrets in GitHub Actions
75
85
This project uses GitHub Actions secrets for tasks that require authentication or access to private resources. Secrets can be configured in the [Settings tab of the repostiory](https://github.com/uw-loci/tme-quant/settings/secrets/actions). For more information about secrets, see:
76
86
-[Secrets as a concept](https://docs.github.com/en/actions/concepts/security/secrets)
77
87
-[Secrets in actions](https://docs.github.com/en/actions/security-for-github-actions/security-guides/using-secrets-in-github-actions).
78
88
79
-
#### Manual testing workflow
80
-
The `manual-test` workflow allows developers to manually trigger workflows from the GitHub UI without committing changes to `main`. This is useful for testing workflows that require secrets on topic branches.
81
-
82
-
**How to use it:**
83
-
84
-
1. Create or edit `.github/workflows/test-action.yml` to define your workflow's structure and declare which secrets it needs via the `secrets:` input in `workflow_call`:
85
-
```yaml
86
-
on:
87
-
workflow_call:
88
-
secrets:
89
-
MY_SECRET_NAME:
90
-
ANOTHER_SECRET:
91
-
92
-
jobs:
93
-
my-job:
94
-
runs-on: ubuntu-latest
95
-
steps:
96
-
- name: Use a secret
97
-
run: echo "Secret is ${{ secrets.MY_SECRET_NAME }}"
98
-
```
99
-
100
-
2. The `manual-test` workflow (`.github/workflows/manual-test.yml`) will call `test-action.yml` and pass repository secrets to it via `secrets: inherit`.
101
-
102
-
3. To trigger the workflow:
103
-
- Push your branch with the updated `test-action.yml` to GitHub.
104
-
- Go to the **Actions** tab in the repository and select the **[Manual Testing Stub](https://github.com/uwloci/tme-quant/actions/workflows/manual-test.yml)** workflow.
105
-
- Click **Run workflow** and select your branch.
106
-
- The workflow will execute with access to all secrets configured for the repository.
107
-
108
-
**NOTE**
109
-
- Never hardcode secrets or access tokens in workflow files; always use the `secrets:` context.
89
+
Never hardcode secrets or access tokens in workflow files; always use the `secrets:` context.
110
90
111
91
### Troubleshooting
112
92
- Qt error ("No Qt bindings could be found"): ensure `uv sync` completed; pyproject includes PyQt6.
Copy file name to clipboardExpand all lines: doc/INSTALL.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,7 +23,7 @@
23
23
bash bin/install.sh
24
24
```
25
25
26
-
The script checks for uv, downloads FFTW, detects CurveLab in `../utils`, builds both, syncs the env, and verifies.
26
+
The script checks for uv, downloads FFTW, detects CurveLab in `../utils`, builds both, syncs the env with `curvelops` and segmentation extras, and verifies.
27
27
28
28
## Run
29
29
@@ -48,8 +48,8 @@ parent/
48
48
To run napari without the curvelet backend (no FFTW/CurveLab required):
49
49
50
50
```bash
51
-
uv sync
51
+
uv sync --extra segmentation
52
52
uv run napari
53
53
```
54
54
55
-
**Note:** The napari plugin will load, but curvelet-based analysis (e.g. fiber orientation) will not run. You get the UI with mock/placeholder results. For real curvelet analysis, use the full install above.
55
+
**Note:** The napari plugin will load, but curvelet-based analysis (e.g. fiber orientation) will not run. For real curvelet analysis, use the full install above.
0 commit comments