3030import numpy as np
3131from collections .abc import Mapping
3232
33-
3433from colour .algebra import (
3534 Extrapolator ,
3635 CubicSplineInterpolator ,
@@ -2757,7 +2756,6 @@ def strict_labels(self, value): # pragma: no cover # noqa: D102
27572756 f"{ __name__ } ._CACHE_RESHAPED_SDS_AND_MSDS"
27582757)
27592758
2760-
27612759TypeSpectralDistribution = TypeVar (
27622760 "TypeSpectralDistribution" , bound = "SpectralDistribution"
27632761)
@@ -2884,6 +2882,7 @@ def reshape_msds(
28842882def sds_and_msds_to_sds (
28852883 sds : Union [
28862884 Sequence [Union [SpectralDistribution , MultiSpectralDistributions ]],
2885+ SpectralDistribution ,
28872886 MultiSpectralDistributions ,
28882887 ]
28892888) -> List [SpectralDistribution ]:
@@ -2929,7 +2928,9 @@ def sds_and_msds_to_sds(
29292928 8
29302929 """
29312930
2932- if isinstance (sds , MultiSpectralDistributions ):
2931+ if isinstance (sds , SpectralDistribution ):
2932+ return sds_and_msds_to_sds ([sds ])
2933+ elif isinstance (sds , MultiSpectralDistributions ):
29332934 sds_converted = sds .to_sds ()
29342935 else :
29352936 sds_converted = []
@@ -2946,6 +2947,7 @@ def sds_and_msds_to_sds(
29462947def sds_and_msds_to_msds (
29472948 sds : Union [
29482949 Sequence [Union [SpectralDistribution , MultiSpectralDistributions ]],
2950+ SpectralDistribution ,
29492951 MultiSpectralDistributions ,
29502952 ]
29512953) -> MultiSpectralDistributions :
@@ -3028,7 +3030,9 @@ def sds_and_msds_to_msds(
30283030 extrapolator_kwargs={...})
30293031 """
30303032
3031- if isinstance (sds , MultiSpectralDistributions ):
3033+ if isinstance (sds , SpectralDistribution ):
3034+ return sds_and_msds_to_msds ([sds ])
3035+ elif isinstance (sds , MultiSpectralDistributions ):
30323036 msds_converted = sds
30333037 else :
30343038 sds_converted = sds_and_msds_to_sds (sds )
0 commit comments