Source code for antspynet.utilities.mri_super_resolution

import numpy as np
import tensorflow as tf
import ants


[docs]def mri_super_resolution(image, antsxnet_cache_directory=None, verbose=False): """ Perform super-resolution (2x) of MRI data using deep back projection network. Arguments --------- image : ANTsImage magnetic resonance image antsxnet_cache_directory : string Destination directory for storing the downloaded template and model weights. Since these can be reused, if is None, these data will be downloaded to a ~/.keras/ANTsXNet/. verbose : boolean Print progress to the screen. Returns ------- The super-resolved image. Example ------- >>> image = ants.image_read("t1.nii.gz") >>> image_sr = mri_super_resolution(image) """ from ..utilities import get_pretrained_network from ..utilities import apply_super_resolution_model_to_image from ..utilities import regression_match_image if image.dimension != 3: raise ValueError("Image dimension must be 3.") model_and_weights_file_name = get_pretrained_network("mriSuperResolution", antsxnet_cache_directory=antsxnet_cache_directory) model_sr = tf.keras.models.load_model(model_and_weights_file_name, compile=False) image_sr = apply_super_resolution_model_to_image( image, model_sr, target_range=(-127.5, 127.5) ) image_sr = regression_match_image( image_sr, ants.resample_image_to_target(image, image_sr), poly_order=1 ) return image_sr