summaryrefslogtreecommitdiff
path: root/test_colorchecker.py
diff options
context:
space:
mode:
Diffstat (limited to 'test_colorchecker.py')
-rw-r--r--test_colorchecker.py49
1 files changed, 8 insertions, 41 deletions
diff --git a/test_colorchecker.py b/test_colorchecker.py
index b0c9688..fc54d84 100644
--- a/test_colorchecker.py
+++ b/test_colorchecker.py
@@ -1,48 +1,15 @@
import numpy as np
from colour import *
-from colour.plotting import *
-from matplotlib import pyplot as plt
-from jakob_hanika import jakob_hanika, model_sd
-
-
-
-illuminant = "D65"
-ill_xy = ILLUMINANTS["CIE 1931 2 Degree Standard Observer"][illuminant]
-ill_sd = SpectralDistribution(ILLUMINANT_SDS[illuminant])
-
-
-
-# Makes a comparison plot with SDs and swatches
-def plot_comparison(target, matched_sd, label, error, ill_sd, show=True):
- if type(target) is SpectralDistribution:
- target_XYZ = sd_to_XYZ(target, illuminant=ill_sd) / 100
- else:
- target_XYZ = target
- target_RGB = np.clip(XYZ_to_sRGB(target_XYZ), 0, 1)
- target_swatch = ColourSwatch(label, target_RGB)
- matched_XYZ = sd_to_XYZ(matched_sd, illuminant=ill_sd) / 100
- matched_RGB = np.clip(XYZ_to_sRGB(matched_XYZ), 0, 1)
- matched_swatch = ColourSwatch("Model", matched_RGB)
-
- axes = plt.subplot(2, 1, 1)
- plt.title(label)
- if type(target) is SpectralDistribution:
- plot_multi_sds([target, matched_sd], axes=axes, standalone=False)
- else:
- plot_single_sd(matched_sd, axes=axes, standalone=False)
-
- axes = plt.subplot(2, 1, 2)
- plt.title("ΔE = %g" % error)
- plot_multi_colour_swatches([target_swatch, matched_swatch],
- standalone=show, axes=axes)
+from gsoc_common import D65, D65_xy, jakob_hanika, model_sd, plot_comparison
+# This demo goes through SDs in a color checker
if __name__ == "__main__":
- # This demo goes through SDs in a color checker
- for name, sd in COLOURCHECKERS_SDS['ColorChecker N Ohta'].items():
- XYZ = sd_to_XYZ(sd, illuminant=ill_sd) / 100
+ for name, sd in COLOURCHECKER_SDS['ColorChecker N Ohta'].items():
+ XYZ = sd_to_XYZ(sd, illuminant=D65) / 100
- print("Color checker: The target is '%s' with X=%g, Y=%g, Z=%g" % (name, *XYZ))
- ccp, error = jakob_hanika(XYZ, ill_sd, ill_xy)
+ print("Color checker: The target is '%s' with X=%g, Y=%g, Z=%g"
+ % (name, *XYZ))
+ ccp, error = jakob_hanika(XYZ, D65, D65_xy)
matched_sd = model_sd(ccp)
- plot_comparison(sd, matched_sd, name, error, ill_sd)
+ plot_comparison(sd, matched_sd, name, error, D65)