30
30
import numpy as np
31
31
from collections .abc import Mapping
32
32
33
-
34
33
from colour .algebra import (
35
34
Extrapolator ,
36
35
CubicSplineInterpolator ,
@@ -2757,7 +2756,6 @@ def strict_labels(self, value): # pragma: no cover # noqa: D102
2757
2756
f"{ __name__ } ._CACHE_RESHAPED_SDS_AND_MSDS"
2758
2757
)
2759
2758
2760
-
2761
2759
TypeSpectralDistribution = TypeVar (
2762
2760
"TypeSpectralDistribution" , bound = "SpectralDistribution"
2763
2761
)
@@ -2884,6 +2882,7 @@ def reshape_msds(
2884
2882
def sds_and_msds_to_sds (
2885
2883
sds : Union [
2886
2884
Sequence [Union [SpectralDistribution , MultiSpectralDistributions ]],
2885
+ SpectralDistribution ,
2887
2886
MultiSpectralDistributions ,
2888
2887
]
2889
2888
) -> List [SpectralDistribution ]:
@@ -2929,7 +2928,9 @@ def sds_and_msds_to_sds(
2929
2928
8
2930
2929
"""
2931
2930
2932
- if isinstance (sds , MultiSpectralDistributions ):
2931
+ if isinstance (sds , SpectralDistribution ):
2932
+ return sds_and_msds_to_sds ([sds ])
2933
+ elif isinstance (sds , MultiSpectralDistributions ):
2933
2934
sds_converted = sds .to_sds ()
2934
2935
else :
2935
2936
sds_converted = []
@@ -2946,6 +2947,7 @@ def sds_and_msds_to_sds(
2946
2947
def sds_and_msds_to_msds (
2947
2948
sds : Union [
2948
2949
Sequence [Union [SpectralDistribution , MultiSpectralDistributions ]],
2950
+ SpectralDistribution ,
2949
2951
MultiSpectralDistributions ,
2950
2952
]
2951
2953
) -> MultiSpectralDistributions :
@@ -3028,7 +3030,9 @@ def sds_and_msds_to_msds(
3028
3030
extrapolator_kwargs={...})
3029
3031
"""
3030
3032
3031
- if isinstance (sds , MultiSpectralDistributions ):
3033
+ if isinstance (sds , SpectralDistribution ):
3034
+ return sds_and_msds_to_msds ([sds ])
3035
+ elif isinstance (sds , MultiSpectralDistributions ):
3032
3036
msds_converted = sds
3033
3037
else :
3034
3038
sds_converted = sds_and_msds_to_sds (sds )
0 commit comments