direct.nn.multidomainnet package#
Submodules#
direct.nn.multidomainnet.config module#
- class direct.nn.multidomainnet.config.MultiDomainNetConfig(model_name='???', engine_name=None, standardization=True, num_filters=16, num_pool_layers=4, dropout_probability=0.0)[source]#
Bases:
ModelConfig- standardization = True#
- num_filters = 16#
- num_pool_layers = 4#
- dropout_probability = 0.0#
- __init__(model_name='???', engine_name=None, standardization=True, num_filters=16, num_pool_layers=4, dropout_probability=0.0)#
direct.nn.multidomainnet.multidomain module#
- class direct.nn.multidomainnet.multidomain.MultiDomainConv2d(forward_operator, backward_operator, in_channels, out_channels, **kwargs)[source]#
Bases:
Module- __init__(forward_operator, backward_operator, in_channels, out_channels, **kwargs)[source]#
Inits
MultiDomainConv2d.- Parameters:
forward_operator (
Callable) – Forward Operator.backward_operator (
Callable) – Backward Operator.in_channels (
int) – Number of input channels.out_channels (
int) – Number of output channels.**kwargs – Additional keyword arguments.
- forward(image)[source]#
Performs forward pass of
MultiDomainConv2d.- Parameters:
image (
Tensor) – Input image tensor.- Return type:
Tensor- Returns:
Output tensor.
- class direct.nn.multidomainnet.multidomain.MultiDomainConvTranspose2d(forward_operator, backward_operator, in_channels, out_channels, **kwargs)[source]#
Bases:
Module- __init__(forward_operator, backward_operator, in_channels, out_channels, **kwargs)[source]#
Inits
MultiDomainConvTranspose2d.- Parameters:
forward_operator (
Callable) – Forward Operator.Operator. (Backward)
backward_operator (
Callable) – CallableOperator.
in_channels (
int) – intchannels. (Number of output)
out_channels (
int) – intchannels.
- forward(image)[source]#
Performs forward pass of of
MultiDomainConvTranspose2d.- Parameters:
image (
Tensor) – torch.Tensor- Return type:
Tensor- Returns:
torch.Tensor
- class direct.nn.multidomainnet.multidomain.MultiDomainConvBlock(forward_operator, backward_operator, in_channels, out_channels, dropout_probability)[source]#
Bases:
ModuleA multi-domain convolutional block that consists of two multi-domain convolution layers each followed by instance normalization, LeakyReLU activation and dropout.
- __init__(forward_operator, backward_operator, in_channels, out_channels, dropout_probability)[source]#
Inits
MultiDomainConvBlock.- Parameters:
forward_operator (
Callable) – CallableOperator. (Backward)
backward_operator (
Callable) – CallableOperator.
in_channels (
int) – intchannels. (Number of output)
out_channels (
int) – intchannels.
dropout_probability (
float) – floatprobability. (Dropout)
- forward(_input)[source]#
Performs forward pass of of
MultiDomainConvBlock.- Parameters:
_input (
Tensor) – torch.Tensor- Return type:
Tensor- Returns:
torch.Tensor
- __repr__()[source]#
Representation of
MultiDomainConvBlock.
- class direct.nn.multidomainnet.multidomain.TransposeMultiDomainConvBlock(forward_operator, backward_operator, in_channels, out_channels)[source]#
Bases:
ModuleA Transpose Convolutional Block that consists of one convolution transpose layers followed by instance normalization and LeakyReLU activation.
- class direct.nn.multidomainnet.multidomain.MultiDomainUnet2d(forward_operator, backward_operator, in_channels, out_channels, num_filters, num_pool_layers, dropout_probability)[source]#
Bases:
ModuleUnet modification to be used with Multi-domain network as in AIRS Medical submission to the Fast MRI 2020 challenge.
- __init__(forward_operator, backward_operator, in_channels, out_channels, num_filters, num_pool_layers, dropout_probability)[source]#
- Parameters:
forward_operator (
Callable) – CallableOperator. (Backward)
backward_operator (
Callable) – CallableOperator.
in_channels (
int) – intu-net. (Number of output channels to the)
out_channels (
int) – intu-net.
num_filters (
int) – intlayer. (Number of output channels of the first convolutional)
num_pool_layers (
int) – intlayers (Number of down-sampling and up-sampling)
dropout_probability (
float) – floatprobability. (Dropout)
direct.nn.multidomainnet.multidomainnet module#
- class direct.nn.multidomainnet.multidomainnet.StandardizationLayer(coil_dim=1, channel_dim=-1)[source]#
Bases:
ModuleMulti-channel data standardization method. Inspired by AIRS model submission to the Fast MRI 2020 challenge. Given individual coil images \(\{x_i\}_{i=1}^{N_c}\) and sensitivity coil maps \(\{S_i\}_{i=1}^{N_c}\) it returns
\[[(x_{\text{sense}}, {x_{\text{res}}}_1), ..., (x_{\text{sense}}, {x_{\text{res}}}_{N_c})]\]where \({x_{\text{res}}}_i = xi - S_i \times x_{\text{sense}}\) and \(x_{\text{sense}} = \sum_{i=1}^{N_c} {S_i}^{*} \times x_i\).
- __init__(coil_dim=1, channel_dim=-1)[source]#
Inits
StandardizationLayer.- Parameters:
coil_dim (
int) – intDefault (Channel dimension.)
channel_dim (
int) – intDefault – -1.
- forward(coil_images, sensitivity_map)[source]#
Performs forward pass of
StandardizationLayer.- Parameters:
coil_images (
Tensor) – torch.Tensortensor. (Coil images)
sensitivity_map (
Tensor) – torch.Tensormaps. (Sensitivity)
- Return type:
Tensor- Returns:
torch.Tensor
- class direct.nn.multidomainnet.multidomainnet.MultiDomainNet(forward_operator, backward_operator, standardization=True, num_filters=16, num_pool_layers=4, dropout_probability=0.0, **kwargs)[source]#
Bases:
ModuleFeature-level multi-domain module.
Inspired by AIRS Medical submission to the Fast MRI 2020 challenge.
- __init__(forward_operator, backward_operator, standardization=True, num_filters=16, num_pool_layers=4, dropout_probability=0.0, **kwargs)[source]#
Inits
MultiDomainNet.- Parameters:
forward_operator (
Callable) – CallableOperator. (Backward)
backward_operator (
Callable) – CallableOperator.
standardization (
bool) – boolDefault (If True standardization is used.) – True.
num_filters (
int) – intthe (Dropout probability for) – class:MultiDomainUnet module. Default: 16.
num_pool_layers (
int) – intthe – class:MultiDomainUnet module. Default: 4.
dropout_probability (
float) – floatthe – class:MultiDomainUnet module. Default: 0.0.
- forward(masked_kspace, sensitivity_map)[source]#
Performs forward pass of
MultiDomainNet.- Parameters:
masked_kspace (
Tensor) – torch.Tensorshape (Sensitivity map of)
sensitivity_map (
Tensor) – torch.Tensorshape
- Returns:
torch.Tensor Multi-coil output image of shape (N, coil, height, width, complex=2).
- Return type:
output_image
direct.nn.multidomainnet.multidomainnet_engine module#
- class direct.nn.multidomainnet.multidomainnet_engine.MultiDomainNetEngine(cfg, model, device, forward_operator=None, backward_operator=None, mixed_precision=False, **models)[source]#
Bases:
MRIModelEngineMulti Domain Network Engine.