spitschan / SilentSubstitutionToolbox

Toolbox to simulate colorimetric observers for evaluation of photoreceptor isolation
Other
7 stars 5 forks source link

ReceptorIsolate routines: best way to smooth? #16

Closed DavidBrainard closed 6 years ago

DavidBrainard commented 7 years ago

Deep question, in ReceptorIsolate should we be smoothing primaries or spectra? We currently do the latter.

spitschan commented 7 years ago

My take: The answer to this question lies in whether we believe this is a conceptual question or an empirical question.

Conceptually: If we believe it is a desirable property for spectra to be smooth (e.g. because we're more confident that we can measure smoother spectra better), then the smoothness constraint should be enforced in the spectral representation. If we believe there is a virtue in having smoothness in adjacent primaries, then the smoothness constraint should be enforced in primary space. For the latter, I cannot imagine a situation in which that would be the case. Consider, for example, a case in which the primaries 1 through N are not ordered in the basis matrix such that their peak power follows increasing wavelength, then smoothing in primary space seems not a good solution. Or consider the case in which you have a mixture of broadband LEDs and narrowband LEDs, then I'm also not sure that the primaries should be subjected to a smoothness constraint. For the case where you have narrowband primaries wavelength-ordered in the basis matrix such as with the OneLight, where there's a direct mapping of column number to wavelength, either solution could be fine. We certainly know that smoothing in spectra seems to work.

Here's a snippet from email from you from 12/4/2012:

Finally, it looks like we are specifying smoothness in the x domain, not in the spectrum (x is the mirror settings). Maybe that is what we want, but at the moment I think better would be to build C to have the size of the number of wavelength samples and then enforce the constraint on CBx where B is the basis matrix.

So – not a new question.

DavidBrainard commented 7 years ago

I think your summary is correct, where do we want smoothness is a conceptual question. And, I think we don't really know the answer.

If we think that deviations in linearity on the OneLight manifest themselves most clearly when there are sharp transitions in the primaries, then we want smoothness in the primary domain. I think this might be true, but we don't really know for sure.

If we believe that smooth spectra are likely to be more robust with respect to photoreceptor and (for that matter) measurement uncertainty, then we want smoothness in the spectral domain.

In real life, it may be that we want a combination of both.

At the moment, I'd say this is low on our list of issues to think about and address, but we should try to remember to come back to it someday.

From: Manuel Spitschan notifications@github.com Reply-To: spitschan/SilentSubstitutionToolbox reply@reply.github.com Date: Tuesday, August 1, 2017 at 5:44 PM To: spitschan/SilentSubstitutionToolbox SilentSubstitutionToolbox@noreply.github.com Cc: "Brainard, David H" brainard@psych.upenn.edu, Assign assign@noreply.github.com Subject: Re: [spitschan/SilentSubstitutionToolbox] ReceptorIsolate routines: best way to smooth? (#16)

My take: The answer to this question lies in whether we believe this is a conceptual question or an empirical question.

Conceptually: If we believe it is a desirable property for spectra to be smooth (e.g. because we're more confident that we can measure smoother spectra better), then the smoothness constraint should be enforced in the spectral representation. If we believe there is a virtue in having smoothness in adjacent primaries, then the smoothness constraint should be enforced in primary space. For the latter, I cannot imagine a situation in which that would be the case. Consider, for example, a case in which the primaries 1 through N are not ordered in the basis matrix such that their peak power follows increasing wavelength, then smoothing in primary space seems not a good solution. Or consider the case in which you have a mixture of broadband LEDs and narrowband LEDs, then I'm also not sure that the primaries should be subjected to a smoothness constraint. For the case where you have narrowband primaries wavelength-ordered in the basis matrix such as with the OneLight, where there's a direct mapping of column number to wavelength, either solution could be fine. We certainly know that smoothing in spectra seems to work.

Here's a snippet from email from you from 12/4/2012:

Finally, it looks like we are specifying smoothness in the x domain, not in the spectrum (x is the mirror settings). Maybe that is what we want, but at the moment I think better would be to build C to have the size of the number of wavelength samples and then enforce the constraint on CBx where B is the basis matrix.

So – not a new question.

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHubhttps://github.com/spitschan/SilentSubstitutionToolbox/issues/16#issuecomment-319506069, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ABGuZc_1ODTx37Lzui54tr57DOu6VBBZks5sT5wzgaJpZM4OpshA.