ImageDataset#
- class deepinv.datasets.ImageDataset[source]#
Bases:
Dataset
Base class for imaging datasets in DeepInverse.
All datasets used with DeepInverse should inherit from this class.
We provide the function
check_dataset()
to automatically check that__getitem__
returns the correct format out of the following options:x
i.e a dataset that returns only ground truth;(x, y)
i.e. a dataset that returns pairs of ground truth and measurement.x
can be equal totorch.nan
if your dataset is ground-truth-free.(x, params)
i.e. a dataset of ground truth and dict of physics parameters. Useful for training with online measurements.(x, y, params)
i.e. a dataset that returns ground truth, measurements and dict of physics params.
This check is also available for datasets using the method
ImageDataset.check_dataset()
.Datasets should ideally return
torch.Tensor
ordeepinv.utils.TensorList
so that they are batchable and can be used withdeepinv
.If using DeepInverse with your own custom dataset, you should inherit from this class and use
check_dataset()
to check your dataset is compatible.
Examples using ImageDataset
:#

Imaging inverse problems with adversarial networks

Patch priors for limited-angle computed tomography

Regularization by Denoising (RED) for Super-Resolution.

Self-supervised MRI reconstruction with Artifact2Artifact

Self-supervised learning with Equivariant Imaging for MRI.

Self-supervised learning from incomplete measurements of multiple operators.

Self-supervised denoising with the Neighbor2Neighbor loss.

Self-supervised denoising with the Generalized R2R loss.

Self-supervised learning with measurement splitting

Deep Equilibrium (DEQ) algorithms for image deblurring

Learned Iterative Soft-Thresholding Algorithm (LISTA) for compressed sensing

Unfolded Chambolle-Pock for constrained image inpainting