| { | |
| "imports": [ | |
| "$import torch", | |
| "$from datetime import datetime", | |
| "$from pathlib import Path" | |
| ], | |
| "bundle_root": ".", | |
| "model_dir": "$@bundle_root + '/models'", | |
| "dataset_dir": "/workspace/data/medical", | |
| "output_dir": "$@bundle_root + '/output'", | |
| "create_output_dir": "$Path(@output_dir).mkdir(exist_ok=True)", | |
| "device": "$torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')", | |
| "output_orig_postfix": "recon", | |
| "output_recon_postfix": "orig", | |
| "channel": 0, | |
| "spacing": [ | |
| 1.1, | |
| 1.1, | |
| 1.1 | |
| ], | |
| "spatial_dims": 3, | |
| "image_channels": 1, | |
| "latent_channels": 8, | |
| "infer_patch_size": [ | |
| 144, | |
| 176, | |
| 112 | |
| ], | |
| "autoencoder_def": { | |
| "_target_": "monai.networks.nets.autoencoderkl.AutoencoderKL", | |
| "spatial_dims": "@spatial_dims", | |
| "in_channels": "@image_channels", | |
| "out_channels": "@image_channels", | |
| "latent_channels": "@latent_channels", | |
| "channels": [ | |
| 64, | |
| 128, | |
| 256 | |
| ], | |
| "num_res_blocks": 2, | |
| "norm_num_groups": 32, | |
| "norm_eps": 1e-06, | |
| "attention_levels": [ | |
| false, | |
| false, | |
| false | |
| ], | |
| "with_encoder_nonlocal_attn": false, | |
| "with_decoder_nonlocal_attn": false, | |
| "include_fc": false | |
| }, | |
| "load_autoencoder_path": "$@bundle_root + '/models/model_autoencoder.pt'", | |
| "load_autoencoder": "$@autoencoder_def.load_old_state_dict(torch.load(@load_autoencoder_path))", | |
| "autoencoder": "$@autoencoder_def.to(@device)", | |
| "preprocessing_transforms": [ | |
| { | |
| "_target_": "LoadImaged", | |
| "keys": "image" | |
| }, | |
| { | |
| "_target_": "EnsureChannelFirstd", | |
| "keys": "image" | |
| }, | |
| { | |
| "_target_": "Lambdad", | |
| "keys": "image", | |
| "func": "$lambda x: x[@channel, :, :, :]" | |
| }, | |
| { | |
| "_target_": "EnsureChannelFirstd", | |
| "keys": "image", | |
| "channel_dim": "no_channel" | |
| }, | |
| { | |
| "_target_": "EnsureTyped", | |
| "keys": "image" | |
| }, | |
| { | |
| "_target_": "Orientationd", | |
| "keys": "image", | |
| "axcodes": "RAS" | |
| }, | |
| { | |
| "_target_": "Spacingd", | |
| "keys": "image", | |
| "pixdim": "@spacing", | |
| "mode": "bilinear" | |
| } | |
| ], | |
| "crop_transforms": [ | |
| { | |
| "_target_": "CenterSpatialCropd", | |
| "keys": "image", | |
| "roi_size": "@infer_patch_size" | |
| } | |
| ], | |
| "final_transforms": [ | |
| { | |
| "_target_": "ScaleIntensityRangePercentilesd", | |
| "keys": "image", | |
| "lower": 0, | |
| "upper": 99.5, | |
| "b_min": 0, | |
| "b_max": 1 | |
| } | |
| ], | |
| "preprocessing": { | |
| "_target_": "Compose", | |
| "transforms": "$@preprocessing_transforms + @crop_transforms + @final_transforms" | |
| }, | |
| "dataset": { | |
| "_target_": "monai.apps.DecathlonDataset", | |
| "root_dir": "@dataset_dir", | |
| "task": "Task01_BrainTumour", | |
| "section": "validation", | |
| "cache_rate": 0.0, | |
| "num_workers": 8, | |
| "download": false, | |
| "transform": "@preprocessing" | |
| }, | |
| "dataloader": { | |
| "_target_": "DataLoader", | |
| "dataset": "@dataset", | |
| "batch_size": 1, | |
| "shuffle": true, | |
| "num_workers": 0 | |
| }, | |
| "saver_orig": { | |
| "_target_": "SaveImage", | |
| "_requires_": "@create_output_dir", | |
| "output_dir": "@output_dir", | |
| "output_postfix": "@output_orig_postfix", | |
| "resample": false, | |
| "padding_mode": "zeros" | |
| }, | |
| "saver_recon": { | |
| "_target_": "SaveImage", | |
| "_requires_": "@create_output_dir", | |
| "output_dir": "@output_dir", | |
| "output_postfix": "@output_recon_postfix", | |
| "resample": false, | |
| "padding_mode": "zeros" | |
| }, | |
| "input_img": "$monai.utils.first(@dataloader)['image'].to(@device)", | |
| "recon_img": "$@autoencoder(@input_img)[0][0]", | |
| "run": [ | |
| "$@load_autoencoder", | |
| "$@saver_orig(@input_img[0][0])", | |
| "$@saver_recon(@recon_img)" | |
| ] | |
| } | |