bartorch.prox.LocallyLowRank

bartorch.prox.LocallyLowRank#

class bartorch.prox.LocallyLowRank(axes, weight, joint_axes=(), *, block=8, randshift=True, overlapping=False)#

Nuclear norm of blocks over axes (pics -R L).

Parameters:
  • axes (int or tuple of int) – Axes the blocks span, as indices into the image’s shape.

  • weight (float)

  • joint_axes (int or tuple of int, optional) – Axes forming the columns of each block’s matrix.

  • block (int) – Block edge length (pics -b).

  • randshift (bool) – Shift the block grid by a random offset; pics -n turns it off.

  • overlapping (bool) – Fully overlapping blocks instead of a shifted grid (pics -N).

__init__(axes, weight, joint_axes=(), *, block=8, randshift=True, overlapping=False)#

Methods

__init__(axes, weight[, joint_axes, block, ...])

apply_transform(x[, image_shape, mode])

This term's transform applied to x, without making an operator of it.

build(shape)

The BART operator for this term over an image of C-order shape.

prox(x[, gamma, image_shape])

prox_{gamma f}(x), the operator BART's solvers call.

prox_shape(image_shape)

The C-order shape this term's proximal operator works on.

rewind(image_shape)

Put this term's own random generator back to where it started.

transform(image_shape)

The operator BART puts in front of this term's proximal operator.

transform_is_identity(image_shape)

Whether that transform is the identity, as BART decides it.

Attributes

axes

count

joint_axes

kind

weight