here a small additional analysis on the upsampling discussion. i am making some statistics on the real spectra and the upsampled spectra, detaching a bit from the the correction problem, and just look at metameric mismatch and where it might be symptomatic.
i’m taking the reflected spectra by D55, normalize by Y, then computing XYZ and upsamling, then comparing the two pools.
i divided the corpus pool of spectra with two lines in the xy chromaticity space, “purples” and “greens”. and i compared also with the full corpus.
first i took the purple pool. here are 100 randomly selected spectra from the otsu pool.
we can see the effect of the near uv and near ir lobes.
below, the mean spectrum show more clearly the overshooting.
from the residual plot we notice that the upsampled purples miss some energy from 450-500 nm and a little from 600-630 nm, and boost below 440 nm and above 660 nm. there is a little boost also 550-580 nm (but i suspect it should partially resolve by flattening the energy losses and normalizing by Y). this means that whatever funky film sensitivities we decide to use, a more realistic upsampling alg should try to compensate for those. the more we go to the uv and ir the less problematic because also film sensitivities will decay (they are just a bit wider than 1931 cmfs).
in other words, fixing those boosts and cuts will make for a metameric upsampled base that on average matches better the real measured corpus (for the purple pool). and from this point of view, compacting the spectra in the visible, thus filling the energy losses is a good idea for a more realistic rendering by default, especially in the near uv side.
things get slightly more complicated if we average the full corpus of spectra.
for full otsu, the energy loss at 450-500 and 600-630 nm is still there, although less strong. skin rendering shows strong energy loss in the same spectral areas. interestingly the far red side of full otsu residuals flattens. forest spectra are more structured and have small loses at 450 and 650 and peaks at 500 and 600 nm, then a gigantic energy pit above 700 that is not really seen by typical daylight sensitivities (of course might be relevant for ir sensitive film).
apparently the energy boost at 500 and 600 nm in the forest do not interfere too much with the current version of hanatos2025 (i.e. easy to compensate the error from previous experiments), possibly because they matches the dips in between RGB sensitivities. this also suggests that we should take extra care in the rendering of the spectra in the region 450-500 and 600-650 nm because it is where film “sees more” the spectra (the 550 center is also important for green of course, but i guess zero errors on cmfs should already help out there).
if the full otsu corpus shows reduced energy losses compared to the purple sub pool, it means that the green side should behave better. below is a similar analysis for the green sub pool.
due to the nature of the parabola-sigmoid of hanatos2025 now we lack energy above 630 nm, and that is the reason of the flattening above on the full otsu corpus. overall the blue-uv side behvaves quite well. greener forest spectra still do their thing.
some considerations:
- the blue side shows more consistent symptoms that the red side and might be a easier/higher priority target
- correction of the green channel from the bandpass+surface experiments was the easiest, so i would also consider targeting the red even if the green might get slightly more problematic
- in my understanding optimizing
hanatos2025 with a window should push the solver in moving the parabolas or the flipped parabolas a bit inside the visible, thus a “good window” might be able to partially solve the energy losses
- forest spectra are lucky because energy boosts ends up in proximity of sensitivity dips
- skin has a structure that is less lucky, and might require special attention, e.g. via the pca spectra surgery you were talking about @hanatos, or biasing the error towards skin realistic rendering allowing errors for “otsu-similar” skin-colored spectra to be
- munsell (but i guess also otsu) were never really meant to be representative outside the 1931 cmfs, buy they still represent typical trends of pigments and real material used for the patches. i could make the analysis more complete with more purple-line-spectra from natural sources of course. anyway color checkers that share the same munsell original science were notoriously used to evaluate film color reproduction