8#include <memory_resource>
9#include <nk/value/span.hpp>
10#include <nk/value/value.hpp>
30std::tuple<Value, Value>
31imhist(
const Value &I,
int n, std::pmr::memory_resource *mr =
nullptr);
48 std::pmr::memory_resource *mr =
nullptr);
68 double low_in,
double high_in,
69 double low_out,
double high_out,
71 std::pmr::memory_resource *mr =
nullptr);
91 const std::string &statistic,
92 std::pmr::memory_resource *mr =
nullptr);
104 std::pmr::memory_resource *mr =
nullptr);
169 std::pmr::memory_resource * mr =
nullptr);
182std::tuple<Value, Value>
192std::tuple<Value, Value>
194 std::pmr::memory_resource *mr =
nullptr);
205std::tuple<Value, Value>
207 std::pmr::memory_resource *mr =
nullptr);
220 std::pmr::memory_resource *mr =
nullptr);
233 std::pmr::memory_resource *mr =
nullptr);
246 std::pmr::memory_resource *mr =
nullptr);
268 Value *hgramOut =
nullptr,
269 std::pmr::memory_resource *mr =
nullptr);
286 std::pmr::memory_resource *mr =
nullptr);
301 std::pmr::memory_resource *mr =
nullptr);
316 std::pmr::memory_resource *mr =
nullptr);
331 std::pmr::memory_resource *mr =
nullptr);
347 std::pmr::memory_resource *mr =
nullptr);
Core MATLAB-compatible multidimensional array and scalar value type.
Value adaptthresh(const Value &I, double sensitivity, int neighborhood, const std::string &statistic, std::pmr::memory_resource *mr=nullptr)
Locally adaptive threshold matrix (T = adaptthresh(I, ...)).
Value histeq(const Value &I, int n, std::pmr::memory_resource *mr=nullptr)
Histogram equalisation (J = histeq(I, n)).
Value imadjust(const Value &I, double low_in, double high_in, double low_out, double high_out, double gamma, std::pmr::memory_resource *mr=nullptr)
Affine intensity remap with optional gamma (J = imadjust(...)).
std::tuple< Value, Value > otsuthresh(const Value &counts, std::pmr::memory_resource *mr=nullptr)
Otsu's threshold from a precomputed histogram ([level, em] = otsuthresh(counts)).
Value imquantize(const Value &I, const Value &levels, std::pmr::memory_resource *mr=nullptr)
Quantise into N+1 classes (L = imquantize(I, levels)).
Value entropy(const Value &I, int nbins, std::pmr::memory_resource *mr=nullptr)
Shannon entropy of the image histogram (H = entropy(I, nbins)).
Value grayslice(const Value &I, int N, std::pmr::memory_resource *mr=nullptr)
Multilevel thresholding into an indexed image, level-count form (L = grayslice(I, N)).
Value imhistmatch(const Value &I, const Value &ref, int nbins, Value *hgramOut=nullptr, std::pmr::memory_resource *mr=nullptr)
Histogram matching to a reference image ([J, hgram] = imhistmatch(I, ref, nbins)).
std::tuple< Value, Value > imhist(const Value &I, int n, std::pmr::memory_resource *mr=nullptr)
Image histogram ([counts, bin_centers] = imhist(I, n)).
Value wcodemat(const Value &X, int nb, const std::string &opt, int absol, std::pmr::memory_resource *mr=nullptr)
Wavelet-display quantisation (Y = wcodemat(X, nb, opt, absol)).
std::tuple< Value, Value > graythresh(const Value &I, std::pmr::memory_resource *mr=nullptr)
Otsu's threshold and effectiveness metric ([level, em] = graythresh(I)).
Value imbinarize(const Value &I, double thresh, std::pmr::memory_resource *mr=nullptr)
Threshold an image (BW = imbinarize(I, thresh)).
Value adapthisteq(const Value &I, const AdaptHistEqOptions &opts={}, std::pmr::memory_resource *mr=nullptr)
Contrast Limited Adaptive Histogram Equalisation (J = adapthisteq(I, opts)).
Value imflatfield(const Value &I, double sigma, const Value &mask, std::pmr::memory_resource *mr=nullptr)
Flat-field correction (J = imflatfield(I, sigma, mask)).
std::tuple< Value, Value > multithresh(const Value &I, int N, std::pmr::memory_resource *mr=nullptr)
N-level Otsu ([thresh, em] = multithresh(I, N)).
Value stretchlim(const Value &I, double low_tol, double high_tol, std::pmr::memory_resource *mr=nullptr)
Stretch limits from saturation tolerances (lim = stretchlim(I, [low_tol, high_tol])).
Parameters for adapthisteq.
double clipLimit
Histogram clip fraction in [0, 1]; 0 disables clipping.
std::string distribution
Target histogram shape:
std::string range
Output intensity range:
int numTilesC
NumTiles along the column axis.
int numTilesR
NumTiles along the row axis.
double alpha
Shape parameter for the rayleigh / exponential distributions.
int nBins
Histogram bin count.