Updated 17 Oct 2020
This function transposes a light-field point-spread function.
Y = computeLfPsfTranspose(lfPsf)
Y = computeLfPsfTranspose(___, 'DoKeepAllValues', doKeep)
* `lfPsf` - a 5D array representing the light-field PSF. The first 2 dimensions should represent image space, the third and fourth dimensions should represent object space, and the fifth dimension should represent the z or axial-dimension of object space.
* type: numeric array
* size(lfPsf, 3) and size(lfPsf, 4) must be odd.
## Parameter/value pairs:
* 'DoKeepAllValues' (default: false) - boolean flag to perform the transpose on a padded array, followed by unpadding of the result. This is done such that no values are lost from the original PSF (although if the image-space dimensions have even size, some values will still be lost). If this flag is set to false the output will have a border of zeros of width ((size(lfPsf, [3, 4]) - 1) / 2).
* type: logical scalar
* `lfPsfT` - the transposed light-field PSF.
* type: class(lfPsf)
* size: size(lfPsf)
This is an implementation of the index-switching transpose described by Martin Eberhart in "Efficient algorithm for calculating transposed PSF matrices for 3D light field deconvolution" (2020).
Corban Swain (2020). Light-Field PSF Transpose Computation (https://www.mathworks.com/matlabcentral/fileexchange/81323-light-field-psf-transpose-computation), MATLAB Central File Exchange. Retrieved .
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!