| { |
| "imports": [ |
| "$import glob", |
| "$import os", |
| "$import scripts", |
| "$import numpy as np", |
| "$import copy", |
| "$import json", |
| "$import pathlib" |
| ], |
| "bundle_root": "./", |
| "image_key": "image", |
| "output_dir": "$@bundle_root + '/eval'", |
| "output_ext": ".nii.gz", |
| "output_dtype": "$np.float32", |
| "output_postfix": "trans", |
| "separate_folder": true, |
| "input_dict": "${'image': '/data/Task09_Spleen/imagesTr/spleen_10.nii.gz', 'label_prompt': [3]}", |
| "everything_labels": "$list(set([i+1 for i in range(132)]) - set([2,16,18,20,21,23,24,25,26,27,128,129,130,131,132]))", |
| "metadata_path": "$@bundle_root + '/configs/metadata.json'", |
| "metadata": "$json.loads(pathlib.Path(@metadata_path).read_text())", |
| "labels_dict": "$@metadata['network_data_format']['outputs']['pred']['channel_def']", |
| "subclass": { |
| "2": [ |
| 14, |
| 5 |
| ], |
| "20": [ |
| 28, |
| 29, |
| 30, |
| 31, |
| 32 |
| ], |
| "21": "$list(range(33, 57)) + list(range(63, 98)) + [114, 120, 122]" |
| }, |
| "input_channels": 1, |
| "resample_spacing": [ |
| 1.5, |
| 1.5, |
| 1.5 |
| ], |
| "sw_batch_size": 1, |
| "patch_size": [ |
| 128, |
| 128, |
| 128 |
| ], |
| "device": "$torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')", |
| "use_point_window": true, |
| "network_def": "$monai.networks.nets.vista3d132(in_channels=@input_channels)", |
| "network": "$@network_def.to(@device)", |
| "preprocessing_transforms": [ |
| { |
| "_target_": "LoadImaged", |
| "keys": "@image_key", |
| "image_only": true |
| }, |
| { |
| "_target_": "EnsureChannelFirstd", |
| "keys": "@image_key" |
| }, |
| { |
| "_target_": "EnsureTyped", |
| "keys": "@image_key", |
| "device": "@device", |
| "track_meta": true |
| }, |
| { |
| "_target_": "Spacingd", |
| "keys": "@image_key", |
| "pixdim": "@resample_spacing", |
| "mode": "bilinear" |
| }, |
| { |
| "_target_": "CropForegroundd", |
| "keys": "@image_key", |
| "allow_smaller": true, |
| "margin": 10, |
| "source_key": "@image_key" |
| }, |
| { |
| "_target_": "monai.apps.vista3d.transforms.VistaPreTransformd", |
| "keys": "@image_key", |
| "subclass": "@subclass", |
| "labels_dict": "@labels_dict" |
| }, |
| { |
| "_target_": "ScaleIntensityRanged", |
| "keys": "@image_key", |
| "a_min": -963.8247715525971, |
| "a_max": 1053.678477684517, |
| "b_min": 0, |
| "b_max": 1, |
| "clip": true |
| }, |
| { |
| "_target_": "Orientationd", |
| "keys": "@image_key", |
| "axcodes": "RAS" |
| }, |
| { |
| "_target_": "CastToTyped", |
| "keys": "@image_key", |
| "dtype": "$torch.float32" |
| } |
| ], |
| "preprocessing": { |
| "_target_": "Compose", |
| "transforms": "$@preprocessing_transforms " |
| }, |
| "dataset": { |
| "_target_": "Dataset", |
| "data": "$[@input_dict]", |
| "transform": "@preprocessing" |
| }, |
| "dataloader": { |
| "_target_": "ThreadDataLoader", |
| "dataset": "@dataset", |
| "batch_size": 1, |
| "shuffle": false, |
| "num_workers": 0 |
| }, |
| "inferer": { |
| "_target_": "scripts.inferer.Vista3dInferer", |
| "roi_size": "@patch_size", |
| "overlap": 0.3, |
| "sw_batch_size": "@sw_batch_size", |
| "use_point_window": "@use_point_window" |
| }, |
| "postprocessing": { |
| "_target_": "Compose", |
| "transforms": [ |
| { |
| "_target_": "ToDeviced", |
| "keys": "pred", |
| "device": "cpu", |
| "_disabled_": true |
| }, |
| { |
| "_target_": "monai.apps.vista3d.transforms.VistaPostTransformd", |
| "keys": "pred" |
| }, |
| { |
| "_target_": "Invertd", |
| "keys": "pred", |
| "transform": "$copy.deepcopy(@preprocessing)", |
| "orig_keys": "@image_key", |
| "nearest_interp": true, |
| "to_tensor": true |
| }, |
| { |
| "_target_": "Lambdad", |
| "func": "$lambda x: torch.nan_to_num(x, nan=255)", |
| "keys": "pred" |
| }, |
| { |
| "_target_": "SaveImaged", |
| "keys": "pred", |
| "resample": false, |
| "output_dir": "@output_dir", |
| "output_ext": "@output_ext", |
| "output_dtype": "@output_dtype", |
| "output_postfix": "@output_postfix", |
| "separate_folder": "@separate_folder" |
| } |
| ] |
| }, |
| "handlers": [ |
| { |
| "_target_": "StatsHandler", |
| "iteration_log": false |
| } |
| ], |
| "checkpointloader": { |
| "_target_": "CheckpointLoader", |
| "load_path": "$@bundle_root + '/models/model.pt'", |
| "load_dict": { |
| "model": "@network" |
| }, |
| "map_location": "@device" |
| }, |
| "evaluator": { |
| "_target_": "scripts.evaluator.Vista3dEvaluator", |
| "device": "@device", |
| "val_data_loader": "@dataloader", |
| "network": "@network", |
| "inferer": "@inferer", |
| "postprocessing": "@postprocessing", |
| "val_handlers": "@handlers", |
| "amp": true, |
| "hyper_kwargs": { |
| "user_prompt": true, |
| "everything_labels": "@everything_labels" |
| } |
| }, |
| "initialize": [ |
| "$monai.utils.set_determinism(seed=123)", |
| "$@checkpointloader(@evaluator)" |
| ], |
| "run": [ |
| "$@evaluator.run()" |
| ] |
| } |
|
|