direct.nn.xpdnet package#

Submodules#

direct.nn.xpdnet.config module#

class direct.nn.xpdnet.config.XPDNetConfig(model_name='???', engine_name=None, num_primal=5, num_dual=1, num_iter=10, use_primal_only=True, kspace_model_architecture='CONV', dual_conv_hidden_channels=16, dual_conv_n_convs=4, dual_conv_batchnorm=False, dual_didn_hidden_channels=64, dual_didn_num_dubs=6, dual_didn_num_convs_recon=9, mwcnn_hidden_channels=16, mwcnn_num_scales=4, mwcnn_bias=True, mwcnn_batchnorm=False, normalize=False)[source]#

Bases: ModelConfig

num_primal = 5#
num_dual = 1#
num_iter = 10#
use_primal_only = True#
kspace_model_architecture = 'CONV'#
dual_conv_hidden_channels = 16#
dual_conv_n_convs = 4#
dual_conv_batchnorm = False#
dual_didn_hidden_channels = 64#
dual_didn_num_dubs = 6#
dual_didn_num_convs_recon = 9#
mwcnn_hidden_channels = 16#
mwcnn_num_scales = 4#
mwcnn_bias = True#
mwcnn_batchnorm = False#
normalize = False#
__init__(model_name='???', engine_name=None, num_primal=5, num_dual=1, num_iter=10, use_primal_only=True, kspace_model_architecture='CONV', dual_conv_hidden_channels=16, dual_conv_n_convs=4, dual_conv_batchnorm=False, dual_didn_hidden_channels=64, dual_didn_num_dubs=6, dual_didn_num_convs_recon=9, mwcnn_hidden_channels=16, mwcnn_num_scales=4, mwcnn_bias=True, mwcnn_batchnorm=False, normalize=False)#

direct.nn.xpdnet.xpdnet module#

class direct.nn.xpdnet.xpdnet.XPDNet(forward_operator, backward_operator, num_primal=5, num_dual=1, num_iter=10, use_primal_only=True, image_model_architecture='MWCNN', kspace_model_architecture=None, normalize=False, **kwargs)[source]#

Bases: CrossDomainNetwork

XPDNet as implemented in [1].

References:

__init__(forward_operator, backward_operator, num_primal=5, num_dual=1, num_iter=10, use_primal_only=True, image_model_architecture='MWCNN', kspace_model_architecture=None, normalize=False, **kwargs)[source]#

Inits XPDNet.

Parameters:
  • forward_operator (Callable) – Forward Operator.

  • backward_operator (Callable) – Backward Operator.

  • num_primal (int) – Number of primal networks. Default: 5.

  • num_dual (int) – Number of dual networks. Default: 1.

  • num_iter (int) – Number of unrolled iterations. Default: 10.

  • use_primal_only (bool) – If set to True no dual-kspace model is used. Default: True.

  • image_model_architecture (str) – Primal-image model architecture. Currently only implemented for "MWCNN". Default: "MWCNN".

  • kspace_model_architecture (Optional[str]) – Dual-kspace model architecture. Currently only implemented for "CONV" and "DIDN". Default: None.

  • normalize (bool) – Normalize input. Default: False.

  • **kwargs – Keyword arguments for model architectures.

direct.nn.xpdnet.xpdnet_engine module#

class direct.nn.xpdnet.xpdnet_engine.XPDNetEngine(cfg, model, device, forward_operator=None, backward_operator=None, mixed_precision=False, **models)[source]#

Bases: MRIModelEngine

XPDNet Engine.

__init__(cfg, model, device, forward_operator=None, backward_operator=None, mixed_precision=False, **models)[source]#

Inits :class:`XPDNetEngine.

forward_function(data)[source]#

This method performs the model’s forward method given data which contains all tensor inputs.

Must be implemented by child classes.

Return type:

Tuple[Tensor, None]

Module contents#