PhysLight Explorer: 카메라 분광 감도
PhysLight Explorer
Drop a spectrum on a real camera's measured R/G/B sensitivities. Same light, different sensors — that's metamerism.
Light source
Planck SPD · drag Kelvin
Colour temperature
5600 KCanon EOS R5
WB linear RGB
R
1.00
G
0.83
B
0.68
1.000, 0.832, 0.684
Sony ILCE-7SM3
WB linear RGB
R
1.00
G
0.86
B
0.71
1.000, 0.855, 0.709
Human (CIE 1931)
What a standard observer would report as the colour of this SPD — cameras rarely match this exactly.
Macbeth ColorChecker under this light
Nested squares like PhysLight's chart: outer = base response, inset = compare. Same patch / same light — colour shifts are metamerism (or camera vs CIE).
Export matrix & 3D LUT
Least-squares 3×3 from Camera A RGB → target on the 24 ColorChecker patches under the current illuminant. Per-patch Δ shows where a linear map fails; the optional .cube adds an IDW residual so on-chart colours land closer than matrix alone. Educational — not a lab camera profile.
0.5914 0.0371 0.15770.2339 0.8134 -0.23380.0475 -0.3003 1.3613
Mean rel residual: 1.6% · worst: 5.6% · EOS R5 → CIE XYZ (rel. Y) · 5600 K blackbody
Per-patch residual (after 3×3)
Heatmap = relative error % on each ColorChecker patch (darker / redder = larger linear-fit miss).
| # | Patch | Rel % | |Δ| mean | ΔR | ΔG | ΔB |
|---|---|---|---|---|---|---|
| 16 | Red | 5.6 | 0.0137 | -0.0145 | -0.0124 | -0.0141 |
| 19 | Cyan | 4.0 | 0.0159 | -0.0124 | -0.0155 | -0.0198 |
| 14 | Blue | 3.1 | 0.0092 | +0.0076 | +0.0085 | +0.0116 |
| 7 | Bluish green | 2.8 | 0.0135 | -0.0111 | -0.0129 | -0.0165 |
| 11 | Purple | 2.6 | 0.0039 | +0.0016 | +0.0040 | +0.0061 |
| 3 | Light skin | 2.3 | 0.0105 | -0.0081 | -0.0104 | -0.0131 |
| 10 | Moderate red | 2.2 | 0.0073 | -0.0051 | -0.0071 | -0.0098 |
| 9 | Purplish blue | 2.0 | 0.0076 | +0.0058 | +0.0070 | +0.0099 |
| 13 | Orange yellow | 1.7 | 0.0092 | +0.0093 | +0.0087 | +0.0095 |
| 4 | Blue sky | 1.6 | 0.0054 | +0.0049 | +0.0051 | +0.0063 |
| 5 | Foliage | 1.4 | 0.0020 | +0.0005 | +0.0022 | +0.0033 |
| 18 | Magenta | 1.2 | 0.0043 | -0.0070 | -0.0035 | -0.0025 |
| 24 | Neutral 3.5 | 1.0 | 0.0010 | +0.0009 | +0.0009 | +0.0013 |
| 25 | Black | 1.0 | 0.0004 | +0.0003 | +0.0003 | +0.0005 |
| 8 | Orange | 0.9 | 0.0039 | +0.0055 | +0.0032 | +0.0031 |
| 23 | Neutral 5 | 0.9 | 0.0020 | +0.0019 | +0.0018 | +0.0024 |
| 22 | Neutral 6.5 | 0.9 | 0.0035 | +0.0033 | +0.0031 | +0.0039 |
| 15 | Green | 0.9 | 0.0022 | -0.0018 | +0.0016 | +0.0034 |
| 21 | Neutral 8 | 0.8 | 0.0050 | +0.0049 | +0.0048 | +0.0053 |
| 2 | Dark skin | 0.7 | 0.0010 | -0.0011 | -0.0010 | -0.0008 |
| 12 | Yellow green | 0.5 | 0.0025 | -0.0015 | +0.0018 | +0.0043 |
| 20 | White | 0.5 | 0.0051 | +0.0055 | +0.0052 | +0.0047 |
| 6 | Blue flower | 0.2 | 0.0010 | -0.0010 | +0.0003 | +0.0018 |
| 17 | Yellow | 0.2 | 0.0014 | -0.0016 | -0.0016 | -0.0009 |
Preview Nuke script
# PhysLight Explorer → Nuke ColorMatrix
# Educational fit from measured camera spectral sensitivities × ColorChecker reflectances.
# Not a production camera profile. Validate before use.
# Fit under 5600 K blackbody; daylight-WB camera RGB → CIE XYZ (rel. Y); ColorChecker Classic (Ohta 1997) 24 patches
ColorMatrix {
matrix {
{ 0.59141067 0.03706286 0.15765617 }
{ 0.23390597 0.81338272 -0.23382498 }
{ 0.04753048 -0.30033174 1.36129747 }
}
name PhysLight_Canon_EOS_R5_to_XYZ
label "EOS R5 → CIE XYZ (rel. Y) · 5600 K blackbody"
}
3D LUT (.cube)
Adobe/IRIDAS lattice (R varies fastest). Domain covers the fit samples (0 → max src). Residual mode is tighter on the chart; matrix-only is an exact linear bake of the 3×3.
Preview .cube header (PhysLight_Canon_EOS_R5_to_XYZ_mat+res_17.cube)
# PhysLight Explorer → 3D LUT (.cube) # Educational fit from measured camera spectral sensitivities × ColorChecker. # Not a production camera profile. Validate before use. # Order: red varies fastest (Adobe/IRIDAS). # Fit under 5600 K blackbody; daylight-WB camera RGB → CIE XYZ (rel. Y); ColorChecker Classic (Ohta 1997) 24 patches # Lattice = 3x3 matrix + IDW residual (fades to matrix off-chart). # LUT_3D_SIZE 17 TITLE "PhysLight_Canon_EOS_R5_to_XYZ_mat+res_17" DOMAIN_MIN 0.00000000 0.00000000 0.00000000 DOMAIN_MAX 1.43082121 1.43082121 1.43082121 LUT_3D_SIZE 17 0.00032601 0.00074218 0.00122484 … # 4913 lattice lines omitted
data/camera), Apache License 2.0. ColorChecker spectra: Ohta (1997) / ISO 17321-1. Curves are repackaged for this tool; see bundled LICENSE/ATTRIBUTION in the repo. Explorer UI © CompStart — educational use, not colour-critical production. AS IS, no warranty.