pp_kubelka_munk — Kubelka–Munk remission transform¶
Group: Preprocessing · C ABI: n4m_transform_kubelka_munk_*
Description¶
KM = (1 - R)^2 / (2 R), with R guarded by epsilon.
Parameters¶
Name |
Type |
Default |
|---|---|---|
|
|
|
|
|
|
API and bindings¶
C ABI (ABI 2): n4m_transform_kubelka_munk_create · n4m_transform_kubelka_munk_destroy · n4m_transform_kubelka_munk_transform. Use the linked public header for the exact signature, configuration, and result handles.
Python (verified public re-export):
from n4m.transform.signal_conversion import KubelkaMunk
Source signature: KubelkaMunk(is_percent: bool = False, epsilon: float = 1e-10).
R: no current source-verified entry point was found for this catalog method.
MATLAB / Octave: no current source-verified entry point was found for this catalog method.
Explanations¶
Bibliographic source¶
Kubelka & Munk (1931), Ein Beitrag zur Optik der Farbanstriche, Zeitschrift für Technische Physik 12, 593–601; English translation: https://doi.org/10.1002/col.5080010404.
Mathematical principle¶
Fractional reflectance \(R\) is converted element-wise to the infinite-layer remission function \(F(R)=(1-R)^2/(2R)\). Percent input is divided by 100 first and the denominator is guarded by epsilon.
Appropriate uses¶
Linearizing diffuse-reflectance measurements of optically thick scattering samples under the Kubelka–Munk assumptions.
Limits and validation¶
The two-flux, infinite-thickness, homogeneous-sample assumptions often fail. Values near zero explode, and specular reflection or finite thickness invalidates the physical interpretation.
Implementation¶
n4m.transform.signal_conversion.KubelkaMunk wraps n4m_transform_kubelka_munk_*; the guarded formula is in signal_conversion/kubelka_munk.c.
The ABI-2 implementation is the n4m_transform_kubelka_munk_* lifecycle in libn4m.
Sources and provenance¶
https://doi.org/10.1002/col.5080010404; https://github.com/GBeurier/nirs4all-methods/blob/main/cpp/src/core/preprocessing/signal_conversion/kubelka_munk.c
See also: methods index · interactive dashboard