From 6d15dd55ca5ed6fc9fbfd31d8488ee7bab453066 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 16 Dec 2022 17:09:53 +0000 Subject: [PATCH] * minor fixes for reproducibility --- codecov.yml | 2 +- docs/source/index.rst | 2 +- mridc/collections/common/parts/fft.py | 212 +++++++++++++----- .../collections/reconstruction/models/base.py | 4 +- .../collections/reconstruction/models/crnn.py | 2 +- .../reconstruction/models/dunet.py | 1 + .../reconstruction/models/rim/rim_utils.py | 3 +- .../models/sigmanet/dc_layers.py | 2 +- .../model_zoo/conf/base_qcirim_run.yaml | 30 ++- .../model_zoo/conf/base_qcirim_train.yaml | 9 +- .../model_zoo/conf/base_qrim_run.yaml | 30 ++- .../model_zoo/conf/base_qrim_train.yaml | 53 +++-- .../model_zoo/conf/base_qvn_run.yaml | 30 ++- .../model_zoo/conf/base_qvn_train.yaml | 53 +++-- .../model_zoo/conf/base_ccnn_run.yaml | 65 ++++-- .../model_zoo/conf/base_ccnn_train.yaml | 107 ++++++--- .../model_zoo/conf/base_cirim_run.yaml | 68 ++++-- .../model_zoo/conf/base_cirim_train.yaml | 108 ++++++--- .../model_zoo/conf/base_crnn_run.yaml | 67 ++++-- .../model_zoo/conf/base_crnn_train.yaml | 107 ++++++--- .../model_zoo/conf/base_dunet_run.yaml | 65 ++++-- .../model_zoo/conf/base_dunet_train.yaml | 105 ++++++--- .../model_zoo/conf/base_jointicnet_run.yaml | 60 +++-- .../model_zoo/conf/base_jointicnet_train.yaml | 102 ++++++--- .../model_zoo/conf/base_kikinet_run.yaml | 62 +++-- .../model_zoo/conf/base_kikinet_train.yaml | 104 ++++++--- .../model_zoo/conf/base_lpdnet_run.yaml | 62 +++-- .../model_zoo/conf/base_lpdnet_train.yaml | 104 ++++++--- .../conf/base_multidomainnet_run.yaml | 62 +++-- .../conf/base_multidomainnet_train.yaml | 106 ++++++--- .../model_zoo/conf/base_pics_run.yaml | 66 ++++-- .../model_zoo/conf/base_rim_run.yaml | 64 ++++-- .../model_zoo/conf/base_rim_train.yaml | 106 ++++++--- .../model_zoo/conf/base_rvn_run.yaml | 63 ++++-- .../model_zoo/conf/base_rvn_train.yaml | 105 ++++++--- .../model_zoo/conf/base_unet_run.yaml | 62 +++-- .../model_zoo/conf/base_unet_train.yaml | 106 ++++++--- .../model_zoo/conf/base_vn_run.yaml | 62 +++-- .../model_zoo/conf/base_vn_train.yaml | 104 ++++++--- .../model_zoo/conf/base_vsnet_run.yaml | 62 +++-- .../model_zoo/conf/base_vsnet_train.yaml | 104 ++++++--- .../model_zoo/conf/base_xpdnet_run.yaml | 62 +++-- .../model_zoo/conf/base_xpdnet_train.yaml | 104 ++++++--- .../model_zoo/conf/base_zf_run.yaml | 58 +++-- requirements/requirements.txt | 2 +- .../reconstruction/models/test_dunet.py | 4 + tests/collections/reconstruction/test_fft.py | 148 +++--------- .../{test_mtlmrirs.py => test_mtlrs.py} | 0 48 files changed, 2121 insertions(+), 948 deletions(-) rename tests/collections/segmentation/models/{test_mtlmrirs.py => test_mtlrs.py} (100%) diff --git a/codecov.yml b/codecov.yml index d5ae4aa1..32d969c8 100644 --- a/codecov.yml +++ b/codecov.yml @@ -4,7 +4,7 @@ coverage: status: patch: true - range: 70..100 # First number represents red, and second represents green + range: 60..100 # First number represents red, and second represents green # (default is 70..100) round: nearest # up, down, or nearest precision: 2 # Number of decimal places, between 0 and 5 diff --git a/docs/source/index.rst b/docs/source/index.rst index e25c6b0e..5518c272 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -9,7 +9,7 @@ Welcome to mridc's documentation! :parser: myst_parser.sphinx_ .. toctree:: - :maxdepth: 4 + :maxdepth: 6 :caption: API Documentation: modules.rst diff --git a/mridc/collections/common/parts/fft.py b/mridc/collections/common/parts/fft.py index 74d89732..20ea05fa 100644 --- a/mridc/collections/common/parts/fft.py +++ b/mridc/collections/common/parts/fft.py @@ -1,21 +1,19 @@ # coding=utf-8 __author__ = "Dimitrios Karkalousos" -# Parts of the code have been taken from https://github.com/facebookresearch/fastMRI - from typing import List, Sequence, Union import numpy as np import torch from omegaconf import ListConfig -__all__ = ["fft2", "ifft2"] +__all__ = ["fft2", "ifft2", "fftshift", "ifftshift"] def fft2( data: torch.Tensor, - centered: bool = True, - normalization: str = "ortho", + centered: bool = False, + normalization: str = "backward", spatial_dims: Sequence[int] = None, ) -> torch.Tensor: """ @@ -23,15 +21,47 @@ def fft2( Parameters ---------- - data: Complex valued input data containing at least 3 dimensions: dimensions -2 & -1 are spatial dimensions. All - other dimensions are assumed to be batch dimensions. - centered: Whether to center the fft. - normalization: "ortho" is the default normalization used by PyTorch. Can be changed to "ortho" or None. - spatial_dims: dimensions to apply the FFT + data : Complex valued input data containing at least 2 dimensions: dimensions -2 & -1 are spatial dimensions. + centered : Whether to center the fft. If True, the fft will be shifted so that the zero frequency component is + in the center of the spectrum. Default is False. + normalization : Normalization mode. For the forward transform (fft2()), these correspond to: + * "forward" - normalize by 1/n + * "backward" - no normalization + * "ortho" - normalize by 1/sqrt(n) (making the FFT orthonormal) + Where n = prod(s) is the logical FFT size. + Calling the backward transform (ifft2()) with the same normalization mode will apply an overall normalization + of 1/n between the two transforms. This is required to make ifft2() the exact inverse. + Default is "backward" (no normalization). + spatial_dims : Dimensions to apply the FFT. Default is the last two dimensions. + If tensor is viewed as real, the last dimension is assumed to be the complex dimension. Returns ------- - The FFT of the input. + The 2D FFT of the input. + + Examples + -------- + >>> import torch + >>> from mridc.collections.common.parts.fft import fft2 + >>> x = torch.randn(2, 3, 4, 5, 2) + >>> fft2(x).shape + torch.Size([2, 3, 4, 5, 2]) + >>> fft2(x, centered=True).shape + torch.Size([2, 3, 4, 5, 2]) + >>> fft2(x, centered=True, normalization="ortho").shape + torch.Size([2, 3, 4, 5, 2]) + >>> fft2(x, centered=True, normalization="ortho", spatial_dims=[-3, -2]).shape + torch.Size([2, 3, 4, 5, 2]) + + Notes + ----- + The PyTorch fft2 function does not support complex tensors. Therefore, the input is converted to a complex tensor + and then converted back to a real tensor. This is done by using the torch.view_as_complex and torch.view_as_real + functions. The input is assumed to be a real tensor with the last dimension being the complex dimension. + + The PyTorch fft2 function performs a separate fft, so fft2 is the same as fft(fft(data, dim=-2), dim=-1). + + Source: https://pytorch.org/docs/stable/fft.html#torch.fft.fft2 """ if data.shape[-1] == 2: data = torch.view_as_complex(data) @@ -60,8 +90,8 @@ def fft2( def ifft2( data: torch.Tensor, - centered: bool = True, - normalization: str = "ortho", + centered: bool = False, + normalization: str = "backward", spatial_dims: Sequence[int] = None, ) -> torch.Tensor: """ @@ -69,15 +99,47 @@ def ifft2( Parameters ---------- - data: Complex valued input data containing at least 3 dimensions: dimensions -2 & -1 are spatial dimensions. All - other dimensions are assumed to be batch dimensions. - centered: Whether to center the fft. - normalization: "ortho" is the default normalization used by PyTorch. Can be changed to "ortho" or None. - spatial_dims: dimensions to apply the FFT + data : Complex valued input data containing at least 2 dimensions: dimensions -2 & -1 are spatial dimensions. + centered : Whether to center the ifft. If True, the ifft will be shifted so that the zero frequency component is + in the center of the spectrum. Default is False. + normalization : Normalization mode. For the backward transform (ifft2()), these correspond to: + * "forward" - normalize by 1/n + * "backward" - no normalization + * "ortho" - normalize by 1/sqrt(n) (making the IFFT orthonormal) + Where n = prod(s) is the logical IFFT size. + Calling the forward transform (fft2()) with the same normalization mode will apply an overall normalization + of 1/n between the two transforms. This is required to make ifft2() the exact inverse. + Default is "backward" (no normalization). + spatial_dims : Dimensions to apply the IFFT. Default is the last two dimensions. + If tensor is viewed as real, the last dimension is assumed to be the complex dimension. Returns ------- - The FFT of the input. + The 2D IFFT of the input. + + Examples + -------- + >>> import torch + >>> from mridc.collections.common.parts.fft import ifft2 + >>> x = torch.randn(2, 3, 4, 5, 2) + >>> ifft2(x).shape + torch.Size([2, 3, 4, 5, 2]) + >>> ifft2(x, centered=True).shape + torch.Size([2, 3, 4, 5, 2]) + >>> ifft2(x, centered=True, normalization="ortho").shape + torch.Size([2, 3, 4, 5, 2]) + >>> ifft2(x, centered=True, normalization="ortho", spatial_dims=[-3, -2]).shape + torch.Size([2, 3, 4, 5, 2]) + + Notes + ----- + The PyTorch ifft2 function does not support complex tensors. Therefore, the input is converted to a complex tensor + and then converted back to a real tensor. This is done by using the torch.view_as_complex and torch.view_as_real + functions. The input is assumed to be a real tensor with the last dimension being the complex dimension. + + The PyTorch ifft2 function performs a separate ifft, so ifft2 is the same as ifft(ifft(data, dim=-2), dim=-1). + + Source: https://pytorch.org/docs/stable/fft.html#torch.fft.ifft2 """ if data.shape[-1] == 2: data = torch.view_as_complex(data) @@ -104,43 +166,67 @@ def ifft2( return data -def roll_one_dim(x: torch.Tensor, shift: int, dim: int) -> torch.Tensor: +def roll_one_dim(data: torch.Tensor, shift: int, dim: int) -> torch.Tensor: """ Similar to roll but for only one dim. Parameters ---------- - x: A PyTorch tensor. - shift: Amount to roll. - dim: Which dimension to roll. + data : A PyTorch tensor. + shift : Amount to roll. + dim : Which dimension to roll. Returns ------- - Rolled version of x. + Rolled version of data. + + Examples + -------- + >>> import torch + >>> from mridc.collections.common.parts.fft import roll_one_dim + >>> x = torch.randn(2, 3, 4, 5) + >>> roll_one_dim(x, 1, 0).shape + torch.Size([2, 3, 4, 5]) + + Notes + ----- + Source: https://github.com/facebookresearch/fastMRI/blob/main/fastmri/fftc.py """ - shift %= x.size(dim) + shift %= data.size(dim) if shift == 0: - return x + return data - left = x.narrow(dim, 0, x.size(dim) - shift) - right = x.narrow(dim, x.size(dim) - shift, shift) + left = data.narrow(dim, 0, data.size(dim) - shift) + right = data.narrow(dim, data.size(dim) - shift, shift) return torch.cat((right, left), dim=dim) -def roll(x: torch.Tensor, shift: List[int], dim: Union[List[int], Sequence[int]]) -> torch.Tensor: +def roll(data: torch.Tensor, shift: List[int], dim: Union[List[int], Sequence[int]]) -> torch.Tensor: """ Similar to np.roll but applies to PyTorch Tensors. Parameters ---------- - x: A PyTorch tensor. - shift: Amount to roll. - dim: Which dimension to roll. + data : A PyTorch tensor. + shift : Amount to roll. + dim : Which dimension to roll. Returns ------- - Rolled version of x. + Rolled version of data. + + Examples + -------- + >>> import torch + >>> from mridc.collections.common.parts.fft import roll + >>> x = torch.randn(2, 3, 4, 5) + >>> roll(x, [1, 2], [0, 1]).shape + torch.Size([2, 3, 4, 5]) + + Notes + ----- + Source: https://github.com/facebookresearch/fastMRI/blob/main/fastmri/fftc.py """ if len(shift) != len(dim): raise ValueError("len(shift) must match len(dim)") @@ -149,28 +235,40 @@ def roll(x: torch.Tensor, shift: List[int], dim: Union[List[int], Sequence[int]] dim = list(dim) for (s, d) in zip(shift, dim): - x = roll_one_dim(x, s, d) + data = roll_one_dim(data, s, d) - return x + return data -def fftshift(x: torch.Tensor, dim: Union[List[int], Sequence[int]] = None) -> torch.Tensor: +def fftshift(data: torch.Tensor, dim: Union[List[int], Sequence[int]] = None) -> torch.Tensor: """ Similar to np.fft.fftshift but applies to PyTorch Tensors Parameters ---------- - x: A PyTorch tensor. - dim: Which dimension to fftshift. + data : A PyTorch tensor. + dim : Which dimension to fftshift. Returns ------- - fftshifted version of x. + fftshifted version of data. + + Examples + -------- + >>> import torch + >>> from mridc.collections.common.parts.fft import fftshift + >>> x = torch.randn(2, 3, 4, 5) + >>> fftshift(x).shape + torch.Size([2, 3, 4, 5]) + + Notes + ----- + Source: https://github.com/facebookresearch/fastMRI/blob/main/fastmri/fftc.py """ if dim is None: # this weird code is necessary for torch.jit.script typing - dim = [0] * (x.dim()) - for i in range(1, x.dim()): + dim = [0] * (data.dim()) + for i in range(1, data.dim()): dim[i] = i elif isinstance(dim, ListConfig): dim = list(dim) @@ -178,28 +276,40 @@ def fftshift(x: torch.Tensor, dim: Union[List[int], Sequence[int]] = None) -> to # Also necessary for torch.jit.script shift = [0] * len(dim) for i, dim_num in enumerate(dim): - shift[i] = np.floor_divide(x.shape[dim_num], 2) + shift[i] = np.floor_divide(data.shape[dim_num], 2) - return roll(x, shift, dim) + return roll(data, shift, dim) -def ifftshift(x: torch.Tensor, dim: Union[List[int], Sequence[int]] = None) -> torch.Tensor: +def ifftshift(data: torch.Tensor, dim: Union[List[int], Sequence[int]] = None) -> torch.Tensor: """ Similar to np.fft.ifftshift but applies to PyTorch Tensors Parameters ---------- - x: A PyTorch tensor. - dim: Which dimension to ifftshift. + data : A PyTorch tensor. + dim : Which dimension to ifftshift. Returns ------- - ifftshifted version of x. + ifftshifted version of data. + + Examples + -------- + >>> import torch + >>> from mridc.collections.common.parts.fft import ifftshift + >>> x = torch.randn(2, 3, 4, 5) + >>> ifftshift(x).shape + torch.Size([2, 3, 4, 5]) + + Notes + ----- + Source: https://github.com/facebookresearch/fastMRI/blob/main/fastmri/fftc.py """ if dim is None: # this weird code is necessary for torch.jit.script typing - dim = [0] * (x.dim()) - for i in range(1, x.dim()): + dim = [0] * (data.dim()) + for i in range(1, data.dim()): dim[i] = i elif isinstance(dim, ListConfig): dim = list(dim) @@ -207,6 +317,6 @@ def ifftshift(x: torch.Tensor, dim: Union[List[int], Sequence[int]] = None) -> t # Also necessary for torch.jit.script shift = [0] * len(dim) for i, dim_num in enumerate(dim): - shift[i] = np.floor_divide(x.shape[dim_num] + 1, 2) + shift[i] = np.floor_divide(data.shape[dim_num] + 1, 2) - return roll(x, shift, dim) + return roll(data, shift, dim) diff --git a/mridc/collections/reconstruction/models/base.py b/mridc/collections/reconstruction/models/base.py index 18fafbc5..2b23322b 100644 --- a/mridc/collections/reconstruction/models/base.py +++ b/mridc/collections/reconstruction/models/base.py @@ -307,9 +307,9 @@ def validation_step(self, batch: Dict[float, torch.Tensor], batch_idx: int) -> D preds = next(preds) except StopIteration: pass - val_loss = sum(self.process_loss(target, preds, _loss_fn=self.eval_loss_fn, mask=None)) + val_loss = sum(self.process_loss(target, preds, _loss_fn=self.val_loss_fn, mask=None)) else: - val_loss = self.process_loss(target, preds, _loss_fn=self.eval_loss_fn, mask=None) + val_loss = self.process_loss(target, preds, _loss_fn=self.val_loss_fn, mask=None) # Cascades if isinstance(preds, list): diff --git a/mridc/collections/reconstruction/models/crnn.py b/mridc/collections/reconstruction/models/crnn.py index 82572128..333948cd 100644 --- a/mridc/collections/reconstruction/models/crnn.py +++ b/mridc/collections/reconstruction/models/crnn.py @@ -149,7 +149,7 @@ def process_intermediate_pred(self, pred, sensitivity_maps, target): _, pred = utils.center_crop_to_smallest(target, pred) return pred - def process_loss(self, target, pred, _loss_fn): + def process_loss(self, target, pred, _loss_fn=None, mask=None): """ Process the loss. diff --git a/mridc/collections/reconstruction/models/dunet.py b/mridc/collections/reconstruction/models/dunet.py index b5ecf122..3560839d 100644 --- a/mridc/collections/reconstruction/models/dunet.py +++ b/mridc/collections/reconstruction/models/dunet.py @@ -83,6 +83,7 @@ def __init__(self, cfg: DictConfig, trainer: Trainer = None): elif data_consistency_term == "PROX": dc_layer = dc_layers.DataProxCGLayer( lambda_init=cfg_dict.get("data_consistency_lambda_init"), + iter=cfg_dict.get("data_consistency_iterations"), fft_centered=self.fft_centered, fft_normalization=self.fft_normalization, spatial_dims=self.spatial_dims, diff --git a/mridc/collections/reconstruction/models/rim/rim_utils.py b/mridc/collections/reconstruction/models/rim/rim_utils.py index ab5ff629..4ee10e6b 100644 --- a/mridc/collections/reconstruction/models/rim/rim_utils.py +++ b/mridc/collections/reconstruction/models/rim/rim_utils.py @@ -38,7 +38,8 @@ def log_likelihood_gradient( ------- Gradient of the log-likelihood function. """ - coil_dim = 1 + if coil_dim == 0: + coil_dim += 1 eta_real, eta_imag = map(lambda x: torch.unsqueeze(x, coil_dim), eta.chunk(2, -1)) sense_real, sense_imag = sense.chunk(2, -1) diff --git a/mridc/collections/reconstruction/models/sigmanet/dc_layers.py b/mridc/collections/reconstruction/models/sigmanet/dc_layers.py index 110480b6..2570e51a 100644 --- a/mridc/collections/reconstruction/models/sigmanet/dc_layers.py +++ b/mridc/collections/reconstruction/models/sigmanet/dc_layers.py @@ -291,7 +291,7 @@ def AT(x): x * mask, centered=ctx.fft_centered, normalization=ctx.fft_normalization, - spatial_dims=ctx.spatial_dimso, + spatial_dims=ctx.spatial_dims, ), utils.complex_conj(smaps), ), diff --git a/projects/quantitative/model_zoo/conf/base_qcirim_run.yaml b/projects/quantitative/model_zoo/conf/base_qcirim_run.yaml index ffc7ca2b..49dce141 100644 --- a/projects/quantitative/model_zoo/conf/base_qcirim_run.yaml +++ b/projects/quantitative/model_zoo/conf/base_qcirim_run.yaml @@ -105,6 +105,9 @@ model: # - S0: 500.0 # - B0: 20000.0 # - phi: 500.0 + shift_B0_input: false + dimensionality: 2 + consecutive_slices: 1 coil_combination_method: SENSE use_sens_net: false sens_chans: 8 @@ -116,15 +119,29 @@ model: - -2 - -1 coil_dim: 2 - shift_B0_input: false + complex_data: true + log_images: true test_ds: data_path: ??? - sequence: MEGRE - data_saved_per_slice: true + sense_path: None + mask_path: None + initial_predictions_path: None + challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE dimensionality: 2 - consecutive_slices: 1 + sequence: MEGRE init_coil_dim: -1 kspace_scaling_factor: 10000 fft_centered: false @@ -160,8 +177,6 @@ model: crop_size: None crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 shuffle: false num_workers: 8 drop_last: false @@ -182,7 +197,8 @@ model: trainer: strategy: ddp - gpus: 1 + accelerator: gpu + devices: 1 num_nodes: 1 max_epochs: 200 precision: 16 diff --git a/projects/quantitative/model_zoo/conf/base_qcirim_train.yaml b/projects/quantitative/model_zoo/conf/base_qcirim_train.yaml index ca5961bf..e529d46f 100644 --- a/projects/quantitative/model_zoo/conf/base_qcirim_train.yaml +++ b/projects/quantitative/model_zoo/conf/base_qcirim_train.yaml @@ -105,6 +105,9 @@ model: # - S0: 500.0 # - B0: 20000.0 # - phi: 500.0 + shift_B0_input: false + dimensionality: 2 + consecutive_slices: 1 coil_combination_method: SENSE use_sens_net: false sens_chans: 8 @@ -116,7 +119,8 @@ model: - -2 - -1 coil_dim: 2 - shift_B0_input: false + complex_data: true + log_images: true train_ds: data_path: ??? @@ -231,7 +235,8 @@ model: trainer: strategy: ddp - gpus: 1 + accelerator: gpu + devices: 1 num_nodes: 1 max_epochs: 200 precision: 16 diff --git a/projects/quantitative/model_zoo/conf/base_qrim_run.yaml b/projects/quantitative/model_zoo/conf/base_qrim_run.yaml index 30de1b1e..363bc19c 100644 --- a/projects/quantitative/model_zoo/conf/base_qrim_run.yaml +++ b/projects/quantitative/model_zoo/conf/base_qrim_run.yaml @@ -105,6 +105,9 @@ model: # - S0: 500.0 # - B0: 20000.0 # - phi: 500.0 + shift_B0_input: false + dimensionality: 2 + consecutive_slices: 1 coil_combination_method: SENSE use_sens_net: false sens_chans: 8 @@ -116,15 +119,29 @@ model: - -2 - -1 coil_dim: 2 - shift_B0_input: false + complex_data: true + log_images: true test_ds: data_path: ??? - sequence: MEGRE - data_saved_per_slice: true + sense_path: None + mask_path: None + initial_predictions_path: None + challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE dimensionality: 2 - consecutive_slices: 1 + sequence: MEGRE init_coil_dim: -1 kspace_scaling_factor: 10000 fft_centered: false @@ -160,8 +177,6 @@ model: crop_size: None crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 shuffle: false num_workers: 8 drop_last: false @@ -182,7 +197,8 @@ model: trainer: strategy: ddp - gpus: 1 + accelerator: gpu + devices: 1 num_nodes: 1 max_epochs: 200 precision: 16 diff --git a/projects/quantitative/model_zoo/conf/base_qrim_train.yaml b/projects/quantitative/model_zoo/conf/base_qrim_train.yaml index b0889ed8..2f087e42 100644 --- a/projects/quantitative/model_zoo/conf/base_qrim_train.yaml +++ b/projects/quantitative/model_zoo/conf/base_qrim_train.yaml @@ -105,6 +105,9 @@ model: # - S0: 500.0 # - B0: 20000.0 # - phi: 500.0 + shift_B0_input: false + dimensionality: 2 + consecutive_slices: 1 coil_combination_method: SENSE use_sens_net: false sens_chans: 8 @@ -116,15 +119,29 @@ model: - -2 - -1 coil_dim: 2 - shift_B0_input: false + complex_data: true + log_images: true train_ds: data_path: ??? - sequence: MEGRE - data_saved_per_slice: true + sense_path: None + mask_path: None + initial_predictions_path: None + challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE dimensionality: 2 - consecutive_slices: 1 + sequence: MEGRE init_coil_dim: -1 kspace_scaling_factor: 10000 fft_centered: false @@ -154,14 +171,12 @@ model: - 0.7 scale: 0.02 shift_mask: false - use_seed: true + use_seed: false normalize_inputs: true max_norm: true crop_size: None crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 shuffle: true num_workers: 8 drop_last: false @@ -169,11 +184,24 @@ model: validation_ds: data_path: ??? - sequence: MEGRE - data_saved_per_slice: true + sense_path: None + mask_path: None + initial_predictions_path: None + challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE dimensionality: 2 - consecutive_slices: 1 + sequence: MEGRE init_coil_dim: -1 kspace_scaling_factor: 10000 fft_centered: false @@ -209,8 +237,6 @@ model: crop_size: None crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 shuffle: false num_workers: 8 drop_last: false @@ -231,7 +257,8 @@ model: trainer: strategy: ddp - gpus: 1 + accelerator: gpu + devices: 1 num_nodes: 1 max_epochs: 200 precision: 16 diff --git a/projects/quantitative/model_zoo/conf/base_qvn_run.yaml b/projects/quantitative/model_zoo/conf/base_qvn_run.yaml index 7fadef83..17a8a62e 100644 --- a/projects/quantitative/model_zoo/conf/base_qvn_run.yaml +++ b/projects/quantitative/model_zoo/conf/base_qvn_run.yaml @@ -43,6 +43,9 @@ model: # - S0: 500.0 # - B0: 20000.0 # - phi: 500.0 + shift_B0_input: false + dimensionality: 2 + consecutive_slices: 1 coil_combination_method: SENSE use_sens_net: false sens_chans: 8 @@ -54,15 +57,29 @@ model: - -2 - -1 coil_dim: 2 - shift_B0_input: false + complex_data: true + log_images: true test_ds: data_path: ??? - sequence: MEGRE - data_saved_per_slice: true + sense_path: None + mask_path: None + initial_predictions_path: None + challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE dimensionality: 2 - consecutive_slices: 1 + sequence: MEGRE init_coil_dim: -1 kspace_scaling_factor: 10000 fft_centered: false @@ -98,8 +115,6 @@ model: crop_size: None crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 shuffle: false num_workers: 8 drop_last: false @@ -120,7 +135,8 @@ model: trainer: strategy: ddp - gpus: 1 + accelerator: gpu + devices: 1 num_nodes: 1 max_epochs: 200 precision: 16 diff --git a/projects/quantitative/model_zoo/conf/base_qvn_train.yaml b/projects/quantitative/model_zoo/conf/base_qvn_train.yaml index 202dfe26..a28cdf3f 100644 --- a/projects/quantitative/model_zoo/conf/base_qvn_train.yaml +++ b/projects/quantitative/model_zoo/conf/base_qvn_train.yaml @@ -43,6 +43,9 @@ model: # - S0: 500.0 # - B0: 20000.0 # - phi: 500.0 + shift_B0_input: false + dimensionality: 2 + consecutive_slices: 1 coil_combination_method: SENSE use_sens_net: false sens_chans: 8 @@ -54,15 +57,29 @@ model: - -2 - -1 coil_dim: 2 - shift_B0_input: false + complex_data: true + log_images: true train_ds: data_path: ??? - sequence: MEGRE - data_saved_per_slice: true + sense_path: None + mask_path: None + initial_predictions_path: None + challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE dimensionality: 2 - consecutive_slices: 1 + sequence: MEGRE init_coil_dim: -1 kspace_scaling_factor: 10000 fft_centered: false @@ -92,14 +109,12 @@ model: - 0.7 scale: 0.02 shift_mask: false - use_seed: true + use_seed: false normalize_inputs: true max_norm: true crop_size: None crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 shuffle: true num_workers: 8 drop_last: false @@ -107,11 +122,24 @@ model: validation_ds: data_path: ??? - sequence: MEGRE - data_saved_per_slice: true + sense_path: None + mask_path: None + initial_predictions_path: None + challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE dimensionality: 2 - consecutive_slices: 1 + sequence: MEGRE init_coil_dim: -1 kspace_scaling_factor: 10000 fft_centered: false @@ -147,8 +175,6 @@ model: crop_size: None crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 shuffle: false num_workers: 8 drop_last: false @@ -169,7 +195,8 @@ model: trainer: strategy: ddp - gpus: 1 + accelerator: gpu + devices: 1 num_nodes: 1 max_epochs: 200 precision: 16 diff --git a/projects/reconstruction/model_zoo/conf/base_ccnn_run.yaml b/projects/reconstruction/model_zoo/conf/base_ccnn_run.yaml index dd1c09be..cb52a320 100644 --- a/projects/reconstruction/model_zoo/conf/base_ccnn_run.yaml +++ b/projects/reconstruction/model_zoo/conf/base_ccnn_run.yaml @@ -8,46 +8,69 @@ model: hidden_channels: 64 n_convs: 5 batchnorm: false - no_dc: false + dimensionality: 2 + no_dc: true + accumulate_estimates: true + train_loss_fn: l1 + val_loss_fn: l1 + consecutive_slices: 1 coil_combination_method: SENSE use_sens_net: false sens_chans: 8 sens_pools: 4 sens_mask_type: 2D - train_loss_fn: l1 - val_loss_fn: l1 - fft_centered: True - fft_normalization: ortho + fft_centered: false + fft_normalization: backward spatial_dims: - -2 - -1 coil_dim: 1 + complex_data: true + log_images: true test_ds: data_path: ??? + sense_path: None + mask_path: None + initial_predictions_path: None challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE - fft_centered: True - fft_normalization: ortho - spatial_dims: - - -2 - - -1 - coil_dim: 1 + dimensionality: 2 mask_args: - type: gaussian2d + type: poisson2d accelerations: - 10 center_fractions: - 0.7 scale: 0.02 - shift_mask: false - use_seed: false - normalize_inputs: true + shift_mask: true + use_seed: true + half_scan_percentage: 0.0 + remask: false crop_size: None + kspace_crop: false crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 + normalize_inputs: true + max_norm: true + fft_centered: false + fft_normalization: backward + spatial_dims: + - -2 + - -1 + coil_dim: 1 + use_seed: true shuffle: false num_workers: 8 drop_last: false @@ -68,7 +91,8 @@ model: trainer: strategy: ddp - gpus: 1 + accelerator: gpu + devices: 1 num_nodes: 1 max_epochs: 200 precision: 16 @@ -79,6 +103,9 @@ trainer: max_steps: -1 exp_manager: - name: ??? + exp_dir: ??? create_tensorboard_logger: true + create_wandb_logger: false + wandb_logger_kwargs: + project: ??? files_to_copy: [ ] diff --git a/projects/reconstruction/model_zoo/conf/base_ccnn_train.yaml b/projects/reconstruction/model_zoo/conf/base_ccnn_train.yaml index 712d6ffc..59e59258 100644 --- a/projects/reconstruction/model_zoo/conf/base_ccnn_train.yaml +++ b/projects/reconstruction/model_zoo/conf/base_ccnn_train.yaml @@ -8,46 +8,69 @@ model: hidden_channels: 64 n_convs: 5 batchnorm: false - no_dc: false + dimensionality: 2 + no_dc: true + accumulate_estimates: true + train_loss_fn: l1 + val_loss_fn: l1 + consecutive_slices: 1 coil_combination_method: SENSE use_sens_net: false sens_chans: 8 sens_pools: 4 sens_mask_type: 2D - train_loss_fn: l1 - val_loss_fn: l1 - fft_centered: True - fft_normalization: ortho + fft_centered: false + fft_normalization: backward spatial_dims: - -2 - -1 coil_dim: 1 + complex_data: true + log_images: true train_ds: data_path: ??? + sense_path: None + mask_path: None + initial_predictions_path: None challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE - fft_centered: True - fft_normalization: ortho - spatial_dims: - - -2 - - -1 - coil_dim: 1 + dimensionality: 2 mask_args: - type: gaussian2d + type: poisson2d accelerations: - 10 center_fractions: - 0.7 scale: 0.02 - shift_mask: false + shift_mask: true use_seed: true - normalize_inputs: true + half_scan_percentage: 0.0 + remask: false crop_size: None + kspace_crop: false crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 + normalize_inputs: true + max_norm: true + fft_centered: false + fft_normalization: backward + spatial_dims: + - -2 + - -1 + coil_dim: 1 + use_seed: true shuffle: true num_workers: 8 drop_last: false @@ -55,29 +78,47 @@ model: validation_ds: data_path: ??? + sense_path: None + mask_path: None + initial_predictions_path: None challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE - fft_centered: True - fft_normalization: ortho - spatial_dims: - - -2 - - -1 - coil_dim: 1 + dimensionality: 2 mask_args: - type: gaussian2d + type: poisson2d accelerations: - 10 center_fractions: - 0.7 scale: 0.02 - shift_mask: false - use_seed: false - normalize_inputs: true + shift_mask: true + use_seed: true + half_scan_percentage: 0.0 + remask: false crop_size: None + kspace_crop: false crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 + normalize_inputs: true + max_norm: true + fft_centered: false + fft_normalization: backward + spatial_dims: + - -2 + - -1 + coil_dim: 1 + use_seed: true shuffle: false num_workers: 8 drop_last: false @@ -98,9 +139,10 @@ model: trainer: strategy: ddp - gpus: 1 + accelerator: gpu + devices: 1 num_nodes: 1 - max_epochs: 20 + max_epochs: 200 precision: 16 enable_checkpointing: false logger: false @@ -109,6 +151,9 @@ trainer: max_steps: -1 exp_manager: - name: ??? + exp_dir: ??? create_tensorboard_logger: true + create_wandb_logger: false + wandb_logger_kwargs: + project: ??? files_to_copy: [ ] diff --git a/projects/reconstruction/model_zoo/conf/base_cirim_run.yaml b/projects/reconstruction/model_zoo/conf/base_cirim_run.yaml index 8ca950e2..61bbe9fe 100644 --- a/projects/reconstruction/model_zoo/conf/base_cirim_run.yaml +++ b/projects/reconstruction/model_zoo/conf/base_cirim_run.yaml @@ -40,49 +40,71 @@ model: depth: 2 time_steps: 8 conv_dim: 2 - num_cascades: 8 + num_cascades: 5 + dimensionality: 2 no_dc: true keep_eta: true + accumulate_estimates: true + train_loss_fn: l1 + val_loss_fn: l1 + consecutive_slices: 1 coil_combination_method: SENSE use_sens_net: false sens_chans: 8 sens_pools: 4 sens_mask_type: 2D - train_loss_fn: l1 - val_loss_fn: l1 - accumulate_estimates: true - fft_centered: True - fft_normalization: ortho + fft_centered: false + fft_normalization: backward spatial_dims: - -2 - -1 coil_dim: 1 + complex_data: true + log_images: true test_ds: data_path: ??? + sense_path: None + mask_path: None + initial_predictions_path: None challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE - fft_centered: True - fft_normalization: ortho - spatial_dims: - - -2 - - -1 - coil_dim: 1 + dimensionality: 2 mask_args: - type: gaussian2d + type: poisson2d accelerations: - 10 center_fractions: - 0.7 scale: 0.02 - shift_mask: false - use_seed: false - normalize_inputs: true + shift_mask: true + use_seed: true + half_scan_percentage: 0.0 + remask: false crop_size: None + kspace_crop: false crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 + normalize_inputs: true + max_norm: true + fft_centered: false + fft_normalization: backward + spatial_dims: + - -2 + - -1 + coil_dim: 1 + use_seed: true shuffle: false num_workers: 8 drop_last: false @@ -103,9 +125,10 @@ model: trainer: strategy: ddp - gpus: 1 + accelerator: gpu + devices: 1 num_nodes: 1 - max_epochs: 20 + max_epochs: 200 precision: 16 enable_checkpointing: false logger: false @@ -114,6 +137,9 @@ trainer: max_steps: -1 exp_manager: - name: ??? + exp_dir: ??? create_tensorboard_logger: true + create_wandb_logger: false + wandb_logger_kwargs: + project: ??? files_to_copy: [ ] diff --git a/projects/reconstruction/model_zoo/conf/base_cirim_train.yaml b/projects/reconstruction/model_zoo/conf/base_cirim_train.yaml index 63e3dd5e..c42916ea 100644 --- a/projects/reconstruction/model_zoo/conf/base_cirim_train.yaml +++ b/projects/reconstruction/model_zoo/conf/base_cirim_train.yaml @@ -40,49 +40,71 @@ model: depth: 2 time_steps: 8 conv_dim: 2 - num_cascades: 6 + num_cascades: 5 + dimensionality: 2 no_dc: true keep_eta: true + accumulate_estimates: true + train_loss_fn: l1 + val_loss_fn: l1 + consecutive_slices: 1 coil_combination_method: SENSE use_sens_net: false sens_chans: 8 sens_pools: 4 sens_mask_type: 2D - train_loss_fn: l1 - val_loss_fn: l1 - accumulate_estimates: true - fft_centered: True - fft_normalization: ortho + fft_centered: false + fft_normalization: backward spatial_dims: - -2 - -1 coil_dim: 1 + complex_data: true + log_images: true train_ds: data_path: ??? + sense_path: None + mask_path: None + initial_predictions_path: None challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE - fft_centered: True - fft_normalization: ortho - spatial_dims: - - -2 - - -1 - coil_dim: 1 + dimensionality: 2 mask_args: - type: gaussian2d + type: poisson2d accelerations: - 10 center_fractions: - 0.7 scale: 0.02 - shift_mask: false + shift_mask: true use_seed: true - normalize_inputs: true + half_scan_percentage: 0.0 + remask: false crop_size: None + kspace_crop: false crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 + normalize_inputs: true + max_norm: true + fft_centered: false + fft_normalization: backward + spatial_dims: + - -2 + - -1 + coil_dim: 1 + use_seed: true shuffle: true num_workers: 8 drop_last: false @@ -90,29 +112,47 @@ model: validation_ds: data_path: ??? + sense_path: None + mask_path: None + initial_predictions_path: None challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE - fft_centered: True - fft_normalization: ortho - spatial_dims: - - -2 - - -1 - coil_dim: 1 + dimensionality: 2 mask_args: - type: gaussian2d + type: poisson2d accelerations: - 10 center_fractions: - 0.7 scale: 0.02 - shift_mask: false - use_seed: false - normalize_inputs: true + shift_mask: true + use_seed: true + half_scan_percentage: 0.0 + remask: false crop_size: None + kspace_crop: false crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 + normalize_inputs: true + max_norm: true + fft_centered: false + fft_normalization: backward + spatial_dims: + - -2 + - -1 + coil_dim: 1 + use_seed: true shuffle: false num_workers: 8 drop_last: false @@ -133,9 +173,10 @@ model: trainer: strategy: ddp - gpus: 1 + accelerator: gpu + devices: 1 num_nodes: 1 - max_epochs: 20 + max_epochs: 200 precision: 16 enable_checkpointing: false logger: false @@ -144,6 +185,9 @@ trainer: max_steps: -1 exp_manager: - name: ??? + exp_dir: ??? create_tensorboard_logger: true + create_wandb_logger: false + wandb_logger_kwargs: + project: ??? files_to_copy: [ ] diff --git a/projects/reconstruction/model_zoo/conf/base_crnn_run.yaml b/projects/reconstruction/model_zoo/conf/base_crnn_run.yaml index e6a4fc1f..3db6e6b7 100644 --- a/projects/reconstruction/model_zoo/conf/base_crnn_run.yaml +++ b/projects/reconstruction/model_zoo/conf/base_crnn_run.yaml @@ -8,46 +8,69 @@ model: hidden_channels: 64 n_convs: 3 batchnorm: false - no_dc: false + dimensionality: 2 + no_dc: true + accumulate_estimates: true + train_loss_fn: l1 + val_loss_fn: l1 + consecutive_slices: 1 coil_combination_method: SENSE use_sens_net: false sens_chans: 8 sens_pools: 4 sens_mask_type: 2D - train_loss_fn: l1 - val_loss_fn: l1 - fft_centered: True - fft_normalization: ortho + fft_centered: false + fft_normalization: backward spatial_dims: - -2 - -1 coil_dim: 1 + complex_data: true + log_images: true test_ds: data_path: ??? + sense_path: None + mask_path: None + initial_predictions_path: None challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE - fft_centered: True - fft_normalization: ortho - spatial_dims: - - -2 - - -1 - coil_dim: 1 + dimensionality: 2 mask_args: - type: gaussian2d + type: poisson2d accelerations: - 10 center_fractions: - 0.7 scale: 0.02 - shift_mask: false - use_seed: false - normalize_inputs: true + shift_mask: true + use_seed: true + half_scan_percentage: 0.0 + remask: false crop_size: None + kspace_crop: false crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 + normalize_inputs: true + max_norm: true + fft_centered: false + fft_normalization: backward + spatial_dims: + - -2 + - -1 + coil_dim: 1 + use_seed: true shuffle: false num_workers: 8 drop_last: false @@ -68,9 +91,10 @@ model: trainer: strategy: ddp - gpus: 1 + accelerator: gpu + devices: 1 num_nodes: 1 - max_epochs: 20 + max_epochs: 200 precision: 16 enable_checkpointing: false logger: false @@ -79,6 +103,9 @@ trainer: max_steps: -1 exp_manager: - name: ??? + exp_dir: ??? create_tensorboard_logger: true + create_wandb_logger: false + wandb_logger_kwargs: + project: ??? files_to_copy: [ ] diff --git a/projects/reconstruction/model_zoo/conf/base_crnn_train.yaml b/projects/reconstruction/model_zoo/conf/base_crnn_train.yaml index c9464a41..7172e3c7 100644 --- a/projects/reconstruction/model_zoo/conf/base_crnn_train.yaml +++ b/projects/reconstruction/model_zoo/conf/base_crnn_train.yaml @@ -8,46 +8,69 @@ model: hidden_channels: 64 n_convs: 3 batchnorm: false - no_dc: false + dimensionality: 2 + no_dc: true + accumulate_estimates: true + train_loss_fn: l1 + val_loss_fn: l1 + consecutive_slices: 1 coil_combination_method: SENSE use_sens_net: false sens_chans: 8 sens_pools: 4 sens_mask_type: 2D - train_loss_fn: l1 - val_loss_fn: l1 - fft_centered: True - fft_normalization: ortho + fft_centered: false + fft_normalization: backward spatial_dims: - -2 - -1 coil_dim: 1 + complex_data: true + log_images: true train_ds: data_path: ??? + sense_path: None + mask_path: None + initial_predictions_path: None challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE - fft_centered: True - fft_normalization: ortho - spatial_dims: - - -2 - - -1 - coil_dim: 1 + dimensionality: 2 mask_args: - type: gaussian2d + type: poisson2d accelerations: - 10 center_fractions: - 0.7 scale: 0.02 - shift_mask: false + shift_mask: true use_seed: true - normalize_inputs: true + half_scan_percentage: 0.0 + remask: false crop_size: None + kspace_crop: false crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 + normalize_inputs: true + max_norm: true + fft_centered: false + fft_normalization: backward + spatial_dims: + - -2 + - -1 + coil_dim: 1 + use_seed: true shuffle: true num_workers: 8 drop_last: false @@ -55,29 +78,47 @@ model: validation_ds: data_path: ??? + sense_path: None + mask_path: None + initial_predictions_path: None challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE - fft_centered: True - fft_normalization: ortho - spatial_dims: - - -2 - - -1 - coil_dim: 1 + dimensionality: 2 mask_args: - type: gaussian2d + type: poisson2d accelerations: - 10 center_fractions: - 0.7 scale: 0.02 - shift_mask: false - use_seed: false - normalize_inputs: true + shift_mask: true + use_seed: true + half_scan_percentage: 0.0 + remask: false crop_size: None + kspace_crop: false crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 + normalize_inputs: true + max_norm: true + fft_centered: false + fft_normalization: backward + spatial_dims: + - -2 + - -1 + coil_dim: 1 + use_seed: true shuffle: false num_workers: 8 drop_last: false @@ -98,9 +139,10 @@ model: trainer: strategy: ddp - gpus: 1 + accelerator: gpu + devices: 1 num_nodes: 1 - max_epochs: 20 + max_epochs: 200 precision: 16 enable_checkpointing: false logger: false @@ -109,6 +151,9 @@ trainer: max_steps: -1 exp_manager: - name: ??? + exp_dir: ??? create_tensorboard_logger: true + create_wandb_logger: false + wandb_logger_kwargs: + project: ??? files_to_copy: [ ] diff --git a/projects/reconstruction/model_zoo/conf/base_dunet_run.yaml b/projects/reconstruction/model_zoo/conf/base_dunet_run.yaml index 7e36181c..d82e553f 100644 --- a/projects/reconstruction/model_zoo/conf/base_dunet_run.yaml +++ b/projects/reconstruction/model_zoo/conf/base_dunet_run.yaml @@ -11,46 +11,69 @@ model: didn_num_convs_recon: 1 data_consistency_term: PROX data_consistency_lambda_init: 0.1 + data_consistency_iterations: 10 shared_params: false + train_loss_fn: l1 + val_loss_fn: l1 + dimensionality: 2 + consecutive_slices: 1 coil_combination_method: SENSE use_sens_net: false sens_chans: 8 sens_pools: 4 sens_mask_type: 2D - train_loss_fn: l1 - val_loss_fn: l1 - fft_centered: True - fft_normalization: ortho + fft_centered: false + fft_normalization: backward spatial_dims: - -2 - -1 coil_dim: 1 + complex_data: true + log_images: true test_ds: data_path: ??? + sense_path: None + mask_path: None + initial_predictions_path: None challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE - fft_centered: True - fft_normalization: ortho - spatial_dims: - - -2 - - -1 - coil_dim: 1 + dimensionality: 2 mask_args: - type: gaussian2d + type: poisson2d accelerations: - 10 center_fractions: - 0.7 scale: 0.02 - shift_mask: false - use_seed: false - normalize_inputs: true + shift_mask: true + use_seed: true + half_scan_percentage: 0.0 + remask: false crop_size: None + kspace_crop: false crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 + normalize_inputs: true + max_norm: true + fft_centered: false + fft_normalization: backward + spatial_dims: + - -2 + - -1 + coil_dim: 1 + use_seed: true shuffle: false num_workers: 8 drop_last: false @@ -71,9 +94,10 @@ model: trainer: strategy: ddp - gpus: 1 + accelerator: gpu + devices: 1 num_nodes: 1 - max_epochs: 20 + max_epochs: 200 precision: 16 enable_checkpointing: false logger: false @@ -82,6 +106,9 @@ trainer: max_steps: -1 exp_manager: - name: ??? + exp_dir: ??? create_tensorboard_logger: true + create_wandb_logger: false + wandb_logger_kwargs: + project: ??? files_to_copy: [ ] diff --git a/projects/reconstruction/model_zoo/conf/base_dunet_train.yaml b/projects/reconstruction/model_zoo/conf/base_dunet_train.yaml index 658902ce..9b423632 100644 --- a/projects/reconstruction/model_zoo/conf/base_dunet_train.yaml +++ b/projects/reconstruction/model_zoo/conf/base_dunet_train.yaml @@ -11,46 +11,69 @@ model: didn_num_convs_recon: 1 data_consistency_term: PROX data_consistency_lambda_init: 0.1 + data_consistency_iterations: 10 shared_params: false + train_loss_fn: l1 + val_loss_fn: l1 + dimensionality: 2 + consecutive_slices: 1 coil_combination_method: SENSE use_sens_net: false sens_chans: 8 sens_pools: 4 sens_mask_type: 2D - train_loss_fn: l1 - val_loss_fn: l1 - fft_centered: True - fft_normalization: ortho + fft_centered: false + fft_normalization: backward spatial_dims: - -2 - -1 coil_dim: 1 + complex_data: true + log_images: true train_ds: data_path: ??? + sense_path: None + mask_path: None + initial_predictions_path: None challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE - fft_centered: True - fft_normalization: ortho - spatial_dims: - - -2 - - -1 - coil_dim: 1 + dimensionality: 2 mask_args: - type: gaussian2d + type: poisson2d accelerations: - 10 center_fractions: - 0.7 scale: 0.02 - shift_mask: false + shift_mask: true use_seed: true - normalize_inputs: true + half_scan_percentage: 0.0 + remask: false crop_size: None + kspace_crop: false crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 + normalize_inputs: true + max_norm: true + fft_centered: false + fft_normalization: backward + spatial_dims: + - -2 + - -1 + coil_dim: 1 + use_seed: true shuffle: true num_workers: 8 drop_last: false @@ -58,29 +81,47 @@ model: validation_ds: data_path: ??? + sense_path: None + mask_path: None + initial_predictions_path: None challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE - fft_centered: True - fft_normalization: ortho - spatial_dims: - - -2 - - -1 - coil_dim: 1 + dimensionality: 2 mask_args: - type: gaussian2d + type: poisson2d accelerations: - 10 center_fractions: - 0.7 scale: 0.02 - shift_mask: false - use_seed: false - normalize_inputs: true + shift_mask: true + use_seed: true + half_scan_percentage: 0.0 + remask: false crop_size: None + kspace_crop: false crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 + normalize_inputs: true + max_norm: true + fft_centered: false + fft_normalization: backward + spatial_dims: + - -2 + - -1 + coil_dim: 1 + use_seed: true shuffle: false num_workers: 8 drop_last: false @@ -101,9 +142,10 @@ model: trainer: strategy: ddp - gpus: 1 + accelerator: gpu + devices: 1 num_nodes: 1 - max_epochs: 20 + max_epochs: 200 precision: 16 enable_checkpointing: false logger: false @@ -112,6 +154,9 @@ trainer: max_steps: -1 exp_manager: - name: ??? + exp_dir: ??? create_tensorboard_logger: true + create_wandb_logger: false + wandb_logger_kwargs: + project: ??? files_to_copy: [ ] diff --git a/projects/reconstruction/model_zoo/conf/base_jointicnet_run.yaml b/projects/reconstruction/model_zoo/conf/base_jointicnet_run.yaml index 23e02940..f33fe1ff 100644 --- a/projects/reconstruction/model_zoo/conf/base_jointicnet_run.yaml +++ b/projects/reconstruction/model_zoo/conf/base_jointicnet_run.yaml @@ -20,41 +20,63 @@ model: sens_unet_dropout_probability: 0.0 sens_unet_padding_size: 11 sens_unet_normalize: true - coil_combination_method: SENSE train_loss_fn: l1 val_loss_fn: l1 - fft_centered: True - fft_normalization: ortho + dimensionality: 2 + consecutive_slices: 1 + coil_combination_method: SENSE + fft_centered: false + fft_normalization: backward spatial_dims: - -2 - -1 coil_dim: 1 + complex_data: true + log_images: true test_ds: data_path: ??? + sense_path: None + mask_path: None + initial_predictions_path: None challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE - fft_centered: True - fft_normalization: ortho - spatial_dims: - - -2 - - -1 - coil_dim: 1 + dimensionality: 2 mask_args: - type: gaussian2d + type: poisson2d accelerations: - 10 center_fractions: - 0.7 scale: 0.02 - shift_mask: false - use_seed: false - normalize_inputs: true + shift_mask: true + use_seed: true + half_scan_percentage: 0.0 + remask: false crop_size: None + kspace_crop: false crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 + normalize_inputs: true + max_norm: true + fft_centered: false + fft_normalization: backward + spatial_dims: + - -2 + - -1 + coil_dim: 1 + use_seed: true shuffle: false num_workers: 8 drop_last: false @@ -75,7 +97,8 @@ model: trainer: strategy: ddp - gpus: 1 + accelerator: gpu + devices: 1 num_nodes: 1 max_epochs: 200 precision: 16 @@ -86,6 +109,9 @@ trainer: max_steps: -1 exp_manager: - name: ??? + exp_dir: ??? create_tensorboard_logger: true + create_wandb_logger: false + wandb_logger_kwargs: + project: ??? files_to_copy: [ ] diff --git a/projects/reconstruction/model_zoo/conf/base_jointicnet_train.yaml b/projects/reconstruction/model_zoo/conf/base_jointicnet_train.yaml index ab233b27..e704825a 100644 --- a/projects/reconstruction/model_zoo/conf/base_jointicnet_train.yaml +++ b/projects/reconstruction/model_zoo/conf/base_jointicnet_train.yaml @@ -20,41 +20,63 @@ model: sens_unet_dropout_probability: 0.0 sens_unet_padding_size: 11 sens_unet_normalize: true - coil_combination_method: SENSE train_loss_fn: l1 val_loss_fn: l1 - fft_centered: True - fft_normalization: ortho + dimensionality: 2 + consecutive_slices: 1 + coil_combination_method: SENSE + fft_centered: false + fft_normalization: backward spatial_dims: - -2 - -1 coil_dim: 1 + complex_data: true + log_images: true train_ds: data_path: ??? + sense_path: None + mask_path: None + initial_predictions_path: None challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE - fft_centered: True - fft_normalization: ortho - spatial_dims: - - -2 - - -1 - coil_dim: 1 + dimensionality: 2 mask_args: - type: gaussian2d + type: poisson2d accelerations: - 10 center_fractions: - 0.7 scale: 0.02 - shift_mask: false + shift_mask: true use_seed: true - normalize_inputs: true + half_scan_percentage: 0.0 + remask: false crop_size: None + kspace_crop: false crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 + normalize_inputs: true + max_norm: true + fft_centered: false + fft_normalization: backward + spatial_dims: + - -2 + - -1 + coil_dim: 1 + use_seed: true shuffle: true num_workers: 8 drop_last: false @@ -62,29 +84,47 @@ model: validation_ds: data_path: ??? + sense_path: None + mask_path: None + initial_predictions_path: None challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE - fft_centered: True - fft_normalization: ortho - spatial_dims: - - -2 - - -1 - coil_dim: 1 + dimensionality: 2 mask_args: - type: gaussian2d + type: poisson2d accelerations: - 10 center_fractions: - 0.7 scale: 0.02 - shift_mask: false - use_seed: false - normalize_inputs: true + shift_mask: true + use_seed: true + half_scan_percentage: 0.0 + remask: false crop_size: None + kspace_crop: false crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 + normalize_inputs: true + max_norm: true + fft_centered: false + fft_normalization: backward + spatial_dims: + - -2 + - -1 + coil_dim: 1 + use_seed: true shuffle: false num_workers: 8 drop_last: false @@ -105,9 +145,10 @@ model: trainer: strategy: ddp - gpus: 1 + accelerator: gpu + devices: 1 num_nodes: 1 - max_epochs: 20 + max_epochs: 200 precision: 16 enable_checkpointing: false logger: false @@ -116,6 +157,9 @@ trainer: max_steps: -1 exp_manager: - name: ??? + exp_dir: ??? create_tensorboard_logger: true + create_wandb_logger: false + wandb_logger_kwargs: + project: ??? files_to_copy: [ ] diff --git a/projects/reconstruction/model_zoo/conf/base_kikinet_run.yaml b/projects/reconstruction/model_zoo/conf/base_kikinet_run.yaml index 91ec76cc..35630435 100644 --- a/projects/reconstruction/model_zoo/conf/base_kikinet_run.yaml +++ b/projects/reconstruction/model_zoo/conf/base_kikinet_run.yaml @@ -17,45 +17,67 @@ model: imspace_unet_dropout_probability: 0.0 imspace_unet_padding_size: 11 imspace_unet_normalize: true + dimensionality: 2 + train_loss_fn: l1 + val_loss_fn: l1 + consecutive_slices: 1 coil_combination_method: SENSE use_sens_net: false sens_chans: 8 sens_pools: 4 sens_mask_type: 2D - train_loss_fn: l1 - val_loss_fn: l1 - fft_centered: True - fft_normalization: ortho + fft_centered: false + fft_normalization: backward spatial_dims: - -2 - -1 coil_dim: 1 + complex_data: true + log_images: true test_ds: data_path: ??? + sense_path: None + mask_path: None + initial_predictions_path: None challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE - fft_centered: True - fft_normalization: ortho - spatial_dims: - - -2 - - -1 - coil_dim: 1 + dimensionality: 2 mask_args: - type: gaussian2d + type: poisson2d accelerations: - 10 center_fractions: - 0.7 scale: 0.02 - shift_mask: false - use_seed: false - normalize_inputs: true + shift_mask: true + use_seed: true + half_scan_percentage: 0.0 + remask: false crop_size: None + kspace_crop: false crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 + normalize_inputs: true + max_norm: true + fft_centered: false + fft_normalization: backward + spatial_dims: + - -2 + - -1 + coil_dim: 1 + use_seed: true shuffle: false num_workers: 8 drop_last: false @@ -76,7 +98,8 @@ model: trainer: strategy: ddp - gpus: 1 + accelerator: gpu + devices: 1 num_nodes: 1 max_epochs: 200 precision: 16 @@ -87,6 +110,9 @@ trainer: max_steps: -1 exp_manager: - name: ??? + exp_dir: ??? create_tensorboard_logger: true + create_wandb_logger: false + wandb_logger_kwargs: + project: ??? files_to_copy: [ ] diff --git a/projects/reconstruction/model_zoo/conf/base_kikinet_train.yaml b/projects/reconstruction/model_zoo/conf/base_kikinet_train.yaml index 61b90dd2..911e2d02 100644 --- a/projects/reconstruction/model_zoo/conf/base_kikinet_train.yaml +++ b/projects/reconstruction/model_zoo/conf/base_kikinet_train.yaml @@ -17,45 +17,67 @@ model: imspace_unet_dropout_probability: 0.0 imspace_unet_padding_size: 11 imspace_unet_normalize: true + dimensionality: 2 + train_loss_fn: l1 + val_loss_fn: l1 + consecutive_slices: 1 coil_combination_method: SENSE use_sens_net: false sens_chans: 8 sens_pools: 4 sens_mask_type: 2D - train_loss_fn: l1 - val_loss_fn: l1 - fft_centered: True - fft_normalization: ortho + fft_centered: false + fft_normalization: backward spatial_dims: - -2 - -1 coil_dim: 1 + complex_data: true + log_images: true train_ds: data_path: ??? + sense_path: None + mask_path: None + initial_predictions_path: None challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE - fft_centered: True - fft_normalization: ortho - spatial_dims: - - -2 - - -1 - coil_dim: 1 + dimensionality: 2 mask_args: - type: gaussian2d + type: poisson2d accelerations: - 10 center_fractions: - 0.7 scale: 0.02 - shift_mask: false + shift_mask: true use_seed: true - normalize_inputs: true + half_scan_percentage: 0.0 + remask: false crop_size: None + kspace_crop: false crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 + normalize_inputs: true + max_norm: true + fft_centered: false + fft_normalization: backward + spatial_dims: + - -2 + - -1 + coil_dim: 1 + use_seed: true shuffle: true num_workers: 8 drop_last: false @@ -63,29 +85,47 @@ model: validation_ds: data_path: ??? + sense_path: None + mask_path: None + initial_predictions_path: None challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE - fft_centered: True - fft_normalization: ortho - spatial_dims: - - -2 - - -1 - coil_dim: 1 + dimensionality: 2 mask_args: - type: gaussian2d + type: poisson2d accelerations: - 10 center_fractions: - 0.7 scale: 0.02 - shift_mask: false - use_seed: false - normalize_inputs: true + shift_mask: true + use_seed: true + half_scan_percentage: 0.0 + remask: false crop_size: None + kspace_crop: false crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 + normalize_inputs: true + max_norm: true + fft_centered: false + fft_normalization: backward + spatial_dims: + - -2 + - -1 + coil_dim: 1 + use_seed: true shuffle: false num_workers: 8 drop_last: false @@ -106,9 +146,10 @@ model: trainer: strategy: ddp - gpus: 1 + accelerator: gpu + devices: 1 num_nodes: 1 - max_epochs: 20 + max_epochs: 200 precision: 16 enable_checkpointing: false logger: false @@ -117,6 +158,9 @@ trainer: max_steps: -1 exp_manager: - name: ??? + exp_dir: ??? create_tensorboard_logger: true + create_wandb_logger: false + wandb_logger_kwargs: + project: ??? files_to_copy: [ ] diff --git a/projects/reconstruction/model_zoo/conf/base_lpdnet_run.yaml b/projects/reconstruction/model_zoo/conf/base_lpdnet_run.yaml index 381ccf98..0ac42cfa 100644 --- a/projects/reconstruction/model_zoo/conf/base_lpdnet_run.yaml +++ b/projects/reconstruction/model_zoo/conf/base_lpdnet_run.yaml @@ -19,45 +19,67 @@ model: dual_unet_dropout_probability: 0.0 dual_unet_padding_size: 11 dual_unet_normalize: true + dimensionality: 2 + train_loss_fn: l1 + val_loss_fn: l1 + consecutive_slices: 1 coil_combination_method: SENSE use_sens_net: false sens_chans: 8 sens_pools: 4 sens_mask_type: 2D - train_loss_fn: l1 - val_loss_fn: l1 - fft_centered: True - fft_normalization: ortho + fft_centered: false + fft_normalization: backward spatial_dims: - -2 - -1 coil_dim: 1 + complex_data: true + log_images: true test_ds: data_path: ??? + sense_path: None + mask_path: None + initial_predictions_path: None challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE - fft_centered: True - fft_normalization: ortho - spatial_dims: - - -2 - - -1 - coil_dim: 1 + dimensionality: 2 mask_args: - type: gaussian2d + type: poisson2d accelerations: - 10 center_fractions: - 0.7 scale: 0.02 - shift_mask: false - use_seed: false - normalize_inputs: true + shift_mask: true + use_seed: true + half_scan_percentage: 0.0 + remask: false crop_size: None + kspace_crop: false crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 + normalize_inputs: true + max_norm: true + fft_centered: false + fft_normalization: backward + spatial_dims: + - -2 + - -1 + coil_dim: 1 + use_seed: true shuffle: false num_workers: 8 drop_last: false @@ -78,7 +100,8 @@ model: trainer: strategy: ddp - gpus: 1 + accelerator: gpu + devices: 1 num_nodes: 1 max_epochs: 200 precision: 16 @@ -89,6 +112,9 @@ trainer: max_steps: -1 exp_manager: - name: ??? + exp_dir: ??? create_tensorboard_logger: true + create_wandb_logger: false + wandb_logger_kwargs: + project: ??? files_to_copy: [ ] diff --git a/projects/reconstruction/model_zoo/conf/base_lpdnet_train.yaml b/projects/reconstruction/model_zoo/conf/base_lpdnet_train.yaml index 8074e1b8..52f8d346 100644 --- a/projects/reconstruction/model_zoo/conf/base_lpdnet_train.yaml +++ b/projects/reconstruction/model_zoo/conf/base_lpdnet_train.yaml @@ -19,45 +19,67 @@ model: dual_unet_dropout_probability: 0.0 dual_unet_padding_size: 11 dual_unet_normalize: true + dimensionality: 2 + train_loss_fn: l1 + val_loss_fn: l1 + consecutive_slices: 1 coil_combination_method: SENSE use_sens_net: false sens_chans: 8 sens_pools: 4 sens_mask_type: 2D - train_loss_fn: l1 - val_loss_fn: l1 - fft_centered: True - fft_normalization: ortho + fft_centered: false + fft_normalization: backward spatial_dims: - -2 - -1 coil_dim: 1 + complex_data: true + log_images: true train_ds: data_path: ??? + sense_path: None + mask_path: None + initial_predictions_path: None challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE - fft_centered: True - fft_normalization: ortho - spatial_dims: - - -2 - - -1 - coil_dim: 1 + dimensionality: 2 mask_args: - type: gaussian2d + type: poisson2d accelerations: - 10 center_fractions: - 0.7 scale: 0.02 - shift_mask: false + shift_mask: true use_seed: true - normalize_inputs: true + half_scan_percentage: 0.0 + remask: false crop_size: None + kspace_crop: false crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 + normalize_inputs: true + max_norm: true + fft_centered: false + fft_normalization: backward + spatial_dims: + - -2 + - -1 + coil_dim: 1 + use_seed: true shuffle: true num_workers: 8 drop_last: false @@ -65,29 +87,47 @@ model: validation_ds: data_path: ??? + sense_path: None + mask_path: None + initial_predictions_path: None challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE - fft_centered: True - fft_normalization: ortho - spatial_dims: - - -2 - - -1 - coil_dim: 1 + dimensionality: 2 mask_args: - type: gaussian2d + type: poisson2d accelerations: - 10 center_fractions: - 0.7 scale: 0.02 - shift_mask: false - use_seed: false - normalize_inputs: true + shift_mask: true + use_seed: true + half_scan_percentage: 0.0 + remask: false crop_size: None + kspace_crop: false crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 + normalize_inputs: true + max_norm: true + fft_centered: false + fft_normalization: backward + spatial_dims: + - -2 + - -1 + coil_dim: 1 + use_seed: true shuffle: false num_workers: 8 drop_last: false @@ -108,9 +148,10 @@ model: trainer: strategy: ddp - gpus: 1 + accelerator: gpu + devices: 1 num_nodes: 1 - max_epochs: 20 + max_epochs: 200 precision: 16 enable_checkpointing: false logger: false @@ -119,6 +160,9 @@ trainer: max_steps: -1 exp_manager: - name: ??? + exp_dir: ??? create_tensorboard_logger: true + create_wandb_logger: false + wandb_logger_kwargs: + project: ??? files_to_copy: [ ] diff --git a/projects/reconstruction/model_zoo/conf/base_multidomainnet_run.yaml b/projects/reconstruction/model_zoo/conf/base_multidomainnet_run.yaml index cee9d162..302640ae 100644 --- a/projects/reconstruction/model_zoo/conf/base_multidomainnet_run.yaml +++ b/projects/reconstruction/model_zoo/conf/base_multidomainnet_run.yaml @@ -8,45 +8,67 @@ model: num_filters: 16 num_pool_layers: 2 dropout_probability: 0.0 + dimensionality: 2 + train_loss_fn: l1 + val_loss_fn: l1 + consecutive_slices: 1 coil_combination_method: SENSE use_sens_net: false sens_chans: 8 sens_pools: 4 sens_mask_type: 2D - train_loss_fn: l1 - val_loss_fn: l1 - fft_centered: True - fft_normalization: ortho + fft_centered: false + fft_normalization: backward spatial_dims: - -2 - -1 coil_dim: 1 + complex_data: true + log_images: true test_ds: data_path: ??? + sense_path: None + mask_path: None + initial_predictions_path: None challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE - fft_centered: True - fft_normalization: ortho - spatial_dims: - - -2 - - -1 - coil_dim: 1 + dimensionality: 2 mask_args: - type: gaussian2d + type: poisson2d accelerations: - 10 center_fractions: - 0.7 scale: 0.02 - shift_mask: false - use_seed: false - normalize_inputs: true + shift_mask: true + use_seed: true + half_scan_percentage: 0.0 + remask: false crop_size: None + kspace_crop: false crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 + normalize_inputs: true + max_norm: true + fft_centered: false + fft_normalization: backward + spatial_dims: + - -2 + - -1 + coil_dim: 1 + use_seed: true shuffle: false num_workers: 8 drop_last: false @@ -67,7 +89,8 @@ model: trainer: strategy: ddp - gpus: 1 + accelerator: gpu + devices: 1 num_nodes: 1 max_epochs: 200 precision: 16 @@ -78,6 +101,9 @@ trainer: max_steps: -1 exp_manager: - name: ??? + exp_dir: ??? create_tensorboard_logger: true + create_wandb_logger: false + wandb_logger_kwargs: + project: ??? files_to_copy: [ ] diff --git a/projects/reconstruction/model_zoo/conf/base_multidomainnet_train.yaml b/projects/reconstruction/model_zoo/conf/base_multidomainnet_train.yaml index 4ddd18b6..1c2c30aa 100644 --- a/projects/reconstruction/model_zoo/conf/base_multidomainnet_train.yaml +++ b/projects/reconstruction/model_zoo/conf/base_multidomainnet_train.yaml @@ -8,45 +8,67 @@ model: num_filters: 16 num_pool_layers: 2 dropout_probability: 0.0 + dimensionality: 2 + train_loss_fn: l1 + val_loss_fn: l1 + consecutive_slices: 1 coil_combination_method: SENSE use_sens_net: false sens_chans: 8 sens_pools: 4 sens_mask_type: 2D - train_loss_fn: l1 - val_loss_fn: l1 - fft_centered: True - fft_normalization: ortho + fft_centered: false + fft_normalization: backward spatial_dims: - -2 - -1 coil_dim: 1 + complex_data: true + log_images: true train_ds: data_path: ??? + sense_path: None + mask_path: None + initial_predictions_path: None challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE - fft_centered: True - fft_normalization: ortho - spatial_dims: - - -2 - - -1 - coil_dim: 1 + dimensionality: 2 mask_args: - type: gaussian2d + type: poisson2d accelerations: - 10 center_fractions: - 0.7 scale: 0.02 - shift_mask: false - use_seed: false - normalize_inputs: true + shift_mask: true + use_seed: true + half_scan_percentage: 0.0 + remask: false crop_size: None + kspace_crop: false crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 + normalize_inputs: true + max_norm: true + fft_centered: false + fft_normalization: backward + spatial_dims: + - -2 + - -1 + coil_dim: 1 + use_seed: true shuffle: true num_workers: 8 drop_last: false @@ -54,29 +76,47 @@ model: validation_ds: data_path: ??? + sense_path: None + mask_path: None + initial_predictions_path: None challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE - fft_centered: True - fft_normalization: ortho - spatial_dims: - - -2 - - -1 - coil_dim: 1 + dimensionality: 2 mask_args: - type: gaussian2d + type: poisson2d accelerations: - 10 center_fractions: - 0.7 scale: 0.02 - shift_mask: false - use_seed: false - normalize_inputs: true + shift_mask: true + use_seed: true + half_scan_percentage: 0.0 + remask: false crop_size: None + kspace_crop: false crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 + normalize_inputs: true + max_norm: true + fft_centered: false + fft_normalization: backward + spatial_dims: + - -2 + - -1 + coil_dim: 1 + use_seed: true shuffle: false num_workers: 8 drop_last: false @@ -97,9 +137,10 @@ model: trainer: strategy: ddp - gpus: 1 + accelerator: gpu + devices: 1 num_nodes: 1 - max_epochs: 20 + max_epochs: 200 precision: 16 enable_checkpointing: false logger: false @@ -108,6 +149,9 @@ trainer: max_steps: -1 exp_manager: - name: ??? + exp_dir: ??? create_tensorboard_logger: true + create_wandb_logger: false + wandb_logger_kwargs: + project: ??? files_to_copy: [ ] diff --git a/projects/reconstruction/model_zoo/conf/base_pics_run.yaml b/projects/reconstruction/model_zoo/conf/base_pics_run.yaml index a7de167c..decfff60 100644 --- a/projects/reconstruction/model_zoo/conf/base_pics_run.yaml +++ b/projects/reconstruction/model_zoo/conf/base_pics_run.yaml @@ -6,35 +6,63 @@ model: model_name: PICS reg_wt: 0.005 num_iters: 60 - coil_combination_method: SENSE device: cuda use_sens_net: false + dimensionality: 2 + consecutive_slices: 1 + coil_combination_method: SENSE + fft_centered: false + fft_normalization: backward + spatial_dims: + - -2 + - -1 + coil_dim: 1 + complex_data: true + log_images: true test_ds: data_path: ??? - coil_combination_method: SENSE + sense_path: None + mask_path: None + initial_predictions_path: None challenge: multicoil - fft_centered: True - fft_normalization: ortho - spatial_dims: - - -2 - - -1 - coil_dim: 1 + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false + coil_combination_method: SENSE + dimensionality: 2 mask_args: - type: gaussian2d + type: poisson2d accelerations: - 10 center_fractions: - 0.7 - shift_mask: false scale: 0.02 - use_seed: false - normalize_inputs: false + shift_mask: true + use_seed: true + half_scan_percentage: 0.0 + remask: false crop_size: None + kspace_crop: false crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 + normalize_inputs: false + max_norm: false + fft_centered: false + fft_normalization: backward + spatial_dims: + - -2 + - -1 + coil_dim: 1 + use_seed: true shuffle: false num_workers: 8 drop_last: false @@ -42,9 +70,10 @@ model: trainer: strategy: ddp - gpus: 1 + accelerator: gpu + devices: 1 num_nodes: 1 - max_epochs: 20 + max_epochs: 200 precision: 16 enable_checkpointing: false logger: false @@ -53,6 +82,9 @@ trainer: max_steps: -1 exp_manager: - name: ??? + exp_dir: ??? create_tensorboard_logger: true + create_wandb_logger: false + wandb_logger_kwargs: + project: ??? files_to_copy: [ ] diff --git a/projects/reconstruction/model_zoo/conf/base_rim_run.yaml b/projects/reconstruction/model_zoo/conf/base_rim_run.yaml index aa2f234b..d7ca5ba3 100644 --- a/projects/reconstruction/model_zoo/conf/base_rim_run.yaml +++ b/projects/reconstruction/model_zoo/conf/base_rim_run.yaml @@ -41,48 +41,70 @@ model: time_steps: 8 conv_dim: 2 num_cascades: 1 + dimensionality: 2 no_dc: true keep_eta: true + accumulate_estimates: true + train_loss_fn: l1 + val_loss_fn: l1 + consecutive_slices: 1 coil_combination_method: SENSE use_sens_net: false sens_chans: 8 sens_pools: 4 sens_mask_type: 2D - train_loss_fn: l1 - val_loss_fn: l1 - accumulate_estimates: true - fft_centered: True - fft_normalization: ortho + fft_centered: false + fft_normalization: backward spatial_dims: - -2 - -1 coil_dim: 1 + complex_data: true + log_images: true test_ds: data_path: ??? + sense_path: None + mask_path: None + initial_predictions_path: None challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE - fft_centered: True - fft_normalization: ortho - spatial_dims: - - -2 - - -1 - coil_dim: 1 + dimensionality: 2 mask_args: - type: gaussian2d + type: poisson2d accelerations: - 10 center_fractions: - 0.7 scale: 0.02 - shift_mask: false - use_seed: false - normalize_inputs: true + shift_mask: true + use_seed: true + half_scan_percentage: 0.0 + remask: false crop_size: None + kspace_crop: false crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 + normalize_inputs: true + max_norm: true + fft_centered: false + fft_normalization: backward + spatial_dims: + - -2 + - -1 + coil_dim: 1 + use_seed: true shuffle: false num_workers: 8 drop_last: false @@ -103,7 +125,8 @@ model: trainer: strategy: ddp - gpus: 1 + accelerator: gpu + devices: 1 num_nodes: 1 max_epochs: 200 precision: 16 @@ -114,6 +137,9 @@ trainer: max_steps: -1 exp_manager: - name: ??? + exp_dir: ??? create_tensorboard_logger: true + create_wandb_logger: false + wandb_logger_kwargs: + project: ??? files_to_copy: [ ] diff --git a/projects/reconstruction/model_zoo/conf/base_rim_train.yaml b/projects/reconstruction/model_zoo/conf/base_rim_train.yaml index 39cccdae..09cac1ec 100644 --- a/projects/reconstruction/model_zoo/conf/base_rim_train.yaml +++ b/projects/reconstruction/model_zoo/conf/base_rim_train.yaml @@ -41,48 +41,70 @@ model: time_steps: 8 conv_dim: 2 num_cascades: 1 + dimensionality: 2 no_dc: true keep_eta: true + accumulate_estimates: true + train_loss_fn: l1 + val_loss_fn: l1 + consecutive_slices: 1 coil_combination_method: SENSE use_sens_net: false sens_chans: 8 sens_pools: 4 sens_mask_type: 2D - train_loss_fn: l1 - val_loss_fn: l1 - accumulate_estimates: true - fft_centered: True - fft_normalization: ortho + fft_centered: false + fft_normalization: backward spatial_dims: - -2 - -1 coil_dim: 1 + complex_data: true + log_images: true train_ds: data_path: ??? + sense_path: None + mask_path: None + initial_predictions_path: None challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE - fft_centered: True - fft_normalization: ortho - spatial_dims: - - -2 - - -1 - coil_dim: 1 + dimensionality: 2 mask_args: - type: gaussian2d + type: poisson2d accelerations: - 10 center_fractions: - 0.7 scale: 0.02 - shift_mask: false + shift_mask: true use_seed: true - normalize_inputs: true + half_scan_percentage: 0.0 + remask: false crop_size: None + kspace_crop: false crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 + normalize_inputs: true + max_norm: true + fft_centered: false + fft_normalization: backward + spatial_dims: + - -2 + - -1 + coil_dim: 1 + use_seed: true shuffle: true num_workers: 8 drop_last: false @@ -90,29 +112,47 @@ model: validation_ds: data_path: ??? + sense_path: None + mask_path: None + initial_predictions_path: None challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE - fft_centered: True - fft_normalization: ortho - spatial_dims: - - -2 - - -1 - coil_dim: 1 + dimensionality: 2 mask_args: - type: gaussian2d + type: poisson2d accelerations: - 10 center_fractions: - 0.7 scale: 0.02 - shift_mask: false - use_seed: false - normalize_inputs: true + shift_mask: true + use_seed: true + half_scan_percentage: 0.0 + remask: false crop_size: None + kspace_crop: false crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 + normalize_inputs: true + max_norm: true + fft_centered: false + fft_normalization: backward + spatial_dims: + - -2 + - -1 + coil_dim: 1 + use_seed: true shuffle: false num_workers: 8 drop_last: false @@ -133,9 +173,10 @@ model: trainer: strategy: ddp - gpus: 1 + accelerator: gpu + devices: 1 num_nodes: 1 - max_epochs: 20 + max_epochs: 200 precision: 16 enable_checkpointing: false logger: false @@ -144,6 +185,9 @@ trainer: max_steps: -1 exp_manager: - name: ??? + exp_dir: ??? create_tensorboard_logger: true + create_wandb_logger: false + wandb_logger_kwargs: + project: ??? files_to_copy: [ ] diff --git a/projects/reconstruction/model_zoo/conf/base_rvn_run.yaml b/projects/reconstruction/model_zoo/conf/base_rvn_run.yaml index 812dd794..6e961605 100644 --- a/projects/reconstruction/model_zoo/conf/base_rvn_run.yaml +++ b/projects/reconstruction/model_zoo/conf/base_rvn_run.yaml @@ -22,45 +22,68 @@ model: - 2 - 4 initializer_multiscale: 1 + dimensionality: 2 + accumulate_estimates: true + train_loss_fn: l1 + val_loss_fn: l1 + consecutive_slices: 1 coil_combination_method: SENSE use_sens_net: false sens_chans: 8 sens_pools: 4 sens_mask_type: 2D - train_loss_fn: l1 - val_loss_fn: l1 - fft_centered: True - fft_normalization: ortho + fft_centered: false + fft_normalization: backward spatial_dims: - -2 - -1 coil_dim: 1 + complex_data: true + log_images: true test_ds: data_path: ??? + sense_path: None + mask_path: None + initial_predictions_path: None challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE - fft_centered: True - fft_normalization: ortho - spatial_dims: - - -2 - - -1 - coil_dim: 1 + dimensionality: 2 mask_args: - type: gaussian2d + type: poisson2d accelerations: - 10 center_fractions: - 0.7 scale: 0.02 - shift_mask: false - use_seed: false - normalize_inputs: true + shift_mask: true + use_seed: true + half_scan_percentage: 0.0 + remask: false crop_size: None + kspace_crop: false crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 + normalize_inputs: true + max_norm: true + fft_centered: false + fft_normalization: backward + spatial_dims: + - -2 + - -1 + coil_dim: 1 + use_seed: true shuffle: false num_workers: 8 drop_last: false @@ -81,7 +104,8 @@ model: trainer: strategy: ddp - gpus: 1 + accelerator: gpu + devices: 1 num_nodes: 1 max_epochs: 200 precision: 16 @@ -92,6 +116,9 @@ trainer: max_steps: -1 exp_manager: - name: ??? + exp_dir: ??? create_tensorboard_logger: true + create_wandb_logger: false + wandb_logger_kwargs: + project: ??? files_to_copy: [ ] diff --git a/projects/reconstruction/model_zoo/conf/base_rvn_train.yaml b/projects/reconstruction/model_zoo/conf/base_rvn_train.yaml index 96e803d9..91db84d7 100644 --- a/projects/reconstruction/model_zoo/conf/base_rvn_train.yaml +++ b/projects/reconstruction/model_zoo/conf/base_rvn_train.yaml @@ -22,45 +22,68 @@ model: - 2 - 4 initializer_multiscale: 1 + dimensionality: 2 + accumulate_estimates: true + train_loss_fn: l1 + val_loss_fn: l1 + consecutive_slices: 1 coil_combination_method: SENSE use_sens_net: false sens_chans: 8 sens_pools: 4 sens_mask_type: 2D - train_loss_fn: l1 - val_loss_fn: l1 - fft_centered: True - fft_normalization: ortho + fft_centered: false + fft_normalization: backward spatial_dims: - -2 - -1 coil_dim: 1 + complex_data: true + log_images: true train_ds: data_path: ??? + sense_path: None + mask_path: None + initial_predictions_path: None challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE - fft_centered: True - fft_normalization: ortho - spatial_dims: - - -2 - - -1 - coil_dim: 1 + dimensionality: 2 mask_args: - type: gaussian2d + type: poisson2d accelerations: - 10 center_fractions: - 0.7 scale: 0.02 - shift_mask: false + shift_mask: true use_seed: true - normalize_inputs: true + half_scan_percentage: 0.0 + remask: false crop_size: None + kspace_crop: false crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 + normalize_inputs: true + max_norm: true + fft_centered: false + fft_normalization: backward + spatial_dims: + - -2 + - -1 + coil_dim: 1 + use_seed: true shuffle: true num_workers: 8 drop_last: false @@ -68,29 +91,47 @@ model: validation_ds: data_path: ??? + sense_path: None + mask_path: None + initial_predictions_path: None challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE - fft_centered: True - fft_normalization: ortho - spatial_dims: - - -2 - - -1 - coil_dim: 1 + dimensionality: 2 mask_args: - type: gaussian2d + type: poisson2d accelerations: - 10 center_fractions: - 0.7 scale: 0.02 - shift_mask: false - use_seed: false - normalize_inputs: true + shift_mask: true + use_seed: true + half_scan_percentage: 0.0 + remask: false crop_size: None + kspace_crop: false crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 + normalize_inputs: true + max_norm: true + fft_centered: false + fft_normalization: backward + spatial_dims: + - -2 + - -1 + coil_dim: 1 + use_seed: true shuffle: false num_workers: 8 drop_last: false @@ -111,9 +152,10 @@ model: trainer: strategy: ddp - gpus: 1 + accelerator: gpu + devices: 1 num_nodes: 1 - max_epochs: 20 + max_epochs: 200 precision: 16 enable_checkpointing: false logger: false @@ -122,6 +164,9 @@ trainer: max_steps: -1 exp_manager: - name: ??? + exp_dir: ??? create_tensorboard_logger: true + create_wandb_logger: false + wandb_logger_kwargs: + project: ??? files_to_copy: [ ] diff --git a/projects/reconstruction/model_zoo/conf/base_unet_run.yaml b/projects/reconstruction/model_zoo/conf/base_unet_run.yaml index 323e1e78..71036c97 100644 --- a/projects/reconstruction/model_zoo/conf/base_unet_run.yaml +++ b/projects/reconstruction/model_zoo/conf/base_unet_run.yaml @@ -8,45 +8,67 @@ model: pooling_layers: 2 padding_size: 11 normalize: true + dimensionality: 2 + train_loss_fn: l1 + val_loss_fn: l1 + consecutive_slices: 1 coil_combination_method: SENSE use_sens_net: false sens_chans: 8 sens_pools: 4 sens_mask_type: 2D - train_loss_fn: l1 - val_loss_fn: l1 - fft_centered: True - fft_normalization: ortho + fft_centered: false + fft_normalization: backward spatial_dims: - -2 - -1 coil_dim: 1 + complex_data: true + log_images: true test_ds: data_path: ??? + sense_path: None + mask_path: None + initial_predictions_path: None challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE - fft_centered: True - fft_normalization: ortho - spatial_dims: - - -2 - - -1 - coil_dim: 1 + dimensionality: 2 mask_args: - type: gaussian2d + type: poisson2d accelerations: - 10 center_fractions: - 0.7 scale: 0.02 - shift_mask: false - use_seed: false - normalize_inputs: true + shift_mask: true + use_seed: true + half_scan_percentage: 0.0 + remask: false crop_size: None + kspace_crop: false crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 + normalize_inputs: true + max_norm: true + fft_centered: false + fft_normalization: backward + spatial_dims: + - -2 + - -1 + coil_dim: 1 + use_seed: true shuffle: false num_workers: 8 drop_last: false @@ -67,7 +89,8 @@ model: trainer: strategy: ddp - gpus: 1 + accelerator: gpu + devices: 1 num_nodes: 1 max_epochs: 200 precision: 16 @@ -78,6 +101,9 @@ trainer: max_steps: -1 exp_manager: - name: ??? + exp_dir: ??? create_tensorboard_logger: true + create_wandb_logger: false + wandb_logger_kwargs: + project: ??? files_to_copy: [ ] diff --git a/projects/reconstruction/model_zoo/conf/base_unet_train.yaml b/projects/reconstruction/model_zoo/conf/base_unet_train.yaml index 0e8e65b3..5f66a03b 100644 --- a/projects/reconstruction/model_zoo/conf/base_unet_train.yaml +++ b/projects/reconstruction/model_zoo/conf/base_unet_train.yaml @@ -8,45 +8,67 @@ model: pooling_layers: 2 padding_size: 11 normalize: true + dimensionality: 2 + train_loss_fn: l1 + val_loss_fn: l1 + consecutive_slices: 1 coil_combination_method: SENSE use_sens_net: false sens_chans: 8 sens_pools: 4 sens_mask_type: 2D - train_loss_fn: l1 - val_loss_fn: l1 - fft_centered: True - fft_normalization: ortho + fft_centered: false + fft_normalization: backward spatial_dims: - -2 - -1 coil_dim: 1 + complex_data: true + log_images: true train_ds: data_path: ??? + sense_path: None + mask_path: None + initial_predictions_path: None challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE - fft_centered: True - fft_normalization: ortho - spatial_dims: - - -2 - - -1 - coil_dim: 1 + dimensionality: 2 mask_args: - type: gaussian2d + type: poisson2d accelerations: - 10 center_fractions: - 0.7 scale: 0.02 - shift_mask: false - use_seed: false - normalize_inputs: true + shift_mask: true + use_seed: true + half_scan_percentage: 0.0 + remask: false crop_size: None + kspace_crop: false crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 + normalize_inputs: true + max_norm: true + fft_centered: false + fft_normalization: backward + spatial_dims: + - -2 + - -1 + coil_dim: 1 + use_seed: true shuffle: true num_workers: 8 drop_last: false @@ -54,29 +76,47 @@ model: validation_ds: data_path: ??? + sense_path: None + mask_path: None + initial_predictions_path: None challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE - fft_centered: True - fft_normalization: ortho - spatial_dims: - - -2 - - -1 - coil_dim: 1 + dimensionality: 2 mask_args: - type: gaussian2d + type: poisson2d accelerations: - 10 center_fractions: - 0.7 scale: 0.02 - shift_mask: false - use_seed: false - normalize_inputs: true + shift_mask: true + use_seed: true + half_scan_percentage: 0.0 + remask: false crop_size: None + kspace_crop: false crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 + normalize_inputs: true + max_norm: true + fft_centered: false + fft_normalization: backward + spatial_dims: + - -2 + - -1 + coil_dim: 1 + use_seed: true shuffle: false num_workers: 8 drop_last: false @@ -97,9 +137,10 @@ model: trainer: strategy: ddp - gpus: 1 + accelerator: gpu + devices: 1 num_nodes: 1 - max_epochs: 20 + max_epochs: 200 precision: 16 enable_checkpointing: false logger: false @@ -108,6 +149,9 @@ trainer: max_steps: -1 exp_manager: - name: ??? + exp_dir: ??? create_tensorboard_logger: true + create_wandb_logger: false + wandb_logger_kwargs: + project: ??? files_to_copy: [ ] diff --git a/projects/reconstruction/model_zoo/conf/base_vn_run.yaml b/projects/reconstruction/model_zoo/conf/base_vn_run.yaml index 1cd91bbe..c99845a8 100644 --- a/projects/reconstruction/model_zoo/conf/base_vn_run.yaml +++ b/projects/reconstruction/model_zoo/conf/base_vn_run.yaml @@ -10,45 +10,67 @@ model: padding_size: 11 normalize: true no_dc: false + dimensionality: 2 + train_loss_fn: l1 + val_loss_fn: l1 + consecutive_slices: 1 coil_combination_method: SENSE use_sens_net: false sens_chans: 8 sens_pools: 4 sens_mask_type: 2D - train_loss_fn: l1 - val_loss_fn: l1 - fft_centered: True - fft_normalization: ortho + fft_centered: false + fft_normalization: backward spatial_dims: - -2 - -1 coil_dim: 1 + complex_data: true + log_images: true test_ds: data_path: ??? + sense_path: None + mask_path: None + initial_predictions_path: None challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE - fft_centered: True - fft_normalization: ortho - spatial_dims: - - -2 - - -1 - coil_dim: 1 + dimensionality: 2 mask_args: - type: gaussian2d + type: poisson2d accelerations: - 10 center_fractions: - 0.7 scale: 0.02 - shift_mask: false - use_seed: false - normalize_inputs: true + shift_mask: true + use_seed: true + half_scan_percentage: 0.0 + remask: false crop_size: None + kspace_crop: false crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 + normalize_inputs: true + max_norm: true + fft_centered: false + fft_normalization: backward + spatial_dims: + - -2 + - -1 + coil_dim: 1 + use_seed: true shuffle: false num_workers: 8 drop_last: false @@ -69,7 +91,8 @@ model: trainer: strategy: ddp - gpus: 1 + accelerator: gpu + devices: 1 num_nodes: 1 max_epochs: 200 precision: 16 @@ -80,6 +103,9 @@ trainer: max_steps: -1 exp_manager: - name: ??? + exp_dir: ??? create_tensorboard_logger: true + create_wandb_logger: false + wandb_logger_kwargs: + project: ??? files_to_copy: [ ] diff --git a/projects/reconstruction/model_zoo/conf/base_vn_train.yaml b/projects/reconstruction/model_zoo/conf/base_vn_train.yaml index 74eadfce..2ea6f0fd 100644 --- a/projects/reconstruction/model_zoo/conf/base_vn_train.yaml +++ b/projects/reconstruction/model_zoo/conf/base_vn_train.yaml @@ -10,45 +10,67 @@ model: padding_size: 11 normalize: true no_dc: false + dimensionality: 2 + train_loss_fn: l1 + val_loss_fn: l1 + consecutive_slices: 1 coil_combination_method: SENSE use_sens_net: false sens_chans: 8 sens_pools: 4 sens_mask_type: 2D - train_loss_fn: l1 - val_loss_fn: l1 - fft_centered: True - fft_normalization: ortho + fft_centered: false + fft_normalization: backward spatial_dims: - -2 - -1 coil_dim: 1 + complex_data: true + log_images: true train_ds: data_path: ??? + sense_path: None + mask_path: None + initial_predictions_path: None challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE - fft_centered: True - fft_normalization: ortho - spatial_dims: - - -2 - - -1 - coil_dim: 1 + dimensionality: 2 mask_args: - type: gaussian2d + type: poisson2d accelerations: - 10 center_fractions: - 0.7 scale: 0.02 - shift_mask: false + shift_mask: true use_seed: true - normalize_inputs: true + half_scan_percentage: 0.0 + remask: false crop_size: None + kspace_crop: false crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 + normalize_inputs: true + max_norm: true + fft_centered: false + fft_normalization: backward + spatial_dims: + - -2 + - -1 + coil_dim: 1 + use_seed: true shuffle: true num_workers: 8 drop_last: false @@ -56,29 +78,47 @@ model: validation_ds: data_path: ??? + sense_path: None + mask_path: None + initial_predictions_path: None challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE - fft_centered: True - fft_normalization: ortho - spatial_dims: - - -2 - - -1 - coil_dim: 1 + dimensionality: 2 mask_args: - type: gaussian2d + type: poisson2d accelerations: - 10 center_fractions: - 0.7 scale: 0.02 - shift_mask: false - use_seed: false - normalize_inputs: true + shift_mask: true + use_seed: true + half_scan_percentage: 0.0 + remask: false crop_size: None + kspace_crop: false crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 + normalize_inputs: true + max_norm: true + fft_centered: false + fft_normalization: backward + spatial_dims: + - -2 + - -1 + coil_dim: 1 + use_seed: true shuffle: false num_workers: 8 drop_last: false @@ -99,9 +139,10 @@ model: trainer: strategy: ddp - gpus: 1 + accelerator: gpu + devices: 1 num_nodes: 1 - max_epochs: 20 + max_epochs: 200 precision: 16 enable_checkpointing: false logger: false @@ -110,6 +151,9 @@ trainer: max_steps: -1 exp_manager: - name: ??? + exp_dir: ??? create_tensorboard_logger: true + create_wandb_logger: false + wandb_logger_kwargs: + project: ??? files_to_copy: [ ] diff --git a/projects/reconstruction/model_zoo/conf/base_vsnet_run.yaml b/projects/reconstruction/model_zoo/conf/base_vsnet_run.yaml index 9e5e101e..0f55daf7 100644 --- a/projects/reconstruction/model_zoo/conf/base_vsnet_run.yaml +++ b/projects/reconstruction/model_zoo/conf/base_vsnet_run.yaml @@ -9,45 +9,67 @@ model: imspace_conv_hidden_channels: 64 imspace_conv_n_convs: 4 imspace_conv_batchnorm: false + dimensionality: 2 + train_loss_fn: l1 + val_loss_fn: l1 + consecutive_slices: 1 coil_combination_method: SENSE use_sens_net: false sens_chans: 8 sens_pools: 4 sens_mask_type: 2D - train_loss_fn: l1 - val_loss_fn: l1 - fft_centered: True - fft_normalization: ortho + fft_centered: false + fft_normalization: backward spatial_dims: - -2 - -1 coil_dim: 1 + complex_data: true + log_images: true test_ds: data_path: ??? + sense_path: None + mask_path: None + initial_predictions_path: None challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE - fft_centered: True - fft_normalization: ortho - spatial_dims: - - -2 - - -1 - coil_dim: 1 + dimensionality: 2 mask_args: - type: gaussian2d + type: poisson2d accelerations: - 10 center_fractions: - 0.7 scale: 0.02 - shift_mask: false - use_seed: false - normalize_inputs: true + shift_mask: true + use_seed: true + half_scan_percentage: 0.0 + remask: false crop_size: None + kspace_crop: false crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 + normalize_inputs: true + max_norm: true + fft_centered: false + fft_normalization: backward + spatial_dims: + - -2 + - -1 + coil_dim: 1 + use_seed: true shuffle: false num_workers: 8 drop_last: false @@ -68,7 +90,8 @@ model: trainer: strategy: ddp - gpus: 1 + accelerator: gpu + devices: 1 num_nodes: 1 max_epochs: 200 precision: 16 @@ -79,6 +102,9 @@ trainer: max_steps: -1 exp_manager: - name: ??? + exp_dir: ??? create_tensorboard_logger: true + create_wandb_logger: false + wandb_logger_kwargs: + project: ??? files_to_copy: [ ] diff --git a/projects/reconstruction/model_zoo/conf/base_vsnet_train.yaml b/projects/reconstruction/model_zoo/conf/base_vsnet_train.yaml index 158512f4..c1da36ce 100644 --- a/projects/reconstruction/model_zoo/conf/base_vsnet_train.yaml +++ b/projects/reconstruction/model_zoo/conf/base_vsnet_train.yaml @@ -9,45 +9,67 @@ model: imspace_conv_hidden_channels: 64 imspace_conv_n_convs: 4 imspace_conv_batchnorm: false + dimensionality: 2 + train_loss_fn: l1 + val_loss_fn: l1 + consecutive_slices: 1 coil_combination_method: SENSE use_sens_net: false sens_chans: 8 sens_pools: 4 sens_mask_type: 2D - train_loss_fn: l1 - val_loss_fn: l1 - fft_centered: True - fft_normalization: ortho + fft_centered: false + fft_normalization: backward spatial_dims: - -2 - -1 coil_dim: 1 + complex_data: true + log_images: true train_ds: data_path: ??? + sense_path: None + mask_path: None + initial_predictions_path: None challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE - fft_centered: True - fft_normalization: ortho - spatial_dims: - - -2 - - -1 - coil_dim: 1 + dimensionality: 2 mask_args: - type: gaussian2d + type: poisson2d accelerations: - 10 center_fractions: - 0.7 scale: 0.02 - shift_mask: false + shift_mask: true use_seed: true - normalize_inputs: true + half_scan_percentage: 0.0 + remask: false crop_size: None + kspace_crop: false crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 + normalize_inputs: true + max_norm: true + fft_centered: false + fft_normalization: backward + spatial_dims: + - -2 + - -1 + coil_dim: 1 + use_seed: true shuffle: true num_workers: 8 drop_last: false @@ -55,29 +77,47 @@ model: validation_ds: data_path: ??? + sense_path: None + mask_path: None + initial_predictions_path: None challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE - fft_centered: True - fft_normalization: ortho - spatial_dims: - - -2 - - -1 - coil_dim: 1 + dimensionality: 2 mask_args: - type: gaussian2d + type: poisson2d accelerations: - 10 center_fractions: - 0.7 scale: 0.02 - shift_mask: false - use_seed: false - normalize_inputs: true + shift_mask: true + use_seed: true + half_scan_percentage: 0.0 + remask: false crop_size: None + kspace_crop: false crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 + normalize_inputs: true + max_norm: true + fft_centered: false + fft_normalization: backward + spatial_dims: + - -2 + - -1 + coil_dim: 1 + use_seed: true shuffle: false num_workers: 8 drop_last: false @@ -98,9 +138,10 @@ model: trainer: strategy: ddp - gpus: 1 + accelerator: gpu + devices: 1 num_nodes: 1 - max_epochs: 20 + max_epochs: 200 precision: 16 enable_checkpointing: false logger: false @@ -109,6 +150,9 @@ trainer: max_steps: -1 exp_manager: - name: ??? + exp_dir: ??? create_tensorboard_logger: true + create_wandb_logger: false + wandb_logger_kwargs: + project: ??? files_to_copy: [ ] diff --git a/projects/reconstruction/model_zoo/conf/base_xpdnet_run.yaml b/projects/reconstruction/model_zoo/conf/base_xpdnet_run.yaml index ddc022e6..19bef224 100644 --- a/projects/reconstruction/model_zoo/conf/base_xpdnet_run.yaml +++ b/projects/reconstruction/model_zoo/conf/base_xpdnet_run.yaml @@ -18,45 +18,67 @@ model: mwcnn_bias: true mwcnn_batchnorm: false normalize_image: false + dimensionality: 2 + train_loss_fn: l1 + val_loss_fn: l1 + consecutive_slices: 1 coil_combination_method: SENSE use_sens_net: false sens_chans: 8 sens_pools: 4 sens_mask_type: 2D - train_loss_fn: l1 - val_loss_fn: l1 - fft_centered: True - fft_normalization: ortho + fft_centered: false + fft_normalization: backward spatial_dims: - -2 - -1 coil_dim: 1 + complex_data: true + log_images: true test_ds: data_path: ??? + sense_path: None + mask_path: None + initial_predictions_path: None challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE - fft_centered: True - fft_normalization: ortho - spatial_dims: - - -2 - - -1 - coil_dim: 1 + dimensionality: 2 mask_args: - type: gaussian2d + type: poisson2d accelerations: - 10 center_fractions: - 0.7 scale: 0.02 - shift_mask: false - use_seed: false - normalize_inputs: true + shift_mask: true + use_seed: true + half_scan_percentage: 0.0 + remask: false crop_size: None + kspace_crop: false crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 + normalize_inputs: true + max_norm: true + fft_centered: false + fft_normalization: backward + spatial_dims: + - -2 + - -1 + coil_dim: 1 + use_seed: true shuffle: false num_workers: 8 drop_last: false @@ -77,7 +99,8 @@ model: trainer: strategy: ddp - gpus: 1 + accelerator: gpu + devices: 1 num_nodes: 1 max_epochs: 200 precision: 16 @@ -88,6 +111,9 @@ trainer: max_steps: -1 exp_manager: - name: ??? + exp_dir: ??? create_tensorboard_logger: true + create_wandb_logger: false + wandb_logger_kwargs: + project: ??? files_to_copy: [ ] diff --git a/projects/reconstruction/model_zoo/conf/base_xpdnet_train.yaml b/projects/reconstruction/model_zoo/conf/base_xpdnet_train.yaml index e6bb7073..38f3ce09 100644 --- a/projects/reconstruction/model_zoo/conf/base_xpdnet_train.yaml +++ b/projects/reconstruction/model_zoo/conf/base_xpdnet_train.yaml @@ -18,45 +18,67 @@ model: mwcnn_bias: true mwcnn_batchnorm: false normalize_image: false + dimensionality: 2 + train_loss_fn: l1 + val_loss_fn: l1 + consecutive_slices: 1 coil_combination_method: SENSE use_sens_net: false sens_chans: 8 sens_pools: 4 sens_mask_type: 2D - train_loss_fn: l1 - val_loss_fn: l1 - fft_centered: True - fft_normalization: ortho + fft_centered: false + fft_normalization: backward spatial_dims: - -2 - -1 coil_dim: 1 + complex_data: true + log_images: true train_ds: data_path: ??? + sense_path: None + mask_path: None + initial_predictions_path: None challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE - fft_centered: True - fft_normalization: ortho - spatial_dims: - - -2 - - -1 - coil_dim: 1 + dimensionality: 2 mask_args: - type: gaussian2d + type: poisson2d accelerations: - 10 center_fractions: - 0.7 scale: 0.02 - shift_mask: false + shift_mask: true use_seed: true - normalize_inputs: true + half_scan_percentage: 0.0 + remask: false crop_size: None + kspace_crop: false crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 + normalize_inputs: true + max_norm: true + fft_centered: false + fft_normalization: backward + spatial_dims: + - -2 + - -1 + coil_dim: 1 + use_seed: true shuffle: true num_workers: 8 drop_last: false @@ -64,29 +86,47 @@ model: validation_ds: data_path: ??? + sense_path: None + mask_path: None + initial_predictions_path: None challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE - fft_centered: True - fft_normalization: ortho - spatial_dims: - - -2 - - -1 - coil_dim: 1 + dimensionality: 2 mask_args: - type: gaussian2d + type: poisson2d accelerations: - 10 center_fractions: - 0.7 scale: 0.02 - shift_mask: false - use_seed: false - normalize_inputs: true + shift_mask: true + use_seed: true + half_scan_percentage: 0.0 + remask: false crop_size: None + kspace_crop: false crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 + normalize_inputs: true + max_norm: true + fft_centered: false + fft_normalization: backward + spatial_dims: + - -2 + - -1 + coil_dim: 1 + use_seed: true shuffle: false num_workers: 8 drop_last: false @@ -107,9 +147,10 @@ model: trainer: strategy: ddp - gpus: 1 + accelerator: gpu + devices: 1 num_nodes: 1 - max_epochs: 20 + max_epochs: 200 precision: 16 enable_checkpointing: false logger: false @@ -118,6 +159,9 @@ trainer: max_steps: -1 exp_manager: - name: ??? + exp_dir: ??? create_tensorboard_logger: true + create_wandb_logger: false + wandb_logger_kwargs: + project: ??? files_to_copy: [ ] diff --git a/projects/reconstruction/model_zoo/conf/base_zf_run.yaml b/projects/reconstruction/model_zoo/conf/base_zf_run.yaml index bef4ae91..445e6975 100644 --- a/projects/reconstruction/model_zoo/conf/base_zf_run.yaml +++ b/projects/reconstruction/model_zoo/conf/base_zf_run.yaml @@ -4,39 +4,61 @@ mode: test model: model_name: ZF + dimensionality: 2 + consecutive_slices: 1 coil_combination_method: SENSE - fft_centered: True - fft_normalization: ortho + fft_centered: false + fft_normalization: backward spatial_dims: - -2 - -1 coil_dim: 1 + complex_data: true + log_images: true test_ds: data_path: ??? + sense_path: None + mask_path: None + initial_predictions_path: None challenge: multicoil + batch_size: 1 + sample_rate: 1 + volume_sample_rate: None + use_dataset_cache: false + dataset_cache_file: None + num_cols: None + consecutive_slices: 1 + data_saved_per_slice: false + complex_data: true + apply_prewhitening: false + apply_gcc: false coil_combination_method: SENSE - fft_centered: True - fft_normalization: ortho - spatial_dims: - - -2 - - -1 - coil_dim: 1 + dimensionality: 2 mask_args: - type: gaussian2d + type: poisson2d accelerations: - 10 center_fractions: - 0.7 scale: 0.02 - shift_mask: false - use_seed: false - normalize_inputs: true + shift_mask: true + use_seed: true + half_scan_percentage: 0.0 + remask: false crop_size: None + kspace_crop: false crop_before_masking: true kspace_zero_filling_size: None - sample_rate: 1 - batch_size: 1 + normalize_inputs: true + max_norm: true + fft_centered: false + fft_normalization: backward + spatial_dims: + - -2 + - -1 + coil_dim: 1 + use_seed: true shuffle: false num_workers: 8 drop_last: false @@ -44,7 +66,8 @@ model: trainer: strategy: ddp - gpus: 1 + accelerator: gpu + devices: 1 num_nodes: 1 max_epochs: 200 precision: 16 @@ -55,6 +78,9 @@ trainer: max_steps: -1 exp_manager: - name: ??? + exp_dir: ??? create_tensorboard_logger: true + create_wandb_logger: false + wandb_logger_kwargs: + project: ??? files_to_copy: [ ] diff --git a/requirements/requirements.txt b/requirements/requirements.txt index 2669d153..2b0807cc 100644 --- a/requirements/requirements.txt +++ b/requirements/requirements.txt @@ -7,7 +7,7 @@ numba>=0.54.1 numpy>=1.20.3 omegaconf==2.1.2 onnx>=1.11.0 -onnxruntime==1.12.0 +onnxruntime==1.13.1 packaging>=21.3 pandas>=1.3.4 ptwt>=0.1.2 diff --git a/tests/collections/reconstruction/models/test_dunet.py b/tests/collections/reconstruction/models/test_dunet.py index fe455b4b..df7a58ac 100644 --- a/tests/collections/reconstruction/models/test_dunet.py +++ b/tests/collections/reconstruction/models/test_dunet.py @@ -27,6 +27,7 @@ "didn_num_convs_recon": 1, "data_consistency_term": "PROX", "data_consistency_lambda_init": 0.1, + "data_consistency_iterations": 10, "shared_params": False, "use_sens_net": False, "coil_combination_method": "SENSE", @@ -63,6 +64,7 @@ "didn_num_convs_recon": 5, "data_consistency_term": "PROX", "data_consistency_lambda_init": 0.1, + "data_consistency_iterations": 10, "shared_params": False, "use_sens_net": False, "coil_combination_method": "SENSE", @@ -99,6 +101,7 @@ "didn_num_convs_recon": 1, "data_consistency_term": "PROX", "data_consistency_lambda_init": 0.1, + "data_consistency_iterations": 8, "shared_params": False, "use_sens_net": False, "coil_combination_method": "SENSE", @@ -135,6 +138,7 @@ "didn_num_convs_recon": 4, "data_consistency_term": "PROX", "data_consistency_lambda_init": 0.1, + "data_consistency_iterations": 8, "shared_params": True, "use_sens_net": False, "coil_combination_method": "SENSE", diff --git a/tests/collections/reconstruction/test_fft.py b/tests/collections/reconstruction/test_fft.py index b1fbf9c1..0126a6c5 100644 --- a/tests/collections/reconstruction/test_fft.py +++ b/tests/collections/reconstruction/test_fft.py @@ -3,6 +3,8 @@ # Parts of the code have been taken from https://github.com/facebookresearch/fastMRI +from typing import List + import numpy as np import pytest import torch @@ -13,16 +15,8 @@ @pytest.mark.parametrize("shape", [[3, 3], [4, 6], [10, 8, 4]]) -def test_centered_fft2(shape): - """ - Test centered 2D Fast Fourier Transform. - - Args: - shape: shape of the input - - Returns: - None - """ +def test_centered_fft2(shape: List): + """Test centered 2D Fast Fourier Transform.""" shape = shape + [2] x = create_input(shape) out_torch = fft2(x, centered=True, normalization="ortho", spatial_dims=[-2, -1]).numpy() @@ -38,16 +32,8 @@ def test_centered_fft2(shape): @pytest.mark.parametrize("shape", [[3, 3], [4, 6], [10, 8, 4]]) -def test_non_centered_fft2(shape): - """ - Test non-centered 2D Fast Fourier Transform. - - Args: - shape: shape of the input - - Returns: - None - """ +def test_non_centered_fft2(shape: List): + """Test non-centered 2D Fast Fourier Transform.""" shape = shape + [2] x = create_input(shape) out_torch = fft2(x, centered=False, normalization="ortho", spatial_dims=[-2, -1]).numpy() @@ -61,16 +47,8 @@ def test_non_centered_fft2(shape): @pytest.mark.parametrize("shape", [[3, 3], [4, 6], [10, 8, 4]]) -def test_centered_fft2_backward_normalization(shape): - """ - Test centered 2D Fast Fourier Transform with backward normalization. - - Args: - shape: shape of the input - - Returns: - None - """ +def test_centered_fft2_backward_normalization(shape: List): + """Test centered 2D Fast Fourier Transform with backward normalization.""" shape = shape + [2] x = create_input(shape) out_torch = fft2(x, centered=True, normalization="backward", spatial_dims=[-2, -1]).numpy() @@ -86,16 +64,8 @@ def test_centered_fft2_backward_normalization(shape): @pytest.mark.parametrize("shape", [[3, 3], [4, 6], [10, 8, 4]]) -def test_centered_fft2_forward_normalization(shape): - """ - Test centered 2D Fast Fourier Transform with forward normalization. - - Args: - shape: shape of the input - - Returns: - None - """ +def test_centered_fft2_forward_normalization(shape: List): + """Test centered 2D Fast Fourier Transform with forward normalization.""" shape = shape + [2] x = create_input(shape) out_torch = fft2(x, centered=True, normalization="forward", spatial_dims=[-2, -1]).numpy() @@ -111,16 +81,8 @@ def test_centered_fft2_forward_normalization(shape): @pytest.mark.parametrize("shape", [[3, 3], [4, 6], [10, 8, 4]]) -def test_centered_ifft2(shape): - """ - Test centered 2D Inverse Fast Fourier Transform. - - Args: - shape: shape of the input - - Returns: - None - """ +def test_centered_ifft2(shape: List): + """Test centered 2D Inverse Fast Fourier Transform.""" shape = shape + [2] x = create_input(shape) out_torch = ifft2(x, centered=True, normalization="ortho", spatial_dims=[-2, -1]).numpy() @@ -136,16 +98,8 @@ def test_centered_ifft2(shape): @pytest.mark.parametrize("shape", [[3, 3], [4, 6], [10, 8, 4]]) -def test_non_centered_ifft2(shape): - """ - Test non-centered 2D Inverse Fast Fourier Transform. - - Args: - shape: shape of the input - - Returns: - None - """ +def test_non_centered_ifft2(shape: List): + """Test non-centered 2D Inverse Fast Fourier Transform.""" shape = shape + [2] x = create_input(shape) out_torch = ifft2(x, centered=False, normalization="ortho", spatial_dims=[-2, -1]).numpy() @@ -159,16 +113,8 @@ def test_non_centered_ifft2(shape): @pytest.mark.parametrize("shape", [[3, 3], [4, 6], [10, 8, 4]]) -def test_centered_ifft2_backward_normalization(shape): - """ - Test centered 2D Inverse Fast Fourier Transform with backward normalization. - - Args: - shape: shape of the input - - Returns: - None - """ +def test_centered_ifft2_backward_normalization(shape: List): + """Test centered 2D Inverse Fast Fourier Transform with backward normalization.""" shape = shape + [2] x = create_input(shape) out_torch = ifft2(x, centered=True, normalization="backward", spatial_dims=[-2, -1]).numpy() @@ -184,16 +130,8 @@ def test_centered_ifft2_backward_normalization(shape): @pytest.mark.parametrize("shape", [[3, 3], [4, 6], [10, 8, 4]]) -def test_centered_ifft2_forward_normalization(shape): - """ - Test centered 2D Inverse Fast Fourier Transform with forward normalization. - - Args: - shape: shape of the input - - Returns: - None - """ +def test_centered_ifft2_forward_normalization(shape: List): + """Test centered 2D Inverse Fast Fourier Transform with forward normalization.""" shape = shape + [2] x = create_input(shape) out_torch = ifft2(x, centered=True, normalization="forward", spatial_dims=[-2, -1]).numpy() @@ -209,16 +147,8 @@ def test_centered_ifft2_forward_normalization(shape): @pytest.mark.parametrize("shape", [[3, 3], [4, 6], [10, 8, 4]]) -def test_complex_abs(shape): - """ - Test complex absolute value. - - Args: - shape: shape of the input - - Returns: - None - """ +def test_complex_abs(shape: List): + """Test complex absolute value.""" shape = shape + [2] x = create_input(shape) out_torch = complex_abs(x).numpy() @@ -231,18 +161,8 @@ def test_complex_abs(shape): @pytest.mark.parametrize("shift, dim", [(0, 0), (1, 0), (-1, 0), (100, 0), ([1, 2], [1, 2])]) @pytest.mark.parametrize("shape", [[5, 6, 2], [3, 4, 5]]) -def test_roll(shift, dim, shape): - """ - Test roll. - - Args: - shift: shift of the input - dim: dimension of the input - shape: shape of the input - - Returns: - None - """ +def test_roll(shift: List, dim: List, shape: List): + """Test roll.""" x = np.arange(np.product(shape)).reshape(shape) if isinstance(shift, int) and isinstance(dim, int): torch_shift = [shift] @@ -258,16 +178,8 @@ def test_roll(shift, dim, shape): @pytest.mark.parametrize("shape", [[5, 3], [2, 4, 6]]) -def test_fftshift(shape): - """ - Test fftshift. - - Args: - shape: shape of the input - - Returns: - None - """ +def test_fftshift(shape: List): + """Test fftshift.""" x = np.arange(np.product(shape)).reshape(shape) out_torch = fftshift(torch.from_numpy(x)).numpy() out_numpy = np.fft.fftshift(x) @@ -277,16 +189,8 @@ def test_fftshift(shape): @pytest.mark.parametrize("shape", [[5, 3], [2, 4, 5], [2, 7, 5]]) -def test_ifftshift(shape): - """ - Test ifftshift. - - Args: - shape: shape of the input - - Returns: - None - """ +def test_ifftshift(shape: List): + """Test ifftshift.""" x = np.arange(np.product(shape)).reshape(shape) out_torch = ifftshift(torch.from_numpy(x)).numpy() out_numpy = np.fft.ifftshift(x) diff --git a/tests/collections/segmentation/models/test_mtlmrirs.py b/tests/collections/segmentation/models/test_mtlrs.py similarity index 100% rename from tests/collections/segmentation/models/test_mtlmrirs.py rename to tests/collections/segmentation/models/test_mtlrs.py