kaiko-eva 0.1.3__tar.gz → 0.1.6__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.

Potentially problematic release.


This version of kaiko-eva might be problematic. Click here for more details.

Files changed (548) hide show
  1. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/PKG-INFO +8 -8
  2. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/pyproject.toml +8 -8
  3. kaiko_eva-0.1.6/src/eva/core/utils/io/__init__.py +6 -0
  4. kaiko_eva-0.1.6/src/eva/core/utils/io/gz.py +28 -0
  5. kaiko_eva-0.1.6/src/eva/core/utils/multiprocessing.py +89 -0
  6. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/callbacks/loggers/batch/segmentation.py +7 -4
  7. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/segmentation/total_segmentator_2d.py +50 -18
  8. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/modules/semantic_segmentation.py +1 -1
  9. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/utils/colormap.py +20 -0
  10. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/utils/io/nifti.py +0 -1
  11. kaiko_eva-0.1.6/tests/eva/assets/core/archives/test.txt.gz +0 -0
  12. kaiko_eva-0.1.6/tests/eva/core/utils/io/__init__.py +1 -0
  13. kaiko_eva-0.1.6/tests/eva/core/utils/io/test_gz.py +40 -0
  14. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/datasets/segmentation/test_total_segmentator.py +11 -8
  15. kaiko_eva-0.1.3/src/eva/core/utils/io/__init__.py +0 -5
  16. kaiko_eva-0.1.3/src/eva/core/utils/multiprocessing.py +0 -44
  17. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/LICENSE +0 -0
  18. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/README.md +0 -0
  19. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/__init__.py +0 -0
  20. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/__main__.py +0 -0
  21. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/__version__.py +0 -0
  22. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/__init__.py +0 -0
  23. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/callbacks/__init__.py +0 -0
  24. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/callbacks/config.py +0 -0
  25. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/callbacks/writers/__init__.py +0 -0
  26. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/callbacks/writers/embeddings/__init__.py +0 -0
  27. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/callbacks/writers/embeddings/_manifest.py +0 -0
  28. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/callbacks/writers/embeddings/base.py +0 -0
  29. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/callbacks/writers/embeddings/classification.py +0 -0
  30. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/callbacks/writers/embeddings/segmentation.py +0 -0
  31. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/callbacks/writers/embeddings/typings.py +0 -0
  32. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/cli/__init__.py +0 -0
  33. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/cli/cli.py +0 -0
  34. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/cli/logo.py +0 -0
  35. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/cli/setup.py +0 -0
  36. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/__init__.py +0 -0
  37. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/dataloaders/__init__.py +0 -0
  38. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/dataloaders/dataloader.py +0 -0
  39. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/datamodules/__init__.py +0 -0
  40. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/datamodules/call.py +0 -0
  41. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/datamodules/datamodule.py +0 -0
  42. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/datamodules/schemas.py +0 -0
  43. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/datasets/__init__.py +0 -0
  44. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/datasets/base.py +0 -0
  45. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/datasets/classification/__init__.py +0 -0
  46. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/datasets/classification/embeddings.py +0 -0
  47. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/datasets/classification/multi_embeddings.py +0 -0
  48. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/datasets/dataset.py +0 -0
  49. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/datasets/embeddings.py +0 -0
  50. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/samplers/__init__.py +0 -0
  51. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/samplers/sampler.py +0 -0
  52. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/splitting/__init__.py +0 -0
  53. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/splitting/random.py +0 -0
  54. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/splitting/stratified.py +0 -0
  55. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/transforms/__init__.py +0 -0
  56. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/transforms/dtype/__init__.py +0 -0
  57. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/transforms/dtype/array.py +0 -0
  58. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/transforms/padding/__init__.py +0 -0
  59. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/transforms/padding/pad_2d_tensor.py +0 -0
  60. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/transforms/sampling/__init__.py +0 -0
  61. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/transforms/sampling/sample_from_axis.py +0 -0
  62. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/interface/__init__.py +0 -0
  63. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/interface/interface.py +0 -0
  64. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/loggers/__init__.py +0 -0
  65. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/loggers/dummy.py +0 -0
  66. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/loggers/experimental_loggers.py +0 -0
  67. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/loggers/log/__init__.py +0 -0
  68. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/loggers/log/image.py +0 -0
  69. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/loggers/log/parameters.py +0 -0
  70. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/loggers/log/utils.py +0 -0
  71. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/loggers/loggers.py +0 -0
  72. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/losses/__init__.py +0 -0
  73. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/losses/cross_entropy.py +0 -0
  74. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/metrics/__init__.py +0 -0
  75. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/metrics/average_loss.py +0 -0
  76. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/metrics/binary_balanced_accuracy.py +0 -0
  77. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/metrics/defaults/__init__.py +0 -0
  78. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/metrics/defaults/classification/__init__.py +0 -0
  79. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/metrics/defaults/classification/binary.py +0 -0
  80. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/metrics/defaults/classification/multiclass.py +0 -0
  81. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/metrics/structs/__init__.py +0 -0
  82. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/metrics/structs/collection.py +0 -0
  83. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/metrics/structs/metric.py +0 -0
  84. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/metrics/structs/module.py +0 -0
  85. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/metrics/structs/schemas.py +0 -0
  86. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/metrics/structs/typings.py +0 -0
  87. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/models/__init__.py +0 -0
  88. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/models/modules/__init__.py +0 -0
  89. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/models/modules/head.py +0 -0
  90. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/models/modules/inference.py +0 -0
  91. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/models/modules/module.py +0 -0
  92. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/models/modules/typings.py +0 -0
  93. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/models/modules/utils/__init__.py +0 -0
  94. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/models/modules/utils/batch_postprocess.py +0 -0
  95. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/models/modules/utils/grad.py +0 -0
  96. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/models/networks/__init__.py +0 -0
  97. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/models/networks/mlp.py +0 -0
  98. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/models/transforms/__init__.py +0 -0
  99. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/models/transforms/extract_cls_features.py +0 -0
  100. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/models/transforms/extract_patch_features.py +0 -0
  101. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/models/wrappers/__init__.py +0 -0
  102. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/models/wrappers/_utils.py +0 -0
  103. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/models/wrappers/base.py +0 -0
  104. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/models/wrappers/from_function.py +0 -0
  105. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/models/wrappers/huggingface.py +0 -0
  106. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/models/wrappers/onnx.py +0 -0
  107. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/trainers/__init__.py +0 -0
  108. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/trainers/_logging.py +0 -0
  109. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/trainers/_recorder.py +0 -0
  110. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/trainers/_utils.py +0 -0
  111. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/trainers/functional.py +0 -0
  112. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/trainers/trainer.py +0 -0
  113. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/utils/__init__.py +0 -0
  114. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/utils/clone.py +0 -0
  115. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/utils/io/dataframe.py +0 -0
  116. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/utils/memory.py +0 -0
  117. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/utils/operations.py +0 -0
  118. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/utils/parser.py +0 -0
  119. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/utils/progress_bar.py +0 -0
  120. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/utils/workers.py +0 -0
  121. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/__init__.py +0 -0
  122. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/callbacks/__init__.py +0 -0
  123. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/callbacks/loggers/__init__.py +0 -0
  124. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/callbacks/loggers/batch/__init__.py +0 -0
  125. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/callbacks/loggers/batch/base.py +0 -0
  126. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/__init__.py +0 -0
  127. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/__init__.py +0 -0
  128. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/_utils.py +0 -0
  129. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/_validators.py +0 -0
  130. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/classification/__init__.py +0 -0
  131. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/classification/bach.py +0 -0
  132. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/classification/base.py +0 -0
  133. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/classification/camelyon16.py +0 -0
  134. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/classification/crc.py +0 -0
  135. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/classification/mhist.py +0 -0
  136. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/classification/panda.py +0 -0
  137. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/classification/patch_camelyon.py +0 -0
  138. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/classification/wsi.py +0 -0
  139. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/segmentation/__init__.py +0 -0
  140. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/segmentation/_utils.py +0 -0
  141. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/segmentation/base.py +0 -0
  142. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/segmentation/bcss.py +0 -0
  143. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/segmentation/consep.py +0 -0
  144. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/segmentation/embeddings.py +0 -0
  145. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/segmentation/lits.py +0 -0
  146. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/segmentation/lits_balanced.py +0 -0
  147. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/segmentation/monusac.py +0 -0
  148. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/structs.py +0 -0
  149. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/vision.py +0 -0
  150. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/wsi.py +0 -0
  151. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/transforms/__init__.py +0 -0
  152. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/transforms/common/__init__.py +0 -0
  153. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/transforms/common/resize_and_clamp.py +0 -0
  154. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/transforms/common/resize_and_crop.py +0 -0
  155. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/transforms/normalization/__init__.py +0 -0
  156. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/transforms/normalization/clamp.py +0 -0
  157. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/transforms/normalization/functional/__init__.py +0 -0
  158. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/transforms/normalization/functional/rescale_intensity.py +0 -0
  159. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/transforms/normalization/rescale_intensity.py +0 -0
  160. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/wsi/__init__.py +0 -0
  161. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/wsi/backends/__init__.py +0 -0
  162. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/wsi/backends/base.py +0 -0
  163. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/wsi/backends/openslide.py +0 -0
  164. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/wsi/backends/pil.py +0 -0
  165. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/wsi/backends/tiffslide.py +0 -0
  166. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/wsi/patching/__init__.py +0 -0
  167. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/wsi/patching/coordinates.py +0 -0
  168. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/wsi/patching/mask.py +0 -0
  169. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/wsi/patching/samplers/__init__.py +0 -0
  170. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/wsi/patching/samplers/_utils.py +0 -0
  171. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/wsi/patching/samplers/base.py +0 -0
  172. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/wsi/patching/samplers/foreground_grid.py +0 -0
  173. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/wsi/patching/samplers/grid.py +0 -0
  174. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/wsi/patching/samplers/random.py +0 -0
  175. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/losses/__init__.py +0 -0
  176. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/losses/dice.py +0 -0
  177. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/metrics/__init__.py +0 -0
  178. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/metrics/defaults/__init__.py +0 -0
  179. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/metrics/defaults/segmentation/__init__.py +0 -0
  180. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/metrics/defaults/segmentation/multiclass.py +0 -0
  181. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/metrics/segmentation/BUILD +0 -0
  182. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/metrics/segmentation/__init__.py +0 -0
  183. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/metrics/segmentation/_utils.py +0 -0
  184. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/metrics/segmentation/generalized_dice.py +0 -0
  185. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/metrics/segmentation/mean_iou.py +0 -0
  186. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/__init__.py +0 -0
  187. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/modules/__init__.py +0 -0
  188. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/__init__.py +0 -0
  189. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/abmil.py +0 -0
  190. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/backbones/__init__.py +0 -0
  191. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/backbones/_utils.py +0 -0
  192. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/backbones/pathology/__init__.py +0 -0
  193. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/backbones/pathology/bioptimus.py +0 -0
  194. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/backbones/pathology/gigapath.py +0 -0
  195. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/backbones/pathology/histai.py +0 -0
  196. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/backbones/pathology/kaiko.py +0 -0
  197. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/backbones/pathology/lunit.py +0 -0
  198. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/backbones/pathology/mahmood.py +0 -0
  199. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/backbones/pathology/owkin.py +0 -0
  200. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/backbones/pathology/paige.py +0 -0
  201. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/backbones/registry.py +0 -0
  202. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/backbones/timm/__init__.py +0 -0
  203. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/backbones/timm/backbones.py +0 -0
  204. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/backbones/universal/__init__.py +0 -0
  205. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/backbones/universal/vit.py +0 -0
  206. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/decoders/__init__.py +0 -0
  207. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/decoders/segmentation/__init__.py +0 -0
  208. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/decoders/segmentation/base.py +0 -0
  209. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/decoders/segmentation/decoder2d.py +0 -0
  210. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/decoders/segmentation/linear.py +0 -0
  211. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/decoders/segmentation/semantic/__init__.py +0 -0
  212. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/decoders/segmentation/semantic/common.py +0 -0
  213. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/decoders/segmentation/semantic/with_image.py +0 -0
  214. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/decoders/segmentation/typings.py +0 -0
  215. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/wrappers/__init__.py +0 -0
  216. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/wrappers/from_registry.py +0 -0
  217. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/wrappers/from_timm.py +0 -0
  218. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/utils/__init__.py +0 -0
  219. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/utils/convert.py +0 -0
  220. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/utils/io/__init__.py +0 -0
  221. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/utils/io/_utils.py +0 -0
  222. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/utils/io/image.py +0 -0
  223. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/utils/io/mat.py +0 -0
  224. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/utils/io/text.py +0 -0
  225. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/__init__.py +0 -0
  226. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/__init__.py +0 -0
  227. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/_cli.py +0 -0
  228. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/core/datasets/embeddings/embeddings/tensor_0_shape_8.pt +0 -0
  229. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/core/datasets/embeddings/embeddings/tensor_1_shape_8.pt +0 -0
  230. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/core/datasets/embeddings/embeddings/tensor_2_shape_8_list.pt +0 -0
  231. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/core/datasets/embeddings/embeddings/tensor_3_shape_8_list.pt +0 -0
  232. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/core/datasets/embeddings/embeddings/tensor_4_shape_1x8.pt +0 -0
  233. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/core/datasets/embeddings/embeddings/tensor_5_shape_1x8.pt +0 -0
  234. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/core/datasets/embeddings/embeddings/tensor_6_shape_1x8_list.pt +0 -0
  235. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/core/datasets/embeddings/embeddings/tensor_7_shape_1x8_list.pt +0 -0
  236. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/core/datasets/embeddings/manifest.csv +0 -0
  237. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_0_shape_6x8.pt +0 -0
  238. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_1_shape_3x8.pt +0 -0
  239. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_2_shape_1x8.pt +0 -0
  240. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_3_shape_2x8.pt +0 -0
  241. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_4_shape_5x8.pt +0 -0
  242. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_5_shape_3x8.pt +0 -0
  243. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_6_shape_1x8_list.pt +0 -0
  244. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_7_shape_6x8_list.pt +0 -0
  245. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_8_shape_2x8_list.pt +0 -0
  246. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_9_shape_5x8_list.pt +0 -0
  247. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/core/datasets/multi-embeddings/manifest.csv +0 -0
  248. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/images/random_bgr_32x32.png +0 -0
  249. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/images/random_grayscale_32x32.png +0 -0
  250. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Benign/b001.tif +0 -0
  251. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Benign/b002.tif +0 -0
  252. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Benign/b003.tif +0 -0
  253. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Benign/b004.tif +0 -0
  254. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Benign/b005.tif +0 -0
  255. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Benign/b006.tif +0 -0
  256. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/InSitu/is001.tif +0 -0
  257. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/InSitu/is002.tif +0 -0
  258. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/InSitu/is003.tif +0 -0
  259. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/InSitu/is004.tif +0 -0
  260. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/InSitu/is005.tif +0 -0
  261. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/InSitu/is006.tif +0 -0
  262. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Invasive/iv001.tif +0 -0
  263. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Invasive/iv002.tif +0 -0
  264. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Invasive/iv003.tif +0 -0
  265. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Invasive/iv004.tif +0 -0
  266. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Invasive/iv005.tif +0 -0
  267. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Invasive/iv006.tif +0 -0
  268. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Normal/n001.tif +0 -0
  269. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Normal/n002.tif +0 -0
  270. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Normal/n003.tif +0 -0
  271. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Normal/n004.tif +0 -0
  272. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Normal/n005.tif +0 -0
  273. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Normal/n006.tif +0 -0
  274. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/bcss/masks/TCGA-A2-A0CM-DX1_xmin18562_ymin56852_MPP-0.2500.png +0 -0
  275. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/bcss/masks/TCGA-A7-A4SD-DX1_xmin53807_ymin11871_MPP-0.2500.png +0 -0
  276. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/bcss/masks/TCGA-AR-A0TS-DX1_xmin118843_ymin22812_MPP-0.2500.png +0 -0
  277. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/bcss/masks/TCGA-AR-A1AQ-DX1_xmin18171_ymin38296_MPP-0.2500.png +0 -0
  278. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/bcss/masks/TCGA-C8-A3XY-DX1_xmin76297_ymin35510_MPP-0.2500.png +0 -0
  279. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/bcss/masks/TCGA-D8-A1XQ-DX1_xmin61261_ymin33317_MPP-0.2500.png +0 -0
  280. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/bcss/masks/TCGA-EW-A1P4-DX1_xmin17256_ymin35430_MPP-0.2500.png +0 -0
  281. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/bcss/masks/TCGA-GI-A2C9-DX1_xmin20882_ymin11843_MPP-0.2500.png +0 -0
  282. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/bcss/masks/TCGA-OL-A5D6-DX1_xmin115108_ymin40554_MPP-0.2500.png +0 -0
  283. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/bcss/masks/TCGA-OL-A5D7-DX1_xmin114443_ymin22490_MPP-0.2500.png +0 -0
  284. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/bcss/rgbs_colorNormalized/TCGA-A2-A0CM-DX1_xmin18562_ymin56852_MPP-0.2500.png +0 -0
  285. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/bcss/rgbs_colorNormalized/TCGA-A7-A4SD-DX1_xmin53807_ymin11871_MPP-0.2500.png +0 -0
  286. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/bcss/rgbs_colorNormalized/TCGA-AR-A0TS-DX1_xmin118843_ymin22812_MPP-0.2500.png +0 -0
  287. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/bcss/rgbs_colorNormalized/TCGA-AR-A1AQ-DX1_xmin18171_ymin38296_MPP-0.2500.png +0 -0
  288. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/bcss/rgbs_colorNormalized/TCGA-C8-A3XY-DX1_xmin76297_ymin35510_MPP-0.2500.png +0 -0
  289. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/bcss/rgbs_colorNormalized/TCGA-D8-A1XQ-DX1_xmin61261_ymin33317_MPP-0.2500.png +0 -0
  290. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/bcss/rgbs_colorNormalized/TCGA-EW-A1P4-DX1_xmin17256_ymin35430_MPP-0.2500.png +0 -0
  291. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/bcss/rgbs_colorNormalized/TCGA-GI-A2C9-DX1_xmin20882_ymin11843_MPP-0.2500.png +0 -0
  292. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/bcss/rgbs_colorNormalized/TCGA-OL-A5D6-DX1_xmin115108_ymin40554_MPP-0.2500.png +0 -0
  293. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/bcss/rgbs_colorNormalized/TCGA-OL-A5D7-DX1_xmin114443_ymin22490_MPP-0.2500.png +0 -0
  294. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/camelyon16/testing/images/test_001.tif +0 -0
  295. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/camelyon16/testing/images/test_002.tif +0 -0
  296. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/camelyon16/testing/reference.csv +0 -0
  297. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/camelyon16/training/normal/normal_001.tif +0 -0
  298. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/camelyon16/training/normal/normal_002.tif +0 -0
  299. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/camelyon16/training/tumor/tumor_001.tif +0 -0
  300. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/camelyon16/training/tumor/tumor_002.tif +0 -0
  301. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/consep/Test/Images/test_1.png +0 -0
  302. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/consep/Test/Images/test_2.png +0 -0
  303. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/consep/Test/Images/test_3.png +0 -0
  304. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/consep/Test/Labels/test_1.mat +0 -0
  305. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/consep/Test/Labels/test_2.mat +0 -0
  306. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/consep/Test/Labels/test_3.mat +0 -0
  307. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/consep/Train/Images/train_1.png +0 -0
  308. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/consep/Train/Images/train_2.png +0 -0
  309. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/consep/Train/Images/train_3.png +0 -0
  310. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/consep/Train/Images/train_4.png +0 -0
  311. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/consep/Train/Labels/train_1.mat +0 -0
  312. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/consep/Train/Labels/train_2.mat +0 -0
  313. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/consep/Train/Labels/train_3.mat +0 -0
  314. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/consep/Train/Labels/train_4.mat +0 -0
  315. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/ADI/ADI-SIHVHHPH.tif +0 -0
  316. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/ADI/ADI-SIHWWQMY.tif +0 -0
  317. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/BACK/BACK-YYYHKNMK.tif +0 -0
  318. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/BACK/BACK-YYYMDTNW.tif +0 -0
  319. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/DEB/DEB-YYYRSHLP.tif +0 -0
  320. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/DEB/DEB-YYYTCTDR.tif +0 -0
  321. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/LYM/LYM-YYWRPGDD.tif +0 -0
  322. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/LYM/LYM-YYYTKMWW.tif +0 -0
  323. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/MUC/MUC-YYYNWSAM.tif +0 -0
  324. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/MUC/MUC-YYYRQDLW.tif +0 -0
  325. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/MUS/MUS-YYYNVQVQ.tif +0 -0
  326. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/MUS/MUS-YYYRWWNH.tif +0 -0
  327. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/NORM/NORM-YYTTIRVD.tif +0 -0
  328. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/NORM/NORM-YYVAFTKA.tif +0 -0
  329. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/STR/STR-YYYHNSSM.tif +0 -0
  330. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/STR/STR-YYYWVWFG.tif +0 -0
  331. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/TUM/TUM-YYYSGWYW.tif +0 -0
  332. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/TUM/TUM-YYYYQFVN.tif +0 -0
  333. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/ADI/ADI-SIHVHHPH.tif +0 -0
  334. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/ADI/ADI-SIHWWQMY.tif +0 -0
  335. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/BACK/BACK-YYYHKNMK.tif +0 -0
  336. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/BACK/BACK-YYYMDTNW.tif +0 -0
  337. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/DEB/DEB-YYYRSHLP.tif +0 -0
  338. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/DEB/DEB-YYYTCTDR.tif +0 -0
  339. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/LYM/LYM-YYWRPGDD.tif +0 -0
  340. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/LYM/LYM-YYYTKMWW.tif +0 -0
  341. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/MUC/MUC-YYYNWSAM.tif +0 -0
  342. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/MUC/MUC-YYYRQDLW.tif +0 -0
  343. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/MUS/MUS-YYYNVQVQ.tif +0 -0
  344. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/MUS/MUS-YYYRWWNH.tif +0 -0
  345. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/NORM/NORM-YYTTIRVD.tif +0 -0
  346. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/NORM/NORM-YYVAFTKA.tif +0 -0
  347. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/STR/STR-YYYHNSSM.tif +0 -0
  348. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/STR/STR-YYYWVWFG.tif +0 -0
  349. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/TUM/TUM-YYYSGWYW.tif +0 -0
  350. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/TUM/TUM-YYYYQFVN.tif +0 -0
  351. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/ADI/ADI-SIHVHHPH.tif +0 -0
  352. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/ADI/ADI-SIHWWQMY.tif +0 -0
  353. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/BACK/BACK-YYYHKNMK.tif +0 -0
  354. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/BACK/BACK-YYYMDTNW.tif +0 -0
  355. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/DEB/DEB-YYYRSHLP.tif +0 -0
  356. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/DEB/DEB-YYYTCTDR.tif +0 -0
  357. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/LYM/LYM-YYWRPGDD.tif +0 -0
  358. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/LYM/LYM-YYYTKMWW.tif +0 -0
  359. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/MUC/MUC-YYYNWSAM.tif +0 -0
  360. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/MUC/MUC-YYYRQDLW.tif +0 -0
  361. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/MUS/MUS-YYYNVQVQ.tif +0 -0
  362. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/MUS/MUS-YYYRWWNH.tif +0 -0
  363. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/NORM/NORM-YYTTIRVD.tif +0 -0
  364. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/NORM/NORM-YYVAFTKA.tif +0 -0
  365. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/STR/STR-YYYHNSSM.tif +0 -0
  366. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/STR/STR-YYYWVWFG.tif +0 -0
  367. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/TUM/TUM-YYYSGWYW.tif +0 -0
  368. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/TUM/TUM-YYYYQFVN.tif +0 -0
  369. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/lits/Training_Batch2/segmentation-31.nii +0 -0
  370. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/lits/Training_Batch2/segmentation-45.nii +0 -0
  371. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/lits/Training_Batch2/volume-31.nii +0 -0
  372. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/lits/Training_Batch2/volume-45.nii +0 -0
  373. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/mhist/annotations.csv +0 -0
  374. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/mhist/images/MHIST_aaa.png +0 -0
  375. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/mhist/images/MHIST_aab.png +0 -0
  376. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/mhist/images/MHIST_aac.png +0 -0
  377. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/mhist/images/MHIST_aae.png +0 -0
  378. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/mhist/images/MHIST_aaf.png +0 -0
  379. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/mhist/images/MHIST_aag.png +0 -0
  380. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/mhist/images/MHIST_aah.png +0 -0
  381. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/monusac/MoNuSAC Testing Data and Annotations/TCGA-2Z-A9JG-01Z-00-DX1/TCGA-2Z-A9JG-01Z-00-DX1_1.tif +0 -0
  382. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/monusac/MoNuSAC Testing Data and Annotations/TCGA-2Z-A9JG-01Z-00-DX1/TCGA-2Z-A9JG-01Z-00-DX1_1.xml +0 -0
  383. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/monusac/MoNuSAC Testing Data and Annotations/TCGA-2Z-A9JG-01Z-00-DX1/TCGA-2Z-A9JG-01Z-00-DX1_2.tif +0 -0
  384. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/monusac/MoNuSAC Testing Data and Annotations/TCGA-2Z-A9JG-01Z-00-DX1/TCGA-2Z-A9JG-01Z-00-DX1_2.xml +0 -0
  385. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/monusac/MoNuSAC Testing Data and Annotations/TCGA-2Z-A9JG-01Z-00-DX1/TCGA-2Z-A9JG-01Z-00-DX1_3.tif +0 -0
  386. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/monusac/MoNuSAC Testing Data and Annotations/TCGA-2Z-A9JG-01Z-00-DX1/TCGA-2Z-A9JG-01Z-00-DX1_3.xml +0 -0
  387. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/monusac/MoNuSAC Testing Data and Annotations/TCGA-2Z-A9JN-01Z-00-DX1/TCGA-2Z-A9JN-01Z-00-DX1_1.tif +0 -0
  388. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/monusac/MoNuSAC Testing Data and Annotations/TCGA-2Z-A9JN-01Z-00-DX1/TCGA-2Z-A9JN-01Z-00-DX1_1.xml +0 -0
  389. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/monusac/MoNuSAC_images_and_annotations/TCGA-55-1594-01Z-00-DX1/TCGA-55-1594-01Z-00-DX1_003.tif +0 -0
  390. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/monusac/MoNuSAC_images_and_annotations/TCGA-55-1594-01Z-00-DX1/TCGA-55-1594-01Z-00-DX1_003.xml +0 -0
  391. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/monusac/MoNuSAC_images_and_annotations/TCGA-5P-A9K0-01Z-00-DX1/TCGA-5P-A9K0-01Z-00-DX1_3.tif +0 -0
  392. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/monusac/MoNuSAC_images_and_annotations/TCGA-5P-A9K0-01Z-00-DX1/TCGA-5P-A9K0-01Z-00-DX1_3.xml +0 -0
  393. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/monusac/MoNuSAC_images_and_annotations/TCGA-69-7760-01Z-00-DX1/TCGA-69-7760-01Z-00-DX1_001.tif +0 -0
  394. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/monusac/MoNuSAC_images_and_annotations/TCGA-69-7760-01Z-00-DX1/TCGA-69-7760-01Z-00-DX1_001.xml +0 -0
  395. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/monusac/MoNuSAC_images_and_annotations/TCGA-69-A59K-01Z-00-DX1/TCGA-69-A59K-01Z-00-DX1_001.tif +0 -0
  396. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/monusac/MoNuSAC_images_and_annotations/TCGA-69-A59K-01Z-00-DX1/TCGA-69-A59K-01Z-00-DX1_001.xml +0 -0
  397. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/monusac/MoNuSAC_images_and_annotations/TCGA-69-A59K-01Z-00-DX1/TCGA-69-A59K-01Z-00-DX1_002.tif +0 -0
  398. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/monusac/MoNuSAC_images_and_annotations/TCGA-69-A59K-01Z-00-DX1/TCGA-69-A59K-01Z-00-DX1_002.xml +0 -0
  399. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/panda/train_images/0214df71ae527e2144021178c453d204.tiff +0 -0
  400. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/panda/train_images/02d302a8d723fa00331f373091b29135.tiff +0 -0
  401. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/panda/train_images/157565e23ba28d5a42f63f34f3dd4425.tiff +0 -0
  402. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/panda/train_images/682a1fd346b6fff340afbdb80c2f7caf.tiff +0 -0
  403. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/panda/train_images/8582b59b41635fa38401d1bddad66707.tiff +0 -0
  404. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/panda/train_images/8c357871e57c5c60277230412f2d9028.tiff +0 -0
  405. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/panda/train_images/979cf5a2fa4079eaf74343d6ff5e1b51.tiff +0 -0
  406. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/panda/train_images/9dd40c0127d217bc4917e4db40e06e94.tiff +0 -0
  407. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/panda/train_images/9ed8ec7bf90653bc4ca86b3ca53cbb96.tiff +0 -0
  408. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/panda/train_images/a04310d441e8d2c7a5066627baeec9b6.tiff +0 -0
  409. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/panda/train_images/fb8886059879eaac70139336cb525838.tiff +0 -0
  410. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/panda/train_with_noisy_labels.csv +0 -0
  411. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/patch_camelyon/camelyonpatch_level_2_split_test_x.h5 +0 -0
  412. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/patch_camelyon/camelyonpatch_level_2_split_test_y.h5 +0 -0
  413. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/patch_camelyon/camelyonpatch_level_2_split_train_x.h5 +0 -0
  414. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/patch_camelyon/camelyonpatch_level_2_split_train_y.h5 +0 -0
  415. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/patch_camelyon/camelyonpatch_level_2_split_valid_x.h5 +0 -0
  416. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/patch_camelyon/camelyonpatch_level_2_split_valid_y.h5 +0 -0
  417. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/meta.csv +0 -0
  418. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0011/ct.nii.gz +0 -0
  419. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0011/segmentations/aorta_small.nii.gz +0 -0
  420. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0011/segmentations/brain_small.nii.gz +0 -0
  421. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0011/segmentations/colon_small.nii.gz +0 -0
  422. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0011/segmentations/semantic_labels/masks.nii.gz +0 -0
  423. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0461/ct.nii.gz +0 -0
  424. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0461/segmentations/aorta_small.nii.gz +0 -0
  425. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0461/segmentations/brain_small.nii.gz +0 -0
  426. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0461/segmentations/colon_small.nii.gz +0 -0
  427. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0461/segmentations/semantic_labels/masks.nii.gz +0 -0
  428. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0762/ct.nii.gz +0 -0
  429. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0762/segmentations/aorta_small.nii.gz +0 -0
  430. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0762/segmentations/brain_small.nii.gz +0 -0
  431. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0762/segmentations/colon_small.nii.gz +0 -0
  432. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0762/segmentations/semantic_labels/masks.nii.gz +0 -0
  433. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/wsi/0/a.tiff +0 -0
  434. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/wsi/0/b.tiff +0 -0
  435. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/wsi/1/a.tiff +0 -0
  436. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/wsi/manifest.csv +0 -0
  437. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/conftest.py +0 -0
  438. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/callbacks/__init__.py +0 -0
  439. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/callbacks/conftest.py +0 -0
  440. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/callbacks/writers/__init__.py +0 -0
  441. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/callbacks/writers/embeddings/__init__.py +0 -0
  442. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/callbacks/writers/embeddings/test_classification.py +0 -0
  443. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/data/__init__.py +0 -0
  444. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/data/dataloaders/__init__.py +0 -0
  445. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/data/dataloaders/test_dataloader.py +0 -0
  446. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/data/datamodules/__init__.py +0 -0
  447. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/data/datamodules/_utils.py +0 -0
  448. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/data/datamodules/test_datamodule.py +0 -0
  449. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/data/datamodules/test_schemas.py +0 -0
  450. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/data/datasets/__init__.py +0 -0
  451. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/data/datasets/classification/__init__.py +0 -0
  452. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/data/datasets/classification/test_embeddings.py +0 -0
  453. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/data/datasets/classification/test_multi_embeddings.py +0 -0
  454. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/data/splitting/__init__.py +0 -0
  455. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/data/splitting/test_random.py +0 -0
  456. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/data/splitting/test_stratified.py +0 -0
  457. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/data/transforms/__init__.py +0 -0
  458. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/data/transforms/padding/__init__.py +0 -0
  459. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/data/transforms/padding/test_pad_2d_tensor.py +0 -0
  460. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/data/transforms/sampling/__init__.py +0 -0
  461. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/data/transforms/sampling/test_sample_from_axis.py +0 -0
  462. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/metrics/__init__.py +0 -0
  463. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/metrics/core/__init__.py +0 -0
  464. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/metrics/core/test_metric_module.py +0 -0
  465. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/metrics/core/test_schemas.py +0 -0
  466. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/metrics/defaults/__init__.py +0 -0
  467. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/metrics/defaults/classification/__init__.py +0 -0
  468. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/metrics/defaults/classification/test_binary.py +0 -0
  469. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/metrics/defaults/classification/test_multiclass.py +0 -0
  470. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/metrics/test_average_loss.py +0 -0
  471. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/metrics/test_binary_balanced_accuracy.py +0 -0
  472. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/models/__init__.py +0 -0
  473. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/models/modules/__init__.py +0 -0
  474. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/models/modules/conftest.py +0 -0
  475. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/models/modules/test_head.py +0 -0
  476. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/models/modules/test_inference.py +0 -0
  477. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/models/modules/utils/__init__.py +0 -0
  478. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/models/modules/utils/test_batch_postproces.py +0 -0
  479. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/models/networks/__init__.py +0 -0
  480. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/models/networks/test_mlp.py +0 -0
  481. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/models/wrappers/__init__.py +0 -0
  482. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/models/wrappers/test_from_function.py +0 -0
  483. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/models/wrappers/test_huggingface.py +0 -0
  484. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/models/wrappers/test_onnx.py +0 -0
  485. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/test_cli.py +0 -0
  486. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/trainers/__init__.py +0 -0
  487. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/trainers/test_recorder.py +0 -0
  488. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/utils/__init__.py +0 -0
  489. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/utils/test_operations.py +0 -0
  490. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/__init__.py +0 -0
  491. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/__init__.py +0 -0
  492. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/datasets/__init__.py +0 -0
  493. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/datasets/classification/__init__.py +0 -0
  494. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/datasets/classification/test_bach.py +0 -0
  495. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/datasets/classification/test_camelyon16.py +0 -0
  496. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/datasets/classification/test_crc.py +0 -0
  497. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/datasets/classification/test_mhist.py +0 -0
  498. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/datasets/classification/test_panda.py +0 -0
  499. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/datasets/classification/test_patch_camelyon.py +0 -0
  500. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/datasets/classification/test_wsi.py +0 -0
  501. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/datasets/segmentation/__init__.py +0 -0
  502. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/datasets/segmentation/test_bcss.py +0 -0
  503. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/datasets/segmentation/test_consep.py +0 -0
  504. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/datasets/segmentation/test_lits.py +0 -0
  505. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/datasets/segmentation/test_lits_balanced.py +0 -0
  506. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/datasets/segmentation/test_monusac.py +0 -0
  507. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/datasets/test_wsi.py +0 -0
  508. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/transforms/__init__.py +0 -0
  509. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/transforms/common/__init__.py +0 -0
  510. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/transforms/common/test_resize_and_clamp.py +0 -0
  511. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/transforms/common/test_resize_and_crop.py +0 -0
  512. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/transforms/normalization/__init__.py +0 -0
  513. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/transforms/normalization/functional/__init__.py +0 -0
  514. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/transforms/normalization/functional/test_rescale_intensity.py +0 -0
  515. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/wsi/__init__.py +0 -0
  516. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/wsi/patching/__init__.py +0 -0
  517. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/wsi/patching/samplers/__init__.py +0 -0
  518. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/wsi/patching/samplers/test_foreground_grid.py +0 -0
  519. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/wsi/patching/samplers/test_grid.py +0 -0
  520. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/wsi/patching/samplers/test_random.py +0 -0
  521. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/wsi/patching/test_mask.py +0 -0
  522. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/metrics/defaults/__init__.py +0 -0
  523. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/metrics/defaults/segmentation/__init__.py +0 -0
  524. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/metrics/defaults/segmentation/test_multiclass.py +0 -0
  525. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/metrics/segmentation/__init__.py +0 -0
  526. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/metrics/segmentation/_utils.py +0 -0
  527. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/metrics/segmentation/test_generalized_dice.py +0 -0
  528. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/metrics/segmentation/test_mean_iou.py +0 -0
  529. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/models/__init__.py +0 -0
  530. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/models/modules/__init__.py +0 -0
  531. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/models/modules/conftest.py +0 -0
  532. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/models/modules/test_semantic_segmentation.py +0 -0
  533. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/models/networks/__init__.py +0 -0
  534. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/models/networks/backbones/__init__.py +0 -0
  535. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/models/networks/backbones/test_registry.py +0 -0
  536. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/models/networks/decoders/__init__.py +0 -0
  537. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/models/networks/decoders/segmentation/__init__.py +0 -0
  538. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/models/networks/decoders/segmentation/conv.py +0 -0
  539. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/models/networks/decoders/segmentation/linear.py +0 -0
  540. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/models/networks/test_abmil.py +0 -0
  541. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/models/wrappers/__init__.py +0 -0
  542. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/models/wrappers/test_backbone.py +0 -0
  543. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/models/wrappers/test_from_timm.py +0 -0
  544. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/test_vision_cli.py +0 -0
  545. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/utils/__init__.py +0 -0
  546. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/utils/io/__init__.py +0 -0
  547. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/utils/io/test_image.py +0 -0
  548. {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/utils/test_convert.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: kaiko-eva
3
- Version: 0.1.3
3
+ Version: 0.1.6
4
4
  Summary: Evaluation Framework for oncology foundation models.
5
5
  Keywords: machine-learning,evaluation-framework,oncology,foundation-models
6
6
  Author-Email: Ioannis Gatopoulos <ioannis@kaiko.ai>, =?utf-8?q?Nicolas_K=C3=A4nzig?= <nicolas@kaiko.ai>, Roman Moser <roman@kaiko.ai>
@@ -216,21 +216,21 @@ Project-URL: Homepage, https://kaiko-ai.github.io/eva/dev/
216
216
  Project-URL: Repository, https://github.com/kaiko-ai/eva
217
217
  Project-URL: Documentation, https://kaiko-ai.github.io/eva/dev/
218
218
  Requires-Python: >=3.10
219
- Requires-Dist: torch==2.3.0
220
- Requires-Dist: lightning>=2.2.2
221
- Requires-Dist: jsonargparse[omegaconf]==4.31.0
219
+ Requires-Dist: torch>=2.3.0
220
+ Requires-Dist: lightning>=2.2.0
221
+ Requires-Dist: jsonargparse[omegaconf]>=4.30.0
222
222
  Requires-Dist: tensorboard>=2.16.2
223
223
  Requires-Dist: loguru>=0.7.2
224
- Requires-Dist: pandas>=2.2.0
224
+ Requires-Dist: pandas>=2.0.0
225
225
  Requires-Dist: transformers>=4.38.2
226
- Requires-Dist: onnxruntime>=1.17.1
226
+ Requires-Dist: onnxruntime>=1.15.1
227
227
  Requires-Dist: onnx>=1.16.0
228
228
  Requires-Dist: toolz>=0.12.1
229
229
  Requires-Dist: rich>=13.7.1
230
230
  Requires-Dist: torchmetrics>=1.4.2
231
231
  Provides-Extra: vision
232
232
  Requires-Dist: h5py>=3.10.0; extra == "vision"
233
- Requires-Dist: nibabel>=5.2.0; extra == "vision"
233
+ Requires-Dist: nibabel>=4.0.1; extra == "vision"
234
234
  Requires-Dist: opencv-python-headless>=4.9.0.80; extra == "vision"
235
235
  Requires-Dist: timm>=1.0.9; extra == "vision"
236
236
  Requires-Dist: torchvision>=0.17.0; extra == "vision"
@@ -242,7 +242,7 @@ Requires-Dist: scipy>=1.14.0; extra == "vision"
242
242
  Requires-Dist: monai>=1.3.2; extra == "vision"
243
243
  Provides-Extra: all
244
244
  Requires-Dist: h5py>=3.10.0; extra == "all"
245
- Requires-Dist: nibabel>=5.2.0; extra == "all"
245
+ Requires-Dist: nibabel>=4.0.1; extra == "all"
246
246
  Requires-Dist: opencv-python-headless>=4.9.0.80; extra == "all"
247
247
  Requires-Dist: timm>=1.0.9; extra == "all"
248
248
  Requires-Dist: torchvision>=0.17.0; extra == "all"
@@ -6,7 +6,7 @@ build-backend = "pdm.backend"
6
6
 
7
7
  [project]
8
8
  name = "kaiko-eva"
9
- version = "0.1.3"
9
+ version = "0.1.6"
10
10
  description = "Evaluation Framework for oncology foundation models."
11
11
  keywords = [
12
12
  "machine-learning",
@@ -34,14 +34,14 @@ maintainers = [
34
34
  ]
35
35
  requires-python = ">=3.10"
36
36
  dependencies = [
37
- "torch==2.3.0",
38
- "lightning>=2.2.2",
39
- "jsonargparse[omegaconf]==4.31.0",
37
+ "torch>=2.3.0",
38
+ "lightning>=2.2.0",
39
+ "jsonargparse[omegaconf]>=4.30.0",
40
40
  "tensorboard>=2.16.2",
41
41
  "loguru>=0.7.2",
42
- "pandas>=2.2.0",
42
+ "pandas>=2.0.0",
43
43
  "transformers>=4.38.2",
44
- "onnxruntime>=1.17.1",
44
+ "onnxruntime>=1.15.1",
45
45
  "onnx>=1.16.0",
46
46
  "toolz>=0.12.1",
47
47
  "rich>=13.7.1",
@@ -59,7 +59,7 @@ file = "LICENSE"
59
59
  [project.optional-dependencies]
60
60
  vision = [
61
61
  "h5py>=3.10.0",
62
- "nibabel>=5.2.0",
62
+ "nibabel>=4.0.1",
63
63
  "opencv-python-headless>=4.9.0.80",
64
64
  "timm>=1.0.9",
65
65
  "torchvision>=0.17.0",
@@ -72,7 +72,7 @@ vision = [
72
72
  ]
73
73
  all = [
74
74
  "h5py>=3.10.0",
75
- "nibabel>=5.2.0",
75
+ "nibabel>=4.0.1",
76
76
  "opencv-python-headless>=4.9.0.80",
77
77
  "timm>=1.0.9",
78
78
  "torchvision>=0.17.0",
@@ -0,0 +1,6 @@
1
+ """Core I/O utilities."""
2
+
3
+ from eva.core.utils.io.dataframe import read_dataframe
4
+ from eva.core.utils.io.gz import gunzip_file
5
+
6
+ __all__ = ["read_dataframe", "gunzip_file"]
@@ -0,0 +1,28 @@
1
+ """Utils for .gz files."""
2
+
3
+ import gzip
4
+ import os
5
+
6
+
7
+ def gunzip_file(path: str, unpack_dir: str | None = None, keep: bool = True) -> str:
8
+ """Unpacks a .gz file to the provided directory.
9
+
10
+ Args:
11
+ path: Path to the .gz file to extract.
12
+ unpack_dir: Directory to extract the file to. If `None`, it will use the
13
+ same directory as the compressed file.
14
+ keep: Whether to keep the compressed .gz file.
15
+
16
+ Returns:
17
+ The path to the extracted file.
18
+ """
19
+ unpack_dir = unpack_dir or os.path.dirname(path)
20
+ os.makedirs(unpack_dir, exist_ok=True)
21
+ save_path = os.path.join(unpack_dir, os.path.basename(path).replace(".gz", ""))
22
+ if not os.path.isfile(save_path):
23
+ with gzip.open(path, "rb") as f_in:
24
+ with open(save_path, "wb") as f_out:
25
+ f_out.write(f_in.read())
26
+ if not keep:
27
+ os.remove(path)
28
+ return save_path
@@ -0,0 +1,89 @@
1
+ """Multiprocessing utilities."""
2
+
3
+ import multiprocessing
4
+ import sys
5
+ import traceback
6
+ from concurrent.futures import ThreadPoolExecutor, as_completed
7
+ from typing import Any, Callable, Dict, Iterable, List, Optional, Tuple, TypeVar
8
+
9
+ from eva.core.utils.progress_bar import tqdm
10
+
11
+
12
+ class Process(multiprocessing.Process):
13
+ """Multiprocessing wrapper with logic to propagate exceptions to the parent process.
14
+
15
+ Source: https://stackoverflow.com/a/33599967/4992248
16
+ """
17
+
18
+ def __init__(self, *args: Any, **kwargs: Any) -> None:
19
+ """Initialize the process."""
20
+ multiprocessing.Process.__init__(self, *args, **kwargs)
21
+
22
+ self._parent_conn, self._child_conn = multiprocessing.Pipe()
23
+ self._exception = None
24
+
25
+ def run(self) -> None:
26
+ """Run the process."""
27
+ try:
28
+ multiprocessing.Process.run(self)
29
+ self._child_conn.send(None)
30
+ except Exception as e:
31
+ tb = traceback.format_exc()
32
+ self._child_conn.send((e, tb))
33
+
34
+ @property
35
+ def exception(self):
36
+ """Property that contains exception information from the process."""
37
+ if self._parent_conn.poll():
38
+ self._exception = self._parent_conn.recv()
39
+ return self._exception
40
+
41
+ def check_exceptions(self) -> None:
42
+ """Check for exception propagate it to the parent process."""
43
+ if not self.is_alive():
44
+ if self.exception:
45
+ error, traceback = self.exception
46
+ sys.stderr.write(traceback + "\n")
47
+ raise error
48
+
49
+
50
+ R = TypeVar("R")
51
+
52
+
53
+ def run_with_threads(
54
+ func: Callable[..., R],
55
+ items: Iterable[Tuple[Any, ...]],
56
+ kwargs: Dict[str, Any] | None = None,
57
+ num_workers: int = 8,
58
+ progress_desc: Optional[str] = None,
59
+ show_progress: bool = True,
60
+ return_results: bool = True,
61
+ ) -> List[R] | None:
62
+ """Process items with multiple threads using ThreadPoolExecutor.
63
+
64
+ Args:
65
+ func: Function to execute for each item
66
+ items: Iterable of items to process. Each item should be a tuple of
67
+ arguments to pass to func.
68
+ kwargs: Additional keyword arguments to pass to func.
69
+ num_workers: Number of worker threads
70
+ progress_desc: Description for progress bar
71
+ show_progress: Whether to show progress bar
72
+ return_results: Whether to return the results. If False, the function
73
+ will return None.
74
+
75
+ Returns:
76
+ List of results if return_results is True, otherwise None
77
+ """
78
+ results: List[Any] = []
79
+
80
+ with ThreadPoolExecutor(max_workers=num_workers) as executor:
81
+ futures = [executor.submit(func, *args, **(kwargs or {})) for args in items]
82
+ pbar = tqdm(total=len(futures), desc=progress_desc, disable=not show_progress, leave=False)
83
+ for future in as_completed(futures):
84
+ if return_results:
85
+ results.append(future.result())
86
+ pbar.update(1)
87
+ pbar.close()
88
+
89
+ return results if return_results else None
@@ -128,7 +128,7 @@ def _draw_semantic_mask(tensor: torch.Tensor) -> torch.Tensor:
128
128
  integer values which represent the pixel class id.
129
129
 
130
130
  Args:
131
- tensor: An image tensor of range [0., 1.].
131
+ tensor: An image tensor of range [0., N_CLASSES].
132
132
 
133
133
  Returns:
134
134
  The image as a tensor of range [0., 255.].
@@ -136,9 +136,11 @@ def _draw_semantic_mask(tensor: torch.Tensor) -> torch.Tensor:
136
136
  tensor = torch.squeeze(tensor)
137
137
  height, width = tensor.shape[-2], tensor.shape[-1]
138
138
  red, green, blue = torch.zeros((3, height, width), dtype=torch.uint8)
139
- for class_id, color in colormap.COLORMAP.items():
139
+ class_ids = torch.unique(tensor)
140
+ colors = colormap.get_colors(max(class_ids))
141
+ for class_id in class_ids:
140
142
  indices = tensor == class_id
141
- red[indices], green[indices], blue[indices] = color
143
+ red[indices], green[indices], blue[indices] = colors[int(class_id)]
142
144
  return torch.stack([red, green, blue])
143
145
 
144
146
 
@@ -157,8 +159,9 @@ def _overlay_mask(image: torch.Tensor, mask: torch.Tensor) -> torch.Tensor:
157
159
  from the predefined colormap.
158
160
  """
159
161
  binary_masks = functional.one_hot(mask).permute(2, 0, 1).to(dtype=torch.bool)
162
+ colors = colormap.get_colors(binary_masks.shape[0] + 1)
160
163
  return torchvision.utils.draw_segmentation_masks(
161
- image, binary_masks[1:], alpha=0.65, colors=colormap.COLORS[1:] # type: ignore
164
+ image, binary_masks[1:], alpha=0.65, colors=colors[1:] # type: ignore
162
165
  )
163
166
 
164
167
 
@@ -3,6 +3,7 @@
3
3
  import functools
4
4
  import os
5
5
  from glob import glob
6
+ from pathlib import Path
6
7
  from typing import Any, Callable, Dict, List, Literal, Tuple
7
8
 
8
9
  import numpy as np
@@ -12,7 +13,8 @@ from torchvision import tv_tensors
12
13
  from torchvision.datasets import utils
13
14
  from typing_extensions import override
14
15
 
15
- from eva.core.utils.progress_bar import tqdm
16
+ from eva.core.utils import io as core_io
17
+ from eva.core.utils import multiprocessing
16
18
  from eva.vision.data.datasets import _validators, structs
17
19
  from eva.vision.data.datasets.segmentation import base
18
20
  from eva.vision.utils import io
@@ -65,6 +67,8 @@ class TotalSegmentator2D(base.ImageSegmentation):
65
67
  download: bool = False,
66
68
  classes: List[str] | None = None,
67
69
  optimize_mask_loading: bool = True,
70
+ decompress: bool = True,
71
+ num_workers: int = 10,
68
72
  transforms: Callable | None = None,
69
73
  ) -> None:
70
74
  """Initialize dataset.
@@ -85,8 +89,15 @@ class TotalSegmentator2D(base.ImageSegmentation):
85
89
  in order to optimize the loading time. In the `setup` method, it
86
90
  will reformat the binary one-hot masks to a semantic mask and store
87
91
  it on disk.
92
+ decompress: Whether to decompress the ct.nii.gz files when preparing the data.
93
+ The label masks won't be decompressed, but when enabling optimize_mask_loading
94
+ it will export the semantic label masks to a single file in uncompressed .nii
95
+ format.
96
+ num_workers: The number of workers to use for optimizing the masks &
97
+ decompressing the .gz files.
88
98
  transforms: A function/transforms that takes in an image and a target
89
99
  mask and returns the transformed versions of both.
100
+
90
101
  """
91
102
  super().__init__(transforms=transforms)
92
103
 
@@ -96,6 +107,8 @@ class TotalSegmentator2D(base.ImageSegmentation):
96
107
  self._download = download
97
108
  self._classes = classes
98
109
  self._optimize_mask_loading = optimize_mask_loading
110
+ self._decompress = decompress
111
+ self._num_workers = num_workers
99
112
 
100
113
  if self._optimize_mask_loading and self._classes is not None:
101
114
  raise ValueError(
@@ -128,23 +141,29 @@ class TotalSegmentator2D(base.ImageSegmentation):
128
141
  def class_to_idx(self) -> Dict[str, int]:
129
142
  return {label: index for index, label in enumerate(self.classes)}
130
143
 
144
+ @property
145
+ def _file_suffix(self) -> str:
146
+ return "nii" if self._decompress else "nii.gz"
147
+
131
148
  @override
132
- def filename(self, index: int, segmented: bool = True) -> str:
149
+ def filename(self, index: int) -> str:
133
150
  sample_idx, _ = self._indices[index]
134
151
  sample_dir = self._samples_dirs[sample_idx]
135
- return os.path.join(sample_dir, "ct.nii.gz")
152
+ return os.path.join(sample_dir, f"ct.{self._file_suffix}")
136
153
 
137
154
  @override
138
155
  def prepare_data(self) -> None:
139
156
  if self._download:
140
157
  self._download_dataset()
158
+ if self._decompress:
159
+ self._decompress_files()
160
+ self._samples_dirs = self._fetch_samples_dirs()
161
+ if self._optimize_mask_loading:
162
+ self._export_semantic_label_masks()
141
163
 
142
164
  @override
143
165
  def configure(self) -> None:
144
- self._samples_dirs = self._fetch_samples_dirs()
145
166
  self._indices = self._create_indices()
146
- if self._optimize_mask_loading:
147
- self._export_semantic_label_masks()
148
167
 
149
168
  @override
150
169
  def validate(self) -> None:
@@ -186,16 +205,15 @@ class TotalSegmentator2D(base.ImageSegmentation):
186
205
  return {"slice_index": slice_index}
187
206
 
188
207
  def _load_mask(self, index: int) -> tv_tensors.Mask:
189
- """Loads and builds the segmentation mask from NifTi files."""
190
208
  sample_index, slice_index = self._indices[index]
191
209
  semantic_labels = self._load_masks_as_semantic_label(sample_index, slice_index)
192
- return tv_tensors.Mask(semantic_labels, dtype=torch.int64) # type: ignore[reportCallIssue]
210
+ return tv_tensors.Mask(semantic_labels.squeeze(), dtype=torch.int64) # type: ignore[reportCallIssue]
193
211
 
194
212
  def _load_semantic_label_mask(self, index: int) -> tv_tensors.Mask:
195
213
  """Loads the segmentation mask from a semantic label NifTi file."""
196
214
  sample_index, slice_index = self._indices[index]
197
215
  masks_dir = self._get_masks_dir(sample_index)
198
- filename = os.path.join(masks_dir, "semantic_labels", "masks.nii.gz")
216
+ filename = os.path.join(masks_dir, "semantic_labels", "masks.nii")
199
217
  semantic_labels = io.read_nifti(filename, slice_index)
200
218
  return tv_tensors.Mask(semantic_labels.squeeze(), dtype=torch.int64) # type: ignore[reportCallIssue]
201
219
 
@@ -209,7 +227,7 @@ class TotalSegmentator2D(base.ImageSegmentation):
209
227
  slice_index: Whether to return only a specific slice.
210
228
  """
211
229
  masks_dir = self._get_masks_dir(sample_index)
212
- mask_paths = [os.path.join(masks_dir, label + ".nii.gz") for label in self.classes]
230
+ mask_paths = [os.path.join(masks_dir, f"{label}.nii.gz") for label in self.classes]
213
231
  binary_masks = [io.read_nifti(path, slice_index) for path in mask_paths]
214
232
  background_mask = np.zeros_like(binary_masks[0])
215
233
  return np.argmax([background_mask] + binary_masks, axis=0)
@@ -219,24 +237,28 @@ class TotalSegmentator2D(base.ImageSegmentation):
219
237
  total_samples = len(self._samples_dirs)
220
238
  masks_dirs = map(self._get_masks_dir, range(total_samples))
221
239
  semantic_labels = [
222
- (index, os.path.join(directory, "semantic_labels", "masks.nii.gz"))
240
+ (index, os.path.join(directory, "semantic_labels", "masks.nii"))
223
241
  for index, directory in enumerate(masks_dirs)
224
242
  ]
225
243
  to_export = filter(lambda x: not os.path.isfile(x[1]), semantic_labels)
226
244
 
227
- for sample_index, filename in tqdm(
228
- list(to_export),
229
- desc=">> Exporting optimized semantic masks",
230
- leave=False,
231
- ):
245
+ def _process_mask(sample_index: Any, filename: str) -> None:
232
246
  semantic_labels = self._load_masks_as_semantic_label(sample_index)
233
247
  os.makedirs(os.path.dirname(filename), exist_ok=True)
234
248
  io.save_array_as_nifti(semantic_labels, filename)
235
249
 
250
+ multiprocessing.run_with_threads(
251
+ _process_mask,
252
+ list(to_export),
253
+ num_workers=self._num_workers,
254
+ progress_desc=">> Exporting optimized semantic mask",
255
+ return_results=False,
256
+ )
257
+
236
258
  def _get_image_path(self, sample_index: int) -> str:
237
259
  """Returns the corresponding image path."""
238
260
  sample_dir = self._samples_dirs[sample_index]
239
- return os.path.join(self._root, sample_dir, "ct.nii.gz")
261
+ return os.path.join(self._root, sample_dir, f"ct.{self._file_suffix}")
240
262
 
241
263
  def _get_masks_dir(self, sample_index: int) -> str:
242
264
  """Returns the directory of the corresponding masks."""
@@ -246,7 +268,7 @@ class TotalSegmentator2D(base.ImageSegmentation):
246
268
  def _get_semantic_labels_filename(self, sample_index: int) -> str:
247
269
  """Returns the semantic label filename."""
248
270
  masks_dir = self._get_masks_dir(sample_index)
249
- return os.path.join(masks_dir, "semantic_labels", "masks.nii.gz")
271
+ return os.path.join(masks_dir, "semantic_labels", "masks.nii")
250
272
 
251
273
  def _get_number_of_slices_per_sample(self, sample_index: int) -> int:
252
274
  """Returns the total amount of slices of a sample."""
@@ -320,6 +342,16 @@ class TotalSegmentator2D(base.ImageSegmentation):
320
342
  remove_finished=True,
321
343
  )
322
344
 
345
+ def _decompress_files(self) -> None:
346
+ compressed_paths = Path(self._root).rglob("*/ct.nii.gz")
347
+ multiprocessing.run_with_threads(
348
+ core_io.gunzip_file,
349
+ [(str(path),) for path in compressed_paths],
350
+ num_workers=self._num_workers,
351
+ progress_desc=">> Decompressing .gz files",
352
+ return_results=False,
353
+ )
354
+
323
355
  def _print_license(self) -> None:
324
356
  """Prints the dataset license."""
325
357
  print(f"Dataset license: {self._license}")
@@ -103,7 +103,7 @@ class SemanticSegmentationModule(module.ModelModule):
103
103
  "decoder should map the embeddings (`inputs`) to."
104
104
  )
105
105
  features = self.encoder(inputs) if self.encoder else inputs
106
- decoder_inputs = DecoderInputs(features, inputs.shape[-2:], inputs) # type: ignore
106
+ decoder_inputs = DecoderInputs(features, to_size or inputs.shape[-2:], inputs) # type: ignore
107
107
  return self.decoder(decoder_inputs)
108
108
 
109
109
  @override
@@ -1,5 +1,7 @@
1
1
  """Color mapping constants."""
2
2
 
3
+ from typing import List, Tuple
4
+
3
5
  COLORS = [
4
6
  (0, 0, 0),
5
7
  (255, 0, 0), # Red
@@ -75,3 +77,21 @@ COLORS = [
75
77
 
76
78
  COLORMAP = dict(enumerate(COLORS)) | {255: (255, 255, 255)}
77
79
  """Class id to RGB color mapping."""
80
+
81
+
82
+ def get_colors(num_colors: int) -> List[Tuple[int, int, int]]:
83
+ """Get a list of RGB colors.
84
+
85
+ If the number of colors is greater than the predefined colors, it will
86
+ repeat the colors until it reaches the requested number
87
+
88
+ Args:
89
+ num_colors: The number of colors to return.
90
+
91
+ Returns:
92
+ A list of RGB colors.
93
+ """
94
+ colors = COLORS
95
+ while len(colors) < num_colors:
96
+ colors = colors + COLORS[1:]
97
+ return colors
@@ -54,7 +54,6 @@ def save_array_as_nifti(
54
54
  dtype: The data type to save the image.
55
55
  """
56
56
  nifti_image = nib.Nifti1Image(array, affine=np.eye(4), dtype=dtype) # type: ignore
57
- nifti_image.header.get_xyzt_units()
58
57
  nifti_image.to_filename(filename)
59
58
 
60
59
 
@@ -0,0 +1 @@
1
+ """Tests the core io utilities."""
@@ -0,0 +1,40 @@
1
+ """Tests for .gz file utilities."""
2
+
3
+ import os
4
+ import shutil
5
+
6
+ import pytest
7
+
8
+ from eva.core.utils.io import gz
9
+
10
+
11
+ @pytest.mark.parametrize(
12
+ "subdir, keep",
13
+ [
14
+ (None, True),
15
+ ("test_subdir", True),
16
+ (None, False),
17
+ ],
18
+ )
19
+ def test_gunzip(tmp_path: str, gzip_file: str, subdir: str | None, keep: bool) -> None:
20
+ """Verifies proper extraction of gzip file contents."""
21
+ unpack_dir = os.path.join(tmp_path, subdir) if subdir else tmp_path
22
+ tmp_gzip_path = os.path.join(tmp_path, os.path.basename(gzip_file))
23
+ shutil.copy(gzip_file, tmp_gzip_path)
24
+ gz.gunzip_file(tmp_gzip_path, unpack_dir=unpack_dir, keep=keep)
25
+
26
+ uncompressed_path = os.path.join(unpack_dir, "test.txt")
27
+ assert os.path.isfile(uncompressed_path)
28
+ with open(uncompressed_path, "r") as f:
29
+ assert f.read() == "gz file test"
30
+
31
+ if keep:
32
+ assert os.path.isfile(tmp_gzip_path)
33
+ else:
34
+ assert not os.path.isfile(tmp_gzip_path)
35
+
36
+
37
+ @pytest.fixture()
38
+ def gzip_file(assets_path: str) -> str:
39
+ """Provides the path to the test gzip file asset."""
40
+ return os.path.join(assets_path, "core/archives/test.txt.gz")
@@ -1,6 +1,7 @@
1
1
  """TotalSegmentator2D dataset tests."""
2
2
 
3
3
  import os
4
+ import shutil
4
5
  from typing import Literal
5
6
 
6
7
  import pytest
@@ -46,17 +47,19 @@ def test_sample(total_segmentator_dataset: datasets.TotalSegmentator2D, index: i
46
47
 
47
48
  @pytest.fixture(scope="function")
48
49
  def total_segmentator_dataset(
49
- split: Literal["train", "val"] | None, assets_path: str
50
+ tmp_path: str, split: Literal["train", "val"] | None, assets_path: str
50
51
  ) -> datasets.TotalSegmentator2D:
51
52
  """TotalSegmentator2D dataset fixture."""
53
+ dataset_dir = os.path.join(
54
+ assets_path,
55
+ "vision",
56
+ "datasets",
57
+ "total_segmentator",
58
+ "Totalsegmentator_dataset_v201",
59
+ )
60
+ shutil.copytree(dataset_dir, tmp_path, dirs_exist_ok=True)
52
61
  dataset = datasets.TotalSegmentator2D(
53
- root=os.path.join(
54
- assets_path,
55
- "vision",
56
- "datasets",
57
- "total_segmentator",
58
- "Totalsegmentator_dataset_v201",
59
- ),
62
+ root=tmp_path,
60
63
  split=split,
61
64
  version=None,
62
65
  )
@@ -1,5 +0,0 @@
1
- """Core I/O utilities."""
2
-
3
- from eva.core.utils.io.dataframe import read_dataframe
4
-
5
- __all__ = ["read_dataframe"]
@@ -1,44 +0,0 @@
1
- """Multiprocessing utilities."""
2
-
3
- import multiprocessing
4
- import sys
5
- import traceback
6
- from typing import Any
7
-
8
-
9
- class Process(multiprocessing.Process):
10
- """Multiprocessing wrapper with logic to propagate exceptions to the parent process.
11
-
12
- Source: https://stackoverflow.com/a/33599967/4992248
13
- """
14
-
15
- def __init__(self, *args: Any, **kwargs: Any) -> None:
16
- """Initialize the process."""
17
- multiprocessing.Process.__init__(self, *args, **kwargs)
18
-
19
- self._parent_conn, self._child_conn = multiprocessing.Pipe()
20
- self._exception = None
21
-
22
- def run(self) -> None:
23
- """Run the process."""
24
- try:
25
- multiprocessing.Process.run(self)
26
- self._child_conn.send(None)
27
- except Exception as e:
28
- tb = traceback.format_exc()
29
- self._child_conn.send((e, tb))
30
-
31
- @property
32
- def exception(self):
33
- """Property that contains exception information from the process."""
34
- if self._parent_conn.poll():
35
- self._exception = self._parent_conn.recv()
36
- return self._exception
37
-
38
- def check_exceptions(self) -> None:
39
- """Check for exception propagate it to the parent process."""
40
- if not self.is_alive():
41
- if self.exception:
42
- error, traceback = self.exception
43
- sys.stderr.write(traceback + "\n")
44
- raise error
File without changes
File without changes
File without changes
File without changes