linop.Convolve

Contents

linop.Convolve#

class bartorch.linop.Convolve#

Bases: LinearOperator

Convolution with a fixed kernel, BART’s linop_conv.

Parameters:
  • kernel (tensor) – What to convolve with, with one axis per axis of shape; an axis it has only one of is left alone.

  • shape (tuple of int) – The domain, C order.

  • axes (int or tuple of int) – Which axes to convolve along.

  • mode (str, default='same') – How the ends are treated, under numpy’s names: "wrap" (circular), "same" (the input’s size, truncated), "valid" (only where the kernel fits) or "full" (extended).

  • direction (str, default=None) – "symmetric", "causal" or "anticausal". BART only plans a "valid" or "full" convolution as a causal one, so leaving this out picks causal for those two and symmetric for the others rather than failing inside BART’s planner.

Also has the methods and properties of LinearOperator.