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.
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/PKG-INFO +8 -8
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/pyproject.toml +8 -8
- kaiko_eva-0.1.6/src/eva/core/utils/io/__init__.py +6 -0
- kaiko_eva-0.1.6/src/eva/core/utils/io/gz.py +28 -0
- kaiko_eva-0.1.6/src/eva/core/utils/multiprocessing.py +89 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/callbacks/loggers/batch/segmentation.py +7 -4
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/segmentation/total_segmentator_2d.py +50 -18
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/modules/semantic_segmentation.py +1 -1
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/utils/colormap.py +20 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/utils/io/nifti.py +0 -1
- kaiko_eva-0.1.6/tests/eva/assets/core/archives/test.txt.gz +0 -0
- kaiko_eva-0.1.6/tests/eva/core/utils/io/__init__.py +1 -0
- kaiko_eva-0.1.6/tests/eva/core/utils/io/test_gz.py +40 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/datasets/segmentation/test_total_segmentator.py +11 -8
- kaiko_eva-0.1.3/src/eva/core/utils/io/__init__.py +0 -5
- kaiko_eva-0.1.3/src/eva/core/utils/multiprocessing.py +0 -44
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/LICENSE +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/README.md +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/__main__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/__version__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/callbacks/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/callbacks/config.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/callbacks/writers/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/callbacks/writers/embeddings/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/callbacks/writers/embeddings/_manifest.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/callbacks/writers/embeddings/base.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/callbacks/writers/embeddings/classification.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/callbacks/writers/embeddings/segmentation.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/callbacks/writers/embeddings/typings.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/cli/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/cli/cli.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/cli/logo.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/cli/setup.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/dataloaders/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/dataloaders/dataloader.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/datamodules/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/datamodules/call.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/datamodules/datamodule.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/datamodules/schemas.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/datasets/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/datasets/base.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/datasets/classification/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/datasets/classification/embeddings.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/datasets/classification/multi_embeddings.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/datasets/dataset.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/datasets/embeddings.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/samplers/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/samplers/sampler.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/splitting/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/splitting/random.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/splitting/stratified.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/transforms/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/transforms/dtype/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/transforms/dtype/array.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/transforms/padding/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/transforms/padding/pad_2d_tensor.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/transforms/sampling/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/data/transforms/sampling/sample_from_axis.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/interface/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/interface/interface.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/loggers/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/loggers/dummy.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/loggers/experimental_loggers.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/loggers/log/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/loggers/log/image.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/loggers/log/parameters.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/loggers/log/utils.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/loggers/loggers.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/losses/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/losses/cross_entropy.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/metrics/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/metrics/average_loss.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/metrics/binary_balanced_accuracy.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/metrics/defaults/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/metrics/defaults/classification/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/metrics/defaults/classification/binary.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/metrics/defaults/classification/multiclass.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/metrics/structs/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/metrics/structs/collection.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/metrics/structs/metric.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/metrics/structs/module.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/metrics/structs/schemas.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/metrics/structs/typings.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/models/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/models/modules/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/models/modules/head.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/models/modules/inference.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/models/modules/module.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/models/modules/typings.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/models/modules/utils/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/models/modules/utils/batch_postprocess.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/models/modules/utils/grad.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/models/networks/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/models/networks/mlp.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/models/transforms/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/models/transforms/extract_cls_features.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/models/transforms/extract_patch_features.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/models/wrappers/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/models/wrappers/_utils.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/models/wrappers/base.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/models/wrappers/from_function.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/models/wrappers/huggingface.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/models/wrappers/onnx.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/trainers/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/trainers/_logging.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/trainers/_recorder.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/trainers/_utils.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/trainers/functional.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/trainers/trainer.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/utils/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/utils/clone.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/utils/io/dataframe.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/utils/memory.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/utils/operations.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/utils/parser.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/utils/progress_bar.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/utils/workers.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/callbacks/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/callbacks/loggers/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/callbacks/loggers/batch/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/callbacks/loggers/batch/base.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/_utils.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/_validators.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/classification/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/classification/bach.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/classification/base.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/classification/camelyon16.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/classification/crc.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/classification/mhist.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/classification/panda.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/classification/patch_camelyon.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/classification/wsi.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/segmentation/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/segmentation/_utils.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/segmentation/base.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/segmentation/bcss.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/segmentation/consep.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/segmentation/embeddings.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/segmentation/lits.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/segmentation/lits_balanced.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/segmentation/monusac.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/structs.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/vision.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/datasets/wsi.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/transforms/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/transforms/common/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/transforms/common/resize_and_clamp.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/transforms/common/resize_and_crop.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/transforms/normalization/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/transforms/normalization/clamp.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/transforms/normalization/functional/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/transforms/normalization/functional/rescale_intensity.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/transforms/normalization/rescale_intensity.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/wsi/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/wsi/backends/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/wsi/backends/base.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/wsi/backends/openslide.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/wsi/backends/pil.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/wsi/backends/tiffslide.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/wsi/patching/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/wsi/patching/coordinates.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/wsi/patching/mask.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/wsi/patching/samplers/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/wsi/patching/samplers/_utils.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/wsi/patching/samplers/base.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/wsi/patching/samplers/foreground_grid.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/wsi/patching/samplers/grid.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/data/wsi/patching/samplers/random.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/losses/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/losses/dice.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/metrics/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/metrics/defaults/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/metrics/defaults/segmentation/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/metrics/defaults/segmentation/multiclass.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/metrics/segmentation/BUILD +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/metrics/segmentation/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/metrics/segmentation/_utils.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/metrics/segmentation/generalized_dice.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/metrics/segmentation/mean_iou.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/modules/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/abmil.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/backbones/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/backbones/_utils.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/backbones/pathology/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/backbones/pathology/bioptimus.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/backbones/pathology/gigapath.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/backbones/pathology/histai.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/backbones/pathology/kaiko.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/backbones/pathology/lunit.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/backbones/pathology/mahmood.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/backbones/pathology/owkin.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/backbones/pathology/paige.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/backbones/registry.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/backbones/timm/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/backbones/timm/backbones.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/backbones/universal/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/backbones/universal/vit.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/decoders/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/decoders/segmentation/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/decoders/segmentation/base.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/decoders/segmentation/decoder2d.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/decoders/segmentation/linear.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/decoders/segmentation/semantic/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/decoders/segmentation/semantic/common.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/decoders/segmentation/semantic/with_image.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/networks/decoders/segmentation/typings.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/wrappers/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/wrappers/from_registry.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/models/wrappers/from_timm.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/utils/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/utils/convert.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/utils/io/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/utils/io/_utils.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/utils/io/image.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/utils/io/mat.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/vision/utils/io/text.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/_cli.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/core/datasets/embeddings/embeddings/tensor_0_shape_8.pt +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/core/datasets/embeddings/embeddings/tensor_1_shape_8.pt +0 -0
- {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
- {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
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/core/datasets/embeddings/embeddings/tensor_4_shape_1x8.pt +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/core/datasets/embeddings/embeddings/tensor_5_shape_1x8.pt +0 -0
- {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
- {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
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/core/datasets/embeddings/manifest.csv +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/core/datasets/multi-embeddings/manifest.csv +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/images/random_bgr_32x32.png +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/images/random_grayscale_32x32.png +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/camelyon16/testing/images/test_001.tif +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/camelyon16/testing/images/test_002.tif +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/camelyon16/testing/reference.csv +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/camelyon16/training/normal/normal_001.tif +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/camelyon16/training/normal/normal_002.tif +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/camelyon16/training/tumor/tumor_001.tif +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/camelyon16/training/tumor/tumor_002.tif +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/consep/Test/Images/test_1.png +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/consep/Test/Images/test_2.png +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/consep/Test/Images/test_3.png +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/consep/Test/Labels/test_1.mat +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/consep/Test/Labels/test_2.mat +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/consep/Test/Labels/test_3.mat +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/consep/Train/Images/train_1.png +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/consep/Train/Images/train_2.png +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/consep/Train/Images/train_3.png +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/consep/Train/Images/train_4.png +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/consep/Train/Labels/train_1.mat +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/consep/Train/Labels/train_2.mat +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/consep/Train/Labels/train_3.mat +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/consep/Train/Labels/train_4.mat +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/lits/Training_Batch2/segmentation-31.nii +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/lits/Training_Batch2/segmentation-45.nii +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/lits/Training_Batch2/volume-31.nii +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/lits/Training_Batch2/volume-45.nii +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/mhist/annotations.csv +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/mhist/images/MHIST_aaa.png +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/mhist/images/MHIST_aab.png +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/mhist/images/MHIST_aac.png +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/mhist/images/MHIST_aae.png +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/mhist/images/MHIST_aaf.png +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/mhist/images/MHIST_aag.png +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/mhist/images/MHIST_aah.png +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/panda/train_images/0214df71ae527e2144021178c453d204.tiff +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/panda/train_images/02d302a8d723fa00331f373091b29135.tiff +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/panda/train_images/157565e23ba28d5a42f63f34f3dd4425.tiff +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/panda/train_images/682a1fd346b6fff340afbdb80c2f7caf.tiff +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/panda/train_images/8582b59b41635fa38401d1bddad66707.tiff +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/panda/train_images/8c357871e57c5c60277230412f2d9028.tiff +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/panda/train_images/979cf5a2fa4079eaf74343d6ff5e1b51.tiff +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/panda/train_images/9dd40c0127d217bc4917e4db40e06e94.tiff +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/panda/train_images/9ed8ec7bf90653bc4ca86b3ca53cbb96.tiff +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/panda/train_images/a04310d441e8d2c7a5066627baeec9b6.tiff +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/panda/train_images/fb8886059879eaac70139336cb525838.tiff +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/panda/train_with_noisy_labels.csv +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/meta.csv +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/wsi/0/a.tiff +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/wsi/0/b.tiff +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/wsi/1/a.tiff +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/assets/vision/datasets/wsi/manifest.csv +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/conftest.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/callbacks/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/callbacks/conftest.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/callbacks/writers/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/callbacks/writers/embeddings/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/callbacks/writers/embeddings/test_classification.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/data/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/data/dataloaders/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/data/dataloaders/test_dataloader.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/data/datamodules/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/data/datamodules/_utils.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/data/datamodules/test_datamodule.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/data/datamodules/test_schemas.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/data/datasets/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/data/datasets/classification/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/data/datasets/classification/test_embeddings.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/data/datasets/classification/test_multi_embeddings.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/data/splitting/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/data/splitting/test_random.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/data/splitting/test_stratified.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/data/transforms/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/data/transforms/padding/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/data/transforms/padding/test_pad_2d_tensor.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/data/transforms/sampling/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/data/transforms/sampling/test_sample_from_axis.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/metrics/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/metrics/core/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/metrics/core/test_metric_module.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/metrics/core/test_schemas.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/metrics/defaults/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/metrics/defaults/classification/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/metrics/defaults/classification/test_binary.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/metrics/defaults/classification/test_multiclass.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/metrics/test_average_loss.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/metrics/test_binary_balanced_accuracy.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/models/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/models/modules/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/models/modules/conftest.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/models/modules/test_head.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/models/modules/test_inference.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/models/modules/utils/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/models/modules/utils/test_batch_postproces.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/models/networks/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/models/networks/test_mlp.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/models/wrappers/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/models/wrappers/test_from_function.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/models/wrappers/test_huggingface.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/models/wrappers/test_onnx.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/test_cli.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/trainers/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/trainers/test_recorder.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/utils/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/core/utils/test_operations.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/datasets/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/datasets/classification/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/datasets/classification/test_bach.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/datasets/classification/test_camelyon16.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/datasets/classification/test_crc.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/datasets/classification/test_mhist.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/datasets/classification/test_panda.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/datasets/classification/test_patch_camelyon.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/datasets/classification/test_wsi.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/datasets/segmentation/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/datasets/segmentation/test_bcss.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/datasets/segmentation/test_consep.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/datasets/segmentation/test_lits.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/datasets/segmentation/test_lits_balanced.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/datasets/segmentation/test_monusac.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/datasets/test_wsi.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/transforms/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/transforms/common/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/transforms/common/test_resize_and_clamp.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/transforms/common/test_resize_and_crop.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/transforms/normalization/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/transforms/normalization/functional/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/transforms/normalization/functional/test_rescale_intensity.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/wsi/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/wsi/patching/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/wsi/patching/samplers/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/wsi/patching/samplers/test_foreground_grid.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/wsi/patching/samplers/test_grid.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/wsi/patching/samplers/test_random.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/data/wsi/patching/test_mask.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/metrics/defaults/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/metrics/defaults/segmentation/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/metrics/defaults/segmentation/test_multiclass.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/metrics/segmentation/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/metrics/segmentation/_utils.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/metrics/segmentation/test_generalized_dice.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/metrics/segmentation/test_mean_iou.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/models/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/models/modules/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/models/modules/conftest.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/models/modules/test_semantic_segmentation.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/models/networks/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/models/networks/backbones/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/models/networks/backbones/test_registry.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/models/networks/decoders/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/models/networks/decoders/segmentation/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/models/networks/decoders/segmentation/conv.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/models/networks/decoders/segmentation/linear.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/models/networks/test_abmil.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/models/wrappers/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/models/wrappers/test_backbone.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/models/wrappers/test_from_timm.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/test_vision_cli.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/utils/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/utils/io/__init__.py +0 -0
- {kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/tests/eva/vision/utils/io/test_image.py +0 -0
- {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
|
+
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
|
|
220
|
-
Requires-Dist: lightning>=2.2.
|
|
221
|
-
Requires-Dist: jsonargparse[omegaconf]
|
|
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.
|
|
224
|
+
Requires-Dist: pandas>=2.0.0
|
|
225
225
|
Requires-Dist: transformers>=4.38.2
|
|
226
|
-
Requires-Dist: onnxruntime>=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>=
|
|
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>=
|
|
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.
|
|
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
|
|
38
|
-
"lightning>=2.2.
|
|
39
|
-
"jsonargparse[omegaconf]
|
|
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.
|
|
42
|
+
"pandas>=2.0.0",
|
|
43
43
|
"transformers>=4.38.2",
|
|
44
|
-
"onnxruntime>=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>=
|
|
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>=
|
|
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,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.,
|
|
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
|
-
|
|
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] =
|
|
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=
|
|
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
|
|
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
|
|
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.
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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.
|
|
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
|
|
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
|
|
Binary file
|
|
@@ -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=
|
|
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,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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/callbacks/writers/embeddings/classification.py
RENAMED
|
File without changes
|
{kaiko_eva-0.1.3 → kaiko_eva-0.1.6}/src/eva/core/callbacks/writers/embeddings/segmentation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|