--------------------
Added
~~~~~
- Documentation files and configuration, using Sphinx.
- Implementations for ``autocorr2d`` and ``RealFFTConvolve2D``.
- Benchmarking tool for ReconstructionAlgorithm
- ``n_iter`` parameter for ReconstructionAlgorithm constructor, so don't need to pass to ``apply``.
- Support of 3D reconstruction for Gradient Descent and APGD, with and without Pytorch.
- Option to warm-start reconstruction algorithm with ``initial_est``.
- TrainableReconstructionAlgorithm class inherited from ReconstructionAlgorithm and torch.module for use with pytorch autograd and optimizers.
- Unrolled version of FISTA and ADMM as TrainableReconstructionAlgorithm with learnable parameters.
- ``train_learning_based.py`` script for training unrolled algorithms.
- ``benchmark_recon.py`` script for benchmarking and comparing reconstruction algorithms.
- Added ``reconstruction_error`` to ``ReconstructionAlgorithm`` .
- Added support for npy/npz image in load_image.
Changed
~~~~~~~
- README.md to READ.rst for documentation.
- CONTRIBUTING and CHANGELOG, to .rst for documentation.
- Shorten README to separate contents in different pages of docs.
- Fix typo in GradientDescent class name.
- Updated to Pycsou V2, as ``pip install pycsou`` (Pycsou V1) may not work on some machines.
- PSF are now always stored as 4D Data [depth, width, height, color], Data are stored as [(batch_size), depth, width, height, color] batch_size being optional. Grayscale data has a color axis of length 1 and 2D data has a depth axis of length 1.
- Added batch support to RealFFTConvolve2D.
- ``ReconstructionAlgorithm.update`` now take the number of the current iteration to allow for unrolled algorithms.
- ``ReconstructionAlgorithm.apply`` now takes a reset parameter (default true) to automaticaly call reset.
- Call to reset in ``ReconstructionAlgorithm.__init__`` is now optional (see reset parameter).
- Make sure image estimate is reset when reset() is called, either to zeros/mean data or to self._initial_est if set.
Bugfix
~~~~~~
- Loading grayscale PSFs would cause an dimension error when removing the background pixels.