| { |
| "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)" |
| ] |
| } |
|
|