diff --git a/direct/data/datasets.py b/direct/data/datasets.py index b8446b66d..80d91b6b7 100644 --- a/direct/data/datasets.py +++ b/direct/data/datasets.py @@ -1,7 +1,9 @@ -# coding=utf-8 # Copyright (c) DIRECT Contributors """DIRECT datasets module.""" + +from __future__ import annotations + import bisect import contextlib import logging @@ -11,6 +13,7 @@ from enum import Enum from typing import Any, Callable, Dict, List, Optional, Sequence, Tuple, Union +import h5py import numpy as np from omegaconf import DictConfig from torch.utils.data import Dataset, IterableDataset @@ -20,6 +23,7 @@ from direct.data.sens import simulate_sensitivity_maps from direct.types import PathOrString from direct.utils import remove_keys, str_to_class +from direct.utils.dataset import get_filenames_for_datasets logger = logging.getLogger(__name__) @@ -27,6 +31,7 @@ "build_dataset_from_input", "CalgaryCampinasDataset", "ConcatDataset", + "CMRxReconDataset", "FastMRIDataset", "FakeMRIBlobsDataset", "SheppLoganDataset", @@ -395,6 +400,268 @@ def __broadcast_mask(self, kspace_shape, mask): return mask +class CMRxReconDataset(Dataset): + """CMRxRecon Challenge Dataset [1]_. + + References + ---------- + + .. [1] https://cmrxrecon.github.io/Challenge.html + """ + + # pylint: disable=too-many-arguments + def __init__( + self, + data_root: pathlib.Path, + transform: Optional[Callable[[tuple[Any, ...]], dict]] = None, + filenames_filter: Optional[list[PathOrString]] = None, + filenames_lists: Optional[list[PathOrString]] = None, + filenames_lists_root: Optional[PathOrString] = None, + kspace_key: str = "kspace_full", + extra_keys: Optional[tuple] = None, + text_description: Optional[str] = None, + compute_mask: bool = False, + kspace_context: Optional[str] = None, + ) -> None: + """Inits :class:`CMRxReconDataset`. + + Parameters + ---------- + data_root : pathlib.Path + Root directory to data. + transform : Callable, optional + A list of transforms to be applied on the generated samples. Default is None. + filenames_filter : list[PathOrString], optional + List of filenames to include in the dataset, should be the same as the ones that can be derived from a glob + on the root. If set, will skip searching for files in the root. Default: None. + filenames_lists : list[PathOrString], optional + List of paths pointing to `.lst` file(s) that contain file-names in `root` to filter. + Should be the same as the ones that can be derived from a glob on the root. If this is set, + this will override the `filenames_filter` option if not None. Defualt: None. + filenames_lists_root : PathOrString, optional + Root of `filenames_lists`. Ignored if `filename_lists` is None. Default: None. + kspace_key : str + Key to load the k-space. Typically, `kspace_full` for fully-sampled data, or `kspace_subxx` for + sub-sampled data. Default: `kspace_full`. + extra_keys: Tuple of strings + Add extra keys in h5 file to output. May be used to load sampling masks, e.g. `maskxx`. Default: None. + text_description: str + Description of dataset, can be useful for logging. + compute_mask : bool + If True, it will compute the sampling mask from data. This should be typically True at inference, where + data are already undersampled. This will also compute `acs_mask`, which is by default the 24 + center lines. Default: False. + kspace_context : str, optional + Can be either None, `time` or `slice`. If None, data will be loaded per slice or time-frame (2D data). + If `time`, all time frames(phases) per slice will be loaded (3D data). If `slice`, all sliced per time frame + will be loaded (3D data). Default: None. + + """ + self.logger = logging.getLogger(type(self).__name__) + + self.root = pathlib.Path(data_root) + self.filenames_filter = filenames_filter + + self.text_description = text_description + + self.kspace_key = kspace_key + + self.data: list[tuple] = [] + + self.volume_indices: Dict[pathlib.Path, range] = {} + + if kspace_context not in [None, "slice", "time"]: + raise ValueError( + f"Attribute `kspace_context` can be None for 2D data or `slice` or `time` for 3D. " + f"Received {kspace_context}." + ) + + self.kspace_context = kspace_context + + self.ndim = 2 if self.kspace_context is None else 3 + + # If filenames_filter and filenames_lists are given, it will load files in filenames_filter + # and filenames_lists will be ignored. + if filenames_filter is None: + if filenames_lists is not None: + if filenames_lists_root is None: + e = "`filenames_lists` is passed but `filenames_lists_root` is None." + self.logger.error(e) + raise ValueError(e) + filenames = get_filenames_for_datasets( + lists=filenames_lists, files_root=filenames_lists_root, data_root=data_root + ) + self.logger.info("Attempting to load %s filenames from list(s).", len(filenames)) + else: + self.logger.info("Parsing directory %s for mat files.", self.root) + filenames = list(self.root.glob("*.mat")) + else: + self.logger.info("Attempting to load %s filenames.", len(filenames_filter)) + filenames = filenames_filter + + filenames = [pathlib.Path(_) for _ in filenames] + + if len(filenames) == 0: + warn = ( + f"Found 0 mat files in directory {self.root}." + if not self.text_description + else f"Found 0 mat files in directory {self.root} for dataset {self.text_description}." + ) + self.logger.warning(warn) + else: + self.logger.info("Using %s mat files in %s.", len(filenames), self.root) + + self.parse_filenames_data(filenames, extra_mats=None) # Collect information on the image masks_dict. + self.extra_keys = extra_keys + + self.compute_mask = compute_mask + + self.transform = transform + + if self.text_description: + self.logger.info("Dataset description: %s.", self.text_description) + + def parse_filenames_data(self, filenames, extra_mats=None): + current_slice_number = 0 # This is required to keep track of where a volume is in the dataset + + for idx, filename in enumerate(filenames): + if len(filenames) < 5 or idx % (len(filenames) // 5) == 0 or len(filenames) == (idx + 1): + self.logger.info("Parsing: {:.2f}%.".format((idx + 1) / len(filenames) * 100)) + try: + if not filename.exists(): + raise OSError(f"{filename} does not exist.") + kspace_shape = h5py.File(filename, "r")[self.kspace_key].shape + self.verify_extra_mat_integrity(filename, extra_mats=extra_mats) + except FileNotFoundError as exc: + self.logger.warning("%s not found. Failed with: %s. Skipping...", filename, exc) + continue + except OSError as exc: + self.logger.warning("%s failed with OSError: %s. Skipping...", filename, exc) + continue + + if self.kspace_context is None: + num_slices = np.prod(kspace_shape[:2]) + elif self.kspace_context == "slice": + # Slice dimension second + num_slices = kspace_shape[0] + else: + # Time dimension first + num_slices = kspace_shape[1] + + self.data += [(filename, slc) for slc in range(num_slices)] + + self.volume_indices[filename] = range( + current_slice_number, + current_slice_number + num_slices, + ) + + current_slice_number += num_slices + + @staticmethod + def verify_extra_mat_integrity(image_fn, extra_mats): + if not extra_mats: + return + + for key in extra_mats: + mat_key, path = extra_mats[key] + extra_fn = path / image_fn.name + with h5py.File(extra_fn, "r") as file: + _ = file[mat_key].shape + return + + def __len__(self): + return len(self.data) + + def get_slice_data(self, filename, slice_no, key, extra_keys=None): + data = h5py.File(filename, "r") + shape = data[key].shape + + if self.kspace_context is None: + inds = {(i): (k, l) for i, (k, l) in enumerate([(k, l) for k in range(shape[0]) for l in range(shape[1])])} + ind = inds[slice_no] + curr_data = np.array(data[key][ind[0]][ind[1]]) + elif self.kspace_context == "slice": + # Slice dimension + curr_data = np.array(data[key][slice_no]) + else: + # Time dimension + curr_data = np.array(data[key][:, slice_no]) + + extra_data = {} + + if extra_keys: + for extra_key in self.extra_keys: + extra_data[extra_key] = data[extra_key][()] + data.close() + return curr_data, extra_data + + def get_num_slices(self, filename): + num_slices = self.volume_indices[filename].stop - self.volume_indices[filename].start + return num_slices + + def __getitem__(self, idx: int) -> Dict[str, Any]: # pylint: disable=too-many-locals + filename, slice_no = self.data[idx] + filename = pathlib.Path(filename) + + kspace, extra_data = self.get_slice_data(filename, slice_no, key=self.kspace_key, extra_keys=self.extra_keys) + + kspace = kspace["real"] + 1j * kspace["imag"] + kspace = np.swapaxes(kspace, -1, -2) + + if kspace.ndim == 2: # Singlecoil data. + kspace = kspace[np.newaxis, ...] + + sample = {"kspace": kspace, "filename": str(filename), "slice_no": slice_no} + + if self.compute_mask: + nx, ny = kspace.shape[-2:] + sampling_mask = np.abs(kspace).sum(tuple(range(len(kspace.shape) - 2))) != 0 + assert tuple(sampling_mask.shape) == (nx, ny) + acs_mask = np.zeros((nx, ny), dtype=bool) + acs_mask[:, ny // 2 - 12 : ny // 2 + 12] = True + + sample["sampling_mask"] = sampling_mask[np.newaxis, ..., np.newaxis] + sample["acs_mask"] = acs_mask[np.newaxis, ..., np.newaxis] + + elif any("mask" in key for key in extra_data): + mask_keys = [key for key in extra_data if "mask" in key] + # This will load up randomly a mask if more than one keys + mask_key = np.random.choice(mask_keys) + + sampling_mask = np.array(extra_data[mask_key]).astype(bool) + for key in mask_keys: + del extra_data[key] + + ny, nx = sampling_mask.shape + sampling_mask = np.swapaxes(sampling_mask, -1, -2) + + acs_mask = np.zeros((nx, ny), dtype=bool) + acs_mask[:, ny // 2 - 12 : ny // 2 + 12] = True + + sample["sampling_mask"] = sampling_mask[np.newaxis, ..., np.newaxis] + sample["acs_mask"] = acs_mask[np.newaxis, ..., np.newaxis] + + if self.kspace_context and "sampling_mask" in sample: + sample["sampling_mask"] = sample["sampling_mask"][np.newaxis] + sample["acs_mask"] = sample["acs_mask"][np.newaxis] + + sample.update(extra_data) + + shape = kspace.shape + sample["reconstruction_size"] = (int(np.round(shape[-2] / 3)), int(np.round(shape[-1] / 2)), 1) + if self.kspace_context: + # Add context dimension in reconstruction size without any crop + context_size = shape[0] + sample["reconstruction_size"] = (context_size,) + sample["reconstruction_size"] + # If context put coil dim first + sample["kspace"] = np.swapaxes(sample["kspace"], 0, 1) + + if self.transform: + sample = self.transform(sample) + + return sample + + class CalgaryCampinasDataset(H5SliceData): """Calgary-Campinas challenge dataset.""" diff --git a/direct/data/datasets_config.py b/direct/data/datasets_config.py index 460dc32b9..3847d0400 100644 --- a/direct/data/datasets_config.py +++ b/direct/data/datasets_config.py @@ -81,6 +81,19 @@ class H5SliceConfig(DatasetConfig): filenames_lists_root: Optional[str] = None +@dataclass +class CMRxReconConfig(DatasetConfig): + regex_filter: Optional[str] = None + data_root: Optional[str] = None + filenames_filter: Optional[List[str]] = None + filenames_lists: Optional[List[str]] = None + filenames_lists_root: Optional[str] = None + kspace_key: str = "kspace_full" + compute_mask: bool = False + extra_keys: Optional[List[str]] = None + kspace_context: Optional[str] = None + + @dataclass class FastMRIConfig(H5SliceConfig): pass_attrs: bool = True diff --git a/projects/CMRxRecon/README.rst b/projects/CMRxRecon/README.rst new file mode 100644 index 000000000..908675083 --- /dev/null +++ b/projects/CMRxRecon/README.rst @@ -0,0 +1,220 @@ +Deep Cardiac MRI Reconstruction with ADMM (CMRxRecon Challenge 2023) +===================================================================== + +.. figure:: https://github.com/NKI-AI/direct/assets/71031687/40460397-acb0-402e-bd22-0e7b547e61e5 + :alt: fig + :name: fig1 + + Figure 1: Pipeline of our proposed methods. + +.. figure:: https://github.com/NKI-AI/direct/assets/71031687/24e68d2a-4d94-42b3-9560-f68661753ad9 + :alt: tabs + :name: fig2 + + Figure 2: Average results and inference times. + + +This project contains necessary configuration files to reproduce experiments of 2nd top-ranking approach +to both tasks of CMRxRecon Challenge 2023 as presented in `Deep Cardiac MRI Reconstruction with ADMM +`_. +This will also help you set up the training and inference data directories. + +Setting up data directory +------------------------- + +This project aims to help you set up directories for training and validation +data using the specified directory structures necessary to run with DIRECT. +You will need to run this process twice: once for "Cine" data and once for "Mapping" data. + +Prerequisites +~~~~~~~~~~~~~ + +Before you begin, make sure you have downloaded the CMRxRecon Challenge +data. Check `https://cmrxrecon.github.io/Challenge.html`_ for more information. + +Assumed Base Path Structure +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The script assumes that CMRxRecon data is organized according to the following directory structure: + +.. code-block:: plaintext + + base_path + ├── MultiCoil + │ ├── Cine_or_Mapping + │ │ ├── TrainingSet + │ │ │ ├── FullSample + │ │ │ ├── AccFactor04 + │ │ │ ├── AccFactor08 + │ │ │ └── AccFactor10 + │ │ ├── ValidationSet + │ │ │ ├── AccFactor04 + │ │ │ ├── AccFactor08 + │ │ │ └── AccFactor10 + │ │ ├── TestSet + │ │ │ ├── AccFactor04 + │ │ │ ├── AccFactor08 + │ │ │ └── AccFactor10 + +Symlinks Path Structure +~~~~~~~~~~~~~~~~~~~~~~~ + +The script will create symbolic links (symlinks) in a target directory with the following structure: + +.. code-block:: plaintext + + target_path + target_path + ├── MultiCoil + │ ├── training + │ │ ├── P001_T1map.h5 + │ │ ├── with_masks_P001_T1map.h5 + │ │ ├── P001_cine_sax.h5 + │ │ ├── with_masks_P001_cine_sax.h5 + │ ├── Cine_or_Mapping + │ │ ├── validation + │ │ │ ├── AccFactor04 + │ │ │ | ├── P001_<..>.h5 + │ │ │ ├── AccFactor08 + │ │ │ | ├── P001_<..>.h5 + │ │ │ └── AccFactor10 + │ │ │ | ├── P001_<..>.h5 + │ │ ├── test + │ │ │ ├── AccFactor04 + │ │ │ | ├── P001_<..>.h5 + │ │ │ ├── AccFactor08 + │ │ │ | ├── P001_<..>.h5 + │ │ │ └── AccFactor10 + │ │ │ | ├── P001_<..>.h5 + +Create Symbolic Directories +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The following creates files of fully sampled data with the respective masks, and creates +symbolic paths of data in single directories to be used with DIRECT. + +.. code-block:: bash + + python3 create_data_dir.py --base_path path_to_base_data --target_path path_to_target_directory --data_type Cine + python3 create_data_dir.py --base_path path_to_base_data --target_path path_to_target_directory --data_type Mapping + +Experiments +----------- + +Configuration Files +~~~~~~~~~~~~~~~~~~~ + +We provide configuration files for DIRECT for experiments presented in `Deep Cardiac MRI Reconstruction with ADMM +`_ in the `CMRxRecon configs folder `_. + +Training +~~~~~~~~ + +In `direct/` run the following command to begin training on the training data. + +.. code-block:: bash + + direct train \ + --training-root /MultiCoil/training/ \ + --validation-root /MultiCoil/training/ \ + --cfg projects/CMRxRecon/configs/base_.yaml \ + --num-gpus \ + --num-workers --resume + +Note that for validation a subset of the training data is used since full validation data have not been released. + +Inference +~~~~~~~~~ + +Note that inference is performed for a single dataset, therefore a single acceleration factor. +For example, the following entry for `inference` will perform predictions for acceleration factor of 4x +on validation data. Change `kspace_key: kspace_sub04` to `kspace_key: kspace_sub08` for 8x and +`kspace_key: kspace_sub10` for 10x. + +.. code-block:: yaml + + inference: + batch_size: 8 + dataset: + name: CMRxRecon + kspace_key: kspace_sub04 + compute_mask: true + transforms: + cropping: + crop: null + sensitivity_map_estimation: + estimate_sensitivity_maps: true + normalization: + scaling_key: masked_kspace + scale_percentile: 0.99 + masking: null + text_description: inference-4x + crop: null + +In `direct/` run the following command to perform inference, for instance on 4x: + +.. code-block:: bash + + direct predict + --checkpoint \ + --cfg projects/CMRxRecon/configs/base_.yaml \ + --data-root /MultiCoil//validation/AccFactor<04_or_08_or_10> \ + --num-gpus \ + --num-workers \ + [--other-flags] + +Note +~~~~ + +Fully sampled validation dataset and Test data have note be released yet by the CMRxRecon team. + + +Citing this work +---------------- + +Please use the following BiBTeX entries if you use our proposed methods in your work: + +.. code-block:: BibTeX + + @InProceedings{10.1007/978-3-031-52448-6_45, + author="Yiasemis, George + and Moriakov, Nikita + and Sonke, Jan-Jakob + and Teuwen, Jonas", + title="Deep Cardiac MRI Reconstruction with ADMM", + booktitle="Statistical Atlases and Computational Models of the Heart. Regular and CMRxRecon Challenge Papers", + year="2024", + publisher="Springer Nature Switzerland", + doi="10.1007/978-3-031-52448-6\_45", + url="https://doi.org/10.1007/978-3-031-52448-6\_45", + address="Cham", + pages="479--490", + isbn="978-3-031-52448-6" + } + + @article{yiasemis2023vsharp, + title={vSHARP: variable Splitting Half-quadratic ADMM algorithm for Reconstruction of inverse-Problems}, + author={George Yiasemis and Nikita Moriakov and Jan-Jakob Sonke and Jonas Teuwen}, + month={Sep}, + year={2023}, + eprint={2309.09954}, + archivePrefix={arXiv}, + journal={arXiv.org}, + doi={10.48550/arXiv.2309.09954}, + url={https://doi.org/10.48550/arXiv.2309.09954}, + note={arXiv:2309.09954 [eess.IV]}, + primaryClass={eess.IV} + } + + @article{DIRECTTOOLKIT, + doi = {10.21105/joss.04278}, + url = {https://doi.org/10.21105/joss.04278}, + year = {2022}, + publisher = {The Open Journal}, + volume = {7}, + number = {73}, + pages = {4278}, + author = {George Yiasemis and Nikita Moriakov and Dimitrios Karkalousos and Matthan Caan and Jonas Teuwen}, + title = {DIRECT: Deep Image REConstruction Toolkit}, + journal = {Journal of Open Source Software} + } diff --git a/projects/CMRxRecon/configs/base_rvn.yaml b/projects/CMRxRecon/configs/base_rvn.yaml new file mode 100644 index 000000000..eb9ba8b2d --- /dev/null +++ b/projects/CMRxRecon/configs/base_rvn.yaml @@ -0,0 +1,2607 @@ +physics: + forward_operator: fft2 + backward_operator: ifft2 +training: + datasets: + - + name: CMRxRecon + text_description: mapping_4x_144x512 + filenames_lists: + - ../lists/144x512_map_with_masks_train.lst + extra_keys: + - mask04 + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mapping_8x_144x512 + filenames_lists: + - ../lists/144x512_map_with_masks_train.lst + extra_keys: + - mask08 + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mapping_10x_144x512 + filenames_lists: + - ../lists/144x512_map_with_masks_train.lst + extra_keys: + - mask10 + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mapping_4x_116x384 + filenames_lists: + - ../lists/116x384_map_with_masks_train.lst + extra_keys: + - mask04 + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mapping_8x_116x384 + filenames_lists: + - ../lists/116x384_map_with_masks_train.lst + extra_keys: + - mask08 + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mapping_10x_116x384 + filenames_lists: + - ../lists/116x384_map_with_masks_train.lst + extra_keys: + - mask10 + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_equispaced_116x384_cropped + filenames_lists: + - ../lists/116x384_map_train.lst + transforms: + crop: + - 192 + - 116 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianMagic + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_equispaced_144x512_cropped + filenames_lists: + - ../lists/144x512_map_train.lst + transforms: + crop: + - 256 + - 144 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianMagic + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_random_116x384_cropped + filenames_lists: + - ../lists/116x384_map_train.lst + transforms: + crop: + - 192 + - 116 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianRandom + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_random_144x512_cropped + filenames_lists: + - ../lists/144x512_map_train.lst + transforms: + crop: + - 256 + - 144 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianRandom + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_radial_116x384 + filenames_lists: + - ../lists/116x384_map_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_radial_144x512 + filenames_lists: + - ../lists/144x512_map_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_Spiral_116x384 + filenames_lists: + - ../lists/116x384_map_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_Spiral_144x512 + filenames_lists: + - ../lists/144x512_map_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_gaussian2d_116x384 + filenames_lists: + - ../lists/116x384_map_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + center_fractions: + - 0.2 + - 0.2 + - 0.2 + - 0.2 + - 0.2 + - 0.2 + - 0.2 + - 0.2 + - 0.2 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_gaussian2d_144x512 + filenames_lists: + - ../lists/144x512_map_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 0.16 + - 0.16 + - 0.16 + - 0.16 + - 0.16 + - 0.16 + - 0.16 + - 0.16 + - 0.16 + - 0.16 + - 0.16 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_radial_116x384_cropped + filenames_lists: + - ../lists/116x384_map_train.lst + transforms: + crop: + - 192 + - 116 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_radial_144x512_cropped + filenames_lists: + - ../lists/144x512_map_train.lst + transforms: + crop: + - 256 + - 144 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_Spiral_116x384_cropped + filenames_lists: + - ../lists/116x384_map_train.lst + transforms: + crop: + - 192 + - 116 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_Spiral_144x512_cropped + filenames_lists: + - ../lists/144x512_map_train.lst + transforms: + crop: + - 256 + - 144 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_gaussian2d_116x384_cropped + filenames_lists: + - ../lists/116x384_map_train.lst + transforms: + crop: + - 192 + - 116 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + center_fractions: + - 0.1 + - 0.1 + - 0.1 + - 0.1 + - 0.1 + - 0.1 + - 0.1 + - 0.1 + - 0.1 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_gaussian2d_144x512 + filenames_lists: + - ../lists/144x512_map_train.lst + transforms: + crop: + - 256 + - 144 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 0.08 + - 0.08 + - 0.08 + - 0.08 + - 0.08 + - 0.08 + - 0.08 + - 0.08 + - 0.08 + - 0.08 + - 0.08 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_4x_246x512 + filenames_lists: + - ../lists/246x512_cine_with_masks_train.lst + extra_keys: + - mask04 + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_4x_168x448 + extra_keys: + - mask04 + filenames_lists: + - ../lists/168x448_cine_with_masks_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_4x_132x448 + extra_keys: + - mask04 + filenames_lists: + - ../lists/132x448_cine_with_masks_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_4x_204x512 + extra_keys: + - mask04 + filenames_lists: + - ../lists/204x512_cine_with_masks_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_4x_162x512 + extra_keys: + - mask04 + filenames_lists: + - ../lists/162x512_cine_with_masks_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_8x_246x512 + filenames_lists: + - ../lists/246x512_cine_with_masks_train.lst + extra_keys: + - mask08 + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_8x_168x448 + extra_keys: + - mask08 + filenames_lists: + - ../lists/168x448_cine_with_masks_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_8x_132x448 + extra_keys: + - mask08 + filenames_lists: + - ../lists/132x448_cine_with_masks_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_8x_204x512 + extra_keys: + - mask08 + filenames_lists: + - ../lists/204x512_cine_with_masks_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_8x_162x512 + extra_keys: + - mask08 + filenames_lists: + - ../lists/162x512_cine_with_masks_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_10x_246x512 + filenames_lists: + - ../lists/246x512_cine_with_masks_train.lst + extra_keys: + - mask10 + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_10x_168x448 + extra_keys: + - mask10 + filenames_lists: + - ../lists/168x448_cine_with_masks_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_10x_132x448 + extra_keys: + - mask10 + filenames_lists: + - ../lists/132x448_cine_with_masks_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_10x_204x512 + extra_keys: + - mask10 + filenames_lists: + - ../lists/204x512_cine_with_masks_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_10x_162x512 + extra_keys: + - mask10 + filenames_lists: + - ../lists/162x512_cine_with_masks_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_equispaced_204x448 + filenames_lists: + - ../lists/204x448_cine_train.lst + transforms: + crop: + - 224 + - 204 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianMagic + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_equispaced_246x512 + filenames_lists: + - ../lists/246x512_cine_train.lst + transforms: + crop: + - 256 + - 246 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianMagic + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_equispaced_168x448 + filenames_lists: + - ../lists/168x448_cine_train.lst + transforms: + crop: + - 224 + - 168 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianMagic + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_equispaced_132x448 + filenames_lists: + - ../lists/132x448_cine_train.lst + transforms: + crop: + - 224 + - 132 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianMagic + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_equispaced_204x512 + filenames_lists: + - ../lists/204x512_cine_train.lst + transforms: + crop: + - 256 + - 204 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianMagic + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_equispaced_162x512 + filenames_lists: + - ../lists/162x512_cine_train.lst + transforms: + crop: + - 256 + - 162 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianMagic + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_random_204x448 + filenames_lists: + - ../lists/204x448_cine_train.lst + transforms: + crop: + - 224 + - 204 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianRandom + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_random_246x512 + filenames_lists: + - ../lists/246x512_cine_train.lst + transforms: + crop: + - 256 + - 246 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianRandom + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_random_168x448 + filenames_lists: + - ../lists/168x448_cine_train.lst + transforms: + crop: + - 224 + - 168 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianRandom + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_random_132x448 + filenames_lists: + - ../lists/132x448_cine_train.lst + transforms: + crop: + - 224 + - 132 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianRandom + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_random_204x512 + filenames_lists: + - ../lists/204x512_cine_train.lst + transforms: + crop: + - 256 + - 204 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianRandom + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_random_162x512 + filenames_lists: + - ../lists/162x512_cine_train.lst + transforms: + crop: + - 256 + - 162 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianRandom + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_radial_204x448 + filenames_lists: + - ../lists/204x448_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_radial_246x512 + filenames_lists: + - ../lists/246x512_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_radial_168x448 + filenames_lists: + - ../lists/168x448_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_radial_132x448 + filenames_lists: + - ../lists/132x448_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_radial_204x512 + filenames_lists: + - ../lists/204x512_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_radial_162x512 + filenames_lists: + - ../lists/162x512_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_spiral_162x512 + filenames_lists: + - ../lists/162x512_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_spiral_204x448 + filenames_lists: + - ../lists/204x448_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_spiral_246x512 + filenames_lists: + - ../lists/246x512_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_spiral_168x448 + filenames_lists: + - ../lists/168x448_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_spiral_132x448 + filenames_lists: + - ../lists/132x448_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_spiral_204x512 + filenames_lists: + - ../lists/204x512_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_gaussian2d_162x512 + filenames_lists: + - ../lists/162x512_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + center_fractions: + - 0.14 + - 0.14 + - 0.14 + - 0.14 + - 0.14 + - 0.14 + - 0.14 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_gaussian2d_204x448 + filenames_lists: + - ../lists/204x448_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + center_fractions: + - 0.11 + - 0.11 + - 0.11 + - 0.11 + - 0.11 + - 0.11 + - 0.11 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_gaussian2d_246x512 + filenames_lists: + - ../lists/246x512_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + center_fractions: + - 0.09 + - 0.09 + - 0.09 + - 0.09 + - 0.09 + - 0.09 + - 0.09 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_gaussian2d_168x448 + filenames_lists: + - ../lists/168x448_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + center_fractions: + - 0.14 + - 0.14 + - 0.14 + - 0.14 + - 0.14 + - 0.14 + - 0.14 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_gaussian2d_132x448 + filenames_lists: + - ../lists/132x448_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + center_fractions: + - 0.18 + - 0.18 + - 0.18 + - 0.18 + - 0.18 + - 0.18 + - 0.18 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_gaussian2d_204x512 + filenames_lists: + - ../lists/204x512_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + center_fractions: + - 0.11 + - 0.11 + - 0.11 + - 0.11 + - 0.11 + - 0.11 + - 0.11 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_radial_204x448_crop + filenames_lists: + - ../lists/204x448_cine_train.lst + transforms: + crop: + - 224 + - 204 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_radial_246x512_crop + filenames_lists: + - ../lists/246x512_cine_train.lst + transforms: + crop: + - 256 + - 246 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_radial_168x448_crop + filenames_lists: + - ../lists/168x448_cine_train.lst + transforms: + crop: + - 224 + - 168 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_radial_132x448_crop + filenames_lists: + - ../lists/132x448_cine_train.lst + transforms: + crop: + - 224 + - 132 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_radial_204x512_crop + filenames_lists: + - ../lists/204x512_cine_train.lst + transforms: + crop: + - 256 + - 204 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_radial_162x512_crop + filenames_lists: + - ../lists/162x512_cine_train.lst + transforms: + crop: + - 256 + - 162 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_spiral_162x512_crop + filenames_lists: + - ../lists/162x512_cine_train.lst + transforms: + crop: + - 256 + - 162 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_spiral_204x448_crop + filenames_lists: + - ../lists/204x448_cine_train.lst + transforms: + crop: + - 224 + - 204 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_spiral_246x512_crop + filenames_lists: + - ../lists/246x512_cine_train.lst + transforms: + crop: + - 256 + - 246 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_spiral_168x448_crop + filenames_lists: + - ../lists/168x448_cine_train.lst + transforms: + crop: + - 224 + - 168 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_spiral_132x448_crop + filenames_lists: + - ../lists/132x448_cine_train.lst + transforms: + crop: + - 224 + - 132 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_spiral_204x512_crop + filenames_lists: + - ../lists/204x512_cine_train.lst + transforms: + crop: + - 256 + - 204 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_gaussian2d_162x512_crop + filenames_lists: + - ../lists/162x512_cine_train.lst + transforms: + crop: + - 256 + - 162 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + center_fractions: + - 0.07 + - 0.07 + - 0.07 + - 0.07 + - 0.07 + - 0.07 + - 0.07 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_gaussian2d_204x448_crop + filenames_lists: + - ../lists/204x448_cine_train.lst + transforms: + crop: + - 224 + - 204 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + center_fractions: + - 0.055 + - 0.055 + - 0.055 + - 0.055 + - 0.055 + - 0.055 + - 0.055 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_gaussian2d_246x512_crop + filenames_lists: + - ../lists/246x512_cine_train.lst + transforms: + crop: + - 256 + - 246 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + center_fractions: + - 0.045 + - 0.045 + - 0.045 + - 0.045 + - 0.045 + - 0.045 + - 0.045 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_gaussian2d_168x448_crop + filenames_lists: + - ../lists/168x448_cine_train.lst + transforms: + crop: + - 224 + - 168 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + center_fractions: + - 0.07 + - 0.07 + - 0.07 + - 0.07 + - 0.07 + - 0.07 + - 0.07 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_gaussian2d_132x448_crop + filenames_lists: + - ../lists/132x448_cine_train.lst + transforms: + crop: + - 224 + - 132 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + center_fractions: + - 0.09 + - 0.09 + - 0.09 + - 0.09 + - 0.09 + - 0.09 + - 0.09 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_gaussian2d_204x512_crop + filenames_lists: + - ../lists/204x512_cine_train.lst + transforms: + crop: + - 256 + - 204 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + center_fractions: + - 0.055 + - 0.055 + - 0.055 + - 0.055 + - 0.055 + - 0.055 + - 0.055 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + model_checkpoint: null + optimizer: Adam + lr: 0.005 + weight_decay: 0 + batch_size: 2 + lr_step_size: 75000 + lr_gamma: 0.8 + lr_warmup_iter: 2000 + swa_start_iter: null + num_iterations: 1000000 + validation_steps: 200000 + gradient_steps: 1 + gradient_clipping: 0 + gradient_debug: false + loss: + crop: null + losses: + - + function: l1_loss + multiplier: 1 + - + function: ssim_loss + multiplier: 1 + - + function: hfen_l1_norm_loss + multiplier: 1 + - + function: kspace_nmae_loss + multiplier: 3 + checkpointer: + checkpoint_steps: 1000 +validation: + datasets: + - + name: CMRxRecon + text_description: val-cine-4x + filenames_lists: + - ../lists/204x448_cine_with_masks_train.lst + extra_keys: + - mask04 + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + masking: null + - + name: CMRxRecon + text_description: val-cine-8x + filenames_lists: + - ../lists/204x448_cine_with_masks_train.lst + extra_keys: + - mask08 + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + masking: null + - + name: CMRxRecon + text_description: val-cine-10x + filenames_lists: + - ../lists/204x448_cine_with_masks_train.lst + extra_keys: + - mask10 + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + masking: null + batch_size: 1 + metrics: + - fastmri_ssim + - fastmri_psnr +model: + model_name: recurrentvarnet.recurrentvarnet.RecurrentVarNet + num_steps: 10 + recurrent_hidden_channels: 128 + recurrent_num_layers: 4 + initializer_initialization: sense + learned_initializer: true + initializer_channels: + - 32 + - 32 + - 64 + - 64 + initializer_dilations: + - 1 + - 1 + - 2 + - 4 + initializer_multiscale: 3 +additional_models: + sensitivity_model: + model_name: unet.unet_2d.UnetModel2d + in_channels: 2 + out_channels: 2 + num_filters: 32 + num_pool_layers: 4 + dropout_probability: 0 +logging: + log_as_image: null + tensorboard: + num_images: 4 +inference: + batch_size: 8 + dataset: + name: CMRxRecon + kspace_key: kspace_sub04 + compute_mask: true + transforms: + cropping: + crop: null + sensitivity_map_estimation: + estimate_sensitivity_maps: true + normalization: + scaling_key: masked_kspace + scale_percentile: 0.99 + masking: null + text_description: inference-4x + crop: null diff --git a/projects/CMRxRecon/configs/base_varnet.yaml b/projects/CMRxRecon/configs/base_varnet.yaml new file mode 100644 index 000000000..db077c110 --- /dev/null +++ b/projects/CMRxRecon/configs/base_varnet.yaml @@ -0,0 +1,2594 @@ +physics: + forward_operator: fft2 + backward_operator: ifft2 +training: + datasets: + - + name: CMRxRecon + text_description: mapping_4x_144x512 + filenames_lists: + - ../lists/144x512_map_with_masks_train.lst + extra_keys: + - mask04 + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mapping_8x_144x512 + filenames_lists: + - ../lists/144x512_map_with_masks_train.lst + extra_keys: + - mask08 + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mapping_10x_144x512 + filenames_lists: + - ../lists/144x512_map_with_masks_train.lst + extra_keys: + - mask10 + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mapping_4x_116x384 + filenames_lists: + - ../lists/116x384_map_with_masks_train.lst + extra_keys: + - mask04 + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mapping_8x_116x384 + filenames_lists: + - ../lists/116x384_map_with_masks_train.lst + extra_keys: + - mask08 + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mapping_10x_116x384 + filenames_lists: + - ../lists/116x384_map_with_masks_train.lst + extra_keys: + - mask10 + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_equispaced_116x384_cropped + filenames_lists: + - ../lists/116x384_map_train.lst + transforms: + crop: + - 192 + - 116 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianMagic + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_equispaced_144x512_cropped + filenames_lists: + - ../lists/144x512_map_train.lst + transforms: + crop: + - 256 + - 144 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianMagic + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_random_116x384_cropped + filenames_lists: + - ../lists/116x384_map_train.lst + transforms: + crop: + - 192 + - 116 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianRandom + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_random_144x512_cropped + filenames_lists: + - ../lists/144x512_map_train.lst + transforms: + crop: + - 256 + - 144 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianRandom + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_radial_116x384 + filenames_lists: + - ../lists/116x384_map_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_radial_144x512 + filenames_lists: + - ../lists/144x512_map_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_Spiral_116x384 + filenames_lists: + - ../lists/116x384_map_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_Spiral_144x512 + filenames_lists: + - ../lists/144x512_map_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_gaussian2d_116x384 + filenames_lists: + - ../lists/116x384_map_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + center_fractions: + - 0.2 + - 0.2 + - 0.2 + - 0.2 + - 0.2 + - 0.2 + - 0.2 + - 0.2 + - 0.2 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_gaussian2d_144x512 + filenames_lists: + - ../lists/144x512_map_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 0.16 + - 0.16 + - 0.16 + - 0.16 + - 0.16 + - 0.16 + - 0.16 + - 0.16 + - 0.16 + - 0.16 + - 0.16 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_radial_116x384_cropped + filenames_lists: + - ../lists/116x384_map_train.lst + transforms: + crop: + - 192 + - 116 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_radial_144x512_cropped + filenames_lists: + - ../lists/144x512_map_train.lst + transforms: + crop: + - 256 + - 144 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_Spiral_116x384_cropped + filenames_lists: + - ../lists/116x384_map_train.lst + transforms: + crop: + - 192 + - 116 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_Spiral_144x512_cropped + filenames_lists: + - ../lists/144x512_map_train.lst + transforms: + crop: + - 256 + - 144 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_gaussian2d_116x384_cropped + filenames_lists: + - ../lists/116x384_map_train.lst + transforms: + crop: + - 192 + - 116 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + center_fractions: + - 0.1 + - 0.1 + - 0.1 + - 0.1 + - 0.1 + - 0.1 + - 0.1 + - 0.1 + - 0.1 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_gaussian2d_144x512 + filenames_lists: + - ../lists/144x512_map_train.lst + transforms: + crop: + - 256 + - 144 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 0.08 + - 0.08 + - 0.08 + - 0.08 + - 0.08 + - 0.08 + - 0.08 + - 0.08 + - 0.08 + - 0.08 + - 0.08 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_4x_246x512 + filenames_lists: + - ../lists/246x512_cine_with_masks_train.lst + extra_keys: + - mask04 + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_4x_168x448 + extra_keys: + - mask04 + filenames_lists: + - ../lists/168x448_cine_with_masks_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_4x_132x448 + extra_keys: + - mask04 + filenames_lists: + - ../lists/132x448_cine_with_masks_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_4x_204x512 + extra_keys: + - mask04 + filenames_lists: + - ../lists/204x512_cine_with_masks_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_4x_162x512 + extra_keys: + - mask04 + filenames_lists: + - ../lists/162x512_cine_with_masks_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_8x_246x512 + filenames_lists: + - ../lists/246x512_cine_with_masks_train.lst + extra_keys: + - mask08 + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_8x_168x448 + extra_keys: + - mask08 + filenames_lists: + - ../lists/168x448_cine_with_masks_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_8x_132x448 + extra_keys: + - mask08 + filenames_lists: + - ../lists/132x448_cine_with_masks_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_8x_204x512 + extra_keys: + - mask08 + filenames_lists: + - ../lists/204x512_cine_with_masks_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_8x_162x512 + extra_keys: + - mask08 + filenames_lists: + - ../lists/162x512_cine_with_masks_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_10x_246x512 + filenames_lists: + - ../lists/246x512_cine_with_masks_train.lst + extra_keys: + - mask10 + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_10x_168x448 + extra_keys: + - mask10 + filenames_lists: + - ../lists/168x448_cine_with_masks_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_10x_132x448 + extra_keys: + - mask10 + filenames_lists: + - ../lists/132x448_cine_with_masks_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_10x_204x512 + extra_keys: + - mask10 + filenames_lists: + - ../lists/204x512_cine_with_masks_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_10x_162x512 + extra_keys: + - mask10 + filenames_lists: + - ../lists/162x512_cine_with_masks_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_equispaced_204x448 + filenames_lists: + - ../lists/204x448_cine_train.lst + transforms: + crop: + - 224 + - 204 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianMagic + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_equispaced_246x512 + filenames_lists: + - ../lists/246x512_cine_train.lst + transforms: + crop: + - 256 + - 246 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianMagic + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_equispaced_168x448 + filenames_lists: + - ../lists/168x448_cine_train.lst + transforms: + crop: + - 224 + - 168 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianMagic + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_equispaced_132x448 + filenames_lists: + - ../lists/132x448_cine_train.lst + transforms: + crop: + - 224 + - 132 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianMagic + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_equispaced_204x512 + filenames_lists: + - ../lists/204x512_cine_train.lst + transforms: + crop: + - 256 + - 204 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianMagic + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_equispaced_162x512 + filenames_lists: + - ../lists/162x512_cine_train.lst + transforms: + crop: + - 256 + - 162 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianMagic + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_random_204x448 + filenames_lists: + - ../lists/204x448_cine_train.lst + transforms: + crop: + - 224 + - 204 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianRandom + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_random_246x512 + filenames_lists: + - ../lists/246x512_cine_train.lst + transforms: + crop: + - 256 + - 246 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianRandom + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_random_168x448 + filenames_lists: + - ../lists/168x448_cine_train.lst + transforms: + crop: + - 224 + - 168 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianRandom + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_random_132x448 + filenames_lists: + - ../lists/132x448_cine_train.lst + transforms: + crop: + - 224 + - 132 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianRandom + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_random_204x512 + filenames_lists: + - ../lists/204x512_cine_train.lst + transforms: + crop: + - 256 + - 204 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianRandom + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_random_162x512 + filenames_lists: + - ../lists/162x512_cine_train.lst + transforms: + crop: + - 256 + - 162 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianRandom + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_radial_204x448 + filenames_lists: + - ../lists/204x448_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_radial_246x512 + filenames_lists: + - ../lists/246x512_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_radial_168x448 + filenames_lists: + - ../lists/168x448_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_radial_132x448 + filenames_lists: + - ../lists/132x448_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_radial_204x512 + filenames_lists: + - ../lists/204x512_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_radial_162x512 + filenames_lists: + - ../lists/162x512_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_spiral_162x512 + filenames_lists: + - ../lists/162x512_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_spiral_204x448 + filenames_lists: + - ../lists/204x448_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_spiral_246x512 + filenames_lists: + - ../lists/246x512_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_spiral_168x448 + filenames_lists: + - ../lists/168x448_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_spiral_132x448 + filenames_lists: + - ../lists/132x448_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_spiral_204x512 + filenames_lists: + - ../lists/204x512_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_gaussian2d_162x512 + filenames_lists: + - ../lists/162x512_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + center_fractions: + - 0.14 + - 0.14 + - 0.14 + - 0.14 + - 0.14 + - 0.14 + - 0.14 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_gaussian2d_204x448 + filenames_lists: + - ../lists/204x448_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + center_fractions: + - 0.11 + - 0.11 + - 0.11 + - 0.11 + - 0.11 + - 0.11 + - 0.11 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_gaussian2d_246x512 + filenames_lists: + - ../lists/246x512_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + center_fractions: + - 0.09 + - 0.09 + - 0.09 + - 0.09 + - 0.09 + - 0.09 + - 0.09 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_gaussian2d_168x448 + filenames_lists: + - ../lists/168x448_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + center_fractions: + - 0.14 + - 0.14 + - 0.14 + - 0.14 + - 0.14 + - 0.14 + - 0.14 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_gaussian2d_132x448 + filenames_lists: + - ../lists/132x448_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + center_fractions: + - 0.18 + - 0.18 + - 0.18 + - 0.18 + - 0.18 + - 0.18 + - 0.18 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_gaussian2d_204x512 + filenames_lists: + - ../lists/204x512_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + center_fractions: + - 0.11 + - 0.11 + - 0.11 + - 0.11 + - 0.11 + - 0.11 + - 0.11 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_radial_204x448_crop + filenames_lists: + - ../lists/204x448_cine_train.lst + transforms: + crop: + - 224 + - 204 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_radial_246x512_crop + filenames_lists: + - ../lists/246x512_cine_train.lst + transforms: + crop: + - 256 + - 246 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_radial_168x448_crop + filenames_lists: + - ../lists/168x448_cine_train.lst + transforms: + crop: + - 224 + - 168 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_radial_132x448_crop + filenames_lists: + - ../lists/132x448_cine_train.lst + transforms: + crop: + - 224 + - 132 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_radial_204x512_crop + filenames_lists: + - ../lists/204x512_cine_train.lst + transforms: + crop: + - 256 + - 204 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_radial_162x512_crop + filenames_lists: + - ../lists/162x512_cine_train.lst + transforms: + crop: + - 256 + - 162 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_spiral_162x512_crop + filenames_lists: + - ../lists/162x512_cine_train.lst + transforms: + crop: + - 256 + - 162 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_spiral_204x448_crop + filenames_lists: + - ../lists/204x448_cine_train.lst + transforms: + crop: + - 224 + - 204 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_spiral_246x512_crop + filenames_lists: + - ../lists/246x512_cine_train.lst + transforms: + crop: + - 256 + - 246 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_spiral_168x448_crop + filenames_lists: + - ../lists/168x448_cine_train.lst + transforms: + crop: + - 224 + - 168 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_spiral_132x448_crop + filenames_lists: + - ../lists/132x448_cine_train.lst + transforms: + crop: + - 224 + - 132 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_spiral_204x512_crop + filenames_lists: + - ../lists/204x512_cine_train.lst + transforms: + crop: + - 256 + - 204 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_gaussian2d_162x512_crop + filenames_lists: + - ../lists/162x512_cine_train.lst + transforms: + crop: + - 256 + - 162 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + center_fractions: + - 0.07 + - 0.07 + - 0.07 + - 0.07 + - 0.07 + - 0.07 + - 0.07 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_gaussian2d_204x448_crop + filenames_lists: + - ../lists/204x448_cine_train.lst + transforms: + crop: + - 224 + - 204 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + center_fractions: + - 0.055 + - 0.055 + - 0.055 + - 0.055 + - 0.055 + - 0.055 + - 0.055 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_gaussian2d_246x512_crop + filenames_lists: + - ../lists/246x512_cine_train.lst + transforms: + crop: + - 256 + - 246 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + center_fractions: + - 0.045 + - 0.045 + - 0.045 + - 0.045 + - 0.045 + - 0.045 + - 0.045 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_gaussian2d_168x448_crop + filenames_lists: + - ../lists/168x448_cine_train.lst + transforms: + crop: + - 224 + - 168 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + center_fractions: + - 0.07 + - 0.07 + - 0.07 + - 0.07 + - 0.07 + - 0.07 + - 0.07 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_gaussian2d_132x448_crop + filenames_lists: + - ../lists/132x448_cine_train.lst + transforms: + crop: + - 224 + - 132 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + center_fractions: + - 0.09 + - 0.09 + - 0.09 + - 0.09 + - 0.09 + - 0.09 + - 0.09 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_gaussian2d_204x512_crop + filenames_lists: + - ../lists/204x512_cine_train.lst + transforms: + crop: + - 256 + - 204 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + center_fractions: + - 0.055 + - 0.055 + - 0.055 + - 0.055 + - 0.055 + - 0.055 + - 0.055 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + model_checkpoint: null + optimizer: Adam + lr: 0.005 + weight_decay: 0 + batch_size: 2 + lr_step_size: 75000 + lr_gamma: 0.8 + lr_warmup_iter: 2000 + swa_start_iter: null + num_iterations: 1000000 + validation_steps: 200000 + gradient_steps: 1 + gradient_clipping: 0 + gradient_debug: false + loss: + crop: null + losses: + - + function: l1_loss + multiplier: 1 + - + function: ssim_loss + multiplier: 1 + - + function: hfen_l1_norm_loss + multiplier: 1 + - + function: kspace_nmae_loss + multiplier: 3 + checkpointer: + checkpoint_steps: 1000 +validation: + datasets: + - + name: CMRxRecon + text_description: val-cine-4x + filenames_lists: + - ../lists/204x448_cine_with_masks_train.lst + extra_keys: + - mask04 + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + masking: null + - + name: CMRxRecon + text_description: val-cine-8x + filenames_lists: + - ../lists/204x448_cine_with_masks_train.lst + extra_keys: + - mask08 + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + masking: null + - + name: CMRxRecon + text_description: val-cine-10x + filenames_lists: + - ../lists/204x448_cine_with_masks_train.lst + extra_keys: + - mask10 + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + masking: null + batch_size: 1 + metrics: + - fastmri_ssim + - fastmri_psnr +model: + model_name: varnet.varnet.EndToEndVarNet + num_layers: 12 + regularizer_num_filters: 64 + regularizer_num_pull_layers: 4 +additional_models: + sensitivity_model: + model_name: unet.unet_2d.UnetModel2d + in_channels: 2 + out_channels: 2 + num_filters: 32 + num_pool_layers: 4 + dropout_probability: 0 +logging: + log_as_image: null + tensorboard: + num_images: 4 +inference: + batch_size: 8 + dataset: + name: CMRxRecon + kspace_key: kspace_sub04 + compute_mask: true + transforms: + cropping: + crop: null + sensitivity_map_estimation: + estimate_sensitivity_maps: true + normalization: + scaling_key: masked_kspace + scale_percentile: 0.99 + masking: null + text_description: inference-4x + crop: null diff --git a/projects/CMRxRecon/configs/base_vsharp_2D.yaml b/projects/CMRxRecon/configs/base_vsharp_2D.yaml new file mode 100644 index 000000000..6f5ca4024 --- /dev/null +++ b/projects/CMRxRecon/configs/base_vsharp_2D.yaml @@ -0,0 +1,2610 @@ +physics: + forward_operator: fft2 + backward_operator: ifft2 +training: + datasets: + - + name: CMRxRecon + text_description: mapping_4x_144x512 + filenames_lists: + - ../lists/144x512_map_with_masks_train.lst + extra_keys: + - mask04 + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mapping_8x_144x512 + filenames_lists: + - ../lists/144x512_map_with_masks_train.lst + extra_keys: + - mask08 + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mapping_10x_144x512 + filenames_lists: + - ../lists/144x512_map_with_masks_train.lst + extra_keys: + - mask10 + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mapping_4x_116x384 + filenames_lists: + - ../lists/116x384_map_with_masks_train.lst + extra_keys: + - mask04 + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mapping_8x_116x384 + filenames_lists: + - ../lists/116x384_map_with_masks_train.lst + extra_keys: + - mask08 + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mapping_10x_116x384 + filenames_lists: + - ../lists/116x384_map_with_masks_train.lst + extra_keys: + - mask10 + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_equispaced_116x384_cropped + filenames_lists: + - ../lists/116x384_map_train.lst + transforms: + crop: + - 192 + - 116 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianMagic + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_equispaced_144x512_cropped + filenames_lists: + - ../lists/144x512_map_train.lst + transforms: + crop: + - 256 + - 144 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianMagic + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_random_116x384_cropped + filenames_lists: + - ../lists/116x384_map_train.lst + transforms: + crop: + - 192 + - 116 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianRandom + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_random_144x512_cropped + filenames_lists: + - ../lists/144x512_map_train.lst + transforms: + crop: + - 256 + - 144 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianRandom + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_radial_116x384 + filenames_lists: + - ../lists/116x384_map_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_radial_144x512 + filenames_lists: + - ../lists/144x512_map_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_Spiral_116x384 + filenames_lists: + - ../lists/116x384_map_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_Spiral_144x512 + filenames_lists: + - ../lists/144x512_map_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_gaussian2d_116x384 + filenames_lists: + - ../lists/116x384_map_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + center_fractions: + - 0.2 + - 0.2 + - 0.2 + - 0.2 + - 0.2 + - 0.2 + - 0.2 + - 0.2 + - 0.2 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_gaussian2d_144x512 + filenames_lists: + - ../lists/144x512_map_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 0.16 + - 0.16 + - 0.16 + - 0.16 + - 0.16 + - 0.16 + - 0.16 + - 0.16 + - 0.16 + - 0.16 + - 0.16 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_radial_116x384_cropped + filenames_lists: + - ../lists/116x384_map_train.lst + transforms: + crop: + - 192 + - 116 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_radial_144x512_cropped + filenames_lists: + - ../lists/144x512_map_train.lst + transforms: + crop: + - 256 + - 144 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_Spiral_116x384_cropped + filenames_lists: + - ../lists/116x384_map_train.lst + transforms: + crop: + - 192 + - 116 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_Spiral_144x512_cropped + filenames_lists: + - ../lists/144x512_map_train.lst + transforms: + crop: + - 256 + - 144 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_gaussian2d_116x384_cropped + filenames_lists: + - ../lists/116x384_map_train.lst + transforms: + crop: + - 192 + - 116 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + center_fractions: + - 0.1 + - 0.1 + - 0.1 + - 0.1 + - 0.1 + - 0.1 + - 0.1 + - 0.1 + - 0.1 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: map_gaussian2d_144x512 + filenames_lists: + - ../lists/144x512_map_train.lst + transforms: + crop: + - 256 + - 144 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 0.08 + - 0.08 + - 0.08 + - 0.08 + - 0.08 + - 0.08 + - 0.08 + - 0.08 + - 0.08 + - 0.08 + - 0.08 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_4x_246x512 + filenames_lists: + - ../lists/246x512_cine_with_masks_train.lst + extra_keys: + - mask04 + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_4x_168x448 + extra_keys: + - mask04 + filenames_lists: + - ../lists/168x448_cine_with_masks_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_4x_132x448 + extra_keys: + - mask04 + filenames_lists: + - ../lists/132x448_cine_with_masks_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_4x_204x512 + extra_keys: + - mask04 + filenames_lists: + - ../lists/204x512_cine_with_masks_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_4x_162x512 + extra_keys: + - mask04 + filenames_lists: + - ../lists/162x512_cine_with_masks_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_8x_246x512 + filenames_lists: + - ../lists/246x512_cine_with_masks_train.lst + extra_keys: + - mask08 + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_8x_168x448 + extra_keys: + - mask08 + filenames_lists: + - ../lists/168x448_cine_with_masks_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_8x_132x448 + extra_keys: + - mask08 + filenames_lists: + - ../lists/132x448_cine_with_masks_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_8x_204x512 + extra_keys: + - mask08 + filenames_lists: + - ../lists/204x512_cine_with_masks_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_8x_162x512 + extra_keys: + - mask08 + filenames_lists: + - ../lists/162x512_cine_with_masks_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_10x_246x512 + filenames_lists: + - ../lists/246x512_cine_with_masks_train.lst + extra_keys: + - mask10 + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_10x_168x448 + extra_keys: + - mask10 + filenames_lists: + - ../lists/168x448_cine_with_masks_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_10x_132x448 + extra_keys: + - mask10 + filenames_lists: + - ../lists/132x448_cine_with_masks_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_10x_204x512 + extra_keys: + - mask10 + filenames_lists: + - ../lists/204x512_cine_with_masks_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_10x_162x512 + extra_keys: + - mask10 + filenames_lists: + - ../lists/162x512_cine_with_masks_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_equispaced_204x448 + filenames_lists: + - ../lists/204x448_cine_train.lst + transforms: + crop: + - 224 + - 204 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianMagic + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_equispaced_246x512 + filenames_lists: + - ../lists/246x512_cine_train.lst + transforms: + crop: + - 256 + - 246 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianMagic + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_equispaced_168x448 + filenames_lists: + - ../lists/168x448_cine_train.lst + transforms: + crop: + - 224 + - 168 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianMagic + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_equispaced_132x448 + filenames_lists: + - ../lists/132x448_cine_train.lst + transforms: + crop: + - 224 + - 132 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianMagic + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_equispaced_204x512 + filenames_lists: + - ../lists/204x512_cine_train.lst + transforms: + crop: + - 256 + - 204 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianMagic + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_equispaced_162x512 + filenames_lists: + - ../lists/162x512_cine_train.lst + transforms: + crop: + - 256 + - 162 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianMagic + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_random_204x448 + filenames_lists: + - ../lists/204x448_cine_train.lst + transforms: + crop: + - 224 + - 204 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianRandom + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_random_246x512 + filenames_lists: + - ../lists/246x512_cine_train.lst + transforms: + crop: + - 256 + - 246 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianRandom + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_random_168x448 + filenames_lists: + - ../lists/168x448_cine_train.lst + transforms: + crop: + - 224 + - 168 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianRandom + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_random_132x448 + filenames_lists: + - ../lists/132x448_cine_train.lst + transforms: + crop: + - 224 + - 132 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianRandom + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_random_204x512 + filenames_lists: + - ../lists/204x512_cine_train.lst + transforms: + crop: + - 256 + - 204 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianRandom + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_random_162x512 + filenames_lists: + - ../lists/162x512_cine_train.lst + transforms: + crop: + - 256 + - 162 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianRandom + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_radial_204x448 + filenames_lists: + - ../lists/204x448_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_radial_246x512 + filenames_lists: + - ../lists/246x512_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_radial_168x448 + filenames_lists: + - ../lists/168x448_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_radial_132x448 + filenames_lists: + - ../lists/132x448_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_radial_204x512 + filenames_lists: + - ../lists/204x512_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_radial_162x512 + filenames_lists: + - ../lists/162x512_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_spiral_162x512 + filenames_lists: + - ../lists/162x512_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_spiral_204x448 + filenames_lists: + - ../lists/204x448_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_spiral_246x512 + filenames_lists: + - ../lists/246x512_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_spiral_168x448 + filenames_lists: + - ../lists/168x448_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_spiral_132x448 + filenames_lists: + - ../lists/132x448_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_spiral_204x512 + filenames_lists: + - ../lists/204x512_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_gaussian2d_162x512 + filenames_lists: + - ../lists/162x512_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + center_fractions: + - 0.14 + - 0.14 + - 0.14 + - 0.14 + - 0.14 + - 0.14 + - 0.14 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_gaussian2d_204x448 + filenames_lists: + - ../lists/204x448_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + center_fractions: + - 0.11 + - 0.11 + - 0.11 + - 0.11 + - 0.11 + - 0.11 + - 0.11 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_gaussian2d_246x512 + filenames_lists: + - ../lists/246x512_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + center_fractions: + - 0.09 + - 0.09 + - 0.09 + - 0.09 + - 0.09 + - 0.09 + - 0.09 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_gaussian2d_168x448 + filenames_lists: + - ../lists/168x448_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + center_fractions: + - 0.14 + - 0.14 + - 0.14 + - 0.14 + - 0.14 + - 0.14 + - 0.14 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_gaussian2d_132x448 + filenames_lists: + - ../lists/132x448_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + center_fractions: + - 0.18 + - 0.18 + - 0.18 + - 0.18 + - 0.18 + - 0.18 + - 0.18 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_gaussian2d_204x512 + filenames_lists: + - ../lists/204x512_cine_train.lst + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + center_fractions: + - 0.11 + - 0.11 + - 0.11 + - 0.11 + - 0.11 + - 0.11 + - 0.11 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_radial_204x448_crop + filenames_lists: + - ../lists/204x448_cine_train.lst + transforms: + crop: + - 224 + - 204 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_radial_246x512_crop + filenames_lists: + - ../lists/246x512_cine_train.lst + transforms: + crop: + - 256 + - 246 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_radial_168x448_crop + filenames_lists: + - ../lists/168x448_cine_train.lst + transforms: + crop: + - 224 + - 168 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_radial_132x448_crop + filenames_lists: + - ../lists/132x448_cine_train.lst + transforms: + crop: + - 224 + - 132 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_radial_204x512_crop + filenames_lists: + - ../lists/204x512_cine_train.lst + transforms: + crop: + - 256 + - 204 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_radial_162x512_crop + filenames_lists: + - ../lists/162x512_cine_train.lst + transforms: + crop: + - 256 + - 162 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_spiral_162x512_crop + filenames_lists: + - ../lists/162x512_cine_train.lst + transforms: + crop: + - 256 + - 162 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_spiral_204x448_crop + filenames_lists: + - ../lists/204x448_cine_train.lst + transforms: + crop: + - 224 + - 204 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_spiral_246x512_crop + filenames_lists: + - ../lists/246x512_cine_train.lst + transforms: + crop: + - 256 + - 246 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_spiral_168x448_crop + filenames_lists: + - ../lists/168x448_cine_train.lst + transforms: + crop: + - 224 + - 168 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_spiral_132x448_crop + filenames_lists: + - ../lists/132x448_cine_train.lst + transforms: + crop: + - 224 + - 132 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_spiral_204x512_crop + filenames_lists: + - ../lists/204x512_cine_train.lst + transforms: + crop: + - 256 + - 204 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_gaussian2d_162x512_crop + filenames_lists: + - ../lists/162x512_cine_train.lst + transforms: + crop: + - 256 + - 162 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + center_fractions: + - 0.07 + - 0.07 + - 0.07 + - 0.07 + - 0.07 + - 0.07 + - 0.07 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_gaussian2d_204x448_crop + filenames_lists: + - ../lists/204x448_cine_train.lst + transforms: + crop: + - 224 + - 204 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + center_fractions: + - 0.055 + - 0.055 + - 0.055 + - 0.055 + - 0.055 + - 0.055 + - 0.055 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_gaussian2d_246x512_crop + filenames_lists: + - ../lists/246x512_cine_train.lst + transforms: + crop: + - 256 + - 246 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + center_fractions: + - 0.045 + - 0.045 + - 0.045 + - 0.045 + - 0.045 + - 0.045 + - 0.045 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_gaussian2d_168x448_crop + filenames_lists: + - ../lists/168x448_cine_train.lst + transforms: + crop: + - 224 + - 168 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + center_fractions: + - 0.07 + - 0.07 + - 0.07 + - 0.07 + - 0.07 + - 0.07 + - 0.07 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_gaussian2d_132x448_crop + filenames_lists: + - ../lists/132x448_cine_train.lst + transforms: + crop: + - 224 + - 132 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + center_fractions: + - 0.09 + - 0.09 + - 0.09 + - 0.09 + - 0.09 + - 0.09 + - 0.09 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + text_description: mc_gaussian2d_204x512_crop + filenames_lists: + - ../lists/204x512_cine_train.lst + transforms: + crop: + - 256 + - 204 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + center_fractions: + - 0.055 + - 0.055 + - 0.055 + - 0.055 + - 0.055 + - 0.055 + - 0.055 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + model_checkpoint: null + optimizer: Adam + lr: 0.005 + weight_decay: 0 + batch_size: 2 + lr_step_size: 75000 + lr_gamma: 0.8 + lr_warmup_iter: 2000 + swa_start_iter: null + num_iterations: 1000000 + validation_steps: 200000 + gradient_steps: 1 + gradient_clipping: 0 + gradient_debug: false + loss: + crop: null + losses: + - + function: l1_loss + multiplier: 1 + - + function: ssim_loss + multiplier: 1 + - + function: hfen_l1_norm_loss + multiplier: 1 + - + function: kspace_nmae_loss + multiplier: 3 + checkpointer: + checkpoint_steps: 1000 +validation: + datasets: + - + name: CMRxRecon + text_description: val-cine-4x + filenames_lists: + - ../lists/204x448_cine_with_masks_train.lst + extra_keys: + - mask04 + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + masking: null + - + name: CMRxRecon + text_description: val-cine-8x + filenames_lists: + - ../lists/204x448_cine_with_masks_train.lst + extra_keys: + - mask08 + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + masking: null + - + name: CMRxRecon + text_description: val-cine-10x + filenames_lists: + - ../lists/204x448_cine_with_masks_train.lst + extra_keys: + - mask10 + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + masking: null + batch_size: 1 + metrics: + - fastmri_ssim + - fastmri_psnr +model: + model_name: vsharp.vsharp.VSharpNet + num_steps: 16 + num_steps_dc_gd: 14 + image_init: SENSE + no_parameter_sharing: true + auxiliary_steps: -1 + image_model_architecture: UNET + initializer_channels: + - 32 + - 32 + - 64 + - 64 + initializer_dilations: + - 1 + - 1 + - 2 + - 4 + initializer_multiscale: 1 + image_unet_num_filters: 32 + image_unet_num_pool_layers: 4 +additional_models: + sensitivity_model: + model_name: unet.unet_2d.UnetModel2d + in_channels: 2 + out_channels: 2 + num_filters: 32 + num_pool_layers: 4 + dropout_probability: 0 +logging: + log_as_image: null + tensorboard: + num_images: 4 +inference: + batch_size: 8 + dataset: + name: CMRxRecon + kspace_key: kspace_sub04 + compute_mask: true + transforms: + cropping: + crop: null + sensitivity_map_estimation: + estimate_sensitivity_maps: true + normalization: + scaling_key: masked_kspace + scale_percentile: 0.99 + masking: null + text_description: inference-4x + crop: null diff --git a/projects/CMRxRecon/configs/base_vsharp_2D_dynamic_recon.yaml b/projects/CMRxRecon/configs/base_vsharp_2D_dynamic_recon.yaml new file mode 100644 index 000000000..c2ead50f9 --- /dev/null +++ b/projects/CMRxRecon/configs/base_vsharp_2D_dynamic_recon.yaml @@ -0,0 +1,1849 @@ +physics: + forward_operator: fft2 + backward_operator: ifft2 +training: + datasets: + - + name: CMRxRecon + kspace_context: time + text_description: mc_4x_246x512 + filenames_lists: + - ../lists/246x512_cine_with_masks_train.lst + extra_keys: + - mask04 + transforms: + crop: + - 256 + - 246 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: mc_4x_168x448 + extra_keys: + - mask04 + filenames_lists: + - ../lists/168x448_cine_with_masks_train.lst + transforms: + crop: + - 224 + - 168 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: mc_4x_132x448 + extra_keys: + - mask04 + filenames_lists: + - ../lists/132x448_cine_with_masks_train.lst + transforms: + crop: + - 224 + - 132 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: mc_4x_204x512 + extra_keys: + - mask04 + filenames_lists: + - ../lists/204x512_cine_with_masks_train.lst + transforms: + crop: + - 256 + - 204 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: mc_4x_162x512 + extra_keys: + - mask04 + filenames_lists: + - ../lists/162x512_cine_with_masks_train.lst + transforms: + crop: + - 256 + - 162 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: mc_8x_246x512 + filenames_lists: + - ../lists/246x512_cine_with_masks_train.lst + extra_keys: + - mask08 + transforms: + crop: + - 256 + - 246 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: mc_8x_168x448 + extra_keys: + - mask08 + filenames_lists: + - ../lists/168x448_cine_with_masks_train.lst + transforms: + crop: + - 224 + - 168 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: mc_8x_132x448 + extra_keys: + - mask08 + filenames_lists: + - ../lists/132x448_cine_with_masks_train.lst + transforms: + crop: + - 224 + - 132 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: mc_8x_204x512 + extra_keys: + - mask08 + filenames_lists: + - ../lists/204x512_cine_with_masks_train.lst + transforms: + crop: + - 256 + - 204 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: mc_8x_162x512 + extra_keys: + - mask08 + filenames_lists: + - ../lists/162x512_cine_with_masks_train.lst + transforms: + crop: + - 256 + - 162 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: mc_10x_246x512 + filenames_lists: + - ../lists/246x512_cine_with_masks_train.lst + extra_keys: + - mask10 + transforms: + crop: + - 256 + - 246 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: mc_10x_168x448 + extra_keys: + - mask10 + filenames_lists: + - ../lists/168x448_cine_with_masks_train.lst + transforms: + crop: + - 224 + - 168 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: mc_10x_132x448 + extra_keys: + - mask10 + filenames_lists: + - ../lists/132x448_cine_with_masks_train.lst + transforms: + crop: + - 224 + - 132 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: mc_10x_204x512 + extra_keys: + - mask10 + filenames_lists: + - ../lists/204x512_cine_with_masks_train.lst + transforms: + crop: + - 256 + - 204 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: mc_10x_162x512 + extra_keys: + - mask10 + filenames_lists: + - ../lists/162x512_cine_with_masks_train.lst + transforms: + crop: + - 256 + - 162 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: mapping_4x_144x512 + filenames_lists: + - ../lists/144x512_map_with_masks_train.lst + extra_keys: + - mask04 + transforms: + crop: + - 256 + - 144 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: mapping_8x_144x512 + filenames_lists: + - ../lists/144x512_map_with_masks_train.lst + extra_keys: + - mask08 + transforms: + crop: + - 256 + - 144 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: mapping_10x_144x512 + filenames_lists: + - ../lists/144x512_map_with_masks_train.lst + extra_keys: + - mask10 + transforms: + crop: + - 256 + - 144 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: mapping_4x_116x384 + filenames_lists: + - ../lists/116x384_map_with_masks_train.lst + extra_keys: + - mask04 + transforms: + crop: + - 192 + - 116 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: mapping_8x_116x384 + filenames_lists: + - ../lists/116x384_map_with_masks_train.lst + extra_keys: + - mask08 + transforms: + crop: + - 192 + - 116 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: mapping_10x_116x384 + filenames_lists: + - ../lists/116x384_map_with_masks_train.lst + extra_keys: + - mask10 + transforms: + crop: + - 192 + - 116 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: null + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: map_equispaced_116x384_cropped + filenames_lists: + - ../lists/116x384_map_train.lst + transforms: + crop: + - 192 + - 116 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianMagic + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: map_equispaced_144x512_cropped + filenames_lists: + - ../lists/144x512_map_train.lst + transforms: + crop: + - 256 + - 144 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianMagic + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: map_random_116x384_cropped + filenames_lists: + - ../lists/116x384_map_train.lst + transforms: + crop: + - 192 + - 116 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianRandom + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: map_random_144x512_cropped + filenames_lists: + - ../lists/144x512_map_train.lst + transforms: + crop: + - 256 + - 144 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianRandom + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: map_radial_116x384_cropped + filenames_lists: + - ../lists/116x384_map_train.lst + transforms: + crop: + - 192 + - 116 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: map_radial_144x512_cropped + filenames_lists: + - ../lists/144x512_map_train.lst + transforms: + crop: + - 256 + - 144 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: map_Spiral_116x384_cropped + filenames_lists: + - ../lists/116x384_map_train.lst + transforms: + crop: + - 192 + - 116 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: map_Spiral_144x512_cropped + filenames_lists: + - ../lists/144x512_map_train.lst + transforms: + crop: + - 256 + - 144 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: map_gaussian2d_116x384_cropped + filenames_lists: + - ../lists/116x384_map_train.lst + transforms: + crop: + - 192 + - 116 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + center_fractions: + - 0.1 + - 0.1 + - 0.1 + - 0.1 + - 0.1 + - 0.1 + - 0.1 + - 0.1 + - 0.1 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: map_gaussian2d_144x512 + filenames_lists: + - ../lists/144x512_map_train.lst + transforms: + crop: + - 256 + - 144 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 0.08 + - 0.08 + - 0.08 + - 0.08 + - 0.08 + - 0.08 + - 0.08 + - 0.08 + - 0.08 + - 0.08 + - 0.08 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: mc_equispaced_246x512 + filenames_lists: + - ../lists/246x512_cine_train.lst + transforms: + crop: + - 256 + - 246 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianMagic + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: mc_equispaced_168x448 + filenames_lists: + - ../lists/168x448_cine_train.lst + transforms: + crop: + - 224 + - 168 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianMagic + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: mc_equispaced_132x448 + filenames_lists: + - ../lists/132x448_cine_train.lst + transforms: + crop: + - 224 + - 132 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianMagic + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: mc_equispaced_204x512 + filenames_lists: + - ../lists/204x512_cine_train.lst + transforms: + crop: + - 256 + - 204 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianMagic + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: mc_equispaced_162x512 + filenames_lists: + - ../lists/162x512_cine_train.lst + transforms: + crop: + - 256 + - 162 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianMagic + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: mc_random_246x512 + filenames_lists: + - ../lists/246x512_cine_train.lst + transforms: + crop: + - 256 + - 246 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianRandom + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: mc_random_168x448 + filenames_lists: + - ../lists/168x448_cine_train.lst + transforms: + crop: + - 224 + - 168 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianRandom + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: mc_random_132x448 + filenames_lists: + - ../lists/132x448_cine_train.lst + transforms: + crop: + - 224 + - 132 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianRandom + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: mc_random_204x512 + filenames_lists: + - ../lists/204x512_cine_train.lst + transforms: + crop: + - 256 + - 204 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianRandom + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: mc_random_162x512 + filenames_lists: + - ../lists/162x512_cine_train.lst + transforms: + crop: + - 256 + - 162 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: CartesianRandom + accelerations: + - 2.75 + - 3 + - 3.25 + - 3.5 + - 3.75 + - 4 + - 4.25 + - 4.5 + - 4.75 + - 5 + - 5.25 + center_fractions: + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + - 24 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: mc_radial_246x512_crop + filenames_lists: + - ../lists/246x512_cine_train.lst + transforms: + crop: + - 256 + - 246 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: mc_radial_168x448_crop + filenames_lists: + - ../lists/168x448_cine_train.lst + transforms: + crop: + - 224 + - 168 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: mc_radial_132x448_crop + filenames_lists: + - ../lists/132x448_cine_train.lst + transforms: + crop: + - 224 + - 132 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: mc_radial_204x512_crop + filenames_lists: + - ../lists/204x512_cine_train.lst + transforms: + crop: + - 256 + - 204 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: mc_radial_162x512_crop + filenames_lists: + - ../lists/162x512_cine_train.lst + transforms: + crop: + - 256 + - 162 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Radial + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: mc_spiral_162x512_crop + filenames_lists: + - ../lists/162x512_cine_train.lst + transforms: + crop: + - 256 + - 162 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: mc_spiral_246x512_crop + filenames_lists: + - ../lists/246x512_cine_train.lst + transforms: + crop: + - 256 + - 246 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: mc_spiral_168x448_crop + filenames_lists: + - ../lists/168x448_cine_train.lst + transforms: + crop: + - 224 + - 168 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: mc_spiral_132x448_crop + filenames_lists: + - ../lists/132x448_cine_train.lst + transforms: + crop: + - 224 + - 132 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: mc_spiral_204x512_crop + filenames_lists: + - ../lists/204x512_cine_train.lst + transforms: + crop: + - 256 + - 204 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Spiral + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: mc_gaussian2d_162x512_crop + filenames_lists: + - ../lists/162x512_cine_train.lst + transforms: + crop: + - 256 + - 162 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + center_fractions: + - 0.07 + - 0.07 + - 0.07 + - 0.07 + - 0.07 + - 0.07 + - 0.07 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: mc_gaussian2d_246x512_crop + filenames_lists: + - ../lists/246x512_cine_train.lst + transforms: + crop: + - 256 + - 246 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + center_fractions: + - 0.045 + - 0.045 + - 0.045 + - 0.045 + - 0.045 + - 0.045 + - 0.045 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: mc_gaussian2d_168x448_crop + filenames_lists: + - ../lists/168x448_cine_train.lst + transforms: + crop: + - 224 + - 168 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + center_fractions: + - 0.07 + - 0.07 + - 0.07 + - 0.07 + - 0.07 + - 0.07 + - 0.07 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: mc_gaussian2d_132x448_crop + filenames_lists: + - ../lists/132x448_cine_train.lst + transforms: + crop: + - 224 + - 132 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + center_fractions: + - 0.09 + - 0.09 + - 0.09 + - 0.09 + - 0.09 + - 0.09 + - 0.09 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + - + name: CMRxRecon + kspace_context: time + text_description: mc_gaussian2d_204x512_crop + filenames_lists: + - ../lists/204x512_cine_train.lst + transforms: + crop: + - 256 + - 204 + estimate_sensitivity_maps: true + scaling_key: masked_kspace + image_center_crop: false + random_flip: true + random_rotation: false + masking: + name: Gaussian2D + accelerations: + - 2 + - 2.5 + - 3 + - 3.5 + - 4 + - 4.5 + - 5 + center_fractions: + - 0.055 + - 0.055 + - 0.055 + - 0.055 + - 0.055 + - 0.055 + - 0.055 + scale_percentile: 0.99 + use_seed: false + delete_kspace: false + optimizer: Adam + lr: 0.003 + weight_decay: 0 + batch_size: 1 + lr_step_size: 50000 + lr_gamma: 0.9 + lr_warmup_iter: 2000 + num_iterations: 1000000 + validation_steps: 200000 + gradient_steps: 1 + gradient_clipping: 0 + gradient_debug: false + loss: + crop: null + losses: + - + function: l1_loss + multiplier: 1 + - + function: ssim_loss + multiplier: 1 + - + function: ssim_3d_loss + multiplier: 1 + - + function: hfen_l1_norm_loss + multiplier: 1 + - + function: kspace_nmae_loss + multiplier: 3 + checkpointer: + checkpoint_steps: 1000 +validation: + datasets: + - + name: CMRxRecon + kspace_context: time + text_description: val-cine-4x + filenames_lists: + - ../lists/204x448_cine_with_masks_train.lst + extra_keys: + - mask04 + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + masking: null + - + name: CMRxRecon + kspace_context: time + text_description: val-cine-8x + filenames_lists: + - ../lists/204x448_cine_with_masks_train.lst + extra_keys: + - mask08 + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + masking: null + - + name: CMRxRecon + kspace_context: time + text_description: val-cine-10x + filenames_lists: + - ../lists/204x448_cine_with_masks_train.lst + extra_keys: + - mask10 + transforms: + crop: null + estimate_sensitivity_maps: true + scaling_key: masked_kspace + masking: null + batch_size: 1 + metrics: + - fastmri_ssim + - fastmri_psnr +model: + model_name: vsharp.vsharp.VSharpNet3D + num_steps: 10 + num_steps_dc_gd: 8 + image_init: SENSE + no_parameter_sharing: true + auxiliary_steps: -1 + unet_num_filters: 32 + unet_num_pool_layers: 4 + initializer_channels: + - 32 + - 32 + - 64 + - 64 + initializer_dilations: + - 1 + - 1 + - 2 + - 4 + initializer_multiscale: 1 +additional_models: + sensitivity_model: + model_name: unet.unet_2d.UnetModel2d + in_channels: 2 + out_channels: 2 + num_filters: 32 + num_pool_layers: 4 + dropout_probability: 0 + cwn_conv: false +logging: + tensorboard: + num_images: 4 +inference: + batch_size: 1 + dataset: + name: CMRxRecon + kspace_key: kspace_sub04 + compute_mask: true + kspace_context: time + transforms: + cropping: + crop: null + sensitivity_map_estimation: + estimate_sensitivity_maps: true + normalization: + scaling_key: masked_kspace + scale_percentile: 0.99 + masking: null + text_description: inference-4x + crop: null diff --git a/projects/CMRxRecon/lists/116x384_map_train.lst b/projects/CMRxRecon/lists/116x384_map_train.lst new file mode 100644 index 000000000..720b7431c --- /dev/null +++ b/projects/CMRxRecon/lists/116x384_map_train.lst @@ -0,0 +1,120 @@ +P067_T2map.mat +P115_T2map.mat +P029_T2map.mat +P023_T2map.mat +P077_T2map.mat +P097_T2map.mat +P022_T2map.mat +P044_T2map.mat +P051_T2map.mat +P069_T2map.mat +P055_T2map.mat +P057_T2map.mat +P118_T2map.mat +P109_T2map.mat +P056_T2map.mat +P100_T2map.mat +P070_T2map.mat +P049_T2map.mat +P088_T2map.mat +P006_T2map.mat +P102_T2map.mat +P089_T2map.mat +P053_T2map.mat +P048_T2map.mat +P033_T2map.mat +P019_T2map.mat +P114_T2map.mat +P024_T2map.mat +P016_T2map.mat +P004_T2map.mat +P072_T2map.mat +P099_T2map.mat +P086_T2map.mat +P101_T2map.mat +P087_T2map.mat +P003_T2map.mat +P063_T2map.mat +P078_T2map.mat +P018_T2map.mat +P113_T2map.mat +P066_T2map.mat +P059_T2map.mat +P076_T2map.mat +P106_T2map.mat +P046_T2map.mat +P043_T2map.mat +P011_T2map.mat +P026_T2map.mat +P032_T2map.mat +P014_T2map.mat +P038_T2map.mat +P075_T2map.mat +P071_T2map.mat +P080_T2map.mat +P002_T2map.mat +P008_T2map.mat +P052_T2map.mat +P035_T2map.mat +P041_T2map.mat +P001_T2map.mat +P065_T2map.mat +P120_T2map.mat +P105_T2map.mat +P084_T2map.mat +P010_T2map.mat +P013_T2map.mat +P061_T2map.mat +P074_T2map.mat +P096_T2map.mat +P083_T2map.mat +P107_T2map.mat +P082_T2map.mat +P108_T2map.mat +P058_T2map.mat +P062_T2map.mat +P091_T2map.mat +P025_T2map.mat +P060_T2map.mat +P094_T2map.mat +P085_T2map.mat +P034_T2map.mat +P073_T2map.mat +P064_T2map.mat +P095_T2map.mat +P017_T2map.mat +P081_T2map.mat +P119_T2map.mat +P036_T2map.mat +P005_T2map.mat +P117_T2map.mat +P045_T2map.mat +P050_T2map.mat +P116_T2map.mat +P039_T2map.mat +P110_T2map.mat +P111_T2map.mat +P031_T2map.mat +P027_T2map.mat +P015_T2map.mat +P021_T2map.mat +P090_T2map.mat +P037_T2map.mat +P112_T2map.mat +P040_T2map.mat +P054_T2map.mat +P028_T2map.mat +P092_T2map.mat +P042_T2map.mat +P030_T2map.mat +P098_T2map.mat +P093_T2map.mat +P104_T2map.mat +P047_T2map.mat +P068_T2map.mat +P079_T2map.mat +P007_T2map.mat +P020_T2map.mat +P103_T2map.mat +P012_T2map.mat +P009_T2map.mat \ No newline at end of file diff --git a/projects/CMRxRecon/lists/116x384_map_with_masks_train.lst b/projects/CMRxRecon/lists/116x384_map_with_masks_train.lst new file mode 100644 index 000000000..5dca1a46f --- /dev/null +++ b/projects/CMRxRecon/lists/116x384_map_with_masks_train.lst @@ -0,0 +1,120 @@ +with_masks_P090_T2map.mat +with_masks_P003_T2map.mat +with_masks_P050_T2map.mat +with_masks_P115_T2map.mat +with_masks_P052_T2map.mat +with_masks_P096_T2map.mat +with_masks_P113_T2map.mat +with_masks_P097_T2map.mat +with_masks_P116_T2map.mat +with_masks_P023_T2map.mat +with_masks_P031_T2map.mat +with_masks_P053_T2map.mat +with_masks_P058_T2map.mat +with_masks_P104_T2map.mat +with_masks_P117_T2map.mat +with_masks_P111_T2map.mat +with_masks_P078_T2map.mat +with_masks_P022_T2map.mat +with_masks_P014_T2map.mat +with_masks_P070_T2map.mat +with_masks_P026_T2map.mat +with_masks_P048_T2map.mat +with_masks_P119_T2map.mat +with_masks_P039_T2map.mat +with_masks_P034_T2map.mat +with_masks_P092_T2map.mat +with_masks_P060_T2map.mat +with_masks_P120_T2map.mat +with_masks_P032_T2map.mat +with_masks_P024_T2map.mat +with_masks_P025_T2map.mat +with_masks_P081_T2map.mat +with_masks_P098_T2map.mat +with_masks_P101_T2map.mat +with_masks_P015_T2map.mat +with_masks_P020_T2map.mat +with_masks_P036_T2map.mat +with_masks_P099_T2map.mat +with_masks_P027_T2map.mat +with_masks_P006_T2map.mat +with_masks_P094_T2map.mat +with_masks_P054_T2map.mat +with_masks_P083_T2map.mat +with_masks_P065_T2map.mat +with_masks_P118_T2map.mat +with_masks_P074_T2map.mat +with_masks_P008_T2map.mat +with_masks_P102_T2map.mat +with_masks_P109_T2map.mat +with_masks_P084_T2map.mat +with_masks_P030_T2map.mat +with_masks_P037_T2map.mat +with_masks_P055_T2map.mat +with_masks_P059_T2map.mat +with_masks_P103_T2map.mat +with_masks_P071_T2map.mat +with_masks_P051_T2map.mat +with_masks_P082_T2map.mat +with_masks_P062_T2map.mat +with_masks_P004_T2map.mat +with_masks_P100_T2map.mat +with_masks_P076_T2map.mat +with_masks_P009_T2map.mat +with_masks_P043_T2map.mat +with_masks_P001_T2map.mat +with_masks_P114_T2map.mat +with_masks_P029_T2map.mat +with_masks_P040_T2map.mat +with_masks_P077_T2map.mat +with_masks_P012_T2map.mat +with_masks_P049_T2map.mat +with_masks_P011_T2map.mat +with_masks_P041_T2map.mat +with_masks_P093_T2map.mat +with_masks_P056_T2map.mat +with_masks_P047_T2map.mat +with_masks_P066_T2map.mat +with_masks_P079_T2map.mat +with_masks_P038_T2map.mat +with_masks_P087_T2map.mat +with_masks_P068_T2map.mat +with_masks_P110_T2map.mat +with_masks_P046_T2map.mat +with_masks_P088_T2map.mat +with_masks_P010_T2map.mat +with_masks_P106_T2map.mat +with_masks_P095_T2map.mat +with_masks_P073_T2map.mat +with_masks_P063_T2map.mat +with_masks_P061_T2map.mat +with_masks_P069_T2map.mat +with_masks_P002_T2map.mat +with_masks_P080_T2map.mat +with_masks_P112_T2map.mat +with_masks_P018_T2map.mat +with_masks_P075_T2map.mat +with_masks_P085_T2map.mat +with_masks_P016_T2map.mat +with_masks_P042_T2map.mat +with_masks_P089_T2map.mat +with_masks_P033_T2map.mat +with_masks_P108_T2map.mat +with_masks_P019_T2map.mat +with_masks_P057_T2map.mat +with_masks_P086_T2map.mat +with_masks_P028_T2map.mat +with_masks_P007_T2map.mat +with_masks_P045_T2map.mat +with_masks_P091_T2map.mat +with_masks_P067_T2map.mat +with_masks_P035_T2map.mat +with_masks_P005_T2map.mat +with_masks_P017_T2map.mat +with_masks_P107_T2map.mat +with_masks_P064_T2map.mat +with_masks_P021_T2map.mat +with_masks_P044_T2map.mat +with_masks_P105_T2map.mat +with_masks_P072_T2map.mat +with_masks_P013_T2map.mat \ No newline at end of file diff --git a/projects/CMRxRecon/lists/132x448_cine_train.lst b/projects/CMRxRecon/lists/132x448_cine_train.lst new file mode 100644 index 000000000..7bb2877eb --- /dev/null +++ b/projects/CMRxRecon/lists/132x448_cine_train.lst @@ -0,0 +1,4 @@ +P046_cine_sax.mat +P040_cine_sax.mat +P114_cine_lax.mat +P104_cine_lax.mat \ No newline at end of file diff --git a/projects/CMRxRecon/lists/132x448_cine_with_masks_train.lst b/projects/CMRxRecon/lists/132x448_cine_with_masks_train.lst new file mode 100644 index 000000000..6412016e0 --- /dev/null +++ b/projects/CMRxRecon/lists/132x448_cine_with_masks_train.lst @@ -0,0 +1,4 @@ +with_masks_P040_cine_sax.mat +with_masks_P104_cine_lax.mat +with_masks_P114_cine_lax.mat +with_masks_P046_cine_sax.mat \ No newline at end of file diff --git a/projects/CMRxRecon/lists/144x512_map_train.lst b/projects/CMRxRecon/lists/144x512_map_train.lst new file mode 100644 index 000000000..16ba548d7 --- /dev/null +++ b/projects/CMRxRecon/lists/144x512_map_train.lst @@ -0,0 +1,120 @@ +P096_T1map.mat +P036_T1map.mat +P045_T1map.mat +P097_T1map.mat +P072_T1map.mat +P058_T1map.mat +P056_T1map.mat +P083_T1map.mat +P037_T1map.mat +P040_T1map.mat +P115_T1map.mat +P094_T1map.mat +P067_T1map.mat +P109_T1map.mat +P003_T1map.mat +P004_T1map.mat +P050_T1map.mat +P038_T1map.mat +P106_T1map.mat +P047_T1map.mat +P077_T1map.mat +P068_T1map.mat +P088_T1map.mat +P112_T1map.mat +P089_T1map.mat +P042_T1map.mat +P010_T1map.mat +P082_T1map.mat +P034_T1map.mat +P076_T1map.mat +P039_T1map.mat +P020_T1map.mat +P080_T1map.mat +P019_T1map.mat +P084_T1map.mat +P098_T1map.mat +P085_T1map.mat +P118_T1map.mat +P111_T1map.mat +P102_T1map.mat +P114_T1map.mat +P099_T1map.mat +P100_T1map.mat +P025_T1map.mat +P035_T1map.mat +P087_T1map.mat +P065_T1map.mat +P110_T1map.mat +P018_T1map.mat +P046_T1map.mat +P066_T1map.mat +P051_T1map.mat +P052_T1map.mat +P062_T1map.mat +P033_T1map.mat +P070_T1map.mat +P104_T1map.mat +P015_T1map.mat +P063_T1map.mat +P009_T1map.mat +P120_T1map.mat +P023_T1map.mat +P095_T1map.mat +P108_T1map.mat +P119_T1map.mat +P008_T1map.mat +P101_T1map.mat +P029_T1map.mat +P105_T1map.mat +P044_T1map.mat +P117_T1map.mat +P043_T1map.mat +P031_T1map.mat +P007_T1map.mat +P012_T1map.mat +P011_T1map.mat +P069_T1map.mat +P071_T1map.mat +P014_T1map.mat +P116_T1map.mat +P022_T1map.mat +P081_T1map.mat +P055_T1map.mat +P005_T1map.mat +P001_T1map.mat +P049_T1map.mat +P013_T1map.mat +P103_T1map.mat +P021_T1map.mat +P064_T1map.mat +P030_T1map.mat +P054_T1map.mat +P091_T1map.mat +P075_T1map.mat +P057_T1map.mat +P093_T1map.mat +P024_T1map.mat +P032_T1map.mat +P006_T1map.mat +P113_T1map.mat +P027_T1map.mat +P086_T1map.mat +P041_T1map.mat +P073_T1map.mat +P061_T1map.mat +P053_T1map.mat +P060_T1map.mat +P028_T1map.mat +P017_T1map.mat +P048_T1map.mat +P026_T1map.mat +P016_T1map.mat +P079_T1map.mat +P078_T1map.mat +P090_T1map.mat +P107_T1map.mat +P074_T1map.mat +P059_T1map.mat +P092_T1map.mat +P002_T1map.mat \ No newline at end of file diff --git a/projects/CMRxRecon/lists/144x512_map_with_masks_train.lst b/projects/CMRxRecon/lists/144x512_map_with_masks_train.lst new file mode 100644 index 000000000..fb25c0b8c --- /dev/null +++ b/projects/CMRxRecon/lists/144x512_map_with_masks_train.lst @@ -0,0 +1,120 @@ +with_masks_P100_T1map.mat +with_masks_P050_T1map.mat +with_masks_P052_T1map.mat +with_masks_P061_T1map.mat +with_masks_P107_T1map.mat +with_masks_P043_T1map.mat +with_masks_P003_T1map.mat +with_masks_P007_T1map.mat +with_masks_P079_T1map.mat +with_masks_P037_T1map.mat +with_masks_P033_T1map.mat +with_masks_P025_T1map.mat +with_masks_P026_T1map.mat +with_masks_P072_T1map.mat +with_masks_P056_T1map.mat +with_masks_P090_T1map.mat +with_masks_P083_T1map.mat +with_masks_P054_T1map.mat +with_masks_P119_T1map.mat +with_masks_P029_T1map.mat +with_masks_P109_T1map.mat +with_masks_P002_T1map.mat +with_masks_P065_T1map.mat +with_masks_P018_T1map.mat +with_masks_P049_T1map.mat +with_masks_P080_T1map.mat +with_masks_P108_T1map.mat +with_masks_P051_T1map.mat +with_masks_P064_T1map.mat +with_masks_P094_T1map.mat +with_masks_P058_T1map.mat +with_masks_P012_T1map.mat +with_masks_P006_T1map.mat +with_masks_P060_T1map.mat +with_masks_P101_T1map.mat +with_masks_P071_T1map.mat +with_masks_P118_T1map.mat +with_masks_P055_T1map.mat +with_masks_P008_T1map.mat +with_masks_P044_T1map.mat +with_masks_P023_T1map.mat +with_masks_P117_T1map.mat +with_masks_P114_T1map.mat +with_masks_P076_T1map.mat +with_masks_P103_T1map.mat +with_masks_P014_T1map.mat +with_masks_P113_T1map.mat +with_masks_P042_T1map.mat +with_masks_P059_T1map.mat +with_masks_P070_T1map.mat +with_masks_P027_T1map.mat +with_masks_P098_T1map.mat +with_masks_P028_T1map.mat +with_masks_P069_T1map.mat +with_masks_P053_T1map.mat +with_masks_P031_T1map.mat +with_masks_P088_T1map.mat +with_masks_P112_T1map.mat +with_masks_P035_T1map.mat +with_masks_P057_T1map.mat +with_masks_P047_T1map.mat +with_masks_P093_T1map.mat +with_masks_P032_T1map.mat +with_masks_P063_T1map.mat +with_masks_P106_T1map.mat +with_masks_P111_T1map.mat +with_masks_P011_T1map.mat +with_masks_P046_T1map.mat +with_masks_P019_T1map.mat +with_masks_P102_T1map.mat +with_masks_P077_T1map.mat +with_masks_P041_T1map.mat +with_masks_P013_T1map.mat +with_masks_P096_T1map.mat +with_masks_P115_T1map.mat +with_masks_P097_T1map.mat +with_masks_P092_T1map.mat +with_masks_P089_T1map.mat +with_masks_P062_T1map.mat +with_masks_P036_T1map.mat +with_masks_P004_T1map.mat +with_masks_P087_T1map.mat +with_masks_P110_T1map.mat +with_masks_P120_T1map.mat +with_masks_P084_T1map.mat +with_masks_P066_T1map.mat +with_masks_P067_T1map.mat +with_masks_P024_T1map.mat +with_masks_P085_T1map.mat +with_masks_P017_T1map.mat +with_masks_P040_T1map.mat +with_masks_P038_T1map.mat +with_masks_P015_T1map.mat +with_masks_P104_T1map.mat +with_masks_P099_T1map.mat +with_masks_P116_T1map.mat +with_masks_P078_T1map.mat +with_masks_P039_T1map.mat +with_masks_P001_T1map.mat +with_masks_P016_T1map.mat +with_masks_P091_T1map.mat +with_masks_P086_T1map.mat +with_masks_P048_T1map.mat +with_masks_P005_T1map.mat +with_masks_P095_T1map.mat +with_masks_P034_T1map.mat +with_masks_P081_T1map.mat +with_masks_P073_T1map.mat +with_masks_P020_T1map.mat +with_masks_P010_T1map.mat +with_masks_P045_T1map.mat +with_masks_P009_T1map.mat +with_masks_P068_T1map.mat +with_masks_P030_T1map.mat +with_masks_P105_T1map.mat +with_masks_P075_T1map.mat +with_masks_P082_T1map.mat +with_masks_P074_T1map.mat +with_masks_P022_T1map.mat +with_masks_P021_T1map.mat \ No newline at end of file diff --git a/projects/CMRxRecon/lists/162x512_cine_train.lst b/projects/CMRxRecon/lists/162x512_cine_train.lst new file mode 100644 index 000000000..dc50ce61b --- /dev/null +++ b/projects/CMRxRecon/lists/162x512_cine_train.lst @@ -0,0 +1,11 @@ +P053_cine_sax.mat +P008_cine_sax.mat +P038_cine_sax.mat +P077_cine_sax.mat +P004_cine_sax.mat +P050_cine_sax.mat +P024_cine_sax.mat +P114_cine_sax.mat +P036_cine_sax.mat +P037_cine_sax.mat +P109_cine_sax.mat \ No newline at end of file diff --git a/projects/CMRxRecon/lists/162x512_cine_with_masks_train.lst b/projects/CMRxRecon/lists/162x512_cine_with_masks_train.lst new file mode 100644 index 000000000..f866477c8 --- /dev/null +++ b/projects/CMRxRecon/lists/162x512_cine_with_masks_train.lst @@ -0,0 +1,11 @@ +with_masks_P004_cine_sax.mat +with_masks_P077_cine_sax.mat +with_masks_P024_cine_sax.mat +with_masks_P008_cine_sax.mat +with_masks_P053_cine_sax.mat +with_masks_P038_cine_sax.mat +with_masks_P050_cine_sax.mat +with_masks_P036_cine_sax.mat +with_masks_P109_cine_sax.mat +with_masks_P037_cine_sax.mat +with_masks_P114_cine_sax.mat \ No newline at end of file diff --git a/projects/CMRxRecon/lists/168x448_cine_train.lst b/projects/CMRxRecon/lists/168x448_cine_train.lst new file mode 100644 index 000000000..f0472c452 --- /dev/null +++ b/projects/CMRxRecon/lists/168x448_cine_train.lst @@ -0,0 +1,46 @@ +P033_cine_lax.mat +P079_cine_lax.mat +P023_cine_lax.mat +P058_cine_lax.mat +P048_cine_lax.mat +P039_cine_lax.mat +P112_cine_lax.mat +P078_cine_lax.mat +P061_cine_lax.mat +P120_cine_lax.mat +P043_cine_lax.mat +P007_cine_lax.mat +P055_cine_lax.mat +P080_cine_lax.mat +P093_cine_lax.mat +P116_cine_lax.mat +P037_cine_lax.mat +P047_cine_lax.mat +P115_cine_lax.mat +P011_cine_lax.mat +P096_cine_lax.mat +P010_cine_lax.mat +P008_cine_lax.mat +P006_cine_lax.mat +P092_cine_lax.mat +P068_cine_lax.mat +P041_cine_lax.mat +P028_cine_lax.mat +P077_cine_lax.mat +P095_cine_lax.mat +P016_cine_lax.mat +P054_cine_lax.mat +P070_cine_lax.mat +P029_cine_lax.mat +P064_cine_lax.mat +P024_cine_lax.mat +P014_cine_lax.mat +P035_cine_lax.mat +P030_cine_lax.mat +P018_cine_lax.mat +P101_cine_lax.mat +P102_cine_lax.mat +P057_cine_lax.mat +P009_cine_lax.mat +P091_cine_lax.mat +P042_cine_lax.mat diff --git a/projects/CMRxRecon/lists/168x448_cine_with_masks_train.lst b/projects/CMRxRecon/lists/168x448_cine_with_masks_train.lst new file mode 100644 index 000000000..2fac3ed69 --- /dev/null +++ b/projects/CMRxRecon/lists/168x448_cine_with_masks_train.lst @@ -0,0 +1,46 @@ +with_masks_P092_cine_lax.mat +with_masks_P024_cine_lax.mat +with_masks_P018_cine_lax.mat +with_masks_P041_cine_lax.mat +with_masks_P055_cine_lax.mat +with_masks_P116_cine_lax.mat +with_masks_P093_cine_lax.mat +with_masks_P096_cine_lax.mat +with_masks_P014_cine_lax.mat +with_masks_P070_cine_lax.mat +with_masks_P078_cine_lax.mat +with_masks_P057_cine_lax.mat +with_masks_P043_cine_lax.mat +with_masks_P030_cine_lax.mat +with_masks_P023_cine_lax.mat +with_masks_P009_cine_lax.mat +with_masks_P115_cine_lax.mat +with_masks_P068_cine_lax.mat +with_masks_P112_cine_lax.mat +with_masks_P064_cine_lax.mat +with_masks_P029_cine_lax.mat +with_masks_P101_cine_lax.mat +with_masks_P061_cine_lax.mat +with_masks_P008_cine_lax.mat +with_masks_P077_cine_lax.mat +with_masks_P006_cine_lax.mat +with_masks_P033_cine_lax.mat +with_masks_P054_cine_lax.mat +with_masks_P048_cine_lax.mat +with_masks_P047_cine_lax.mat +with_masks_P037_cine_lax.mat +with_masks_P042_cine_lax.mat +with_masks_P028_cine_lax.mat +with_masks_P079_cine_lax.mat +with_masks_P039_cine_lax.mat +with_masks_P095_cine_lax.mat +with_masks_P120_cine_lax.mat +with_masks_P010_cine_lax.mat +with_masks_P102_cine_lax.mat +with_masks_P007_cine_lax.mat +with_masks_P035_cine_lax.mat +with_masks_P016_cine_lax.mat +with_masks_P058_cine_lax.mat +with_masks_P091_cine_lax.mat +with_masks_P011_cine_lax.mat +with_masks_P080_cine_lax.mat \ No newline at end of file diff --git a/projects/CMRxRecon/lists/204x448_cine_train.lst b/projects/CMRxRecon/lists/204x448_cine_train.lst new file mode 100644 index 000000000..f8ac5d1ac --- /dev/null +++ b/projects/CMRxRecon/lists/204x448_cine_train.lst @@ -0,0 +1,46 @@ +P001_cine_lax.mat +P060_cine_lax.mat +P097_cine_lax.mat +P066_cine_lax.mat +P053_cine_lax.mat +P109_cine_lax.mat +P069_cine_lax.mat +P004_cine_lax.mat +P036_cine_lax.mat +P107_cine_lax.mat +P074_cine_lax.mat +P075_cine_lax.mat +P106_cine_lax.mat +P013_cine_lax.mat +P071_cine_lax.mat +P072_cine_lax.mat +P050_cine_lax.mat +P012_cine_lax.mat +P056_cine_lax.mat +P034_cine_lax.mat +P098_cine_lax.mat +P052_cine_lax.mat +P002_cine_lax.mat +P119_cine_lax.mat +P118_cine_lax.mat +P020_cine_lax.mat +P015_cine_lax.mat +P062_cine_lax.mat +P019_cine_lax.mat +P032_cine_lax.mat +P067_cine_lax.mat +P017_cine_lax.mat +P076_cine_lax.mat +P046_cine_lax.mat +P063_cine_lax.mat +P005_cine_lax.mat +P099_cine_lax.mat +P110_cine_lax.mat +P113_cine_lax.mat +P038_cine_lax.mat +P025_cine_lax.mat +P031_cine_lax.mat +P094_cine_lax.mat +P065_cine_lax.mat +P105_cine_lax.mat +P045_cine_lax.mat \ No newline at end of file diff --git a/projects/CMRxRecon/lists/204x448_cine_with_masks_train.lst b/projects/CMRxRecon/lists/204x448_cine_with_masks_train.lst new file mode 100644 index 000000000..b5b4f0909 --- /dev/null +++ b/projects/CMRxRecon/lists/204x448_cine_with_masks_train.lst @@ -0,0 +1,46 @@ +with_masks_P036_cine_lax.mat +with_masks_P031_cine_lax.mat +with_masks_P113_cine_lax.mat +with_masks_P075_cine_lax.mat +with_masks_P072_cine_lax.mat +with_masks_P105_cine_lax.mat +with_masks_P032_cine_lax.mat +with_masks_P045_cine_lax.mat +with_masks_P099_cine_lax.mat +with_masks_P056_cine_lax.mat +with_masks_P038_cine_lax.mat +with_masks_P062_cine_lax.mat +with_masks_P001_cine_lax.mat +with_masks_P015_cine_lax.mat +with_masks_P094_cine_lax.mat +with_masks_P066_cine_lax.mat +with_masks_P013_cine_lax.mat +with_masks_P005_cine_lax.mat +with_masks_P071_cine_lax.mat +with_masks_P060_cine_lax.mat +with_masks_P107_cine_lax.mat +with_masks_P050_cine_lax.mat +with_masks_P106_cine_lax.mat +with_masks_P017_cine_lax.mat +with_masks_P063_cine_lax.mat +with_masks_P119_cine_lax.mat +with_masks_P097_cine_lax.mat +with_masks_P053_cine_lax.mat +with_masks_P067_cine_lax.mat +with_masks_P074_cine_lax.mat +with_masks_P004_cine_lax.mat +with_masks_P065_cine_lax.mat +with_masks_P034_cine_lax.mat +with_masks_P025_cine_lax.mat +with_masks_P012_cine_lax.mat +with_masks_P109_cine_lax.mat +with_masks_P046_cine_lax.mat +with_masks_P019_cine_lax.mat +with_masks_P098_cine_lax.mat +with_masks_P118_cine_lax.mat +with_masks_P020_cine_lax.mat +with_masks_P002_cine_lax.mat +with_masks_P110_cine_lax.mat +with_masks_P076_cine_lax.mat +with_masks_P052_cine_lax.mat +with_masks_P069_cine_lax.mat \ No newline at end of file diff --git a/projects/CMRxRecon/lists/204x512_cine_train.lst b/projects/CMRxRecon/lists/204x512_cine_train.lst new file mode 100644 index 000000000..a9d0e3e92 --- /dev/null +++ b/projects/CMRxRecon/lists/204x512_cine_train.lst @@ -0,0 +1,32 @@ +P020_cine_sax.mat +P095_cine_sax.mat +P001_cine_sax.mat +P073_cine_sax.mat +P064_cine_sax.mat +P066_cine_sax.mat +P023_cine_sax.mat +P072_cine_sax.mat +P035_cine_sax.mat +P018_cine_sax.mat +P042_cine_sax.mat +P101_cine_sax.mat +P005_cine_sax.mat +P070_cine_sax.mat +P028_cine_sax.mat +P031_cine_sax.mat +P098_cine_sax.mat +P116_cine_sax.mat +P091_cine_sax.mat +P118_cine_sax.mat +P062_cine_sax.mat +P117_cine_sax.mat +P029_cine_sax.mat +P045_cine_sax.mat +P059_cine_sax.mat +P105_cine_sax.mat +P048_cine_sax.mat +P074_cine_sax.mat +P030_cine_sax.mat +P032_cine_sax.mat +P076_cine_sax.mat +P006_cine_sax.mat \ No newline at end of file diff --git a/projects/CMRxRecon/lists/204x512_cine_with_masks_train.lst b/projects/CMRxRecon/lists/204x512_cine_with_masks_train.lst new file mode 100644 index 000000000..827a4fbc5 --- /dev/null +++ b/projects/CMRxRecon/lists/204x512_cine_with_masks_train.lst @@ -0,0 +1,32 @@ +with_masks_P116_cine_sax.mat +with_masks_P023_cine_sax.mat +with_masks_P095_cine_sax.mat +with_masks_P006_cine_sax.mat +with_masks_P030_cine_sax.mat +with_masks_P005_cine_sax.mat +with_masks_P001_cine_sax.mat +with_masks_P062_cine_sax.mat +with_masks_P059_cine_sax.mat +with_masks_P064_cine_sax.mat +with_masks_P028_cine_sax.mat +with_masks_P098_cine_sax.mat +with_masks_P031_cine_sax.mat +with_masks_P048_cine_sax.mat +with_masks_P045_cine_sax.mat +with_masks_P032_cine_sax.mat +with_masks_P076_cine_sax.mat +with_masks_P118_cine_sax.mat +with_masks_P073_cine_sax.mat +with_masks_P117_cine_sax.mat +with_masks_P101_cine_sax.mat +with_masks_P042_cine_sax.mat +with_masks_P105_cine_sax.mat +with_masks_P070_cine_sax.mat +with_masks_P074_cine_sax.mat +with_masks_P018_cine_sax.mat +with_masks_P091_cine_sax.mat +with_masks_P020_cine_sax.mat +with_masks_P035_cine_sax.mat +with_masks_P029_cine_sax.mat +with_masks_P066_cine_sax.mat +with_masks_P072_cine_sax.mat \ No newline at end of file diff --git a/projects/CMRxRecon/lists/246x512_cine_train.lst b/projects/CMRxRecon/lists/246x512_cine_train.lst new file mode 100644 index 000000000..2dfab91a5 --- /dev/null +++ b/projects/CMRxRecon/lists/246x512_cine_train.lst @@ -0,0 +1,64 @@ +P055_cine_sax.mat +P014_cine_sax.mat +P097_cine_sax.mat +P113_cine_sax.mat +P119_cine_sax.mat +P011_cine_sax.mat +P021_cine_sax.mat +P013_cine_sax.mat +P052_cine_sax.mat +P061_cine_sax.mat +P099_cine_sax.mat +P115_cine_sax.mat +P104_cine_sax.mat +P094_cine_sax.mat +P009_cine_sax.mat +P100_cine_sax.mat +P025_cine_sax.mat +P033_cine_sax.mat +P003_cine_sax.mat +P071_cine_sax.mat +P022_cine_sax.mat +P026_cine_sax.mat +P007_cine_sax.mat +P015_cine_sax.mat +P027_cine_sax.mat +P111_cine_sax.mat +P067_cine_sax.mat +P068_cine_sax.mat +P078_cine_sax.mat +P058_cine_sax.mat +P054_cine_sax.mat +P051_cine_sax.mat +P107_cine_sax.mat +P092_cine_sax.mat +P110_cine_sax.mat +P103_cine_sax.mat +P044_cine_sax.mat +P112_cine_sax.mat +P096_cine_sax.mat +P016_cine_sax.mat +P017_cine_sax.mat +P019_cine_sax.mat +P010_cine_sax.mat +P102_cine_sax.mat +P057_cine_sax.mat +P093_cine_sax.mat +P034_cine_sax.mat +P039_cine_sax.mat +P012_cine_sax.mat +P002_cine_sax.mat +P079_cine_sax.mat +P060_cine_sax.mat +P065_cine_sax.mat +P056_cine_sax.mat +P041_cine_sax.mat +P075_cine_sax.mat +P108_cine_sax.mat +P069_cine_sax.mat +P120_cine_sax.mat +P049_cine_sax.mat +P043_cine_sax.mat +P047_cine_sax.mat +P106_cine_sax.mat +P063_cine_sax.mat \ No newline at end of file diff --git a/projects/CMRxRecon/lists/246x512_cine_with_masks_train.lst b/projects/CMRxRecon/lists/246x512_cine_with_masks_train.lst new file mode 100644 index 000000000..7988cd76e --- /dev/null +++ b/projects/CMRxRecon/lists/246x512_cine_with_masks_train.lst @@ -0,0 +1,64 @@ +with_masks_P078_cine_sax.mat +with_masks_P067_cine_sax.mat +with_masks_P041_cine_sax.mat +with_masks_P010_cine_sax.mat +with_masks_P119_cine_sax.mat +with_masks_P056_cine_sax.mat +with_masks_P113_cine_sax.mat +with_masks_P058_cine_sax.mat +with_masks_P093_cine_sax.mat +with_masks_P120_cine_sax.mat +with_masks_P026_cine_sax.mat +with_masks_P049_cine_sax.mat +with_masks_P002_cine_sax.mat +with_masks_P071_cine_sax.mat +with_masks_P112_cine_sax.mat +with_masks_P034_cine_sax.mat +with_masks_P079_cine_sax.mat +with_masks_P061_cine_sax.mat +with_masks_P009_cine_sax.mat +with_masks_P115_cine_sax.mat +with_masks_P096_cine_sax.mat +with_masks_P027_cine_sax.mat +with_masks_P016_cine_sax.mat +with_masks_P092_cine_sax.mat +with_masks_P055_cine_sax.mat +with_masks_P017_cine_sax.mat +with_masks_P099_cine_sax.mat +with_masks_P044_cine_sax.mat +with_masks_P043_cine_sax.mat +with_masks_P007_cine_sax.mat +with_masks_P052_cine_sax.mat +with_masks_P060_cine_sax.mat +with_masks_P047_cine_sax.mat +with_masks_P014_cine_sax.mat +with_masks_P019_cine_sax.mat +with_masks_P104_cine_sax.mat +with_masks_P111_cine_sax.mat +with_masks_P063_cine_sax.mat +with_masks_P003_cine_sax.mat +with_masks_P057_cine_sax.mat +with_masks_P069_cine_sax.mat +with_masks_P054_cine_sax.mat +with_masks_P102_cine_sax.mat +with_masks_P051_cine_sax.mat +with_masks_P025_cine_sax.mat +with_masks_P039_cine_sax.mat +with_masks_P107_cine_sax.mat +with_masks_P103_cine_sax.mat +with_masks_P022_cine_sax.mat +with_masks_P094_cine_sax.mat +with_masks_P015_cine_sax.mat +with_masks_P097_cine_sax.mat +with_masks_P033_cine_sax.mat +with_masks_P013_cine_sax.mat +with_masks_P065_cine_sax.mat +with_masks_P075_cine_sax.mat +with_masks_P110_cine_sax.mat +with_masks_P100_cine_sax.mat +with_masks_P068_cine_sax.mat +with_masks_P012_cine_sax.mat +with_masks_P108_cine_sax.mat +with_masks_P021_cine_sax.mat +with_masks_P106_cine_sax.mat +with_masks_P011_cine_sax.mat \ No newline at end of file diff --git a/projects/CMRxRecon/tools/create_data_dir.py b/projects/CMRxRecon/tools/create_data_dir.py new file mode 100644 index 000000000..862ed2437 --- /dev/null +++ b/projects/CMRxRecon/tools/create_data_dir.py @@ -0,0 +1,177 @@ +import argparse +import logging +import pathlib +from argparse import RawTextHelpFormatter + +from create_data_with_masks import ACCELERATIONS, create_data_with_masks +from create_symlinks import create_symlinks + +logger = logging.getLogger("CreateTrainingData") +logger.setLevel(logging.INFO) + +# Create a file handler and set the format +log_file = "./CreateTrainingData.log" +file_handler = logging.FileHandler(log_file) +formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s") +file_handler.setFormatter(formatter) + +# Add the file handler to the logger +logger.addHandler(file_handler) + +# Define the available options for the 'data_type' argument +DATA_TYPES = ["Cine", "Mapping"] + +ASSUMED_BASE_PATH_STRUCTURE = """ + base_path + ├── MultiCoil + │ ├── Cine_or_Mapping + │ │ ├── TrainingSet + │ │ │ ├── FullSample + │ │ │ ├── AccFactor04 + │ │ │ ├── AccFactor08 + │ │ │ └── AccFactor10 + │ │ ├── ValidationSet + │ │ │ ├── AccFactor04 + │ │ │ ├── AccFactor08 + │ │ │ └── AccFactor10 + │ │ ├── TestSet + │ │ │ ├── AccFactor04 + │ │ │ ├── AccFactor08 + │ │ │ └── AccFactor10 + """ + +SYMLINKS_PATH_STRUCTURE = """ + target_path + ├── MultiCoil + │ ├── training + │ │ ├── P001_T1map.h5 + │ │ ├── with_masks_P001_T1map.h5 + │ │ ├── P001_cine_sax.h5 + │ │ ├── with_masks_P001_cine_sax.h5 + │ ├── Cine_or_Mapping + │ │ ├── validation + │ │ │ ├── AccFactor04 + │ │ │ | ├── P001_<..>.h5 + │ │ │ ├── AccFactor08 + │ │ │ | ├── P001_<..>.h5 + │ │ │ └── AccFactor10 + │ │ │ | ├── P001_<..>.h5 + │ │ ├── test + │ │ │ ├── AccFactor04 + │ │ │ | ├── P001_<..>.h5 + │ │ │ ├── AccFactor08 + │ │ │ | ├── P001_<..>.h5 + │ │ │ └── AccFactor10 + │ │ │ | ├── P001_<..>.h5 + """ + +# Create an argument parser +parser = argparse.ArgumentParser( + description="Process data and create symlinks", + formatter_class=RawTextHelpFormatter, +) + +# Add arguments for base path, target path, and data type +parser.add_argument( + "--base_path", + type=pathlib.Path, + required=True, + help=f"Absolute path to the base directory where data is located. Assumed structure: {ASSUMED_BASE_PATH_STRUCTURE}", +) + +parser.add_argument( + "--target_path", + type=pathlib.Path, + required=True, + help=f"Absolute path where symlinks will be created. Symlinks directory structure: {SYMLINKS_PATH_STRUCTURE}", +) + +parser.add_argument( + "--data_type", + choices=DATA_TYPES, + required=True, + help="Choose 'Cine' or 'Mapping' to specify the type of data to process.", +) + + +parser.add_argument( + "--create_training_data_with_masks", + required=False, + action="store_true", + default=False, + help="If provided then fully sampled training data with masks will be created.", +) + +# Parse the command-line arguments +args = parser.parse_args() + +# Check if the specified base path exists +if not args.base_path.exists(): + logger.error(f"Base path '{args.base_path}' does not exist.") + exit(1) + +# Check if the specified data type is valid +if args.data_type not in DATA_TYPES: + logger.error("Invalid data type. Use 'Cine' or 'Mapping'.") + exit(1) + +# Construct the paths for data processing and symlink creation +data_path = args.base_path / "MultiCoil" / args.data_type +training_set_path = data_path / "TrainingSet" + +full_sample_path = training_set_path / "FullSample" +full_sample_with_masks_path = training_set_path / "FullSampleWithMasks" + +training_symbolic_path = args.target_path / "MultiCoil" / "training" + +# Check if the required directories exist +if not data_path.exists(): + logger.error(f"Data path '{data_path}' does not exist.") + exit(1) + +if not training_set_path.exists(): + logger.error(f"Training set path '{training_set_path}' does not exist.") + exit(1) + +if not full_sample_path.exists(): + logger.error(f"Full sample path '{full_sample_path}' does not exist.") + exit(1) + +if args.create_training_data_with_masks: + # Create fully sampled data with masks + logger.info(f"Creating training fully sampled data with masks. Saving at {full_sample_path}.") + create_data_with_masks(training_set_path, full_sample_with_masks_path) + +# Create symlinks for training. All data need to be in one directory. +create_symlinks(full_sample_path, training_symbolic_path) +create_symlinks(full_sample_with_masks_path, training_symbolic_path, "with_masks_") + +# Create symlinks for validation and testing +validation_set_path = data_path / "ValidationSet" +test_set_path = data_path / "TestSet" + +validation_symbolic_path = args.target_path / "MultiCoil" / args.data_type / "validation" +test_symbolic_path = args.target_path / "MultiCoil" / args.data_type / "test" + +for acceleration in ACCELERATIONS: + validation_acceleration_path = validation_set_path / f"AccFactor{acceleration}" + if validation_acceleration_path.exists(): + logger.info( + f"Creating symbolic paths for {validation_acceleration_path} " + f"at {validation_symbolic_path / f'AccFactor{acceleration}'}..." + ) + create_symlinks(validation_acceleration_path, validation_symbolic_path / f"AccFactor{acceleration}") + else: + logger.info(f"Path {validation_acceleration_path} doesn't exist. Skipping...") + + test_acceleration_path = test_set_path / f"AccFactor{acceleration}" + if test_acceleration_path.exists(): + logger.info( + f"Creating symbolic paths for {test_acceleration_path} " + f"at {test_symbolic_path / f'AccFactor{acceleration}'}..." + ) + create_symlinks(test_acceleration_path, test_symbolic_path / f"AccFactor{acceleration}") + else: + logger.info(f"Path {test_acceleration_path} doesn't exist. Skipping...") + +logger.info(f"Data processing and symlink creation for '{args.data_type}' data completed.") diff --git a/projects/CMRxRecon/tools/create_data_with_masks.py b/projects/CMRxRecon/tools/create_data_with_masks.py new file mode 100644 index 000000000..2b6eb39cb --- /dev/null +++ b/projects/CMRxRecon/tools/create_data_with_masks.py @@ -0,0 +1,83 @@ +import glob +import os +import pathlib +from typing import Union + +import h5py + +ACCELERATIONS = ["04", "08", "10"] + + +def create_data_with_masks(data_path: Union[str, pathlib.Path], save_path: Union[str, pathlib.Path]): + """ + Parameters + ---------- + data_path : str + Must point to directory with structure: + Cine/Mapping + - AccFactor04 + -- P001 + -- P002 + - AccFactor08 + - AccFactor10 + - FullSample + -- P001 + -- P002 + save_path : str + Where to store data with masks. + + Example + ------- + >>> create_data_with_masks( + "../CMRxRecon/MICCAIChallenge2023/ChallegeData/MultiCoil/Mapping/TrainingSet/", + "../CMRxRecon/MICCAIChallenge2023/ChallegeData/MultiCoil/Mapping/TrainingSet/WithMasks/" + ) + + """ + data_path = pathlib.Path(data_path) + save_path = pathlib.Path(save_path) + + patients = glob.glob(str(data_path / "FullSample") + "/P*") + + for patient in patients: + patient_name = pathlib.Path(patient).name + patient_sub_dir = save_path / patient_name + # Create new dir for patient + if not os.path.exists(patient_sub_dir): + os.makedirs(patient_sub_dir) + + fully_sampled_mat_files = glob.glob(patient + "/*.mat") + + for mat_file in fully_sampled_mat_files: + try: + fully_sampled_file = h5py.File(mat_file, "r") + except Exception as err: + print(f"Couldn't read file {mat_file}. Exiting with Exception: {err}.") + continue + + mat_file_name = pathlib.Path(mat_file).name + mat_with_masks_path = patient_sub_dir / mat_file_name + if mat_with_masks_path.exists(): + continue + else: + print(f"Creating file {mat_with_masks_path}..") + file_with_masks = h5py.File(mat_with_masks_path, "w") + + fully_sampled_file.copy("kspace_full", file_with_masks) + fully_sampled_file.close() + + for acceleration in ACCELERATIONS: + mask_path = ( + data_path / f"AccFactor{acceleration}/" / patient_name / mat_file_name.replace(".mat", "_mask.mat") + ) + mask_key = f"mask{acceleration}" + try: + mask_file = h5py.File(mask_path, "r") + + mask_file.copy(mask_key, file_with_masks) + mask_file.close() + except Exception as err: + print(f"Couldn't loaf mask for R={acceleration} with error: {err}.") + continue + + file_with_masks.close() diff --git a/projects/CMRxRecon/tools/create_symlinks.py b/projects/CMRxRecon/tools/create_symlinks.py new file mode 100644 index 000000000..8c097c336 --- /dev/null +++ b/projects/CMRxRecon/tools/create_symlinks.py @@ -0,0 +1,49 @@ +import glob +import os +import pathlib +from typing import Union + + +def create_symlinks(base_path: Union[str, pathlib.Path], sym_base_path: Union[str, pathlib.Path], prefix: str = ""): + """Creates symlinks of data from different directories data in a single directory. + + Paths should be provided in absolute form. + + Parameters + ---------- + base_path : Union[str, pathlib.Path], + Must point to directory with structure: + Cine/Mapping + - Type of Data + -- P001 + -- P002 + sym_base_path : Union[str, pathlib.Path], + Path to save symbolic data. + prefix : str + Prefix for symlink data. + """ + + base_path = pathlib.Path(base_path) + + sym_base_path = pathlib.Path(sym_base_path) + + if not os.path.exists(sym_base_path): + print(f"Creating symbolic path: {sym_base_path}...") + os.makedirs(sym_base_path) + + patients = glob.glob(str(base_path) + "/P*") + + for patient in patients: + patient_name = pathlib.Path(patient).name + mat_files = glob.glob(patient + "/*.mat") + mat_files = [m for m in mat_files if "mask" not in m] + for mat_file in mat_files: + mat_name = pathlib.Path(mat_file).name + new_name = prefix + patient_name + "_" + mat_name + + sym_name = sym_base_path / new_name + if not sym_name.exists(): + print(f"Creating symbolic link for {os.path.abspath(mat_file)} at {sym_name}...") + os.symlink(os.path.abspath(mat_file), sym_name) + else: + print(f"Symbolic link {sym_name} exists. Skipping...") diff --git a/tests/tests_common/test_subsample.py b/tests/tests_common/test_subsample.py index 7d979928e..a35da453e 100644 --- a/tests/tests_common/test_subsample.py +++ b/tests/tests_common/test_subsample.py @@ -44,6 +44,31 @@ def test_mask_reuse(mask_func, center_fracs, accelerations, batch_size, dim): assert torch.all(mask2 == mask3) +@pytest.mark.parametrize( + "mask_func", + [ + CartesianEquispacedMaskFunc, + CartesianMagicMaskFunc, + CartesianRandomMaskFunc, + ], +) +@pytest.mark.parametrize( + "center_fracs, accelerations, batch_size, dim", + [ + ([10], [4], 4, 320), + ([30, 20], [4, 8], 2, 368), + ], +) +def test_mask_reuse_cartesian(mask_func, center_fracs, accelerations, batch_size, dim): + mask_func = mask_func(center_fractions=center_fracs, accelerations=accelerations) + shape = (batch_size, dim, dim, 2) + mask1 = mask_func(shape, seed=123) + mask2 = mask_func(shape, seed=123) + mask3 = mask_func(shape, seed=123) + assert torch.all(mask1 == mask2) + assert torch.all(mask2 == mask3) + + @pytest.mark.parametrize( "mask_func", [FastMRIRandomMaskFunc, FastMRIEquispacedMaskFunc, FastMRIMagicMaskFunc, Gaussian1DMaskFunc], @@ -108,6 +133,25 @@ def test_apply_mask_cartesian(mask_func, shape, center_fractions, accelerations) ([2, 64, 64, 2], [0.04, 0.08], [8, 4]), ], ) +def test_same_across_volumes_mask_cartesian_fraction_center(mask_func, shape, center_fractions, accelerations): + mask_func = mask_func(center_fractions=center_fractions, accelerations=accelerations) + num_slices = shape[0] + masks = [mask_func(shape[1:], seed=123) for _ in range(num_slices)] + + assert all(np.allclose(masks[_], masks[_ + 1]) for _ in range(num_slices - 1)) + + +@pytest.mark.parametrize( + "mask_func", + [CartesianEquispacedMaskFunc, CartesianMagicMaskFunc, CartesianRandomMaskFunc], +) +@pytest.mark.parametrize( + "shape, center_fractions, accelerations", + [ + ([4, 32, 32, 2], [6], [4]), + ([2, 64, 64, 2], [4, 6], [8, 4]), + ], +) def test_same_across_volumes_mask_cartesian(mask_func, shape, center_fractions, accelerations): mask_func = mask_func(center_fractions=center_fractions, accelerations=accelerations) num_slices = shape[0] diff --git a/tests/tests_data/test_datasets.py b/tests/tests_data/test_datasets.py index 416b2b0e3..0c185cf56 100644 --- a/tests/tests_data/test_datasets.py +++ b/tests/tests_data/test_datasets.py @@ -13,6 +13,7 @@ from direct.data.datasets import ( CalgaryCampinasDataset, + CMRxReconDataset, ConcatDataset, FakeMRIBlobsDataset, FastMRIDataset, @@ -282,3 +283,76 @@ def test_ConcatDataset(num_samples, shapes): with pytest.raises(ValueError): dataset[-(np.cumsum(num_samples) + 1)] + + +@pytest.mark.parametrize( + "num_samples", + [3], +) +@pytest.mark.parametrize( + "shape", + [(3, 9, 10, 100, 130)], +) +@pytest.mark.parametrize( + "kspace_context", + [None, "time", "slice"], +) +@pytest.mark.parametrize("extra_keys, compute_mask", [[["mask"], False], [None, True], [None, False]]) +@pytest.mark.parametrize( + "transform", + [None, lambda x: x], +) +@pytest.mark.parametrize( + "filter", + [None, ["file0.mat", "file1.mat"]], +) +def test_CMRxReconDataset(num_samples, shape, kspace_context, compute_mask, extra_keys, transform, filter): + with tempfile.TemporaryDirectory() as tempdir: + for _ in range(num_samples): + kspace = np.random.rand(*shape) + 1j * np.random.rand(*shape) + ny, nx = shape[-2:] + if compute_mask or extra_keys is not None: + mask = np.zeros((ny, nx), dtype=bool) + mask[:, ny // 2 - 12 : ny // 2 + 12] = True + mask[:, np.random.randint(0, ny, 30)] = True + + if compute_mask: + kspace = mask[None, None, None] * kspace + + with h5py.File(pathlib.Path(tempdir) / f"file{_}.mat", "w") as f: + dtype = np.dtype([("real", np.float32), ("imag", np.float32)]) + # Reshape the complex data into a shape that matches the compound datatype + compound_data = np.empty(shape, dtype=dtype) + compound_data["real"] = np.real(kspace) + compound_data["imag"] = np.imag(kspace) + f.create_dataset("kspace_full", data=compound_data) + if extra_keys is not None: + f.create_dataset("mask", data=mask, dtype=bool) + + dataset = CMRxReconDataset( + pathlib.Path(tempdir), + transform=transform, + kspace_context=kspace_context, + compute_mask=compute_mask, + extra_keys=extra_keys, + filenames_filter=[pathlib.Path(pathlib.Path(tempdir) / f) for f in filter] if filter else None, + ) + sample = dataset[0] + assert "kspace" in sample + + if kspace_context is None: + assert dataset.ndim == 2 + assert len(dataset) == np.prod(shape[:2]) * (num_samples if not filter else len(filter)) + assert sample["kspace"].shape == (shape[2],) + shape[3:][::-1] + elif kspace_context == "time": + assert dataset.ndim == 3 + assert len(dataset) == shape[1] * (num_samples if not filter else len(filter)) + assert sample["kspace"].shape == (shape[2], shape[0]) + shape[3:][::-1] + else: + assert dataset.ndim == 3 + assert len(dataset) == shape[0] * (num_samples if not filter else len(filter)) + assert sample["kspace"].shape == (shape[2], shape[1]) + shape[3:][::-1] + if compute_mask or extra_keys is not None: + assert "sampling_mask" in sample + assert "acs_mask" in sample + np.allclose(sample["sampling_mask"], mask.T[None, ..., None])