slide2vec 6.1.0__tar.gz → 6.1.1__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 (174) hide show
  1. {slide2vec-6.1.0 → slide2vec-6.1.1}/PKG-INFO +3 -3
  2. {slide2vec-6.1.0 → slide2vec-6.1.1}/pyproject.toml +4 -4
  3. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/__init__.py +1 -1
  4. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/runtime/hierarchical.py +2 -6
  5. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec.egg-info/PKG-INFO +3 -3
  6. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec.egg-info/requires.txt +2 -2
  7. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_hs2p_package_cutover.py +3 -3
  8. {slide2vec-6.1.0 → slide2vec-6.1.1}/LICENSE +0 -0
  9. {slide2vec-6.1.0 → slide2vec-6.1.1}/README.md +0 -0
  10. {slide2vec-6.1.0 → slide2vec-6.1.1}/setup.cfg +0 -0
  11. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/__main__.py +0 -0
  12. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/_cufile.py +0 -0
  13. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/api.py +0 -0
  14. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/artifacts.py +0 -0
  15. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/cli.py +0 -0
  16. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/configs/__init__.py +0 -0
  17. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/configs/default.yaml +0 -0
  18. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/configs/resources.py +0 -0
  19. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/cufile.json +0 -0
  20. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/data/__init__.py +0 -0
  21. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/data/dataset.py +0 -0
  22. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/data/tile_reader.py +0 -0
  23. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/data/tile_store.py +0 -0
  24. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/distributed/__init__.py +0 -0
  25. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/distributed/dense_image_worker.py +0 -0
  26. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/distributed/dense_worker.py +0 -0
  27. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/distributed/direct_embed_worker.py +0 -0
  28. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/distributed/image_worker.py +0 -0
  29. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/distributed/pin_gpu.py +0 -0
  30. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/distributed/pipeline_worker.py +0 -0
  31. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/distributed/worker_entry.py +0 -0
  32. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/encoders/__init__.py +0 -0
  33. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/encoders/base.py +0 -0
  34. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/encoders/models/__init__.py +0 -0
  35. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/encoders/models/conch.py +0 -0
  36. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/encoders/models/dinov2.py +0 -0
  37. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/encoders/models/dinov3.py +0 -0
  38. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/encoders/models/genbio.py +0 -0
  39. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/encoders/models/gigapath.py +0 -0
  40. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/encoders/models/gpfm.py +0 -0
  41. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/encoders/models/hibou.py +0 -0
  42. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/encoders/models/hoptimus.py +0 -0
  43. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/encoders/models/isight.py +0 -0
  44. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/encoders/models/lunit.py +0 -0
  45. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/encoders/models/midnight.py +0 -0
  46. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/encoders/models/moozy/__init__.py +0 -0
  47. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/encoders/models/moozy/blocks.py +0 -0
  48. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/encoders/models/moozy/case.py +0 -0
  49. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/encoders/models/moozy/loading.py +0 -0
  50. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/encoders/models/moozy/slide.py +0 -0
  51. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/encoders/models/moozy/types.py +0 -0
  52. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/encoders/models/mstar.py +0 -0
  53. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/encoders/models/musk.py +0 -0
  54. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/encoders/models/phikon.py +0 -0
  55. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/encoders/models/prism.py +0 -0
  56. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/encoders/models/prism2.py +0 -0
  57. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/encoders/models/prost40m.py +0 -0
  58. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/encoders/models/rudolfv2.py +0 -0
  59. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/encoders/models/titan.py +0 -0
  60. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/encoders/models/uni.py +0 -0
  61. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/encoders/models/virchow.py +0 -0
  62. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/encoders/models/waiv.py +0 -0
  63. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/encoders/registry.py +0 -0
  64. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/encoders/validation.py +0 -0
  65. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/inference.py +0 -0
  66. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/progress.py +0 -0
  67. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/runtime/__init__.py +0 -0
  68. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/runtime/artifacts_collect.py +0 -0
  69. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/runtime/batching.py +0 -0
  70. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/runtime/cpu_budget.py +0 -0
  71. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/runtime/dense_encode.py +0 -0
  72. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/runtime/dense_encoder_input.py +0 -0
  73. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/runtime/dense_image_reading.py +0 -0
  74. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/runtime/dense_image_recipe.py +0 -0
  75. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/runtime/dense_image_shard.py +0 -0
  76. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/runtime/dense_image_stage.py +0 -0
  77. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/runtime/dense_regions.py +0 -0
  78. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/runtime/dense_shard.py +0 -0
  79. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/runtime/dense_sliding.py +0 -0
  80. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/runtime/dense_stage.py +0 -0
  81. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/runtime/distributed.py +0 -0
  82. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/runtime/distributed_stage.py +0 -0
  83. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/runtime/effective_encoder_input.py +0 -0
  84. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/runtime/embedding.py +0 -0
  85. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/runtime/embedding_persist.py +0 -0
  86. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/runtime/embedding_pipeline.py +0 -0
  87. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/runtime/encoder_input_contract.py +0 -0
  88. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/runtime/image_shard.py +0 -0
  89. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/runtime/image_specs.py +0 -0
  90. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/runtime/image_stage.py +0 -0
  91. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/runtime/manifest.py +0 -0
  92. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/runtime/model_settings.py +0 -0
  93. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/runtime/patient_pipeline.py +0 -0
  94. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/runtime/persist_callbacks.py +0 -0
  95. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/runtime/persistence.py +0 -0
  96. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/runtime/pooled_encoder_input.py +0 -0
  97. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/runtime/preprocessing.py +0 -0
  98. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/runtime/process_list.py +0 -0
  99. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/runtime/progress_bridge.py +0 -0
  100. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/runtime/registry.py +0 -0
  101. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/runtime/serialization.py +0 -0
  102. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/runtime/sharding.py +0 -0
  103. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/runtime/slide_encode.py +0 -0
  104. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/runtime/tiling.py +0 -0
  105. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/runtime/tiling_pipeline.py +0 -0
  106. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/runtime/types.py +0 -0
  107. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/runtime/worker_io.py +0 -0
  108. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/utils/__init__.py +0 -0
  109. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/utils/config.py +0 -0
  110. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/utils/coordinates.py +0 -0
  111. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/utils/log_utils.py +0 -0
  112. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/utils/tiling_io.py +0 -0
  113. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec/utils/utils.py +0 -0
  114. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec.egg-info/SOURCES.txt +0 -0
  115. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec.egg-info/dependency_links.txt +0 -0
  116. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec.egg-info/entry_points.txt +0 -0
  117. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec.egg-info/not-zip-safe +0 -0
  118. {slide2vec-6.1.0 → slide2vec-6.1.1}/slide2vec.egg-info/top_level.txt +0 -0
  119. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_architecture_runtime_split.py +0 -0
  120. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_attention_extraction.py +0 -0
  121. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_benchmark_tooling.py +0 -0
  122. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_cufile_compat_mode.py +0 -0
  123. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_dense_encode_kit.py +0 -0
  124. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_dense_encoder_input.py +0 -0
  125. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_dense_extraction.py +0 -0
  126. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_dense_image_reading.py +0 -0
  127. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_dense_image_resume.py +0 -0
  128. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_dense_image_shard.py +0 -0
  129. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_dense_image_stage.py +0 -0
  130. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_dense_regions.py +0 -0
  131. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_dense_shard.py +0 -0
  132. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_dense_sliding.py +0 -0
  133. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_dense_source_spacing.py +0 -0
  134. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_dense_stage.py +0 -0
  135. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_dense_worker.py +0 -0
  136. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_dinov2_natimage.py +0 -0
  137. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_dinov3_natimage.py +0 -0
  138. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_encoder_capabilities.py +0 -0
  139. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_encoder_input_contract.py +0 -0
  140. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_encoder_plugins.py +0 -0
  141. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_encoder_preprocessing.py +0 -0
  142. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_encoder_provider_failures.py +0 -0
  143. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_encoder_registry.py +0 -0
  144. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_gpfm_genbio_heavy.py +0 -0
  145. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_hs2p5_integration.py +0 -0
  146. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_image_shard.py +0 -0
  147. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_image_stage.py +0 -0
  148. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_inference_benchmark.py +0 -0
  149. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_isight.py +0 -0
  150. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_load_model_hf_auth.py +0 -0
  151. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_mascaret.py +0 -0
  152. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_on_slide_persisted.py +0 -0
  153. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_output_consistency.py +0 -0
  154. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_patch_size_metadata.py +0 -0
  155. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_patient_manifest.py +0 -0
  156. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_phaet.py +0 -0
  157. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_pooled_encoder_input.py +0 -0
  158. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_pooled_geometry.py +0 -0
  159. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_prism.py +0 -0
  160. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_prism2.py +0 -0
  161. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_process_list_performance.py +0 -0
  162. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_progress.py +0 -0
  163. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_regression_core.py +0 -0
  164. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_regression_inference.py +0 -0
  165. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_regression_models.py +0 -0
  166. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_rudolfv2.py +0 -0
  167. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_runtime_batching.py +0 -0
  168. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_sharding.py +0 -0
  169. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_slide_coordinate_preparation.py +0 -0
  170. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_soma_migration.py +0 -0
  171. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_tile_store.py +0 -0
  172. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_tiling_pipeline.py +0 -0
  173. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_titan.py +0 -0
  174. {slide2vec-6.1.0 → slide2vec-6.1.1}/tests/test_worker_gpu_pinning.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: slide2vec
3
- Version: 6.1.0
3
+ Version: 6.1.1
4
4
  Summary: Embedding of whole slide images with Foundation Models
5
5
  Author-email: Clément Grisi <clement.grisi@radboudumc.nl>
6
6
  License-Expression: Apache-2.0
@@ -15,7 +15,7 @@ Classifier: Programming Language :: Python :: 3.13
15
15
  Requires-Python: >=3.10
16
16
  Description-Content-Type: text/markdown
17
17
  License-File: LICENSE
18
- Requires-Dist: hs2p[asap,cucim,openslide,sam2,vips]>=5.0.0
18
+ Requires-Dist: hs2p[asap,cucim,openslide,sam2,vips]>=5.0.2
19
19
  Requires-Dist: omegaconf
20
20
  Requires-Dist: matplotlib
21
21
  Requires-Dist: numpy<2
@@ -75,7 +75,7 @@ Requires-Dist: numpy<2; extra == "fm"
75
75
  Requires-Dist: pandas; extra == "fm"
76
76
  Requires-Dist: pillow; extra == "fm"
77
77
  Requires-Dist: rich; extra == "fm"
78
- Requires-Dist: hs2p[asap,cucim,openslide,sam2,vips]>=5.0.0; extra == "fm"
78
+ Requires-Dist: hs2p[asap,cucim,openslide,sam2,vips]>=5.0.2; extra == "fm"
79
79
  Requires-Dist: wandb; extra == "fm"
80
80
  Requires-Dist: torch<2.8,>=2.3; extra == "fm"
81
81
  Requires-Dist: torchvision>=0.18.0; extra == "fm"
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "slide2vec"
7
- version = "6.1.0"
7
+ version = "6.1.1"
8
8
  description = "Embedding of whole slide images with Foundation Models"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -21,7 +21,7 @@ classifiers = [
21
21
  "Programming Language :: Python :: 3.13",
22
22
  ]
23
23
  dependencies = [
24
- "hs2p[asap,cucim,openslide,sam2,vips]>=5.0.0",
24
+ "hs2p[asap,cucim,openslide,sam2,vips]>=5.0.2",
25
25
  "omegaconf",
26
26
  "matplotlib",
27
27
  "numpy<2",
@@ -100,7 +100,7 @@ fm = [
100
100
  "pandas",
101
101
  "pillow",
102
102
  "rich",
103
- "hs2p[asap,cucim,openslide,sam2,vips]>=5.0.0",
103
+ "hs2p[asap,cucim,openslide,sam2,vips]>=5.0.2",
104
104
  "wandb",
105
105
  "torch>=2.3,<2.8",
106
106
  "torchvision>=0.18.0",
@@ -180,7 +180,7 @@ no_implicit_reexport = true
180
180
  max-line-length = 160
181
181
 
182
182
  [tool.bumpver]
183
- current_version = "6.1.0"
183
+ current_version = "6.1.1"
184
184
  version_pattern = "MAJOR.MINOR.PATCH"
185
185
  commit = false
186
186
  tag = false
@@ -31,7 +31,7 @@ from slide2vec.encoders import (
31
31
  )
32
32
 
33
33
 
34
- __version__ = "6.1.0"
34
+ __version__ = "6.1.1"
35
35
 
36
36
  __all__ = [
37
37
  "Model",
@@ -1,5 +1,5 @@
1
1
  import numpy as np
2
- from hs2p.wsi.geometry import plan_spacing_read
2
+ from hs2p.wsi.geometry import plan_spacing_read, tile_size_lv0_from_plan
3
3
 
4
4
  from slide2vec.api import PreprocessingConfig
5
5
  from slide2vec.utils.coordinates import coordinate_arrays
@@ -53,13 +53,9 @@ def resolve_hierarchical_geometry(preprocessing: PreprocessingConfig, tiling_res
53
53
  tolerance=float(preprocessing.tolerance),
54
54
  content_kind="image",
55
55
  )
56
- read_spacing_um = float(read_plan.read_spacing_um)
57
56
  read_tile_size_px = int(read_plan.read_size_px[0])
58
57
  read_region_size_px = read_tile_size_px * multiple
59
- # Use the actual read geometry that produced the tile crop. When the
60
- # resolved spacing is considered equivalent to the requested spacing,
61
- # this keeps the level-0 footprint aligned with the real crop size.
62
- tile_size_lv0 = int(round(read_tile_size_px * read_spacing_um / base_spacing_um))
58
+ tile_size_lv0 = tile_size_lv0_from_plan(read_plan, level0_spacing_um=base_spacing_um)
63
59
  return {
64
60
  "region_tile_multiple": multiple,
65
61
  "tiles_per_region": multiple * multiple,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: slide2vec
3
- Version: 6.1.0
3
+ Version: 6.1.1
4
4
  Summary: Embedding of whole slide images with Foundation Models
5
5
  Author-email: Clément Grisi <clement.grisi@radboudumc.nl>
6
6
  License-Expression: Apache-2.0
@@ -15,7 +15,7 @@ Classifier: Programming Language :: Python :: 3.13
15
15
  Requires-Python: >=3.10
16
16
  Description-Content-Type: text/markdown
17
17
  License-File: LICENSE
18
- Requires-Dist: hs2p[asap,cucim,openslide,sam2,vips]>=5.0.0
18
+ Requires-Dist: hs2p[asap,cucim,openslide,sam2,vips]>=5.0.2
19
19
  Requires-Dist: omegaconf
20
20
  Requires-Dist: matplotlib
21
21
  Requires-Dist: numpy<2
@@ -75,7 +75,7 @@ Requires-Dist: numpy<2; extra == "fm"
75
75
  Requires-Dist: pandas; extra == "fm"
76
76
  Requires-Dist: pillow; extra == "fm"
77
77
  Requires-Dist: rich; extra == "fm"
78
- Requires-Dist: hs2p[asap,cucim,openslide,sam2,vips]>=5.0.0; extra == "fm"
78
+ Requires-Dist: hs2p[asap,cucim,openslide,sam2,vips]>=5.0.2; extra == "fm"
79
79
  Requires-Dist: wandb; extra == "fm"
80
80
  Requires-Dist: torch<2.8,>=2.3; extra == "fm"
81
81
  Requires-Dist: torchvision>=0.18.0; extra == "fm"
@@ -1,4 +1,4 @@
1
- hs2p[asap,cucim,openslide,sam2,vips]>=5.0.0
1
+ hs2p[asap,cucim,openslide,sam2,vips]>=5.0.2
2
2
  omegaconf
3
3
  matplotlib
4
4
  numpy<2
@@ -27,7 +27,7 @@ numpy<2
27
27
  pandas
28
28
  pillow
29
29
  rich
30
- hs2p[asap,cucim,openslide,sam2,vips]>=5.0.0
30
+ hs2p[asap,cucim,openslide,sam2,vips]>=5.0.2
31
31
  wandb
32
32
  torch<2.8,>=2.3
33
33
  torchvision>=0.18.0
@@ -23,7 +23,7 @@ def test_package_root_exports_api():
23
23
  assert hasattr(package, "DenseRegionArtifact")
24
24
 
25
25
 
26
- def test_dependency_declarations_require_hs2p_5_0_0_with_consistent_extras():
26
+ def test_dependency_declarations_require_hs2p_5_0_2_with_consistent_extras():
27
27
  project = tomllib.loads(
28
28
  (Path(__file__).resolve().parents[1] / "pyproject.toml").read_text(
29
29
  encoding="utf-8"
@@ -39,8 +39,8 @@ def test_dependency_declarations_require_hs2p_5_0_0_with_consistent_extras():
39
39
  ]
40
40
 
41
41
  assert hs2p_dependencies == [
42
- "hs2p[asap,cucim,openslide,sam2,vips]>=5.0.0",
43
- "hs2p[asap,cucim,openslide,sam2,vips]>=5.0.0",
42
+ "hs2p[asap,cucim,openslide,sam2,vips]>=5.0.2",
43
+ "hs2p[asap,cucim,openslide,sam2,vips]>=5.0.2",
44
44
  ]
45
45
 
46
46
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes