patchworks 0.11.2__tar.gz → 0.11.4__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.2 → patchworks-0.11.4}/PKG-INFO +1 -1
- {patchworks-0.11.2 → patchworks-0.11.4}/docs/guide/snakemake.md +17 -2
- patchworks-0.11.4/workflow/.snakemake/iocache/latest.pkl +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/workflow/README.md +3 -2
- {patchworks-0.11.2 → patchworks-0.11.4}/workflow/config/config.yaml +2 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/workflow/pixi.toml +4 -2
- {patchworks-0.11.2 → patchworks-0.11.4}/workflow/profile/slurm/config.yaml +4 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/workflow/scripts/prepare_tiles.py +5 -0
- patchworks-0.11.2/workflow/.snakemake/metadata/L3RtcC9wd193Zi9vdXQvbGFiZWxzLmRvbmU= +0 -1
- patchworks-0.11.2/workflow/.snakemake/metadata/L3RtcC9wd193Zi9vdXQvc2VnLzAuZG9uZQ== +0 -1
- patchworks-0.11.2/workflow/.snakemake/metadata/L3RtcC9wd193Zi9vdXQvc2VnLzEuZG9uZQ== +0 -1
- patchworks-0.11.2/workflow/.snakemake/metadata/L3RtcC9wd193Zi9vdXQvc2VnLzIuZG9uZQ== +0 -1
- patchworks-0.11.2/workflow/.snakemake/metadata/L3RtcC9wd193Zi9vdXQvc2VnLzMuZG9uZQ== +0 -1
- patchworks-0.11.2/workflow/.snakemake/metadata/L3RtcC9wd193Zi9vdXQvc2VnLzQuZG9uZQ== +0 -1
- patchworks-0.11.2/workflow/.snakemake/metadata/L3RtcC9wd193Zi9vdXQvc2VnLzUuZG9uZQ== +0 -1
- patchworks-0.11.2/workflow/.snakemake/metadata/L3RtcC9wd193Zi9vdXQvc2VnLzYuZG9uZQ== +0 -1
- patchworks-0.11.2/workflow/.snakemake/metadata/L3RtcC9wd193Zi9vdXQvc2VnLzcuZG9uZQ== +0 -1
- patchworks-0.11.2/workflow/.snakemake/metadata/L3RtcC9wd193Zi9vdXQvc3RhZ2UuemFycg== +0 -1
- patchworks-0.11.2/workflow/.snakemake/metadata/L3RtcC9wd193Zi9vdXQvdGlsZXMuanNvbg== +0 -1
- {patchworks-0.11.2 → patchworks-0.11.4}/.github/workflows/docs.yml +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/.github/workflows/lint.yml +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/.github/workflows/release.yml +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/.gitignore +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/.markdownlint-cli2.yaml +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/README.md +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/cliff.toml +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/docs/api/chunks.md +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/docs/api/cluster.md +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/docs/api/io.md +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/docs/api/merge_tile_labels.md +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/docs/api/plugins/cellpose.md +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/docs/api/plugins/napari.md +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/docs/api/plugins/ome_zarr.md +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/docs/api/relabel.md +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/docs/api/tile_process.md +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/docs/examples/cellpose_2d.md +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/docs/examples/cellpose_2d.py +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/docs/examples/cellpose_3d.md +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/docs/examples/cellpose_3d.py +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/docs/examples/custom.md +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/docs/examples/custom_method.py +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/docs/examples/standalone_merge.md +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/docs/examples/stardist.md +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/docs/examples/stardist_2d.py +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/docs/getting_started.md +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/docs/guide/gpu_distributed.md +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/docs/guide/merging.md +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/docs/guide/ome_zarr_napari.md +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/docs/guide/performance.md +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/docs/guide/pitfalls.md +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/docs/guide/skip_empty.md +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/docs/guide/tiling.md +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/docs/index.md +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/mkdocs.yml +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/pyproject.toml +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/src/patchworks/__init__.py +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/src/patchworks/_chunks.py +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/src/patchworks/_cluster.py +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/src/patchworks/_core.py +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/src/patchworks/_distributed.py +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/src/patchworks/_io.py +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/src/patchworks/_merge.py +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/src/patchworks/_relabel.py +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/src/patchworks/plugins/__init__.py +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/src/patchworks/plugins/cellpose.py +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/src/patchworks/plugins/napari.py +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/src/patchworks/plugins/ome_zarr.py +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/tests/test_core.py +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/tests/test_distributed.py +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/tests/test_napari.py +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/tests/test_ome_zarr.py +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/workflow/Snakefile +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/workflow/rules/common.smk +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/workflow/rules/convert.smk +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/workflow/rules/merge.smk +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/workflow/rules/segment.smk +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/workflow/scripts/_pw.py +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/workflow/scripts/convert.py +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/workflow/scripts/merge.py +0 -0
- {patchworks-0.11.2 → patchworks-0.11.4}/workflow/scripts/segment_tile.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: patchworks
|
|
3
|
-
Version: 0.11.
|
|
3
|
+
Version: 0.11.4
|
|
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
|
|
@@ -56,6 +56,7 @@ shard: false # true → pack chunks into shards (fewer files)
|
|
|
56
56
|
channel: 0 # channel to segment (null = keep all)
|
|
57
57
|
level: 0 # pyramid level (0 = full resolution)
|
|
58
58
|
tile_shape: "auto" # "auto", or e.g. [16, 1024, 1024] (zyx)
|
|
59
|
+
gpu_memory_gb: null # for "auto" on SLURM: your segment GPU's VRAM
|
|
59
60
|
overlap: 30 # halo ≈ one object diameter
|
|
60
61
|
skip_empty: true # skip background tiles
|
|
61
62
|
empty_threshold: null # null → Otsu
|
|
@@ -81,6 +82,11 @@ sequential_labels: true # renumber labels to a contiguous 1..N
|
|
|
81
82
|
more (faster) jobs; very large 3-D tiles are slow. Keep `do_3D: false` (2-D
|
|
82
83
|
per slice) if your objects segment fine per slice — it is much faster.
|
|
83
84
|
|
|
85
|
+
Tile planning runs on a **CPU** node, which cannot see the segment GPU, so
|
|
86
|
+
it logs `GPU memory query failed … using 8 GiB default` and sizes tiles for
|
|
87
|
+
8 GiB. Harmless, but to size for the real GPU set `gpu_memory_gb:` to its
|
|
88
|
+
VRAM (e.g. `24`, `40`, `80`) — or just set `tile_shape` explicitly.
|
|
89
|
+
|
|
84
90
|
## 4. Dry-run (always do this first)
|
|
85
91
|
|
|
86
92
|
Check the plan without running anything:
|
|
@@ -96,11 +102,14 @@ known after `prepare` decides which tiles are non-empty.)
|
|
|
96
102
|
## 5a. Run locally (single machine)
|
|
97
103
|
|
|
98
104
|
```bash
|
|
99
|
-
python -m snakemake -s Snakefile --configfile config/config.yaml
|
|
105
|
+
python -m snakemake -s Snakefile --configfile config/config.yaml \
|
|
106
|
+
--rerun-triggers mtime --cores 8
|
|
100
107
|
```
|
|
101
108
|
|
|
102
109
|
Tiles run on the local machine (one at a time on the GPU). Good for a small
|
|
103
|
-
image or a smoke test.
|
|
110
|
+
image or a smoke test. `--rerun-triggers mtime` re-runs only steps whose output
|
|
111
|
+
is missing/stale — so upgrading patchworks won't redo the conversion (the SLURM
|
|
112
|
+
profile sets this for you).
|
|
104
113
|
|
|
105
114
|
## 5b. Run on SLURM (one GPU job per tile)
|
|
106
115
|
|
|
@@ -179,6 +188,12 @@ The OME-ZARR conversion is **not redone** once `image.zarr` exists: the
|
|
|
179
188
|
on every later run. To force a fresh conversion, delete `image.zarr` or run
|
|
180
189
|
`snakemake --forcerun convert`.
|
|
181
190
|
|
|
191
|
+
This relies on `--rerun-triggers mtime` (set in the SLURM profile and the pixi
|
|
192
|
+
tasks; add it on the command line for ad-hoc local runs). Without it, Snakemake
|
|
193
|
+
also re-runs a step when its **code, params or software environment** change —
|
|
194
|
+
so upgrading patchworks would re-do the conversion and overwrite an existing
|
|
195
|
+
result. Keep `mtime` and reruns happen only when an output is missing or stale.
|
|
196
|
+
|
|
182
197
|
## pixi (instead of conda)
|
|
183
198
|
|
|
184
199
|
Conda is **not** required — Snakemake runs in whatever environment launches it.
|
|
Binary file
|
|
@@ -56,10 +56,11 @@ account, GPU request).
|
|
|
56
56
|
## Run
|
|
57
57
|
|
|
58
58
|
```bash
|
|
59
|
-
# locally (single machine)
|
|
60
|
-
snakemake --cores 8 --configfile config/config.yaml
|
|
59
|
+
# locally (single machine) — mtime triggers => upgrades don't redo conversion
|
|
60
|
+
snakemake --cores 8 --configfile config/config.yaml --rerun-triggers mtime
|
|
61
61
|
|
|
62
62
|
# on SLURM — one GPU job per tile, up to `jobs:` in parallel
|
|
63
|
+
# (the profile already sets --rerun-triggers mtime)
|
|
63
64
|
snakemake --workflow-profile profile/slurm --configfile config/config.yaml
|
|
64
65
|
```
|
|
65
66
|
|
|
@@ -22,6 +22,8 @@ shard: false # true → pack chunks into shards (zarr v3; fewer files)
|
|
|
22
22
|
channel: 0 # channel to segment
|
|
23
23
|
level: 0 # pyramid level to segment (0 = full res)
|
|
24
24
|
tile_shape: "auto" # "auto", or e.g. [16, 1024, 1024] (zyx)
|
|
25
|
+
gpu_memory_gb: null # for "auto" on a CPU prepare node: your segment GPU's VRAM
|
|
26
|
+
# (e.g. 24, 40, 80). null → 8 GiB guess + a harmless warning
|
|
25
27
|
overlap: 30 # halo (≈ one object diameter)
|
|
26
28
|
skip_empty: true # skip background tiles
|
|
27
29
|
empty_threshold: null # null → Otsu; or a number
|
|
@@ -19,6 +19,8 @@ python = "3.12.*"
|
|
|
19
19
|
patchworks = { version = "*", extras = ["workflow", "cellpose", "imaris", "bioio"] }
|
|
20
20
|
|
|
21
21
|
[tasks]
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
# --rerun-triggers mtime: don't redo finished steps (e.g. the conversion) just
|
|
23
|
+
# because the patchworks version/code changed — only when an output is missing.
|
|
24
|
+
dry = "snakemake -s Snakefile --configfile config/config.yaml --rerun-triggers mtime -n -p"
|
|
25
|
+
go = "snakemake -s Snakefile --configfile config/config.yaml --rerun-triggers mtime --cores 8"
|
|
24
26
|
slurm = "snakemake --workflow-profile profile/slurm --configfile config/config.yaml"
|
|
@@ -8,6 +8,10 @@ executor: slurm
|
|
|
8
8
|
jobs: 64 # max concurrent SLURM jobs (≈ how many GPUs you can grab at once)
|
|
9
9
|
latency-wait: 60
|
|
10
10
|
rerun-incomplete: true
|
|
11
|
+
# Only re-run when an output is missing/stale — NOT when the patchworks code,
|
|
12
|
+
# params or software env change. Stops an upgrade from re-doing the expensive
|
|
13
|
+
# conversion / re-segmenting an existing image.zarr.
|
|
14
|
+
rerun-triggers: mtime
|
|
11
15
|
printshellcmds: true
|
|
12
16
|
keep-going: true
|
|
13
17
|
|
|
@@ -20,12 +20,17 @@ image = open_image(work_dir, cfg["channel"], cfg["level"])
|
|
|
20
20
|
ts = cfg.get("tile_shape", "auto")
|
|
21
21
|
if ts == "auto":
|
|
22
22
|
cp = cfg["cellpose"]
|
|
23
|
+
# prepare runs on a CPU node, so the segment GPU's VRAM can't be queried
|
|
24
|
+
# here; pass gpu_memory_gb from the config to size tiles for it (avoids the
|
|
25
|
+
# "GPU memory query failed" fallback). None => the built-in 8 GiB default.
|
|
26
|
+
gpu_gb = cfg.get("gpu_memory_gb")
|
|
23
27
|
tile_shape = tuple(
|
|
24
28
|
partial(
|
|
25
29
|
auto_tile_shape_cellpose,
|
|
26
30
|
do_3D=cp.get("do_3D", False),
|
|
27
31
|
use_gpu=cp.get("gpu", True),
|
|
28
32
|
diameter=cp.get("diameter"),
|
|
33
|
+
gpu_memory=int(gpu_gb * 1024**3) if gpu_gb else None,
|
|
29
34
|
)(image.shape, image.dtype)
|
|
30
35
|
)
|
|
31
36
|
else:
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"rule": "merge", "input": ["/tmp/pw_wf/out/seg/0.done", "/tmp/pw_wf/out/seg/1.done", "/tmp/pw_wf/out/seg/2.done", "/tmp/pw_wf/out/seg/3.done", "/tmp/pw_wf/out/seg/4.done", "/tmp/pw_wf/out/seg/5.done", "/tmp/pw_wf/out/seg/6.done", "/tmp/pw_wf/out/seg/7.done"], "log": [], "shellcmd": null, "params": [], "code": " \"../scripts/merge.py\"\n", "record_format_version": 6, "conda_env": null, "container_img_url": null, "software_stack_hash": "d41d8cd98f00b204e9800998ecf8427e", "job_hash": 8289946198395, "starttime": 1782306826.05809, "endtime": 1782306826.057891, "incomplete": false, "external_jobid": null, "input_checksums": {"/tmp/pw_wf/out/seg/0.done": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "/tmp/pw_wf/out/seg/1.done": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "/tmp/pw_wf/out/seg/2.done": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "/tmp/pw_wf/out/seg/3.done": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "/tmp/pw_wf/out/seg/4.done": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "/tmp/pw_wf/out/seg/5.done": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "/tmp/pw_wf/out/seg/6.done": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "/tmp/pw_wf/out/seg/7.done": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"rule": "segment", "input": ["/tmp/pw_wf/out/image.zarr/zarr.json", "/tmp/pw_wf/out/stage.zarr", "/tmp/pw_wf/out/tiles.json"], "log": [], "shellcmd": null, "params": [], "code": " \"../scripts/segment_tile.py\"\n", "record_format_version": 6, "conda_env": null, "container_img_url": null, "software_stack_hash": "d41d8cd98f00b204e9800998ecf8427e", "job_hash": 8289938895482, "starttime": 1782306823.2564273, "endtime": 1782306823.255227, "incomplete": false, "external_jobid": null, "input_checksums": {"/tmp/pw_wf/out/tiles.json": "sha256:d5abe0a9301e6274b02cdae545a8b5e414d3b51c1396d18ae9bcb1ea935bfe67", "/tmp/pw_wf/out/image.zarr/zarr.json": "sha256:8baa9bb439818b6e4a5358464300e6239dae6fddb2b31fa26717a7c56eaf1458"}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"rule": "segment", "input": ["/tmp/pw_wf/out/image.zarr/zarr.json", "/tmp/pw_wf/out/stage.zarr", "/tmp/pw_wf/out/tiles.json"], "log": [], "shellcmd": null, "params": [], "code": " \"../scripts/segment_tile.py\"\n", "record_format_version": 6, "conda_env": null, "container_img_url": null, "software_stack_hash": "d41d8cd98f00b204e9800998ecf8427e", "job_hash": 8289938895635, "starttime": 1782306823.2361996, "endtime": 1782306823.2352273, "incomplete": false, "external_jobid": null, "input_checksums": {"/tmp/pw_wf/out/tiles.json": "sha256:d5abe0a9301e6274b02cdae545a8b5e414d3b51c1396d18ae9bcb1ea935bfe67", "/tmp/pw_wf/out/image.zarr/zarr.json": "sha256:8baa9bb439818b6e4a5358464300e6239dae6fddb2b31fa26717a7c56eaf1458"}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"rule": "segment", "input": ["/tmp/pw_wf/out/image.zarr/zarr.json", "/tmp/pw_wf/out/stage.zarr", "/tmp/pw_wf/out/tiles.json"], "log": [], "shellcmd": null, "params": [], "code": " \"../scripts/segment_tile.py\"\n", "record_format_version": 6, "conda_env": null, "container_img_url": null, "software_stack_hash": "d41d8cd98f00b204e9800998ecf8427e", "job_hash": 8289938895788, "starttime": 1782306820.7251186, "endtime": 1782306820.724245, "incomplete": false, "external_jobid": null, "input_checksums": {"/tmp/pw_wf/out/tiles.json": "sha256:d5abe0a9301e6274b02cdae545a8b5e414d3b51c1396d18ae9bcb1ea935bfe67", "/tmp/pw_wf/out/image.zarr/zarr.json": "sha256:8baa9bb439818b6e4a5358464300e6239dae6fddb2b31fa26717a7c56eaf1458"}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"rule": "segment", "input": ["/tmp/pw_wf/out/image.zarr/zarr.json", "/tmp/pw_wf/out/stage.zarr", "/tmp/pw_wf/out/tiles.json"], "log": [], "shellcmd": null, "params": [], "code": " \"../scripts/segment_tile.py\"\n", "record_format_version": 6, "conda_env": null, "container_img_url": null, "software_stack_hash": "d41d8cd98f00b204e9800998ecf8427e", "job_hash": 8289938792521, "starttime": 1782306820.8450873, "endtime": 1782306820.8442442, "incomplete": false, "external_jobid": null, "input_checksums": {"/tmp/pw_wf/out/tiles.json": "sha256:d5abe0a9301e6274b02cdae545a8b5e414d3b51c1396d18ae9bcb1ea935bfe67", "/tmp/pw_wf/out/image.zarr/zarr.json": "sha256:8baa9bb439818b6e4a5358464300e6239dae6fddb2b31fa26717a7c56eaf1458"}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"rule": "segment", "input": ["/tmp/pw_wf/out/image.zarr/zarr.json", "/tmp/pw_wf/out/stage.zarr", "/tmp/pw_wf/out/tiles.json"], "log": [], "shellcmd": null, "params": [], "code": " \"../scripts/segment_tile.py\"\n", "record_format_version": 6, "conda_env": null, "container_img_url": null, "software_stack_hash": "d41d8cd98f00b204e9800998ecf8427e", "job_hash": 8289938792674, "starttime": 1782306820.7828398, "endtime": 1782306820.7822447, "incomplete": false, "external_jobid": null, "input_checksums": {"/tmp/pw_wf/out/tiles.json": "sha256:d5abe0a9301e6274b02cdae545a8b5e414d3b51c1396d18ae9bcb1ea935bfe67", "/tmp/pw_wf/out/image.zarr/zarr.json": "sha256:8baa9bb439818b6e4a5358464300e6239dae6fddb2b31fa26717a7c56eaf1458"}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"rule": "segment", "input": ["/tmp/pw_wf/out/image.zarr/zarr.json", "/tmp/pw_wf/out/stage.zarr", "/tmp/pw_wf/out/tiles.json"], "log": [], "shellcmd": null, "params": [], "code": " \"../scripts/segment_tile.py\"\n", "record_format_version": 6, "conda_env": null, "container_img_url": null, "software_stack_hash": "d41d8cd98f00b204e9800998ecf8427e", "job_hash": 8289938792827, "starttime": 1782306823.5588164, "endtime": 1782306823.558225, "incomplete": false, "external_jobid": null, "input_checksums": {"/tmp/pw_wf/out/tiles.json": "sha256:d5abe0a9301e6274b02cdae545a8b5e414d3b51c1396d18ae9bcb1ea935bfe67", "/tmp/pw_wf/out/image.zarr/zarr.json": "sha256:8baa9bb439818b6e4a5358464300e6239dae6fddb2b31fa26717a7c56eaf1458"}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"rule": "segment", "input": ["/tmp/pw_wf/out/image.zarr/zarr.json", "/tmp/pw_wf/out/stage.zarr", "/tmp/pw_wf/out/tiles.json"], "log": [], "shellcmd": null, "params": [], "code": " \"../scripts/segment_tile.py\"\n", "record_format_version": 6, "conda_env": null, "container_img_url": null, "software_stack_hash": "d41d8cd98f00b204e9800998ecf8427e", "job_hash": 8289938792980, "starttime": 1782306823.0890763, "endtime": 1782306823.0882282, "incomplete": false, "external_jobid": null, "input_checksums": {"/tmp/pw_wf/out/tiles.json": "sha256:d5abe0a9301e6274b02cdae545a8b5e414d3b51c1396d18ae9bcb1ea935bfe67", "/tmp/pw_wf/out/image.zarr/zarr.json": "sha256:8baa9bb439818b6e4a5358464300e6239dae6fddb2b31fa26717a7c56eaf1458"}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"rule": "segment", "input": ["/tmp/pw_wf/out/image.zarr/zarr.json", "/tmp/pw_wf/out/stage.zarr", "/tmp/pw_wf/out/tiles.json"], "log": [], "shellcmd": null, "params": [], "code": " \"../scripts/segment_tile.py\"\n", "record_format_version": 6, "conda_env": null, "container_img_url": null, "software_stack_hash": "d41d8cd98f00b204e9800998ecf8427e", "job_hash": 8289938793133, "starttime": 1782306821.0048127, "endtime": 1782306821.0042431, "incomplete": false, "external_jobid": null, "input_checksums": {"/tmp/pw_wf/out/tiles.json": "sha256:d5abe0a9301e6274b02cdae545a8b5e414d3b51c1396d18ae9bcb1ea935bfe67", "/tmp/pw_wf/out/image.zarr/zarr.json": "sha256:8baa9bb439818b6e4a5358464300e6239dae6fddb2b31fa26717a7c56eaf1458"}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"rule": "prepare", "input": ["/tmp/pw_wf/out/image.zarr/zarr.json"], "log": [], "shellcmd": null, "params": [], "code": " \"../scripts/prepare_tiles.py\"\n", "record_format_version": 6, "conda_env": null, "container_img_url": null, "software_stack_hash": "d41d8cd98f00b204e9800998ecf8427e", "job_hash": 8289946375343, "starttime": 1782306818.2703326, "endtime": 1782306818.2701185, "incomplete": false, "external_jobid": null, "input_checksums": {"/tmp/pw_wf/out/image.zarr/zarr.json": "sha256:8baa9bb439818b6e4a5358464300e6239dae6fddb2b31fa26717a7c56eaf1458"}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"rule": "prepare", "input": ["/tmp/pw_wf/out/image.zarr/zarr.json"], "log": [], "shellcmd": null, "params": [], "code": " \"../scripts/prepare_tiles.py\"\n", "record_format_version": 6, "conda_env": null, "container_img_url": null, "software_stack_hash": "d41d8cd98f00b204e9800998ecf8427e", "job_hash": 8289946375343, "starttime": 1782306818.2703326, "endtime": 1782306818.2692626, "incomplete": false, "external_jobid": null, "input_checksums": {"/tmp/pw_wf/out/image.zarr/zarr.json": "sha256:8baa9bb439818b6e4a5358464300e6239dae6fddb2b31fa26717a7c56eaf1458"}}
|
|
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
|