vista3d / configs /inference.json
project-monai's picture
Upload vista3d version 0.5.8
f2ae8ec verified
{
"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()"
]
}