Engineering & Science
Kubelka-Munk Diffuse Reflectance Function F(R) = K/S & Inverse Reflectance
Linearize diffuse reflectance R_inf of opaque paints, textiles, papers, and catalyst powders into absorption-to-scattering ratio F(R_inf) = (1 - R_inf)^2 / (2 * R_inf) = K / S and invert K/S back to R_inf.
Apply Beer-Lambert-like linear concentration math to opaque powders and coatings!
Transmission Beer-Lambert absorbance A = -LOG10(T) works for clear liquids, but fails on opaque paints, dyed fabrics, pharmaceutical tablets, and heterogeneous catalyst powders that scatter light in all directions! Paul Kubelka and Franz Munk (1931) modeled upward and downward diffuse light fluxes inside an infinitely thick ("opaque") layer to show that the remission function F(R_inf) = (1 - R_inf)^2 / (2 * R_inf) equals the ratio of absorption coefficient K to scattering coefficient S (K / S)—which scales LINEARLY with pigment or chromophore concentration!
In computer colorant formulation (tinting paints or matching textile dyes), you sum weighted pigment K_i and S_i contributions to get mixture x = (K / S)_mix, then invert the quadratic Kubelka-Munk equation back to predicted diffuse reflectance: R_inf = 1 + x - SQRT(x^2 + 2*x)! At R_inf = 0.25 (25% reflectance), F(R_inf) = 0.75^2 / 0.50 = 1.125, and inverting x = 1.125 recovers R_inf = 2.125 - SQRT(3.515625) = 0.2500 identically!
| Diffuse Reflectance R_inf (0 to 1) | Kubelka-Munk F(R_inf) = K / S | Inverse Check from K / S | Colorimetry Meaning |
|---|---|---|---|
| R_inf = 0.25 (Deep Tint) | F(0.25) = 0.5625 / 0.50 = 1.1250 | R_inf(1.125) = 0.2500 | Absorption exceeds scattering (K > S) |
| R_inf = 0.50 (Medium Pastel) | F(0.50) = 0.25 / 1.00 = 0.2500 | R_inf(0.25) = 0.5000 | 4.5x lower pigment concentration! |
| R_inf <= 0 or R_inf > 1 | Guarded Physical Bound | Out of [0, 1] Range | "Invalid Reflectance (0 < R <= 1)" |
Kubelka-Munk Remission Function F(R_inf) = (1 - R_inf)^2 / (2 * R_inf)
Validates fractional diffuse reflectance 0 < R_inf <= 1 and computes K / S.
=IF(OR(B2 <= 0, B2 > 1), "Invalid Reflectance (0 < R <= 1)", ROUND(((1 - B2) ^ 2) / (2 * B2), 4))Inverse Kubelka-Munk Predicted Reflectance R_inf from x = K / S
Reconstructs fractional diffuse reflectance 1 + x - SQRT(x^2 + 2*x) from mixture K/S ratio B3.
=IF(B3 < 0, "Invalid K/S Ratio", ROUND(1 + B3 - SQRT((B3 ^ 2) + (2 * B3)), 4))Try the example
Use the original values or change them to test your understanding.