patchworks 1.4.2__tar.gz → 1.4.3__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.
Files changed (89) hide show
  1. {patchworks-1.4.2 → patchworks-1.4.3}/PKG-INFO +1 -1
  2. {patchworks-1.4.2 → patchworks-1.4.3}/src/patchworks/plugins/ome_zarr.py +10 -6
  3. {patchworks-1.4.2 → patchworks-1.4.3}/.github/workflows/docs.yml +0 -0
  4. {patchworks-1.4.2 → patchworks-1.4.3}/.github/workflows/lint.yml +0 -0
  5. {patchworks-1.4.2 → patchworks-1.4.3}/.github/workflows/release.yml +0 -0
  6. {patchworks-1.4.2 → patchworks-1.4.3}/.gitignore +0 -0
  7. {patchworks-1.4.2 → patchworks-1.4.3}/.markdownlint-cli2.yaml +0 -0
  8. {patchworks-1.4.2 → patchworks-1.4.3}/LICENSE +0 -0
  9. {patchworks-1.4.2 → patchworks-1.4.3}/README.md +0 -0
  10. {patchworks-1.4.2 → patchworks-1.4.3}/cliff.toml +0 -0
  11. {patchworks-1.4.2 → patchworks-1.4.3}/docs/api/chunks.md +0 -0
  12. {patchworks-1.4.2 → patchworks-1.4.3}/docs/api/cluster.md +0 -0
  13. {patchworks-1.4.2 → patchworks-1.4.3}/docs/api/io.md +0 -0
  14. {patchworks-1.4.2 → patchworks-1.4.3}/docs/api/merge_tile_labels.md +0 -0
  15. {patchworks-1.4.2 → patchworks-1.4.3}/docs/api/plugins/cellpose.md +0 -0
  16. {patchworks-1.4.2 → patchworks-1.4.3}/docs/api/plugins/dog.md +0 -0
  17. {patchworks-1.4.2 → patchworks-1.4.3}/docs/api/plugins/napari.md +0 -0
  18. {patchworks-1.4.2 → patchworks-1.4.3}/docs/api/plugins/ome_zarr.md +0 -0
  19. {patchworks-1.4.2 → patchworks-1.4.3}/docs/api/postprocess.md +0 -0
  20. {patchworks-1.4.2 → patchworks-1.4.3}/docs/api/relabel.md +0 -0
  21. {patchworks-1.4.2 → patchworks-1.4.3}/docs/api/tile_process.md +0 -0
  22. {patchworks-1.4.2 → patchworks-1.4.3}/docs/assets/logo.png +0 -0
  23. {patchworks-1.4.2 → patchworks-1.4.3}/docs/examples/cellpose_2d.md +0 -0
  24. {patchworks-1.4.2 → patchworks-1.4.3}/docs/examples/cellpose_2d.py +0 -0
  25. {patchworks-1.4.2 → patchworks-1.4.3}/docs/examples/cellpose_3d.md +0 -0
  26. {patchworks-1.4.2 → patchworks-1.4.3}/docs/examples/cellpose_3d.py +0 -0
  27. {patchworks-1.4.2 → patchworks-1.4.3}/docs/examples/custom.md +0 -0
  28. {patchworks-1.4.2 → patchworks-1.4.3}/docs/examples/custom_method.py +0 -0
  29. {patchworks-1.4.2 → patchworks-1.4.3}/docs/examples/dog.md +0 -0
  30. {patchworks-1.4.2 → patchworks-1.4.3}/docs/examples/dog.py +0 -0
  31. {patchworks-1.4.2 → patchworks-1.4.3}/docs/examples/standalone_merge.md +0 -0
  32. {patchworks-1.4.2 → patchworks-1.4.3}/docs/examples/stardist.md +0 -0
  33. {patchworks-1.4.2 → patchworks-1.4.3}/docs/examples/stardist_2d.py +0 -0
  34. {patchworks-1.4.2 → patchworks-1.4.3}/docs/getting_started.md +0 -0
  35. {patchworks-1.4.2 → patchworks-1.4.3}/docs/guide/custom_segmentation.md +0 -0
  36. {patchworks-1.4.2 → patchworks-1.4.3}/docs/guide/gpu_distributed.md +0 -0
  37. {patchworks-1.4.2 → patchworks-1.4.3}/docs/guide/label_relations.md +0 -0
  38. {patchworks-1.4.2 → patchworks-1.4.3}/docs/guide/measurements.md +0 -0
  39. {patchworks-1.4.2 → patchworks-1.4.3}/docs/guide/merging.md +0 -0
  40. {patchworks-1.4.2 → patchworks-1.4.3}/docs/guide/ome_zarr_napari.md +0 -0
  41. {patchworks-1.4.2 → patchworks-1.4.3}/docs/guide/performance.md +0 -0
  42. {patchworks-1.4.2 → patchworks-1.4.3}/docs/guide/pitfalls.md +0 -0
  43. {patchworks-1.4.2 → patchworks-1.4.3}/docs/guide/skip_empty.md +0 -0
  44. {patchworks-1.4.2 → patchworks-1.4.3}/docs/guide/snakemake.md +0 -0
  45. {patchworks-1.4.2 → patchworks-1.4.3}/docs/guide/tiling.md +0 -0
  46. {patchworks-1.4.2 → patchworks-1.4.3}/docs/index.md +0 -0
  47. {patchworks-1.4.2 → patchworks-1.4.3}/mkdocs.yml +0 -0
  48. {patchworks-1.4.2 → patchworks-1.4.3}/pyproject.toml +0 -0
  49. {patchworks-1.4.2 → patchworks-1.4.3}/src/patchworks/__init__.py +0 -0
  50. {patchworks-1.4.2 → patchworks-1.4.3}/src/patchworks/_chunks.py +0 -0
  51. {patchworks-1.4.2 → patchworks-1.4.3}/src/patchworks/_cluster.py +0 -0
  52. {patchworks-1.4.2 → patchworks-1.4.3}/src/patchworks/_core.py +0 -0
  53. {patchworks-1.4.2 → patchworks-1.4.3}/src/patchworks/_distributed.py +0 -0
  54. {patchworks-1.4.2 → patchworks-1.4.3}/src/patchworks/_io.py +0 -0
  55. {patchworks-1.4.2 → patchworks-1.4.3}/src/patchworks/_merge.py +0 -0
  56. {patchworks-1.4.2 → patchworks-1.4.3}/src/patchworks/_postprocess.py +0 -0
  57. {patchworks-1.4.2 → patchworks-1.4.3}/src/patchworks/_relabel.py +0 -0
  58. {patchworks-1.4.2 → patchworks-1.4.3}/src/patchworks/_relations.py +0 -0
  59. {patchworks-1.4.2 → patchworks-1.4.3}/src/patchworks/plugins/__init__.py +0 -0
  60. {patchworks-1.4.2 → patchworks-1.4.3}/src/patchworks/plugins/cellpose.py +0 -0
  61. {patchworks-1.4.2 → patchworks-1.4.3}/src/patchworks/plugins/dog.py +0 -0
  62. {patchworks-1.4.2 → patchworks-1.4.3}/src/patchworks/plugins/napari.py +0 -0
  63. {patchworks-1.4.2 → patchworks-1.4.3}/tests/test_core.py +0 -0
  64. {patchworks-1.4.2 → patchworks-1.4.3}/tests/test_distributed.py +0 -0
  65. {patchworks-1.4.2 → patchworks-1.4.3}/tests/test_dog.py +0 -0
  66. {patchworks-1.4.2 → patchworks-1.4.3}/tests/test_napari.py +0 -0
  67. {patchworks-1.4.2 → patchworks-1.4.3}/tests/test_ome_zarr.py +0 -0
  68. {patchworks-1.4.2 → patchworks-1.4.3}/tests/test_postprocess.py +0 -0
  69. {patchworks-1.4.2 → patchworks-1.4.3}/tests/test_relations.py +0 -0
  70. {patchworks-1.4.2 → patchworks-1.4.3}/workflow/README.md +0 -0
  71. {patchworks-1.4.2 → patchworks-1.4.3}/workflow/Snakefile +0 -0
  72. {patchworks-1.4.2 → patchworks-1.4.3}/workflow/config/config.yaml +0 -0
  73. {patchworks-1.4.2 → patchworks-1.4.3}/workflow/config/config_cilia.yaml +0 -0
  74. {patchworks-1.4.2 → patchworks-1.4.3}/workflow/config/config_cyto.yaml +0 -0
  75. {patchworks-1.4.2 → patchworks-1.4.3}/workflow/config/config_nuclei.yaml +0 -0
  76. {patchworks-1.4.2 → patchworks-1.4.3}/workflow/config/multi.yaml +0 -0
  77. {patchworks-1.4.2 → patchworks-1.4.3}/workflow/pixi.toml +0 -0
  78. {patchworks-1.4.2 → patchworks-1.4.3}/workflow/profile/slurm/config.yaml +0 -0
  79. {patchworks-1.4.2 → patchworks-1.4.3}/workflow/rules/common.smk +0 -0
  80. {patchworks-1.4.2 → patchworks-1.4.3}/workflow/rules/convert.smk +0 -0
  81. {patchworks-1.4.2 → patchworks-1.4.3}/workflow/rules/merge.smk +0 -0
  82. {patchworks-1.4.2 → patchworks-1.4.3}/workflow/rules/segment.smk +0 -0
  83. {patchworks-1.4.2 → patchworks-1.4.3}/workflow/scripts/_pw.py +0 -0
  84. {patchworks-1.4.2 → patchworks-1.4.3}/workflow/scripts/convert.py +0 -0
  85. {patchworks-1.4.2 → patchworks-1.4.3}/workflow/scripts/fetch_model.py +0 -0
  86. {patchworks-1.4.2 → patchworks-1.4.3}/workflow/scripts/merge.py +0 -0
  87. {patchworks-1.4.2 → patchworks-1.4.3}/workflow/scripts/prepare_tiles.py +0 -0
  88. {patchworks-1.4.2 → patchworks-1.4.3}/workflow/scripts/run_multi.py +0 -0
  89. {patchworks-1.4.2 → patchworks-1.4.3}/workflow/scripts/segment_tile.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: patchworks
3
- Version: 1.4.2
3
+ Version: 1.4.3
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
@@ -727,19 +727,23 @@ def _open_tiff_sequence(
727
727
  ts = tifffile.TiffSequence(pattern, pattern=sequence_pattern)
728
728
 
729
729
  # Each file should be a single 2D (y, x) plane, but tifffile.imread can
730
- # report extra leading singleton dims (e.g. a page/sample axis) even for
731
- # a plain single-page TIFFdrop those so one file maps to exactly (y, x).
730
+ # report extra singleton dims — leading, trailing, or both (e.g. a stray
731
+ # page or samples-per-pixel axis)even for a plain single-page TIFF.
732
+ # Drop whichever ones are singleton so one file maps to exactly (y, x).
732
733
  chunkshape = tifffile.imread(ts[0]).shape
733
- lead = len(chunkshape) - 2
734
- if lead < 0 or any(s != 1 for s in chunkshape[:lead]):
734
+ keep_chunk = [i for i, s in enumerate(chunkshape) if s != 1]
735
+ if len(keep_chunk) != 2:
735
736
  raise ValueError(
736
737
  f"expected single 2D (y, x) planes per file, got shape "
737
738
  f"{chunkshape} for {ts[0]!r}"
738
739
  )
739
740
 
740
741
  arr = da.from_zarr(zarr.open(store=ts.aszarr()))
741
- if lead:
742
- arr = arr[(slice(None),) * len(ts.axes) + (0,) * lead]
742
+ n_seq = len(ts.axes)
743
+ index = tuple(
744
+ slice(None) if i in keep_chunk else 0 for i in range(len(chunkshape))
745
+ )
746
+ arr = arr[(slice(None),) * n_seq + index]
743
747
  full_axes = ts.axes.lower() + "yx"
744
748
 
745
749
  # Canonicalise to patchworks' tczyx axis order regardless of the order
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