product_convolution2d#
- deepinv.physics.functional.product_convolution2d(x, w, h, padding='valid')[source]#
Product-convolution operator in 2d. Details available in the paper Escande and Weiss[1].
This forward operator performs
\[y = \sum_{k=1}^K h_k \star (w_k \odot x)\]where \(\star\) is a convolution, \(\odot\) is a Hadamard product, \(w_k\) are multipliers \(h_k\) are filters.
- Parameters:
x (torch.Tensor) – Tensor of size \((B, C, H, W)\)
w (torch.Tensor) – Tensor of size \((b, c, K, H, W)\). \(b \in \{1, B\}\) and \(c \in \{1, C\}\)
h (torch.Tensor) – Tensor of size \((b, c, K, h, w)\). \(b \in \{1, B\}\) and \(c \in \{1, C\}\), \(h\leq H\) and \(w\leq W\).
padding (str) – ( options =
'valid','circular','replicate','reflect'or'constant'). Ifpadding = `'valid'the blurred output is smaller than the image (no padding), otherwise the blurred output has the same size as the image.
- Returns:
torch.Tensorthe blurry image.- Return type:
- References: