diffusion_models.models.multicoil.MultiCoilReducer¶
- class diffusion_models.models.multicoil.MultiCoilReducer(channel_factors=(4, 8, 16, 32), kernel_size=3)[source]¶
Bases:
Module
- __init__(channel_factors=(4, 8, 16, 32), kernel_size=3)[source]¶
Constructor of MultiCoilReducer Class.
This class takes every coil independently (treats them like a sub-fraction of a batch), increases the channel size massively (from 2 initial channels for complex k-space data) via several convolutional layers and then averages those channels over the coil dimension. Averaging is invariant to permutations of the input order, so the coil order or the number of coils will not matter anymore. Inspiration was drawn from point cloud processing [1], see below.
- Parameters:
channel_factors (
List
[int
]) – sequence that includes all factors for channel increaseskernel_size (
int
) – kernel size for conv layers
Methods
__init__
([channel_factors, kernel_size])Constructor of MultiCoilReducer Class.
forward
(x)- rtype:
Tensor, 'batch out_channels height width')