patchworks 0.11.19__tar.gz → 0.11.21__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {patchworks-0.11.19 → patchworks-0.11.21}/.github/workflows/release.yml +0 -14
- {patchworks-0.11.19 → patchworks-0.11.21}/PKG-INFO +4 -2
- {patchworks-0.11.19 → patchworks-0.11.21}/pyproject.toml +5 -1
- {patchworks-0.11.19 → patchworks-0.11.21}/tests/test_relations.py +6 -2
- {patchworks-0.11.19 → patchworks-0.11.21}/.github/workflows/docs.yml +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/.github/workflows/lint.yml +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/.gitignore +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/.markdownlint-cli2.yaml +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/LICENSE +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/README.md +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/cliff.toml +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/docs/api/chunks.md +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/docs/api/cluster.md +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/docs/api/io.md +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/docs/api/merge_tile_labels.md +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/docs/api/plugins/cellpose.md +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/docs/api/plugins/napari.md +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/docs/api/plugins/ome_zarr.md +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/docs/api/relabel.md +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/docs/api/tile_process.md +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/docs/assets/logo.png +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/docs/examples/cellpose_2d.md +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/docs/examples/cellpose_2d.py +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/docs/examples/cellpose_3d.md +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/docs/examples/cellpose_3d.py +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/docs/examples/custom.md +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/docs/examples/custom_method.py +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/docs/examples/standalone_merge.md +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/docs/examples/stardist.md +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/docs/examples/stardist_2d.py +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/docs/getting_started.md +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/docs/guide/gpu_distributed.md +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/docs/guide/merging.md +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/docs/guide/ome_zarr_napari.md +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/docs/guide/performance.md +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/docs/guide/pitfalls.md +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/docs/guide/skip_empty.md +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/docs/guide/snakemake.md +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/docs/guide/tiling.md +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/docs/index.md +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/mkdocs.yml +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/src/patchworks/__init__.py +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/src/patchworks/_chunks.py +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/src/patchworks/_cluster.py +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/src/patchworks/_core.py +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/src/patchworks/_distributed.py +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/src/patchworks/_io.py +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/src/patchworks/_merge.py +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/src/patchworks/_relabel.py +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/src/patchworks/_relations.py +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/src/patchworks/plugins/__init__.py +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/src/patchworks/plugins/cellpose.py +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/src/patchworks/plugins/napari.py +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/src/patchworks/plugins/ome_zarr.py +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/tests/test_core.py +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/tests/test_distributed.py +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/tests/test_napari.py +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/tests/test_ome_zarr.py +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/workflow/README.md +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/workflow/Snakefile +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/workflow/config/config.yaml +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/workflow/config/config_cyto.yaml +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/workflow/config/config_nuclei.yaml +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/workflow/config/multi.yaml +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/workflow/pixi.toml +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/workflow/profile/slurm/config.yaml +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/workflow/rules/common.smk +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/workflow/rules/convert.smk +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/workflow/rules/merge.smk +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/workflow/rules/segment.smk +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/workflow/scripts/_pw.py +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/workflow/scripts/convert.py +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/workflow/scripts/fetch_model.py +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/workflow/scripts/merge.py +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/workflow/scripts/prepare_tiles.py +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/workflow/scripts/run_multi.py +0 -0
- {patchworks-0.11.19 → patchworks-0.11.21}/workflow/scripts/segment_tile.py +0 -0
|
@@ -48,17 +48,3 @@ jobs:
|
|
|
48
48
|
|
|
49
49
|
- name: Publish to PyPI
|
|
50
50
|
uses: pypa/gh-action-pypi-publish@release/v1
|
|
51
|
-
|
|
52
|
-
# Rebuild the org-wide pdoc apidocs site so it picks up the new version.
|
|
53
|
-
apidocs:
|
|
54
|
-
needs: release
|
|
55
|
-
runs-on: ubuntu-latest
|
|
56
|
-
steps:
|
|
57
|
-
- name: Trigger imcf.github.io apidocs rebuild
|
|
58
|
-
uses: peter-evans/repository-dispatch@v3
|
|
59
|
-
with:
|
|
60
|
-
# Fine-grained PAT with "Contents: write" on imcf/imcf.github.io,
|
|
61
|
-
# stored as the APIDOCS_DISPATCH_TOKEN secret in this repo.
|
|
62
|
-
token: ${{ secrets.APIDOCS_DISPATCH_TOKEN }}
|
|
63
|
-
repository: imcf/imcf.github.io
|
|
64
|
-
event-type: dispatch-event
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: patchworks
|
|
3
|
-
Version: 0.11.
|
|
3
|
+
Version: 0.11.21
|
|
4
4
|
Summary: Tiled processing of arbitrarily large images with globally consistent labels
|
|
5
5
|
Project-URL: Homepage, https://github.com/imcf/patchworks
|
|
6
6
|
Project-URL: Issues, https://github.com/imcf/patchworks/issues
|
|
7
|
-
Author:
|
|
7
|
+
Author-email: Laurent Guerard <laurent.guerard@unibas.ch>
|
|
8
8
|
License: GPL-3.0-only
|
|
9
9
|
License-File: LICENSE
|
|
10
10
|
Keywords: bioimage,chunked,dask,image processing,segmentation,tiling,zarr
|
|
@@ -34,6 +34,7 @@ Requires-Dist: glasbey; extra == 'all'
|
|
|
34
34
|
Requires-Dist: imaris-ims-file-reader; extra == 'all'
|
|
35
35
|
Requires-Dist: ipykernel<7; extra == 'all'
|
|
36
36
|
Requires-Dist: lxml-html-clean; extra == 'all'
|
|
37
|
+
Requires-Dist: napari-dask-ndmeasure>=0.1.0; extra == 'all'
|
|
37
38
|
Requires-Dist: napari[all]>=0.7.1; extra == 'all'
|
|
38
39
|
Requires-Dist: numpy<2.5; extra == 'all'
|
|
39
40
|
Requires-Dist: nvidia-ml-py; extra == 'all'
|
|
@@ -74,6 +75,7 @@ Provides-Extra: napari
|
|
|
74
75
|
Requires-Dist: glasbey; extra == 'napari'
|
|
75
76
|
Requires-Dist: ipykernel<7; extra == 'napari'
|
|
76
77
|
Requires-Dist: lxml-html-clean; extra == 'napari'
|
|
78
|
+
Requires-Dist: napari-dask-ndmeasure>=0.1.0; extra == 'napari'
|
|
77
79
|
Requires-Dist: napari[all]>=0.7.1; extra == 'napari'
|
|
78
80
|
Requires-Dist: numpy<2.5; extra == 'napari'
|
|
79
81
|
Provides-Extra: workflow
|
|
@@ -8,7 +8,7 @@ dynamic = ["version"]
|
|
|
8
8
|
description = "Tiled processing of arbitrarily large images with globally consistent labels"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = { text = "GPL-3.0-only" }
|
|
11
|
-
authors = [{ name = "
|
|
11
|
+
authors = [{ name = "Laurent Guerard", email = "laurent.guerard@unibas.ch" }]
|
|
12
12
|
keywords = [
|
|
13
13
|
"image processing",
|
|
14
14
|
"tiling",
|
|
@@ -67,12 +67,16 @@ imaris = ["imaris-ims-file-reader"]
|
|
|
67
67
|
# - lxml-html-clean: napari's notebook_display imports lxml.html.clean, split
|
|
68
68
|
# into a separate package in lxml >= 5.2 (else ImportError on Viewer()).
|
|
69
69
|
# - glasbey: distinct high-contrast label LUTs for view_in_napari.
|
|
70
|
+
# - napari-dask-ndmeasure: out-of-core regionprops-style measurements
|
|
71
|
+
# (area/centroid/intensity stats) for huge Labels layers, straight off
|
|
72
|
+
# their backing dask/zarr arrays — the "Measure" dock widget.
|
|
70
73
|
napari = [
|
|
71
74
|
"napari[all]>=0.7.1",
|
|
72
75
|
"numpy<2.5",
|
|
73
76
|
"ipykernel<7",
|
|
74
77
|
"lxml-html-clean",
|
|
75
78
|
"glasbey",
|
|
79
|
+
"napari-dask-ndmeasure>=0.1.0",
|
|
76
80
|
]
|
|
77
81
|
# workflow runs the Snakemake pipeline (per-tile SLURM jobs across GPUs).
|
|
78
82
|
workflow = ["snakemake>=8", "snakemake-executor-plugin-slurm"]
|
|
@@ -17,7 +17,9 @@ def test_label_relations_majority_overlap():
|
|
|
17
17
|
b[0:2, 6:8] = 21 # 4 voxels overlap with label 2 -> tie, but let's skew it
|
|
18
18
|
b[0:2, 6:7] = 20 # tip the tie: label 20 now has 6 voxels vs 21's 2
|
|
19
19
|
|
|
20
|
-
table = label_relations(
|
|
20
|
+
table = label_relations(
|
|
21
|
+
da.from_array(a, chunks=(2, 5)), da.from_array(b, chunks=(2, 5))
|
|
22
|
+
)
|
|
21
23
|
|
|
22
24
|
assert table[1]["match"] == 10
|
|
23
25
|
assert table[1]["overlap_voxels"] == 4
|
|
@@ -32,7 +34,9 @@ def test_label_relations_no_overlap_omitted():
|
|
|
32
34
|
a[0, 0] = 1
|
|
33
35
|
b = np.zeros((2, 2), dtype=np.int32) # all background, no overlap anywhere
|
|
34
36
|
|
|
35
|
-
table = label_relations(
|
|
37
|
+
table = label_relations(
|
|
38
|
+
da.from_array(a, chunks=(2, 2)), da.from_array(b, chunks=(2, 2))
|
|
39
|
+
)
|
|
36
40
|
assert table == {}
|
|
37
41
|
|
|
38
42
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|