ldctbench.hub.utils
denoise_dicom(dicom_path, savedir, method, device=None, disable_progress=False)
Denoise a single DICOM or multiple DICOMs in a folder with a model from the model hub
Parameters:
-
dicom_path(str) –Path to a single DICOM file or a folder containig one or more DICOM files
-
savedir(str) –Foldername where to store denoised DICOM file(s) in
-
method(Union[Literal[RESNET, CNN10, DUGAN, QAE, REDCNN, TRANSCT, WGANVGG, BILATERAL], str]) –Enum item or string, specifying model to load. See ldctbench.hub.methods.Methods for more info.
-
device(Optional[device], default:None) –torch.device, optional
-
disable_progress(bool, default:False) –Disable progress bar (if denoising multiple DICOM files), by default False
Raises:
-
ValueError–If provided path is neither a DICOM file nor a folder containing at least one DICOM file
Examples:
A comprehensive example using this function is provided in [Getting Started][denoise-dicom-using-pretrained-models].
denoise_numpy(x, method, device=None, num_slices_parallel=6, is_normalized=False)
Denoise a numpy array with a model from the model hub
Parameters:
-
x(ndarray) –Input numpy array. Must be either 2d (single slice) or 3d (with slices-first) order
-
method(Union[Literal[RESNET, CNN10, DUGAN, QAE, REDCNN, TRANSCT, WGANVGG, BILATERAL], str, Module]) –Enum item or string, specifying model to load. See ldctbench.hub.methods.Methods for more info. You can also pass a nn.Module directly.
-
device(Optional[device], default:None) –torch.device, optional
-
num_slices_parallel(int, default:6) –Number of slices to process in parallel, by default 6
-
is_normalized(bool, default:False) –Whether data in array is already normalized for the model, by default False
Returns:
-
ndarray–Prediction of the network
Raises:
-
ValueError–If input is not a 2d or 3d array