nk 1.0.0
C++ Numerical Computing Runtime
Loading...
Searching...
No Matches
transform.hpp File Reference
#include <memory_resource>
#include <nk/value/span.hpp>
#include <nk/value/value.hpp>
#include <string>
#include <tuple>

Go to the source code of this file.

Classes

struct  nk::image::DeconvregResult
 Result of regularized deconvolution ([J, LAGRA] = deconvreg(...)). More...

Functions

Value nk::image::dct2 (const Value &A, std::pmr::memory_resource *mr=nullptr)
 2-D Type-II orthonormal DCT (B = dct2(A)).
Value nk::image::idct2 (const Value &B, std::pmr::memory_resource *mr=nullptr)
 Inverse 2-D DCT (A = idct2(B)).
Value nk::image::dctmtx (double N, std::pmr::memory_resource *mr=nullptr)
 N × N DCT-II transform matrix (D = dctmtx(N)).
Value nk::image::integralImage (const Value &I, std::pmr::memory_resource *mr=nullptr)
 Summed-area table (J = integralImage(I)).
Value nk::image::integralImage3 (const Value &V, std::pmr::memory_resource *mr=nullptr)
 3-D summed-volume table (J = integralImage3(V)).
Value nk::image::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 nk::image::normxcorr2 (const Value &templ, const Value &img, std::pmr::memory_resource *mr=nullptr)
 Normalised cross-correlation (C = normxcorr2(template, img)).
Value nk::image::psf2otf (const Value &PSF, Span< const size_t > outsize={}, std::pmr::memory_resource *mr=nullptr)
 PSF → OTF (OTF = psf2otf(PSF, outsize)).
Value nk::image::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 nk::image::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 nk::image::deconvwnr (const Value &I, const Value &PSF, const Value &ncorr, const Value &icorr, std::pmr::memory_resource *mr=nullptr)
 Wiener deconvolution using autocorrelation functions (J = deconvwnr(I, PSF, NCORR, ICORR)).
DeconvregResult nk::image::deconvreg (const Value &I, const Value &PSF, double np, double lo, double hi, const Value &regop, std::pmr::memory_resource *mr=nullptr)
 Tikhonov-regularized deconvolution ([J, LAGRA] = deconvreg(I, PSF, NP, ...)).
Value nk::image::edgetaper (const Value &I, const Value &PSF, std::pmr::memory_resource *mr=nullptr)
 Taper image edges via blur (J = edgetaper(I, PSF)).
Value nk::image::bestblk (const Value &IMS, double k, std::pmr::memory_resource *mr=nullptr)
 Best block size for block-wise processing (siz = bestblk(IMS, k)).
Value nk::image::otf2psf (const Value &OTF, Span< const size_t > outsize={}, std::pmr::memory_resource *mr=nullptr)
 OTF → PSF (PSF = otf2psf(OTF, outsize)).
std::tuple< Value, Value > nk::image::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)).