Skip to content

Commit 45ae2be

Browse files
committed
Merge branch 'feature/v0.4.3' into develop
2 parents e046a9e + abdd88f commit 45ae2be

File tree

6 files changed

+16
-4
lines changed

6 files changed

+16
-4
lines changed

colour/colorimetry/spectrum.py

+8-4
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
import numpy as np
3131
from collections.abc import Mapping
3232

33-
3433
from 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-
27612759
TypeSpectralDistribution = TypeVar(
27622760
"TypeSpectralDistribution", bound="SpectralDistribution"
27632761
)
@@ -2884,6 +2882,7 @@ def reshape_msds(
28842882
def 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(
29462947
def 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)

colour/colorimetry/tests/test_spectrum.py

+3
Original file line numberDiff line numberDiff line change
@@ -1950,6 +1950,7 @@ def test_sds_and_msds_to_sds(self):
19501950
multi_sds_1 = MultiSpectralDistributions(DATA_MULTI_SAMPLE_ABRIDGED)
19511951
multi_sds_2 = MultiSpectralDistributions(DATA_MULTI_SAMPLE_ABRIDGED)
19521952

1953+
self.assertEqual(sds_and_msds_to_sds(sd_1), [sd_1])
19531954
self.assertEqual(
19541955
len(
19551956
sds_and_msds_to_sds(
@@ -1984,6 +1985,8 @@ def test_sds_and_msds_to_msds(self):
19841985
multi_sds_1 = MultiSpectralDistributions(DATA_MULTI_SAMPLE_ABRIDGED)
19851986
multi_sds_2 = MultiSpectralDistributions(DATA_MULTI_SAMPLE_ABRIDGED)
19861987

1988+
self.assertEqual(len(sds_and_msds_to_msds(sd_1)), 6)
1989+
19871990
self.assertEqual(sds_and_msds_to_msds(multi_sds_1), multi_sds_1)
19881991

19891992
multi_sds_0 = sds_and_msds_to_msds([multi_sds_1])

colour/colorimetry/uniformity.py

+1
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
def spectral_uniformity(
4040
sds: Union[
4141
Sequence[Union[SpectralDistribution, MultiSpectralDistributions]],
42+
SpectralDistribution,
4243
MultiSpectralDistributions,
4344
],
4445
use_second_order_derivatives: bool = False,

colour/plotting/colorimetry.py

+1
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,7 @@ def plot_single_sd(
271271
def plot_multi_sds(
272272
sds: Union[
273273
Sequence[Union[SpectralDistribution, MultiSpectralDistributions]],
274+
SpectralDistribution,
274275
MultiSpectralDistributions,
275276
],
276277
plot_kwargs: Optional[Union[dict, List[dict]]] = None,

colour/plotting/diagrams.py

+1
Original file line numberDiff line numberDiff line change
@@ -797,6 +797,7 @@ def plot_chromaticity_diagram_CIE1976UCS(
797797
def plot_sds_in_chromaticity_diagram(
798798
sds: Union[
799799
Sequence[Union[SpectralDistribution, MultiSpectralDistributions]],
800+
SpectralDistribution,
800801
MultiSpectralDistributions,
801802
],
802803
cmfs: Union[

colour/plotting/quality.py

+2
Original file line numberDiff line numberDiff line change
@@ -290,6 +290,7 @@ def plot_single_sd_colour_rendering_index_bars(
290290
def plot_multi_sds_colour_rendering_indexes_bars(
291291
sds: Union[
292292
Sequence[Union[SpectralDistribution, MultiSpectralDistributions]],
293+
SpectralDistribution,
293294
MultiSpectralDistributions,
294295
],
295296
**kwargs: Any,
@@ -428,6 +429,7 @@ def plot_single_sd_colour_quality_scale_bars(
428429
def plot_multi_sds_colour_quality_scales_bars(
429430
sds: Union[
430431
Sequence[Union[SpectralDistribution, MultiSpectralDistributions]],
432+
SpectralDistribution,
431433
MultiSpectralDistributions,
432434
],
433435
method: Union[

0 commit comments

Comments
 (0)