colour.spectral_similarity_index#

colour.spectral_similarity_index(sd_test: SpectralDistribution | MultiSpectralDistributions, sd_reference: SpectralDistribution | MultiSpectralDistributions, round_result: bool = True) NDArrayFloat[source]#

Compute the Academy Spectral Similarity Index (SSI) of the specified test spectral distribution or multi-spectral distributions with the specified reference spectral distribution or multi-spectral distributions.

Parameters:
Returns:

Academy Spectral Similarity Index (SSI). When both inputs are colour.SpectralDistribution objects, returns a scalar. When either input is a colour.MultiSpectralDistributions object, returns an array with one SSI value per spectral distribution.

Return type:

numpy.ndarray

References

[TheAoMPAaSciences20]

Examples

>>> from colour import SDS_ILLUMINANTS
>>> sd_test = SDS_ILLUMINANTS["C"]
>>> sd_reference = SDS_ILLUMINANTS["D65"]
>>> spectral_similarity_index(sd_test, sd_reference)
94.0

Computing SSI for multi-spectral distributions:

>>> from colour.colorimetry import sd_single_led, sds_and_msds_to_msds
>>> sd_led_1 = sd_single_led(520, half_spectral_width=45)
>>> sd_led_2 = sd_single_led(540, half_spectral_width=55)
>>> sd_led_3 = sd_single_led(560, half_spectral_width=50)
>>> msds = sds_and_msds_to_msds([sd_led_1, sd_led_2, sd_led_3])
>>> sd_reference = sd_single_led(535, half_spectral_width=48)
>>> spectral_similarity_index(msds, sd_reference)
array([ 52.,  82.,  18.])