10#include <memory_resource>
11#include <nk/value/span.hpp>
12#include <nk/value/value.hpp>
53Value dctmtx(
double N, std::pmr::memory_resource *mr =
nullptr);
92 std::pmr::memory_resource *mr =
nullptr);
105 std::pmr::memory_resource *mr =
nullptr);
119 std::pmr::memory_resource *mr =
nullptr);
133 std::pmr::memory_resource *mr =
nullptr);
168 std::pmr::memory_resource *mr =
nullptr);
178 std::pmr::memory_resource *mr =
nullptr);
199 double np,
double lo,
double hi,
201 std::pmr::memory_resource *mr =
nullptr);
237 std::pmr::memory_resource *mr =
nullptr);
251 std::pmr::memory_resource *mr =
nullptr);
266 std::pmr::memory_resource *mr =
nullptr);
280std::tuple<Value, Value>
282 std::pmr::memory_resource *mr =
nullptr);
Core MATLAB-compatible multidimensional array and scalar value type.
Value otf2psf(const Value &OTF, Span< const size_t > outsize={}, std::pmr::memory_resource *mr=nullptr)
OTF → PSF (PSF = otf2psf(OTF, outsize)).
Value edgetaper(const Value &I, const Value &PSF, std::pmr::memory_resource *mr=nullptr)
Taper image edges via blur (J = edgetaper(I, PSF)).
std::tuple< Value, Value > phantom(const Value &model_or_E, size_t n, std::pmr::memory_resource *mr=nullptr)
Shepp-Logan computational head phantom ([P, E] = phantom(model_or_E, n)).
Value fftconv2(const Value &A, const Value &B, const std::string &shape, std::pmr::memory_resource *mr=nullptr)
2-D convolution via FFT (Y = fftconv2(A, B, shape)).
Value normxcorr2(const Value &templ, const Value &img, std::pmr::memory_resource *mr=nullptr)
Normalised cross-correlation (C = normxcorr2(template, img)).
DeconvregResult deconvreg(const Value &I, const Value &PSF, double np, double lo, double hi, const Value ®op, std::pmr::memory_resource *mr=nullptr)
Tikhonov-regularized deconvolution ([J, LAGRA] = deconvreg(I, PSF, NP, ...)).
Value dct2(const Value &A, std::pmr::memory_resource *mr=nullptr)
2-D Type-II orthonormal DCT (B = dct2(A)).
Value bestblk(const Value &IMS, double k, std::pmr::memory_resource *mr=nullptr)
Best block size for block-wise processing (siz = bestblk(IMS, k)).
Value checkerboard(size_t side, size_t M, size_t N, std::pmr::memory_resource *mr=nullptr)
Checkerboard test pattern (I = checkerboard(side, M, N)).
Value idct2(const Value &B, std::pmr::memory_resource *mr=nullptr)
Inverse 2-D DCT (A = idct2(B)).
Value integralImage3(const Value &V, std::pmr::memory_resource *mr=nullptr)
3-D summed-volume table (J = integralImage3(V)).
Value deconvwnr(const Value &I, const Value &PSF, double nsr, std::pmr::memory_resource *mr=nullptr)
Wiener deconvolution (J = deconvwnr(I, PSF, NSR) / deconvwnr(I, PSF, NCORR, ICORR)).
Value psf2otf(const Value &PSF, Span< const size_t > outsize={}, std::pmr::memory_resource *mr=nullptr)
PSF → OTF (OTF = psf2otf(PSF, outsize)).
Value integralImage(const Value &I, std::pmr::memory_resource *mr=nullptr)
Summed-area table (J = integralImage(I)).
Value dctmtx(double N, std::pmr::memory_resource *mr=nullptr)
N × N DCT-II transform matrix (D = dctmtx(N)).
Result of regularized deconvolution ([J, LAGRA] = deconvreg(...)).
double lagra
Lagrange multiplier λ.
Value J
Deblurred restored image.