kaiko-eva 0.1.7__tar.gz → 0.2.0__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.7 → kaiko_eva-0.2.0}/PKG-INFO +2 -1
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/pyproject.toml +2 -1
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/data/datasets/classification/embeddings.py +2 -2
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/data/datasets/classification/multi_embeddings.py +2 -2
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/data/datasets/embeddings.py +4 -4
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/data/samplers/classification/balanced.py +19 -18
- kaiko_eva-0.2.0/src/eva/core/loggers/utils/wandb.py +33 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/models/modules/head.py +1 -1
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/trainers/functional.py +8 -5
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/trainers/trainer.py +32 -17
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/datasets/__init__.py +8 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/datasets/classification/__init__.py +9 -0
- kaiko_eva-0.2.0/src/eva/vision/data/datasets/classification/bracs.py +112 -0
- kaiko_eva-0.2.0/src/eva/vision/data/datasets/classification/breakhis.py +210 -0
- kaiko_eva-0.2.0/src/eva/vision/data/datasets/classification/gleason_arvaniti.py +172 -0
- kaiko_eva-0.2.0/src/eva/vision/data/datasets/classification/unitopatho.py +159 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/datasets/segmentation/embeddings.py +2 -2
- kaiko_eva-0.2.0/src/eva/vision/models/networks/backbones/pathology/mahmood.py +82 -0
- kaiko_eva-0.2.0/tests/eva/assets/vision/datasets/arvaniti_gleason_patches/test_patches_750/patho_1/ZT80_38_A_1_2/ZT80_38_A_1_2_patch_18_class_1.jpg +3 -0
- kaiko_eva-0.2.0/tests/eva/assets/vision/datasets/arvaniti_gleason_patches/train_validation_patches_750/ZT111_4_B_4_6/ZT111_4_B_4_6_patch_12_class_1.jpg +3 -0
- kaiko_eva-0.2.0/tests/eva/assets/vision/datasets/arvaniti_gleason_patches/train_validation_patches_750/ZT204_6_B_7_8/ZT204_6_B_7_8_patch_3_class_2.jpg +3 -0
- kaiko_eva-0.2.0/tests/eva/assets/vision/datasets/arvaniti_gleason_patches/train_validation_patches_750/ZT76_39_A_1_2/ZT76_39_A_1_2_patch_00_class_0.jpg +3 -0
- kaiko_eva-0.2.0/tests/eva/assets/vision/datasets/bracs/BRACS_RoI/latest_version/test/1_PB/BRACS_264_PB_18.png +3 -0
- kaiko_eva-0.2.0/tests/eva/assets/vision/datasets/bracs/BRACS_RoI/latest_version/train/0_N/BRACS_280_N_2.png +3 -0
- kaiko_eva-0.2.0/tests/eva/assets/vision/datasets/bracs/BRACS_RoI/latest_version/train/1_PB/BRACS_281_PB_2.png +3 -0
- kaiko_eva-0.2.0/tests/eva/assets/vision/datasets/bracs/BRACS_RoI/latest_version/val/0_N/BRACS_265_N_5.png +3 -0
- kaiko_eva-0.2.0/tests/eva/assets/vision/datasets/bracs/BRACS_RoI/latest_version/val/1_PB/BRACS_265_PB_7.png +3 -0
- kaiko_eva-0.2.0/tests/eva/assets/vision/datasets/breakhis/BreaKHis_v1/histology_slides/breast/benign/SOB/fibroadenoma/SOB_B_F_14-9133/40X/SOB_B_F-14-9133-40-001.png +3 -0
- kaiko_eva-0.2.0/tests/eva/assets/vision/datasets/breakhis/BreaKHis_v1/histology_slides/breast/benign/SOB/tubular_adenoma/SOB_B_A_14-21978AB/SOB_B_TA_14-3411F/40X/SOB_B_TA-14-3411F-40-001.png +3 -0
- kaiko_eva-0.2.0/tests/eva/assets/vision/datasets/breakhis/BreaKHis_v1/histology_slides/breast/benign/SOB/tubular_adenoma/SOB_B_A_14-22549AB/SOB_B_TA_14-13200/40X/SOB_B_TA-14-13200-40-001.png +3 -0
- kaiko_eva-0.2.0/tests/eva/assets/vision/datasets/breakhis/BreaKHis_v1/histology_slides/breast/malignant/SOB/mucinous_carcinoma/SOB_M_MC_14-19979/40X/SOB_M_MC-14-19979-40-001.png +3 -0
- kaiko_eva-0.2.0/tests/eva/assets/vision/datasets/consep/Test/Images/test_1.png +3 -0
- kaiko_eva-0.2.0/tests/eva/assets/vision/datasets/unitopatho/800/HP/149-B3-HP.ndpi_ROI__mpp0.44_reg000_crop_sk00003_(12824,33871,1812,1812).png +3 -0
- kaiko_eva-0.2.0/tests/eva/assets/vision/datasets/unitopatho/800/NORM/188-B4-NORM.ndpi_ROI__mpp0.44_reg001_crop_sk00026_(15904,10751,1812,1812).png +3 -0
- kaiko_eva-0.2.0/tests/eva/assets/vision/datasets/unitopatho/800/TVA.LG/243-B5-TVALG.ndpi_ROI__mpp0.44_reg002_crop_sk00033_(7688,23775,1812,1812).png +3 -0
- kaiko_eva-0.2.0/tests/eva/assets/vision/datasets/unitopatho/800/TVA.LG/TVA.LG CASO 2 - 2018-12-04 13.19.16.ndpi_ROI__mpp0.44_reg000_crop_sk00021_(9060,9947,1812,1812).png +3 -0
- kaiko_eva-0.2.0/tests/eva/assets/vision/datasets/unitopatho/800/test.csv +3 -0
- kaiko_eva-0.2.0/tests/eva/assets/vision/datasets/unitopatho/800/train.csv +3 -0
- kaiko_eva-0.2.0/tests/eva/vision/data/datasets/classification/test_bracs.py +52 -0
- kaiko_eva-0.2.0/tests/eva/vision/data/datasets/classification/test_breakhis.py +45 -0
- kaiko_eva-0.2.0/tests/eva/vision/data/datasets/classification/test_gleason_arvaniti.py +47 -0
- kaiko_eva-0.2.0/tests/eva/vision/data/datasets/classification/test_unitopatho.py +45 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/test_vision_cli.py +8 -0
- kaiko_eva-0.1.7/src/eva/vision/models/networks/backbones/pathology/mahmood.py +0 -55
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/LICENSE +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/README.md +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/__main__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/__version__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/callbacks/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/callbacks/config.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/callbacks/writers/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/callbacks/writers/embeddings/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/callbacks/writers/embeddings/_manifest.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/callbacks/writers/embeddings/base.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/callbacks/writers/embeddings/classification.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/callbacks/writers/embeddings/segmentation.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/callbacks/writers/embeddings/typings.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/cli/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/cli/cli.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/cli/logo.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/cli/setup.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/data/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/data/dataloaders/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/data/dataloaders/dataloader.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/data/datamodules/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/data/datamodules/call.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/data/datamodules/datamodule.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/data/datamodules/schemas.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/data/datasets/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/data/datasets/base.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/data/datasets/classification/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/data/datasets/dataset.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/data/datasets/typings.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/data/samplers/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/data/samplers/classification/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/data/samplers/random.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/data/samplers/sampler.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/data/splitting/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/data/splitting/random.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/data/splitting/stratified.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/data/transforms/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/data/transforms/dtype/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/data/transforms/dtype/array.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/data/transforms/padding/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/data/transforms/padding/pad_2d_tensor.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/data/transforms/sampling/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/data/transforms/sampling/sample_from_axis.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/interface/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/interface/interface.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/loggers/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/loggers/dummy.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/loggers/experimental_loggers.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/loggers/log/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/loggers/log/image.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/loggers/log/parameters.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/loggers/log/utils.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/loggers/loggers.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/losses/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/losses/cross_entropy.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/metrics/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/metrics/average_loss.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/metrics/binary_balanced_accuracy.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/metrics/defaults/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/metrics/defaults/classification/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/metrics/defaults/classification/binary.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/metrics/defaults/classification/multiclass.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/metrics/structs/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/metrics/structs/collection.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/metrics/structs/metric.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/metrics/structs/module.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/metrics/structs/schemas.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/metrics/structs/typings.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/models/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/models/modules/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/models/modules/inference.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/models/modules/module.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/models/modules/typings.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/models/modules/utils/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/models/modules/utils/batch_postprocess.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/models/modules/utils/checkpoint.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/models/modules/utils/grad.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/models/networks/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/models/networks/mlp.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/models/transforms/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/models/transforms/extract_cls_features.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/models/transforms/extract_patch_features.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/models/wrappers/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/models/wrappers/_utils.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/models/wrappers/base.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/models/wrappers/from_function.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/models/wrappers/from_torchhub.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/models/wrappers/huggingface.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/models/wrappers/onnx.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/trainers/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/trainers/_logging.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/trainers/_recorder.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/trainers/_utils.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/utils/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/utils/clone.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/utils/io/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/utils/io/dataframe.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/utils/io/gz.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/utils/memory.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/utils/multiprocessing.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/utils/operations.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/utils/parser.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/utils/progress_bar.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/utils/workers.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/callbacks/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/callbacks/loggers/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/callbacks/loggers/batch/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/callbacks/loggers/batch/base.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/callbacks/loggers/batch/segmentation.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/datasets/_utils.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/datasets/_validators.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/datasets/classification/bach.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/datasets/classification/base.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/datasets/classification/camelyon16.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/datasets/classification/crc.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/datasets/classification/mhist.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/datasets/classification/panda.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/datasets/classification/patch_camelyon.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/datasets/classification/wsi.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/datasets/segmentation/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/datasets/segmentation/_total_segmentator.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/datasets/segmentation/_utils.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/datasets/segmentation/base.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/datasets/segmentation/bcss.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/datasets/segmentation/consep.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/datasets/segmentation/lits.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/datasets/segmentation/lits_balanced.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/datasets/segmentation/monusac.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/datasets/segmentation/total_segmentator_2d.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/datasets/structs.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/datasets/vision.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/datasets/wsi.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/transforms/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/transforms/common/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/transforms/common/resize_and_clamp.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/transforms/common/resize_and_crop.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/transforms/normalization/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/transforms/normalization/clamp.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/transforms/normalization/functional/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/transforms/normalization/functional/rescale_intensity.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/transforms/normalization/rescale_intensity.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/wsi/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/wsi/backends/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/wsi/backends/base.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/wsi/backends/openslide.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/wsi/backends/pil.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/wsi/backends/tiffslide.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/wsi/patching/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/wsi/patching/coordinates.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/wsi/patching/mask.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/wsi/patching/samplers/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/wsi/patching/samplers/_utils.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/wsi/patching/samplers/base.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/wsi/patching/samplers/foreground_grid.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/wsi/patching/samplers/grid.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/data/wsi/patching/samplers/random.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/losses/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/losses/dice.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/metrics/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/metrics/defaults/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/metrics/defaults/segmentation/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/metrics/defaults/segmentation/multiclass.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/metrics/segmentation/BUILD +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/metrics/segmentation/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/metrics/segmentation/_utils.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/metrics/segmentation/dice.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/metrics/segmentation/generalized_dice.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/metrics/segmentation/mean_iou.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/metrics/segmentation/monai_dice.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/metrics/wrappers/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/metrics/wrappers/monai.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/models/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/models/modules/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/models/modules/semantic_segmentation.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/models/networks/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/models/networks/abmil.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/models/networks/backbones/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/models/networks/backbones/_utils.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/models/networks/backbones/pathology/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/models/networks/backbones/pathology/bioptimus.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/models/networks/backbones/pathology/gigapath.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/models/networks/backbones/pathology/histai.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/models/networks/backbones/pathology/kaiko.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/models/networks/backbones/pathology/lunit.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/models/networks/backbones/pathology/owkin.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/models/networks/backbones/pathology/paige.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/models/networks/backbones/registry.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/models/networks/backbones/timm/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/models/networks/backbones/timm/backbones.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/models/networks/backbones/torchhub/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/models/networks/backbones/torchhub/backbones.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/models/networks/backbones/universal/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/models/networks/backbones/universal/vit.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/models/networks/decoders/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/models/networks/decoders/segmentation/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/models/networks/decoders/segmentation/base.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/models/networks/decoders/segmentation/decoder2d.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/models/networks/decoders/segmentation/linear.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/models/networks/decoders/segmentation/semantic/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/models/networks/decoders/segmentation/semantic/common.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/models/networks/decoders/segmentation/semantic/with_image.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/models/networks/decoders/segmentation/typings.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/models/wrappers/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/models/wrappers/from_registry.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/models/wrappers/from_timm.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/utils/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/utils/colormap.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/utils/convert.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/utils/io/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/utils/io/_utils.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/utils/io/image.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/utils/io/mat.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/utils/io/nifti.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/vision/utils/io/text.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/_cli.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/core/archives/test.txt.gz +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/core/datasets/embeddings/embeddings/tensor_0_shape_8.pt +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/core/datasets/embeddings/embeddings/tensor_1_shape_8.pt +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/core/datasets/embeddings/embeddings/tensor_2_shape_8_list.pt +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/core/datasets/embeddings/embeddings/tensor_3_shape_8_list.pt +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/core/datasets/embeddings/embeddings/tensor_4_shape_1x8.pt +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/core/datasets/embeddings/embeddings/tensor_5_shape_1x8.pt +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/core/datasets/embeddings/embeddings/tensor_6_shape_1x8_list.pt +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/core/datasets/embeddings/embeddings/tensor_7_shape_1x8_list.pt +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/core/datasets/embeddings/manifest.csv +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_0_shape_6x8.pt +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_1_shape_3x8.pt +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_2_shape_1x8.pt +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_3_shape_2x8.pt +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_4_shape_5x8.pt +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_5_shape_3x8.pt +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_6_shape_1x8_list.pt +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_7_shape_6x8_list.pt +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_8_shape_2x8_list.pt +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/core/datasets/multi-embeddings/embeddings/tensor_9_shape_5x8_list.pt +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/core/datasets/multi-embeddings/manifest.csv +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/images/random_bgr_32x32.png +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/images/random_grayscale_32x32.png +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Benign/b001.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Benign/b002.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Benign/b003.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Benign/b004.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Benign/b005.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Benign/b006.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/InSitu/is001.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/InSitu/is002.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/InSitu/is003.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/InSitu/is004.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/InSitu/is005.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/InSitu/is006.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Invasive/iv001.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Invasive/iv002.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Invasive/iv003.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Invasive/iv004.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Invasive/iv005.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Invasive/iv006.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Normal/n001.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Normal/n002.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Normal/n003.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Normal/n004.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Normal/n005.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/bach/ICIAR2018_BACH_Challenge/Photos/Normal/n006.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/bcss/masks/TCGA-A2-A0CM-DX1_xmin18562_ymin56852_MPP-0.2500.png +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/bcss/masks/TCGA-A7-A4SD-DX1_xmin53807_ymin11871_MPP-0.2500.png +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/bcss/masks/TCGA-AR-A0TS-DX1_xmin118843_ymin22812_MPP-0.2500.png +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/bcss/masks/TCGA-AR-A1AQ-DX1_xmin18171_ymin38296_MPP-0.2500.png +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/bcss/masks/TCGA-C8-A3XY-DX1_xmin76297_ymin35510_MPP-0.2500.png +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/bcss/masks/TCGA-D8-A1XQ-DX1_xmin61261_ymin33317_MPP-0.2500.png +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/bcss/masks/TCGA-EW-A1P4-DX1_xmin17256_ymin35430_MPP-0.2500.png +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/bcss/masks/TCGA-GI-A2C9-DX1_xmin20882_ymin11843_MPP-0.2500.png +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/bcss/masks/TCGA-OL-A5D6-DX1_xmin115108_ymin40554_MPP-0.2500.png +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/bcss/masks/TCGA-OL-A5D7-DX1_xmin114443_ymin22490_MPP-0.2500.png +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/bcss/rgbs_colorNormalized/TCGA-A2-A0CM-DX1_xmin18562_ymin56852_MPP-0.2500.png +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/bcss/rgbs_colorNormalized/TCGA-A7-A4SD-DX1_xmin53807_ymin11871_MPP-0.2500.png +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/bcss/rgbs_colorNormalized/TCGA-AR-A0TS-DX1_xmin118843_ymin22812_MPP-0.2500.png +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/bcss/rgbs_colorNormalized/TCGA-AR-A1AQ-DX1_xmin18171_ymin38296_MPP-0.2500.png +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/bcss/rgbs_colorNormalized/TCGA-C8-A3XY-DX1_xmin76297_ymin35510_MPP-0.2500.png +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/bcss/rgbs_colorNormalized/TCGA-D8-A1XQ-DX1_xmin61261_ymin33317_MPP-0.2500.png +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/bcss/rgbs_colorNormalized/TCGA-EW-A1P4-DX1_xmin17256_ymin35430_MPP-0.2500.png +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/bcss/rgbs_colorNormalized/TCGA-GI-A2C9-DX1_xmin20882_ymin11843_MPP-0.2500.png +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/bcss/rgbs_colorNormalized/TCGA-OL-A5D6-DX1_xmin115108_ymin40554_MPP-0.2500.png +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/bcss/rgbs_colorNormalized/TCGA-OL-A5D7-DX1_xmin114443_ymin22490_MPP-0.2500.png +0 -0
- /kaiko_eva-0.1.7/tests/eva/assets/vision/datasets/consep/Test/Images/test_1.png → /kaiko_eva-0.2.0/tests/eva/assets/vision/datasets/bracs/BRACS_RoI/latest_version/test/0_N/BRACS_264_N_1.png +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/camelyon16/testing/images/test_001.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/camelyon16/testing/images/test_002.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/camelyon16/testing/reference.csv +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/camelyon16/training/normal/normal_001.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/camelyon16/training/normal/normal_002.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/camelyon16/training/tumor/tumor_001.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/camelyon16/training/tumor/tumor_002.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/consep/Test/Images/test_2.png +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/consep/Test/Images/test_3.png +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/consep/Test/Labels/test_1.mat +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/consep/Test/Labels/test_2.mat +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/consep/Test/Labels/test_3.mat +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/consep/Train/Images/train_1.png +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/consep/Train/Images/train_2.png +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/consep/Train/Images/train_3.png +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/consep/Train/Images/train_4.png +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/consep/Train/Labels/train_1.mat +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/consep/Train/Labels/train_2.mat +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/consep/Train/Labels/train_3.mat +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/consep/Train/Labels/train_4.mat +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/ADI/ADI-SIHVHHPH.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/ADI/ADI-SIHWWQMY.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/BACK/BACK-YYYHKNMK.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/BACK/BACK-YYYMDTNW.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/DEB/DEB-YYYRSHLP.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/DEB/DEB-YYYTCTDR.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/LYM/LYM-YYWRPGDD.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/LYM/LYM-YYYTKMWW.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/MUC/MUC-YYYNWSAM.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/MUC/MUC-YYYRQDLW.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/MUS/MUS-YYYNVQVQ.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/MUS/MUS-YYYRWWNH.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/NORM/NORM-YYTTIRVD.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/NORM/NORM-YYVAFTKA.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/STR/STR-YYYHNSSM.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/STR/STR-YYYWVWFG.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/TUM/TUM-YYYSGWYW.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/CRC-VAL-HE-7K/TUM/TUM-YYYYQFVN.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/ADI/ADI-SIHVHHPH.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/ADI/ADI-SIHWWQMY.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/BACK/BACK-YYYHKNMK.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/BACK/BACK-YYYMDTNW.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/DEB/DEB-YYYRSHLP.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/DEB/DEB-YYYTCTDR.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/LYM/LYM-YYWRPGDD.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/LYM/LYM-YYYTKMWW.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/MUC/MUC-YYYNWSAM.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/MUC/MUC-YYYRQDLW.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/MUS/MUS-YYYNVQVQ.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/MUS/MUS-YYYRWWNH.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/NORM/NORM-YYTTIRVD.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/NORM/NORM-YYVAFTKA.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/STR/STR-YYYHNSSM.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/STR/STR-YYYWVWFG.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/TUM/TUM-YYYSGWYW.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K/TUM/TUM-YYYYQFVN.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/ADI/ADI-SIHVHHPH.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/ADI/ADI-SIHWWQMY.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/BACK/BACK-YYYHKNMK.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/BACK/BACK-YYYMDTNW.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/DEB/DEB-YYYRSHLP.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/DEB/DEB-YYYTCTDR.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/LYM/LYM-YYWRPGDD.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/LYM/LYM-YYYTKMWW.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/MUC/MUC-YYYNWSAM.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/MUC/MUC-YYYRQDLW.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/MUS/MUS-YYYNVQVQ.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/MUS/MUS-YYYRWWNH.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/NORM/NORM-YYTTIRVD.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/NORM/NORM-YYVAFTKA.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/STR/STR-YYYHNSSM.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/STR/STR-YYYWVWFG.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/TUM/TUM-YYYSGWYW.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/crc/NCT-CRC-HE-100K-NONORM/TUM/TUM-YYYYQFVN.tif +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/lits/Training_Batch2/segmentation-31.nii +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/lits/Training_Batch2/segmentation-45.nii +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/lits/Training_Batch2/volume-31.nii +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/lits/Training_Batch2/volume-45.nii +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/mhist/annotations.csv +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/mhist/images/MHIST_aaa.png +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/mhist/images/MHIST_aab.png +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/mhist/images/MHIST_aac.png +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/mhist/images/MHIST_aae.png +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/mhist/images/MHIST_aaf.png +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/mhist/images/MHIST_aag.png +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/mhist/images/MHIST_aah.png +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/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.7 → kaiko_eva-0.2.0}/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.7 → kaiko_eva-0.2.0}/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.7 → kaiko_eva-0.2.0}/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.7 → kaiko_eva-0.2.0}/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.7 → kaiko_eva-0.2.0}/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.7 → kaiko_eva-0.2.0}/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.7 → kaiko_eva-0.2.0}/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.7 → kaiko_eva-0.2.0}/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.7 → kaiko_eva-0.2.0}/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.7 → kaiko_eva-0.2.0}/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.7 → kaiko_eva-0.2.0}/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.7 → kaiko_eva-0.2.0}/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.7 → kaiko_eva-0.2.0}/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.7 → kaiko_eva-0.2.0}/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.7 → kaiko_eva-0.2.0}/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.7 → kaiko_eva-0.2.0}/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.7 → kaiko_eva-0.2.0}/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.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/panda/train_images/0214df71ae527e2144021178c453d204.tiff +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/panda/train_images/02d302a8d723fa00331f373091b29135.tiff +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/panda/train_images/157565e23ba28d5a42f63f34f3dd4425.tiff +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/panda/train_images/682a1fd346b6fff340afbdb80c2f7caf.tiff +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/panda/train_images/8582b59b41635fa38401d1bddad66707.tiff +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/panda/train_images/8c357871e57c5c60277230412f2d9028.tiff +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/panda/train_images/979cf5a2fa4079eaf74343d6ff5e1b51.tiff +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/panda/train_images/9dd40c0127d217bc4917e4db40e06e94.tiff +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/panda/train_images/9ed8ec7bf90653bc4ca86b3ca53cbb96.tiff +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/panda/train_images/a04310d441e8d2c7a5066627baeec9b6.tiff +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/panda/train_images/fb8886059879eaac70139336cb525838.tiff +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/panda/train_with_noisy_labels.csv +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/patch_camelyon/camelyonpatch_level_2_split_test_x.h5 +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/patch_camelyon/camelyonpatch_level_2_split_test_y.h5 +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/patch_camelyon/camelyonpatch_level_2_split_train_x.h5 +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/patch_camelyon/camelyonpatch_level_2_split_train_y.h5 +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/patch_camelyon/camelyonpatch_level_2_split_valid_x.h5 +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/patch_camelyon/camelyonpatch_level_2_split_valid_y.h5 +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/meta.csv +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0011/ct.nii.gz +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0011/segmentations/aorta_small.nii.gz +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0011/segmentations/brain_small.nii.gz +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0011/segmentations/colon_small.nii.gz +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0011/segmentations/semantic_labels/masks.nii.gz +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0461/ct.nii.gz +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0461/segmentations/aorta_small.nii.gz +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0461/segmentations/brain_small.nii.gz +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0461/segmentations/colon_small.nii.gz +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0461/segmentations/semantic_labels/masks.nii.gz +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0762/ct.nii.gz +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0762/segmentations/aorta_small.nii.gz +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0762/segmentations/brain_small.nii.gz +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0762/segmentations/colon_small.nii.gz +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/total_segmentator/Totalsegmentator_dataset_v201/s0762/segmentations/semantic_labels/masks.nii.gz +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/wsi/0/a.tiff +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/wsi/0/b.tiff +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/wsi/1/a.tiff +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/assets/vision/datasets/wsi/manifest.csv +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/conftest.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/callbacks/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/callbacks/conftest.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/callbacks/writers/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/callbacks/writers/embeddings/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/callbacks/writers/embeddings/test_classification.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/data/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/data/dataloaders/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/data/dataloaders/test_dataloader.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/data/datamodules/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/data/datamodules/_utils.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/data/datamodules/test_datamodule.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/data/datamodules/test_schemas.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/data/datasets/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/data/datasets/classification/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/data/datasets/classification/test_embeddings.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/data/datasets/classification/test_multi_embeddings.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/data/samplers/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/data/samplers/_utils.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/data/samplers/classification/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/data/samplers/classification/test_balanced.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/data/splitting/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/data/splitting/test_random.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/data/splitting/test_stratified.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/data/transforms/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/data/transforms/padding/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/data/transforms/padding/test_pad_2d_tensor.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/data/transforms/sampling/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/data/transforms/sampling/test_sample_from_axis.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/metrics/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/metrics/core/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/metrics/core/test_metric_module.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/metrics/core/test_schemas.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/metrics/defaults/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/metrics/defaults/classification/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/metrics/defaults/classification/test_binary.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/metrics/defaults/classification/test_multiclass.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/metrics/test_average_loss.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/metrics/test_binary_balanced_accuracy.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/models/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/models/modules/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/models/modules/conftest.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/models/modules/test_head.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/models/modules/test_inference.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/models/modules/utils/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/models/modules/utils/test_batch_postproces.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/models/networks/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/models/networks/test_mlp.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/models/wrappers/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/models/wrappers/test_from_function.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/models/wrappers/test_from_torchub.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/models/wrappers/test_huggingface.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/models/wrappers/test_onnx.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/test_cli.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/trainers/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/trainers/test_recorder.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/utils/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/utils/io/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/utils/io/test_gz.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/core/utils/test_operations.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/data/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/data/datasets/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/data/datasets/classification/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/data/datasets/classification/test_bach.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/data/datasets/classification/test_camelyon16.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/data/datasets/classification/test_crc.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/data/datasets/classification/test_mhist.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/data/datasets/classification/test_panda.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/data/datasets/classification/test_patch_camelyon.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/data/datasets/classification/test_wsi.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/data/datasets/segmentation/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/data/datasets/segmentation/test_bcss.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/data/datasets/segmentation/test_consep.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/data/datasets/segmentation/test_lits.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/data/datasets/segmentation/test_lits_balanced.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/data/datasets/segmentation/test_monusac.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/data/datasets/segmentation/test_total_segmentator.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/data/datasets/test_wsi.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/data/transforms/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/data/transforms/common/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/data/transforms/common/test_resize_and_clamp.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/data/transforms/common/test_resize_and_crop.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/data/transforms/normalization/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/data/transforms/normalization/functional/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/data/transforms/normalization/functional/test_rescale_intensity.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/data/wsi/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/data/wsi/patching/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/data/wsi/patching/samplers/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/data/wsi/patching/samplers/test_foreground_grid.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/data/wsi/patching/samplers/test_grid.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/data/wsi/patching/samplers/test_random.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/data/wsi/patching/test_mask.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/metrics/defaults/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/metrics/defaults/segmentation/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/metrics/defaults/segmentation/test_multiclass.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/metrics/segmentation/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/metrics/segmentation/_utils.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/metrics/segmentation/test_dice.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/metrics/segmentation/test_generalized_dice.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/metrics/segmentation/test_mean_iou.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/models/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/models/modules/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/models/modules/conftest.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/models/modules/test_semantic_segmentation.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/models/networks/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/models/networks/backbones/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/models/networks/backbones/test_registry.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/models/networks/decoders/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/models/networks/decoders/segmentation/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/models/networks/decoders/segmentation/conv.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/models/networks/decoders/segmentation/linear.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/models/networks/test_abmil.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/models/wrappers/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/models/wrappers/test_backbone.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/models/wrappers/test_from_timm.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/utils/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/utils/io/__init__.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/tests/eva/vision/utils/io/test_image.py +0 -0
- {kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/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.
|
|
3
|
+
Version: 0.2.0
|
|
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>
|
|
@@ -228,6 +228,7 @@ 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.6.0
|
|
231
|
+
Requires-Dist: nibabel>=3.2.2
|
|
231
232
|
Provides-Extra: vision
|
|
232
233
|
Requires-Dist: h5py>=3.10.0; extra == "vision"
|
|
233
234
|
Requires-Dist: nibabel>=4.0.1; extra == "vision"
|
|
@@ -6,7 +6,7 @@ build-backend = "pdm.backend"
|
|
|
6
6
|
|
|
7
7
|
[project]
|
|
8
8
|
name = "kaiko-eva"
|
|
9
|
-
version = "0.
|
|
9
|
+
version = "0.2.0"
|
|
10
10
|
description = "Evaluation Framework for oncology foundation models."
|
|
11
11
|
keywords = [
|
|
12
12
|
"machine-learning",
|
|
@@ -46,6 +46,7 @@ dependencies = [
|
|
|
46
46
|
"toolz>=0.12.1",
|
|
47
47
|
"rich>=13.7.1",
|
|
48
48
|
"torchmetrics>=1.6.0",
|
|
49
|
+
"nibabel>=3.2.2",
|
|
49
50
|
]
|
|
50
51
|
|
|
51
52
|
[project.urls]
|
|
@@ -12,7 +12,7 @@ class EmbeddingsClassificationDataset(embeddings_base.EmbeddingsDataset[torch.Te
|
|
|
12
12
|
"""Embeddings dataset class for classification tasks."""
|
|
13
13
|
|
|
14
14
|
@override
|
|
15
|
-
def
|
|
15
|
+
def load_embeddings(self, index: int) -> torch.Tensor:
|
|
16
16
|
filename = self.filename(index)
|
|
17
17
|
embeddings_path = os.path.join(self._root, filename)
|
|
18
18
|
tensor = torch.load(embeddings_path, map_location="cpu")
|
|
@@ -25,7 +25,7 @@ class EmbeddingsClassificationDataset(embeddings_base.EmbeddingsDataset[torch.Te
|
|
|
25
25
|
return tensor.squeeze(0)
|
|
26
26
|
|
|
27
27
|
@override
|
|
28
|
-
def
|
|
28
|
+
def load_target(self, index: int) -> torch.Tensor:
|
|
29
29
|
target = self._data.at[index, self._column_mapping["target"]]
|
|
30
30
|
return torch.tensor(target, dtype=torch.int64)
|
|
31
31
|
|
{kaiko_eva-0.1.7 → kaiko_eva-0.2.0}/src/eva/core/data/datasets/classification/multi_embeddings.py
RENAMED
|
@@ -66,7 +66,7 @@ class MultiEmbeddingsClassificationDataset(embeddings_base.EmbeddingsDataset[tor
|
|
|
66
66
|
self._multi_ids = list(self._data[self._column_mapping["multi_id"]].unique())
|
|
67
67
|
|
|
68
68
|
@override
|
|
69
|
-
def
|
|
69
|
+
def load_embeddings(self, index: int) -> torch.Tensor:
|
|
70
70
|
"""Loads and stacks all embedding corresponding to the `index`'th multi_id."""
|
|
71
71
|
# Get all embeddings for the given index (multi_id)
|
|
72
72
|
multi_id = self._multi_ids[index]
|
|
@@ -89,7 +89,7 @@ class MultiEmbeddingsClassificationDataset(embeddings_base.EmbeddingsDataset[tor
|
|
|
89
89
|
return embeddings
|
|
90
90
|
|
|
91
91
|
@override
|
|
92
|
-
def
|
|
92
|
+
def load_target(self, index: int) -> np.ndarray:
|
|
93
93
|
"""Returns the target corresponding to the `index`'th multi_id.
|
|
94
94
|
|
|
95
95
|
This method assumes that all the embeddings corresponding to the same `multi_id`
|
|
@@ -98,12 +98,12 @@ class EmbeddingsDataset(base.Dataset, Generic[TargetType]):
|
|
|
98
98
|
Returns:
|
|
99
99
|
A data sample and its target.
|
|
100
100
|
"""
|
|
101
|
-
embeddings = self.
|
|
102
|
-
target = self.
|
|
101
|
+
embeddings = self.load_embeddings(index)
|
|
102
|
+
target = self.load_target(index)
|
|
103
103
|
return self._apply_transforms(embeddings, target)
|
|
104
104
|
|
|
105
105
|
@abc.abstractmethod
|
|
106
|
-
def
|
|
106
|
+
def load_embeddings(self, index: int) -> torch.Tensor:
|
|
107
107
|
"""Returns the `index`'th embedding sample.
|
|
108
108
|
|
|
109
109
|
Args:
|
|
@@ -114,7 +114,7 @@ class EmbeddingsDataset(base.Dataset, Generic[TargetType]):
|
|
|
114
114
|
"""
|
|
115
115
|
|
|
116
116
|
@abc.abstractmethod
|
|
117
|
-
def
|
|
117
|
+
def load_target(self, index: int) -> TargetType:
|
|
118
118
|
"""Returns the `index`'th target sample.
|
|
119
119
|
|
|
120
120
|
Args:
|
|
@@ -4,6 +4,7 @@ from collections import defaultdict
|
|
|
4
4
|
from typing import Dict, Iterator, List
|
|
5
5
|
|
|
6
6
|
import numpy as np
|
|
7
|
+
from loguru import logger
|
|
7
8
|
from typing_extensions import override
|
|
8
9
|
|
|
9
10
|
from eva.core.data import datasets
|
|
@@ -33,6 +34,7 @@ class BalancedSampler(SamplerWithDataSource[int]):
|
|
|
33
34
|
self._replacement = replacement
|
|
34
35
|
self._class_indices: Dict[int, List[int]] = defaultdict(list)
|
|
35
36
|
self._random_generator = np.random.default_rng(seed)
|
|
37
|
+
self._indices: List[int] = []
|
|
36
38
|
|
|
37
39
|
def __len__(self) -> int:
|
|
38
40
|
"""Returns the total number of samples."""
|
|
@@ -44,18 +46,7 @@ class BalancedSampler(SamplerWithDataSource[int]):
|
|
|
44
46
|
Returns:
|
|
45
47
|
Iterator yielding dataset indices.
|
|
46
48
|
"""
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
for class_idx in self._class_indices:
|
|
50
|
-
class_indices = self._class_indices[class_idx]
|
|
51
|
-
sampled_indices = self._random_generator.choice(
|
|
52
|
-
class_indices, size=self._num_samples, replace=self._replacement
|
|
53
|
-
).tolist()
|
|
54
|
-
indices.extend(sampled_indices)
|
|
55
|
-
|
|
56
|
-
self._random_generator.shuffle(indices)
|
|
57
|
-
|
|
58
|
-
return iter(indices)
|
|
49
|
+
return iter(self._indices)
|
|
59
50
|
|
|
60
51
|
@override
|
|
61
52
|
def set_dataset(self, data_source: datasets.MapDataset):
|
|
@@ -72,13 +63,13 @@ class BalancedSampler(SamplerWithDataSource[int]):
|
|
|
72
63
|
self._make_indices()
|
|
73
64
|
|
|
74
65
|
def _make_indices(self):
|
|
75
|
-
"""
|
|
66
|
+
"""Samples the indices for each class in the dataset."""
|
|
76
67
|
self._class_indices.clear()
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
68
|
+
for idx in tqdm(range(len(self.data_source)), desc="Fetching class indices for sampler"):
|
|
69
|
+
if hasattr(self.data_source, "load_target"):
|
|
70
|
+
target = self.data_source.load_target(idx) # type: ignore
|
|
71
|
+
else:
|
|
72
|
+
_, target, _ = DataSample(*self.data_source[idx])
|
|
82
73
|
if target is None:
|
|
83
74
|
raise ValueError("The dataset must return non-empty targets.")
|
|
84
75
|
if target.numel() != 1:
|
|
@@ -94,3 +85,13 @@ class BalancedSampler(SamplerWithDataSource[int]):
|
|
|
94
85
|
f"Class {class_idx} has only {len(indices)} samples, "
|
|
95
86
|
f"which is less than the required {self._num_samples} samples."
|
|
96
87
|
)
|
|
88
|
+
|
|
89
|
+
self._indices = []
|
|
90
|
+
for class_idx in self._class_indices:
|
|
91
|
+
class_indices = self._class_indices[class_idx]
|
|
92
|
+
sampled_indices = self._random_generator.choice(
|
|
93
|
+
class_indices, size=self._num_samples, replace=self._replacement
|
|
94
|
+
).tolist()
|
|
95
|
+
self._indices.extend(sampled_indices)
|
|
96
|
+
self._random_generator.shuffle(self._indices)
|
|
97
|
+
logger.debug(f"Sampled indices: {self._indices}")
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# type: ignore
|
|
2
|
+
"""Utility functions for logging with Weights & Biases."""
|
|
3
|
+
|
|
4
|
+
from typing import Any, Dict
|
|
5
|
+
|
|
6
|
+
from loguru import logger
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def rename_active_run(name: str) -> None:
|
|
10
|
+
"""Renames the current run."""
|
|
11
|
+
import wandb
|
|
12
|
+
|
|
13
|
+
if wandb.run:
|
|
14
|
+
wandb.run.name = name
|
|
15
|
+
wandb.run.save()
|
|
16
|
+
else:
|
|
17
|
+
logger.warning("No active wandb run found that could be renamed.")
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def init_run(name: str, init_kwargs: Dict[str, Any]) -> None:
|
|
21
|
+
"""Initializes a new run. If there is an active run, it will be renamed and reused."""
|
|
22
|
+
import wandb
|
|
23
|
+
|
|
24
|
+
init_kwargs["name"] = name
|
|
25
|
+
rename_active_run(name)
|
|
26
|
+
wandb.init(**init_kwargs)
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
def finish_run() -> None:
|
|
30
|
+
"""Finish the current run."""
|
|
31
|
+
import wandb
|
|
32
|
+
|
|
33
|
+
wandb.finish()
|
|
@@ -39,7 +39,7 @@ def run_evaluation_session(
|
|
|
39
39
|
base_trainer,
|
|
40
40
|
base_model,
|
|
41
41
|
datamodule,
|
|
42
|
-
run_id=
|
|
42
|
+
run_id=run_index,
|
|
43
43
|
verbose=not verbose,
|
|
44
44
|
)
|
|
45
45
|
recorder.update(validation_scores, test_scores)
|
|
@@ -51,7 +51,7 @@ def run_evaluation(
|
|
|
51
51
|
base_model: modules.ModelModule,
|
|
52
52
|
datamodule: datamodules.DataModule,
|
|
53
53
|
*,
|
|
54
|
-
run_id:
|
|
54
|
+
run_id: int | None = None,
|
|
55
55
|
verbose: bool = True,
|
|
56
56
|
) -> Tuple[_EVALUATE_OUTPUT, _EVALUATE_OUTPUT | None]:
|
|
57
57
|
"""Fits and evaluates a model out-of-place.
|
|
@@ -61,7 +61,6 @@ def run_evaluation(
|
|
|
61
61
|
base_model: The model module to use but not modify.
|
|
62
62
|
datamodule: The data module.
|
|
63
63
|
run_id: The run id to be appended to the output log directory.
|
|
64
|
-
If `None`, it will use the log directory of the trainer as is.
|
|
65
64
|
verbose: Whether to print the validation and test metrics
|
|
66
65
|
in the end of the training.
|
|
67
66
|
|
|
@@ -70,8 +69,12 @@ def run_evaluation(
|
|
|
70
69
|
"""
|
|
71
70
|
trainer, model = _utils.clone(base_trainer, base_model)
|
|
72
71
|
model.configure_model()
|
|
73
|
-
|
|
74
|
-
|
|
72
|
+
|
|
73
|
+
trainer.init_logger_run(run_id)
|
|
74
|
+
results = fit_and_validate(trainer, model, datamodule, verbose=verbose)
|
|
75
|
+
trainer.finish_logger_run(run_id)
|
|
76
|
+
|
|
77
|
+
return results
|
|
75
78
|
|
|
76
79
|
|
|
77
80
|
def fit_and_validate(
|
|
@@ -12,6 +12,7 @@ from typing_extensions import override
|
|
|
12
12
|
|
|
13
13
|
from eva.core import loggers as eva_loggers
|
|
14
14
|
from eva.core.data import datamodules
|
|
15
|
+
from eva.core.loggers.utils import wandb as wandb_utils
|
|
15
16
|
from eva.core.models import modules
|
|
16
17
|
from eva.core.trainers import _logging, functional
|
|
17
18
|
|
|
@@ -53,7 +54,7 @@ class Trainer(pl_trainer.Trainer):
|
|
|
53
54
|
self._session_id: str = _logging.generate_session_id()
|
|
54
55
|
self._log_dir: str = self.default_log_dir
|
|
55
56
|
|
|
56
|
-
self.
|
|
57
|
+
self.init_logger_run(0)
|
|
57
58
|
|
|
58
59
|
@property
|
|
59
60
|
def default_log_dir(self) -> str:
|
|
@@ -65,31 +66,45 @@ class Trainer(pl_trainer.Trainer):
|
|
|
65
66
|
def log_dir(self) -> str | None:
|
|
66
67
|
return self.strategy.broadcast(self._log_dir)
|
|
67
68
|
|
|
68
|
-
def
|
|
69
|
-
"""
|
|
69
|
+
def init_logger_run(self, run_id: int | None) -> None:
|
|
70
|
+
"""Setup the loggers & log directories when starting a new run.
|
|
70
71
|
|
|
71
72
|
Args:
|
|
72
|
-
|
|
73
|
+
run_id: The id of the current run.
|
|
73
74
|
"""
|
|
75
|
+
subdirectory = f"run_{run_id}" if run_id is not None else ""
|
|
74
76
|
self._log_dir = os.path.join(self.default_root_dir, self._session_id, subdirectory)
|
|
75
77
|
|
|
76
78
|
enabled_loggers = []
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
if
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
79
|
+
for logger in self.loggers or []:
|
|
80
|
+
if isinstance(logger, (pl_loggers.CSVLogger, pl_loggers.TensorBoardLogger)):
|
|
81
|
+
if not cloud_io._is_local_file_protocol(self.default_root_dir):
|
|
82
|
+
loguru.logger.warning(
|
|
83
|
+
f"Skipped {type(logger).__name__} as remote storage is not supported."
|
|
84
|
+
)
|
|
85
|
+
continue
|
|
86
|
+
else:
|
|
87
|
+
logger._root_dir = self.default_root_dir
|
|
88
|
+
logger._name = self._session_id
|
|
89
|
+
logger._version = subdirectory
|
|
90
|
+
elif isinstance(logger, pl_loggers.WandbLogger):
|
|
91
|
+
task_name = self.default_root_dir.split("/")[-1]
|
|
92
|
+
run_name = os.getenv("WANDB_RUN_NAME", f"{task_name}_{self._session_id}")
|
|
93
|
+
wandb_utils.init_run(f"{run_name}_{run_id}", logger._wandb_init)
|
|
94
|
+
enabled_loggers.append(logger)
|
|
90
95
|
|
|
91
96
|
self._loggers = enabled_loggers or [eva_loggers.DummyLogger(self._log_dir)]
|
|
92
97
|
|
|
98
|
+
def finish_logger_run(self, run_id: int | None) -> None:
|
|
99
|
+
"""Finish the current run in the enabled loggers.
|
|
100
|
+
|
|
101
|
+
Args:
|
|
102
|
+
run_id: The id of the current run.
|
|
103
|
+
"""
|
|
104
|
+
for logger in self.loggers or []:
|
|
105
|
+
if isinstance(logger, pl_loggers.WandbLogger):
|
|
106
|
+
wandb_utils.finish_run()
|
|
107
|
+
|
|
93
108
|
def run_evaluation_session(
|
|
94
109
|
self,
|
|
95
110
|
model: modules.ModelModule,
|
|
@@ -2,12 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
from eva.vision.data.datasets.classification import (
|
|
4
4
|
BACH,
|
|
5
|
+
BRACS,
|
|
5
6
|
CRC,
|
|
6
7
|
MHIST,
|
|
7
8
|
PANDA,
|
|
9
|
+
BreaKHis,
|
|
8
10
|
Camelyon16,
|
|
11
|
+
GleasonArvaniti,
|
|
9
12
|
PANDASmall,
|
|
10
13
|
PatchCamelyon,
|
|
14
|
+
UniToPatho,
|
|
11
15
|
WsiClassificationDataset,
|
|
12
16
|
)
|
|
13
17
|
from eva.vision.data.datasets.segmentation import (
|
|
@@ -26,12 +30,16 @@ from eva.vision.data.datasets.wsi import MultiWsiDataset, WsiDataset
|
|
|
26
30
|
__all__ = [
|
|
27
31
|
"BACH",
|
|
28
32
|
"BCSS",
|
|
33
|
+
"BreaKHis",
|
|
34
|
+
"BRACS",
|
|
29
35
|
"CRC",
|
|
36
|
+
"GleasonArvaniti",
|
|
30
37
|
"MHIST",
|
|
31
38
|
"PANDA",
|
|
32
39
|
"PANDASmall",
|
|
33
40
|
"Camelyon16",
|
|
34
41
|
"PatchCamelyon",
|
|
42
|
+
"UniToPatho",
|
|
35
43
|
"WsiClassificationDataset",
|
|
36
44
|
"CoNSeP",
|
|
37
45
|
"EmbeddingsSegmentationDataset",
|
|
@@ -1,18 +1,27 @@
|
|
|
1
1
|
"""Image classification datasets API."""
|
|
2
2
|
|
|
3
3
|
from eva.vision.data.datasets.classification.bach import BACH
|
|
4
|
+
from eva.vision.data.datasets.classification.bracs import BRACS
|
|
5
|
+
from eva.vision.data.datasets.classification.breakhis import BreaKHis
|
|
4
6
|
from eva.vision.data.datasets.classification.camelyon16 import Camelyon16
|
|
5
7
|
from eva.vision.data.datasets.classification.crc import CRC
|
|
8
|
+
from eva.vision.data.datasets.classification.gleason_arvaniti import GleasonArvaniti
|
|
6
9
|
from eva.vision.data.datasets.classification.mhist import MHIST
|
|
7
10
|
from eva.vision.data.datasets.classification.panda import PANDA, PANDASmall
|
|
8
11
|
from eva.vision.data.datasets.classification.patch_camelyon import PatchCamelyon
|
|
12
|
+
from eva.vision.data.datasets.classification.unitopatho import UniToPatho
|
|
9
13
|
from eva.vision.data.datasets.classification.wsi import WsiClassificationDataset
|
|
10
14
|
|
|
11
15
|
__all__ = [
|
|
12
16
|
"BACH",
|
|
17
|
+
"BreaKHis",
|
|
18
|
+
"BRACS",
|
|
19
|
+
"Camelyon16",
|
|
13
20
|
"CRC",
|
|
21
|
+
"GleasonArvaniti",
|
|
14
22
|
"MHIST",
|
|
15
23
|
"PatchCamelyon",
|
|
24
|
+
"UniToPatho",
|
|
16
25
|
"WsiClassificationDataset",
|
|
17
26
|
"PANDA",
|
|
18
27
|
"PANDASmall",
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"""BRACS dataset class."""
|
|
2
|
+
|
|
3
|
+
import os
|
|
4
|
+
from typing import Callable, Dict, List, Literal, Tuple
|
|
5
|
+
|
|
6
|
+
import torch
|
|
7
|
+
from torchvision import tv_tensors
|
|
8
|
+
from torchvision.datasets import folder
|
|
9
|
+
from typing_extensions import override
|
|
10
|
+
|
|
11
|
+
from eva.vision.data.datasets import _validators
|
|
12
|
+
from eva.vision.data.datasets.classification import base
|
|
13
|
+
from eva.vision.utils import io
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class BRACS(base.ImageClassification):
|
|
17
|
+
"""Dataset class for BRACS images and corresponding targets."""
|
|
18
|
+
|
|
19
|
+
_expected_dataset_lengths: Dict[str, int] = {
|
|
20
|
+
"train": 3657,
|
|
21
|
+
"val": 312,
|
|
22
|
+
"test": 570,
|
|
23
|
+
}
|
|
24
|
+
"""Expected dataset lengths for the splits and complete dataset."""
|
|
25
|
+
|
|
26
|
+
_license: str = "CC BY-NC 4.0 (https://creativecommons.org/licenses/by-nc/4.0/)"
|
|
27
|
+
"""Dataset license."""
|
|
28
|
+
|
|
29
|
+
def __init__(
|
|
30
|
+
self,
|
|
31
|
+
root: str,
|
|
32
|
+
split: Literal["train", "val", "test"],
|
|
33
|
+
transforms: Callable | None = None,
|
|
34
|
+
) -> None:
|
|
35
|
+
"""Initializes the dataset.
|
|
36
|
+
|
|
37
|
+
Args:
|
|
38
|
+
root: Path to the root directory of the dataset.
|
|
39
|
+
split: Dataset split to use.
|
|
40
|
+
transforms: A function/transform which returns a transformed
|
|
41
|
+
version of the raw data samples.
|
|
42
|
+
"""
|
|
43
|
+
super().__init__(transforms=transforms)
|
|
44
|
+
|
|
45
|
+
self._root = root
|
|
46
|
+
self._split = split
|
|
47
|
+
|
|
48
|
+
self._samples: List[Tuple[str, int]] = []
|
|
49
|
+
|
|
50
|
+
@property
|
|
51
|
+
@override
|
|
52
|
+
def classes(self) -> List[str]:
|
|
53
|
+
return ["0_N", "1_PB", "2_UDH", "3_FEA", "4_ADH", "5_DCIS", "6_IC"]
|
|
54
|
+
|
|
55
|
+
@property
|
|
56
|
+
@override
|
|
57
|
+
def class_to_idx(self) -> Dict[str, int]:
|
|
58
|
+
return {name: index for index, name in enumerate(self.classes)}
|
|
59
|
+
|
|
60
|
+
@override
|
|
61
|
+
def filename(self, index: int) -> str:
|
|
62
|
+
image_path, *_ = self._samples[index]
|
|
63
|
+
return os.path.relpath(image_path, self._dataset_path)
|
|
64
|
+
|
|
65
|
+
@override
|
|
66
|
+
def prepare_data(self) -> None:
|
|
67
|
+
_validators.check_dataset_exists(self._root, True)
|
|
68
|
+
|
|
69
|
+
@override
|
|
70
|
+
def configure(self) -> None:
|
|
71
|
+
self._samples = self._make_dataset()
|
|
72
|
+
|
|
73
|
+
@override
|
|
74
|
+
def validate(self) -> None:
|
|
75
|
+
_validators.check_dataset_integrity(
|
|
76
|
+
self,
|
|
77
|
+
length=self._expected_dataset_lengths[self._split],
|
|
78
|
+
n_classes=7,
|
|
79
|
+
first_and_last_labels=("0_N", "6_IC"),
|
|
80
|
+
)
|
|
81
|
+
|
|
82
|
+
@override
|
|
83
|
+
def load_image(self, index: int) -> tv_tensors.Image:
|
|
84
|
+
image_path, _ = self._samples[index]
|
|
85
|
+
return io.read_image_as_tensor(image_path)
|
|
86
|
+
|
|
87
|
+
@override
|
|
88
|
+
def load_target(self, index: int) -> torch.Tensor:
|
|
89
|
+
_, target = self._samples[index]
|
|
90
|
+
return torch.tensor(target, dtype=torch.long)
|
|
91
|
+
|
|
92
|
+
@override
|
|
93
|
+
def __len__(self) -> int:
|
|
94
|
+
return len(self._samples)
|
|
95
|
+
|
|
96
|
+
@property
|
|
97
|
+
def _dataset_path(self) -> str:
|
|
98
|
+
"""Returns the full path of dataset directory."""
|
|
99
|
+
return os.path.join(self._root, "BRACS_RoI/latest_version")
|
|
100
|
+
|
|
101
|
+
def _make_dataset(self) -> List[Tuple[str, int]]:
|
|
102
|
+
"""Builds the dataset for the specified split."""
|
|
103
|
+
dataset = folder.make_dataset(
|
|
104
|
+
directory=os.path.join(self._dataset_path, self._split),
|
|
105
|
+
class_to_idx=self.class_to_idx,
|
|
106
|
+
extensions=(".png"),
|
|
107
|
+
)
|
|
108
|
+
return dataset
|
|
109
|
+
|
|
110
|
+
def _print_license(self) -> None:
|
|
111
|
+
"""Prints the dataset license."""
|
|
112
|
+
print(f"Dataset license: {self._license}")
|