Modules cbpdndl, cbpdndlmd, prlcnscdl, and onlinecdl¶
These modules includes classes cbpdndl.ConvBPDNDictLearn, prlcnscdl.ConvBPDNDictLearn_Consensus, and onlinecdl.OnlineConvBPDNDictLearn for solving the problem
where \(C\) is the feasible set consisting of filters with unit norm and constrained support.
In addition classes cbpdndlmd.ConvBPDNMaskDictLearn, prlcnscdl.ConvBPDNMaskDcplDictLearn_Consensus, and onlinecdl.OnlineConvBPDNMaskDictLearn support solving
the problem
where \(W\) is a mask array.
On a multi-core host, prlcnscdl.ConvBPDNDictLearn_Consensus and prlcnscdl.ConvBPDNMaskDcplDictLearn_Consensus can be
substantially faster than cbpdndl.ConvBPDNDictLearn and
cbpdndlmd.ConvBPDNMaskDictLearn respectively. For large training datasets, the online CDL classes onlinecdl.OnlineConvBPDNDictLearn and onlinecdl.OnlineConvBPDNMaskDictLearn may be the best option, particularly for use on a host without very large amounts of main memory, and with a GPU (see sporco.cuda package).
Usage examples are available.