From 5cbb4f0fb467cfe94864f44b45ab03d4bb474116 Mon Sep 17 00:00:00 2001
From: "pre-commit-ci[bot]"
 <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Date: Tue, 3 Dec 2024 00:41:25 +0000
Subject: [PATCH] [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci
---
 pages/colour-science-for-python.ipynb         |   6 +-
 ...r-analysis-tools-in-dcc-applications.ipynb |  96 +++--
 posts/about-reflectance-recovery.ipynb        | 101 ++---
 ...ring-engines-colourspace-agnosticism.ipynb | 335 ++++++++---------
 posts/red-colourspaces-derivation.ipynb       | 349 ++++++++++--------
 5 files changed, 458 insertions(+), 429 deletions(-)

diff --git a/pages/colour-science-for-python.ipynb b/pages/colour-science-for-python.ipynb
index 042dcafd7..dcf631ac8 100644
--- a/pages/colour-science-for-python.ipynb
+++ b/pages/colour-science-for-python.ipynb
@@ -40,7 +40,7 @@
     }
    ],
    "source": [
-    "sd = colour.SDS_ILLUMINANTS.get('FL2')\n",
+    "sd = colour.SDS_ILLUMINANTS.get(\"FL2\")\n",
     "colour.colour_fidelity_index(sd)"
    ]
   },
@@ -68,8 +68,8 @@
     }
    ],
    "source": [
-    "il = colour.CCS_ILLUMINANTS['CIE 1931 2 Degree Standard Observer']['D50']\n",
-    "colour.xy_to_CCT(il, method='Hernandez 1999')"
+    "il = colour.CCS_ILLUMINANTS[\"CIE 1931 2 Degree Standard Observer\"][\"D50\"]\n",
+    "colour.xy_to_CCT(il, method=\"Hernandez 1999\")"
    ]
   },
   {
diff --git a/posts/a-plea-for-colour-analysis-tools-in-dcc-applications.ipynb b/posts/a-plea-for-colour-analysis-tools-in-dcc-applications.ipynb
index 83f911d98..3c8f8faf8 100644
--- a/posts/a-plea-for-colour-analysis-tools-in-dcc-applications.ipynb
+++ b/posts/a-plea-for-colour-analysis-tools-in-dcc-applications.ipynb
@@ -77,27 +77,28 @@
     "    image = ImageInput.open(path)\n",
     "    specification = image.spec()\n",
     "\n",
-    "    return np.array(image.read_image(FLOAT)).reshape((specification.height,\n",
-    "                                                      specification.width,\n",
-    "                                                      specification.nchannels))\n",
+    "    return np.array(image.read_image(FLOAT)).reshape(\n",
+    "        (specification.height, specification.width, specification.nchannels)\n",
+    "    )\n",
     "\n",
     "\n",
-    "def image_plot(image,\n",
-    "               OECF=colour.sRGB_COLOURSPACE.OECF):\n",
+    "def image_plot(image, OECF=colour.sRGB_COLOURSPACE.OECF):\n",
     "    vectorised_oecf = np.vectorize(OECF)\n",
     "    image = np.clip(vectorised_oecf(image), 0, 1)\n",
     "    pylab.imshow(image)\n",
     "\n",
-    "    settings = {'no_ticks': True,\n",
-    "                'bounding_box': [0, 1, 0, 1],\n",
-    "                'bbox_inches': 'tight',\n",
-    "                'pad_inches': 0}\n",
+    "    settings = {\n",
+    "        \"no_ticks\": True,\n",
+    "        \"bounding_box\": [0, 1, 0, 1],\n",
+    "        \"bbox_inches\": \"tight\",\n",
+    "        \"pad_inches\": 0,\n",
+    "    }\n",
     "\n",
     "    aspect(**settings)\n",
     "    display(**settings)\n",
     "\n",
     "\n",
-    "ACES_image = exr_image_as_array('resources/images/SonyF35.StillLife_medium.exr')\n",
+    "ACES_image = exr_image_as_array(\"resources/images/SonyF35.StillLife_medium.exr\")\n",
     "image_plot(ACES_image)"
    ]
   },
@@ -152,10 +153,10 @@
     "\n",
     "message_box('Computing \"ACES RGB\" colourspace to \"sRGB\" colourspace matrix.')\n",
     "\n",
-    "cat = colour.chromatic_adaptation_matrix(colour.xy_to_XYZ(ACES_w),\n",
-    "                                         colour.xy_to_XYZ(sRGB_w))\n",
-    "ACES_RGB_to_sRGB_matrix = np.dot(sRGB_XYZ_to_RGB,\n",
-    "                                 np.dot(cat, ACES_RGB_to_XYZ))\n",
+    "cat = colour.chromatic_adaptation_matrix(\n",
+    "    colour.xy_to_XYZ(ACES_w), colour.xy_to_XYZ(sRGB_w)\n",
+    ")\n",
+    "ACES_RGB_to_sRGB_matrix = np.dot(sRGB_XYZ_to_RGB, np.dot(cat, ACES_RGB_to_XYZ))\n",
     "\n",
     "print(ACES_RGB_to_sRGB_matrix)"
    ]
@@ -187,7 +188,9 @@
    ],
    "source": [
     "ACES_image_shape = ACES_image.shape\n",
-    "sRGB_image = np.array([np.dot(ACES_RGB_to_sRGB_matrix, RGB) for RGB in ACES_image.reshape((-1, 3))])\n",
+    "sRGB_image = np.array(\n",
+    "    [np.dot(ACES_RGB_to_sRGB_matrix, RGB) for RGB in ACES_image.reshape((-1, 3))]\n",
+    ")\n",
     "sRGB_image = sRGB_image.reshape(ACES_image_shape)\n",
     "image_plot(sRGB_image)"
    ]
@@ -240,23 +243,18 @@
     "\n",
     "\n",
     "def ACES_to_xy(RGB):\n",
-    "    return colour.XYZ_to_xy(\n",
-    "                colour.RGB_to_XYZ(RGB,\n",
-    "                                  ACES_w,\n",
-    "                                  ACES_w,\n",
-    "                                  ACES_RGB_to_XYZ))\n",
+    "    return colour.XYZ_to_xy(colour.RGB_to_XYZ(RGB, ACES_w, ACES_w, ACES_RGB_to_XYZ))\n",
     "\n",
     "\n",
     "def image_chromaticities_plot(image, to_xy=ACES_to_xy):\n",
     "    colourspaces_CIE_1931_chromaticity_diagram_plot(\n",
-    "        ['Pointer Gamut', 'sRGB', 'Rec. 2020', 'ACES RGB'],\n",
-    "        standalone=False)\n",
+    "        [\"Pointer Gamut\", \"sRGB\", \"Rec. 2020\", \"ACES RGB\"], standalone=False\n",
+    "    )\n",
     "\n",
-    "    alpha_p, colour_p = 0.85, 'black'\n",
+    "    alpha_p, colour_p = 0.85, \"black\"\n",
     "\n",
     "    xy = np.array([to_xy(RGB) for RGB in image.reshape((-1, 3))])\n",
-    "    pylab.scatter(xy[:, 0], xy[:, 1], alpha=alpha_p / 2, color=colour_p,\n",
-    "                  marker='+')\n",
+    "    pylab.scatter(xy[:, 0], xy[:, 1], alpha=alpha_p / 2, color=colour_p, marker=\"+\")\n",
     "\n",
     "    display(standalone=True)\n",
     "\n",
@@ -296,14 +294,12 @@
     "def sRGB_to_xy(RGB):\n",
     "    RGB_key = tuple(RGB)\n",
     "    if not RGB_key in sRGB_CHROMATICITIES_CACHE:\n",
-    "        sRGB_CHROMATICITIES_CACHE[RGB_key] = (\n",
-    "            colour.XYZ_to_xy(\n",
-    "                colour.RGB_to_XYZ(RGB,\n",
-    "                                  sRGB_w,\n",
-    "                                  sRGB_w,\n",
-    "                                  sRGB_RGB_to_XYZ)))\n",
+    "        sRGB_CHROMATICITIES_CACHE[RGB_key] = colour.XYZ_to_xy(\n",
+    "            colour.RGB_to_XYZ(RGB, sRGB_w, sRGB_w, sRGB_RGB_to_XYZ)\n",
+    "        )\n",
     "    return sRGB_CHROMATICITIES_CACHE[RGB_key]\n",
     "\n",
+    "\n",
     "image_chromaticities_plot(sRGB_image, sRGB_to_xy)"
    ]
   },
@@ -363,9 +359,8 @@
     "    triangulation = Delaunay(points)\n",
     "    image_illegal = np.copy(image).reshape((-1, 3))\n",
     "    legal_colours_mask = np.array(\n",
-    "        [within_boundaries(to_xy(RGB), triangulation)\n",
-    "         for RGB in\n",
-    "         image_illegal])\n",
+    "        [within_boundaries(to_xy(RGB), triangulation) for RGB in image_illegal]\n",
+    "    )\n",
     "    image_illegal[legal_colours_mask] = 0\n",
     "    return image_illegal.reshape(image.shape)\n",
     "\n",
@@ -414,30 +409,25 @@
     "\n",
     "# Computing *sRGB* to *Rec. 2020* colourspace transformation matrix.\n",
     "cat = colour.chromatic_adaptation_matrix(\n",
-    "    colour.xy_to_XYZ(sRGB_w),\n",
-    "    colour.xy_to_XYZ(Rec_2020_w))\n",
-    "Rec_2020_to_sRGB_matrix = (\n",
-    "    np.dot(Rec_2020_XYZ_to_RGB,\n",
-    "           np.dot(cat, sRGB_RGB_to_XYZ)))\n",
+    "    colour.xy_to_XYZ(sRGB_w), colour.xy_to_XYZ(Rec_2020_w)\n",
+    ")\n",
+    "Rec_2020_to_sRGB_matrix = np.dot(Rec_2020_XYZ_to_RGB, np.dot(cat, sRGB_RGB_to_XYZ))\n",
     "\n",
     "\n",
     "def Rec_2020_to_xy(RGB):\n",
     "    return colour.XYZ_to_xy(\n",
-    "        colour.RGB_to_XYZ(RGB,\n",
-    "                          Rec_2020_w,\n",
-    "                          Rec_2020_w,\n",
-    "                          Rec_2020_RGB_to_XYZ))\n",
+    "        colour.RGB_to_XYZ(RGB, Rec_2020_w, Rec_2020_w, Rec_2020_RGB_to_XYZ)\n",
+    "    )\n",
     "\n",
     "\n",
-    "Rec_2020_image = np.array([np.dot(Rec_2020_to_sRGB_matrix, RGB)\n",
-    "                           for RGB in\n",
-    "                           sRGB_image.reshape((-1, 3))])\n",
+    "Rec_2020_image = np.array(\n",
+    "    [np.dot(Rec_2020_to_sRGB_matrix, RGB) for RGB in sRGB_image.reshape((-1, 3))]\n",
+    ")\n",
     "Rec_2020_image = Rec_2020_image.reshape(ACES_image_shape)\n",
     "\n",
-    "Rec_2020_image_illegal = (\n",
-    "    mask_legal_colours(np.copy(Rec_2020_image), \n",
-    "                       Rec_2020_p, \n",
-    "                       Rec_2020_to_xy))\n",
+    "Rec_2020_image_illegal = mask_legal_colours(\n",
+    "    np.copy(Rec_2020_image), Rec_2020_p, Rec_2020_to_xy\n",
+    ")\n",
     "\n",
     "# Scaling the data to make it more obvious.\n",
     "Rec_2020_image_illegal *= 100\n",
@@ -477,7 +467,9 @@
     }
    ],
    "source": [
-    "pointer_gamut_illegal_image = mask_legal_colours(sRGB_image, colour.POINTER_GAMUT_BOUNDARIES)\n",
+    "pointer_gamut_illegal_image = mask_legal_colours(\n",
+    "    sRGB_image, colour.POINTER_GAMUT_BOUNDARIES\n",
+    ")\n",
     "\n",
     "# Scaling the data to make it more obvious.\n",
     "pointer_gamut_illegal_image *= 100\n",
@@ -519,7 +511,7 @@
     }
    ],
    "source": [
-    "cmfs = colour.CMFS.get('CIE 1931 2 Degree Standard Observer')\n",
+    "cmfs = colour.CMFS.get(\"CIE 1931 2 Degree Standard Observer\")\n",
     "spectral_locus_xy = np.array([colour.XYZ_to_xy(x) for x in cmfs.values])\n",
     "\n",
     "spectral_locus_illegal_image = mask_legal_colours(sRGB_image, spectral_locus_xy)\n",
diff --git a/posts/about-reflectance-recovery.ipynb b/posts/about-reflectance-recovery.ipynb
index 89c5a68ab..39f0ba115 100644
--- a/posts/about-reflectance-recovery.ipynb
+++ b/posts/about-reflectance-recovery.ipynb
@@ -2736,19 +2736,17 @@
     "\n",
     "import colour\n",
     "from colour.plotting import *\n",
-    "from colour.recovery.smits1999 import (\n",
-    "    SMITS1999_WHITEPOINT,\n",
-    "    XYZ_to_RGB_Smits1999)\n",
+    "from colour.recovery.smits1999 import SMITS1999_WHITEPOINT, XYZ_to_RGB_Smits1999\n",
     "from colour.utilities.verbose import message_box\n",
     "\n",
-    "TEST_ILLUMINANTS = ('A', 'C', 'D65', 'F1', 'F7', 'F10', 'FL3.1', 'FL3.15')\n",
+    "TEST_ILLUMINANTS = (\"A\", \"C\", \"D65\", \"F1\", \"F7\", \"F10\", \"FL3.1\", \"FL3.15\")\n",
     "\n",
-    "CAT = 'Bradford'\n",
+    "CAT = \"Bradford\"\n",
     "\n",
     "\n",
     "def batch(iterable, k=3):\n",
     "    for i in range(0, len(iterable), k):\n",
-    "        yield iterable[i:i + k]\n",
+    "        yield iterable[i : i + k]\n",
     "\n",
     "\n",
     "def clamp(RGB):\n",
@@ -2756,74 +2754,93 @@
     "\n",
     "\n",
     "def reflectance_recovery_plot(samples):\n",
-    "    message_box('\"{0}\" - Reflectance Recovery'.format(', '.join(samples)))\n",
+    "    message_box('\"{0}\" - Reflectance Recovery'.format(\", \".join(samples)))\n",
     "\n",
     "    spds = []\n",
     "    colour_parameters_data = []\n",
     "    for sample in samples:\n",
-    "        spd_r = colour.COLOURCHECKERS_SPDS['ColorChecker N Ohta'][sample]\n",
-    "        XYZ_r = colour.spectral_to_XYZ(\n",
-    "            spd_r,\n",
-    "            illuminant=colour.ILLUMINANTS_RELATIVE_SPDS['E']) / 100\n",
+    "        spd_r = colour.COLOURCHECKERS_SPDS[\"ColorChecker N Ohta\"][sample]\n",
+    "        XYZ_r = (\n",
+    "            colour.spectral_to_XYZ(\n",
+    "                spd_r, illuminant=colour.ILLUMINANTS_RELATIVE_SPDS[\"E\"]\n",
+    "            )\n",
+    "            / 100\n",
+    "        )\n",
     "        sRGB_r = XYZ_to_RGB_Smits1999(XYZ_r)\n",
     "        Lab_r = colour.XYZ_to_Lab(XYZ_r, SMITS1999_WHITEPOINT)\n",
     "\n",
     "        spd_m = colour.RGB_to_spectral_Smits1999(sRGB_r).align(spd_r.shape)\n",
-    "        XYZ_m = colour.spectral_to_XYZ(\n",
-    "            spd_m,\n",
-    "            illuminant=colour.ILLUMINANTS_RELATIVE_SPDS['E']) / 100\n",
-    "        sRGB_m = colour.XYZ_to_sRGB(XYZ_m,\n",
-    "                                    SMITS1999_WHITEPOINT,\n",
-    "                                    CAT)\n",
+    "        XYZ_m = (\n",
+    "            colour.spectral_to_XYZ(\n",
+    "                spd_m, illuminant=colour.ILLUMINANTS_RELATIVE_SPDS[\"E\"]\n",
+    "            )\n",
+    "            / 100\n",
+    "        )\n",
+    "        sRGB_m = colour.XYZ_to_sRGB(XYZ_m, SMITS1999_WHITEPOINT, CAT)\n",
     "        Lab_m = colour.XYZ_to_Lab(XYZ_m, SMITS1999_WHITEPOINT)\n",
     "\n",
     "        delta_E = colour.delta_E_CIE2000(Lab_r, Lab_m)\n",
     "\n",
-    "        spd_m.name = '{0} - Smits (1999)'.format(sample)\n",
+    "        spd_m.name = \"{0} - Smits (1999)\".format(sample)\n",
     "        spds.append((spd_r, spd_m))\n",
     "\n",
     "        colour_parameters_data.append(\n",
-    "            ('E - Reference',\n",
-    "             spd_r.name,\n",
-    "             [colour.sRGB_COLOURSPACE.transfer_function(c) for c in sRGB_r],\n",
-    "             spd_m.name,\n",
-    "             sRGB_m,\n",
-    "             delta_E))\n",
+    "            (\n",
+    "                \"E - Reference\",\n",
+    "                spd_r.name,\n",
+    "                [colour.sRGB_COLOURSPACE.transfer_function(c) for c in sRGB_r],\n",
+    "                spd_m.name,\n",
+    "                sRGB_m,\n",
+    "                delta_E,\n",
+    "            )\n",
+    "        )\n",
     "\n",
     "        for illuminant in TEST_ILLUMINANTS:\n",
-    "            xy = colour.ILLUMINANTS['cie_2_1931'][illuminant]\n",
-    "            XYZ_r = colour.spectral_to_XYZ(\n",
-    "                spd_r,\n",
-    "                illuminant=colour.ILLUMINANTS_RELATIVE_SPDS[illuminant]) / 100\n",
+    "            xy = colour.ILLUMINANTS[\"cie_2_1931\"][illuminant]\n",
+    "            XYZ_r = (\n",
+    "                colour.spectral_to_XYZ(\n",
+    "                    spd_r, illuminant=colour.ILLUMINANTS_RELATIVE_SPDS[illuminant]\n",
+    "                )\n",
+    "                / 100\n",
+    "            )\n",
     "            sRGB_r = colour.XYZ_to_sRGB(XYZ_r, xy, CAT)\n",
     "            Lab_r = colour.XYZ_to_Lab(XYZ_r, xy)\n",
     "\n",
-    "            XYZ_m = colour.spectral_to_XYZ(\n",
-    "                spd_m,\n",
-    "                illuminant=colour.ILLUMINANTS_RELATIVE_SPDS[illuminant]) / 100\n",
+    "            XYZ_m = (\n",
+    "                colour.spectral_to_XYZ(\n",
+    "                    spd_m, illuminant=colour.ILLUMINANTS_RELATIVE_SPDS[illuminant]\n",
+    "                )\n",
+    "                / 100\n",
+    "            )\n",
     "            sRGB_m = colour.XYZ_to_sRGB(XYZ_m, xy, CAT)\n",
     "            Lab_m = colour.XYZ_to_Lab(XYZ_m, xy)\n",
     "\n",
     "            delta_E = colour.delta_E_CIE2000(Lab_r, Lab_m)\n",
     "\n",
     "            colour_parameters_data.append(\n",
-    "                (illuminant, spd_r.name, sRGB_r, spd_m.name, sRGB_m, delta_E))\n",
+    "                (illuminant, spd_r.name, sRGB_r, spd_m.name, sRGB_m, delta_E)\n",
+    "            )\n",
     "\n",
-    "    multi_spd_plot(chain.from_iterable(spds), legend_location='upper right')\n",
+    "    multi_spd_plot(chain.from_iterable(spds), legend_location=\"upper right\")\n",
     "    for data in colour_parameters_data:\n",
     "        illuminant, name_r, sRGB_r, name_m, sRGB_m, delta_E = data\n",
     "        multi_colour_plot(\n",
-    "            [colour_parameter(name_r,\n",
-    "                              clamp(sRGB_r)),\n",
-    "             colour_parameter(\n",
-    "                 \"Delta E: {0}\\n{1}\".format(np.around(delta_E, 4), name_m),\n",
-    "                 clamp(sRGB_m))],\n",
-    "            title='Illuminant {0}'.format(illuminant),\n",
-    "            text_size=24)\n",
+    "            [\n",
+    "                colour_parameter(name_r, clamp(sRGB_r)),\n",
+    "                colour_parameter(\n",
+    "                    \"Delta E: {0}\\n{1}\".format(np.around(delta_E, 4), name_m),\n",
+    "                    clamp(sRGB_m),\n",
+    "                ),\n",
+    "            ],\n",
+    "            title=\"Illuminant {0}\".format(illuminant),\n",
+    "            text_size=24,\n",
+    "        )\n",
     "\n",
     "\n",
-    "samples = [sample for _, sample in\n",
-    "           sorted(colour.COLOURCHECKER_INDEXES_TO_NAMES_MAPPING.items())]\n",
+    "samples = [\n",
+    "    sample\n",
+    "    for _, sample in sorted(colour.COLOURCHECKER_INDEXES_TO_NAMES_MAPPING.items())\n",
+    "]\n",
     "for samples_batch in batch(samples, 1):\n",
     "    reflectance_recovery_plot(samples_batch)"
    ]
diff --git a/posts/about-rendering-engines-colourspace-agnosticism.ipynb b/posts/about-rendering-engines-colourspace-agnosticism.ipynb
index ba322376c..48db02dcf 100644
--- a/posts/about-rendering-engines-colourspace-agnosticism.ipynb
+++ b/posts/about-rendering-engines-colourspace-agnosticism.ipynb
@@ -110,7 +110,7 @@
     "import colour\n",
     "from colour.utilities.verbose import message_box\n",
     "\n",
-    "name, data, illuminant = colour.COLOURCHECKERS['ColorChecker 2005']\n",
+    "name, data, illuminant = colour.COLOURCHECKERS[\"ColorChecker 2005\"]\n",
     "\n",
     "sRGB_w = colour.sRGB_COLOURSPACE.whitepoint\n",
     "sRGB_XYZ_to_RGB = colour.sRGB_COLOURSPACE.XYZ_to_RGB_matrix\n",
@@ -127,28 +127,22 @@
     "sRGB_rd1 = colour.XYZ_to_sRGB(XYZ_r1, illuminant)\n",
     "\n",
     "# *sRGB* colourspace linear values.\n",
-    "sRGB_r1 = colour.XYZ_to_RGB(XYZ_r1,\n",
-    "                            illuminant,\n",
-    "                            sRGB_w,\n",
-    "                            sRGB_XYZ_to_RGB)\n",
+    "sRGB_r1 = colour.XYZ_to_RGB(XYZ_r1, illuminant, sRGB_w, sRGB_XYZ_to_RGB)\n",
     "\n",
     "# *Adobe RGB 1998* colourspace linear values.\n",
-    "adobe98_r1 = colour.XYZ_to_RGB(XYZ_r1,\n",
-    "                               illuminant,\n",
-    "                               adobe98_w,\n",
-    "                               adobe98_XYZ_to_RGB)\n",
-    "\n",
-    "message_box(('Reference \"dark skin\" \"CIE XYZ\" colourspace tristimulus '\n",
-    "             'values:\\n'\n",
-    "             '\\t{0}\\n'\n",
-    "             '\\n\"sRGB\" colourspace values (OETF):\\n'\n",
-    "             '\\n\\t{1}\\n'\n",
-    "             '\\n\"sRGB\" and \"Adobe RGB 1998\" colourspaces (Linear):\\n'\n",
-    "             '\\tsRGB: {2}\\n\\tAdobe RGB 1998: {3}').format(\n",
-    "    XYZ_r1,\n",
-    "    np.around(sRGB_rd1 * 255),\n",
-    "    sRGB_r1,\n",
-    "    adobe98_r1))\n",
+    "adobe98_r1 = colour.XYZ_to_RGB(XYZ_r1, illuminant, adobe98_w, adobe98_XYZ_to_RGB)\n",
+    "\n",
+    "message_box(\n",
+    "    (\n",
+    "        'Reference \"dark skin\" \"CIE XYZ\" colourspace tristimulus '\n",
+    "        \"values:\\n\"\n",
+    "        \"\\t{0}\\n\"\n",
+    "        '\\n\"sRGB\" colourspace values (OETF):\\n'\n",
+    "        \"\\n\\t{1}\\n\"\n",
+    "        '\\n\"sRGB\" and \"Adobe RGB 1998\" colourspaces (Linear):\\n'\n",
+    "        \"\\tsRGB: {2}\\n\\tAdobe RGB 1998: {3}\"\n",
+    "    ).format(XYZ_r1, np.around(sRGB_rd1 * 255), sRGB_r1, adobe98_r1)\n",
+    ")\n",
     "\n",
     "# Preparing *green* colour in various colourspaces.\n",
     "index, name, x, y, Y = data[13]\n",
@@ -158,28 +152,22 @@
     "sRGB_rd2 = colour.XYZ_to_sRGB(XYZ_r2, illuminant)\n",
     "\n",
     "# *sRGB* colourspace linear values.\n",
-    "sRGB_r2 = colour.XYZ_to_RGB(XYZ_r2,\n",
-    "                            illuminant,\n",
-    "                            sRGB_w,\n",
-    "                            sRGB_XYZ_to_RGB)\n",
+    "sRGB_r2 = colour.XYZ_to_RGB(XYZ_r2, illuminant, sRGB_w, sRGB_XYZ_to_RGB)\n",
     "\n",
     "# *Adobe RGB 1998* colourspace linear values.\n",
-    "adobe98_r2 = colour.XYZ_to_RGB(XYZ_r2,\n",
-    "                               illuminant,\n",
-    "                               adobe98_w,\n",
-    "                               adobe98_XYZ_to_RGB)\n",
-    "\n",
-    "message_box(('Reference \"green\" \"CIE XYZ\" colourspace tristimulus '\n",
-    "             'values:\\n'\n",
-    "             '\\t{0}\\n'\n",
-    "             '\\n\"sRGB\" colourspace values (OETF):\\n'\n",
-    "             '\\t{1}\\n'\n",
-    "             '\\n\"sRGB\" and \"Adobe RGB 1998\" colourspaces (Linear):\\n'\n",
-    "             '\\tsRGB: {2}\\n\\tAdobe RGB 1998: {3}').format(\n",
-    "    XYZ_r2,\n",
-    "    np.around(sRGB_rd2 * 255),\n",
-    "    sRGB_r2,\n",
-    "    adobe98_r2))"
+    "adobe98_r2 = colour.XYZ_to_RGB(XYZ_r2, illuminant, adobe98_w, adobe98_XYZ_to_RGB)\n",
+    "\n",
+    "message_box(\n",
+    "    (\n",
+    "        'Reference \"green\" \"CIE XYZ\" colourspace tristimulus '\n",
+    "        \"values:\\n\"\n",
+    "        \"\\t{0}\\n\"\n",
+    "        '\\n\"sRGB\" colourspace values (OETF):\\n'\n",
+    "        \"\\t{1}\\n\"\n",
+    "        '\\n\"sRGB\" and \"Adobe RGB 1998\" colourspaces (Linear):\\n'\n",
+    "        \"\\tsRGB: {2}\\n\\tAdobe RGB 1998: {3}\"\n",
+    "    ).format(XYZ_r2, np.around(sRGB_rd2 * 255), sRGB_r2, adobe98_r2)\n",
+    ")"
    ]
   },
   {
@@ -222,22 +210,19 @@
     }
    ],
    "source": [
-    "XYZ_sRGB1 = colour.RGB_to_XYZ(sRGB_r1,\n",
-    "                              sRGB_w,\n",
-    "                              illuminant,\n",
-    "                              sRGB_RGB_to_XYZ)\n",
-    "\n",
-    "XYZ_adobe981 = colour.RGB_to_XYZ(adobe98_r1,\n",
-    "                                 adobe98_w,\n",
-    "                                 illuminant,\n",
-    "                                 adobe98_RGB_to_XYZ)\n",
-    "\n",
-    "message_box(('Converting back \"dark skin\" \"CIE XYZ\" colourspace '\n",
-    "             'tristimulus values from \"sRGB\" and \"Adobe RGB 1998\" '\n",
-    "             'colourspaces:\\n'\n",
-    "             '\\tFrom sRGB: {0}\\n\\tFrom Adobe RGB 1998: {1}\\n'\n",
-    "             '\\nEverything looks fine!').format(\n",
-    "    XYZ_sRGB1, XYZ_adobe981))"
+    "XYZ_sRGB1 = colour.RGB_to_XYZ(sRGB_r1, sRGB_w, illuminant, sRGB_RGB_to_XYZ)\n",
+    "\n",
+    "XYZ_adobe981 = colour.RGB_to_XYZ(adobe98_r1, adobe98_w, illuminant, adobe98_RGB_to_XYZ)\n",
+    "\n",
+    "message_box(\n",
+    "    (\n",
+    "        'Converting back \"dark skin\" \"CIE XYZ\" colourspace '\n",
+    "        'tristimulus values from \"sRGB\" and \"Adobe RGB 1998\" '\n",
+    "        \"colourspaces:\\n\"\n",
+    "        \"\\tFrom sRGB: {0}\\n\\tFrom Adobe RGB 1998: {1}\\n\"\n",
+    "        \"\\nEverything looks fine!\"\n",
+    "    ).format(XYZ_sRGB1, XYZ_adobe981)\n",
+    ")"
    ]
   },
   {
@@ -309,34 +294,25 @@
    "source": [
     "k = np.array([500, 500, 500])\n",
     "\n",
-    "sRGB_k = colour.XYZ_to_RGB(k,\n",
-    "                           illuminant,\n",
-    "                           sRGB_w,\n",
-    "                           sRGB_XYZ_to_RGB)\n",
-    "adobe98_k = colour.XYZ_to_RGB(k,\n",
-    "                              illuminant,\n",
-    "                              adobe98_w,\n",
-    "                              adobe98_XYZ_to_RGB)\n",
+    "sRGB_k = colour.XYZ_to_RGB(k, illuminant, sRGB_w, sRGB_XYZ_to_RGB)\n",
+    "adobe98_k = colour.XYZ_to_RGB(k, illuminant, adobe98_w, adobe98_XYZ_to_RGB)\n",
     "\n",
     "sRGB_m = sRGB_r1 * sRGB_r2 * sRGB_r2 * sRGB_r2 * sRGB_k\n",
     "adobe98_m = adobe98_r1 * adobe98_r2 * adobe98_r2 * adobe98_r2 * adobe98_k\n",
     "\n",
-    "XYZ_sRGB_m1 = colour.RGB_to_XYZ(sRGB_m,\n",
-    "                                sRGB_w,\n",
-    "                                sRGB_w,\n",
-    "                                sRGB_RGB_to_XYZ)\n",
-    "\n",
-    "XYZ_adobe98_m1 = colour.RGB_to_XYZ(adobe98_m,\n",
-    "                                   adobe98_w,\n",
-    "                                   adobe98_w,\n",
-    "                                   adobe98_RGB_to_XYZ)\n",
-    "\n",
-    "message_box(('Multiplying \"dark skin\" with \"green\" and converting back to '\n",
-    "             '\"CIE XYZ\" colourspace tristimulus values from \"sRGB\" and '\n",
-    "             '\"Adobe RGB 1998\" colourspaces:\\n'\n",
-    "             '\\tFrom sRGB: {0}\\n\\tFrom Adobe RGB 1998: {1}\\n'\n",
-    "             '\\nHouston? We have a problem!').format(\n",
-    "    XYZ_sRGB_m1, XYZ_adobe98_m1))"
+    "XYZ_sRGB_m1 = colour.RGB_to_XYZ(sRGB_m, sRGB_w, sRGB_w, sRGB_RGB_to_XYZ)\n",
+    "\n",
+    "XYZ_adobe98_m1 = colour.RGB_to_XYZ(adobe98_m, adobe98_w, adobe98_w, adobe98_RGB_to_XYZ)\n",
+    "\n",
+    "message_box(\n",
+    "    (\n",
+    "        'Multiplying \"dark skin\" with \"green\" and converting back to '\n",
+    "        '\"CIE XYZ\" colourspace tristimulus values from \"sRGB\" and '\n",
+    "        '\"Adobe RGB 1998\" colourspaces:\\n'\n",
+    "        \"\\tFrom sRGB: {0}\\n\\tFrom Adobe RGB 1998: {1}\\n\"\n",
+    "        \"\\nHouston? We have a problem!\"\n",
+    "    ).format(XYZ_sRGB_m1, XYZ_adobe98_m1)\n",
+    ")"
    ]
   },
   {
@@ -388,7 +364,9 @@
     "# remaining data should illustrate the effect.\n",
     "sRGB_difference = np.clip(sRGB_difference, 0, 1)\n",
     "\n",
-    "single_colour_plot(colour_parameter('sRGB - Adobe RGB 1998', sRGB_difference), text_size=24)"
+    "single_colour_plot(\n",
+    "    colour_parameter(\"sRGB - Adobe RGB 1998\", sRGB_difference), text_size=24\n",
+    ")"
    ]
   },
   {
@@ -426,22 +404,24 @@
    ],
    "source": [
     "colourspaces_CIE_1931_chromaticity_diagram_plot(\n",
-    "    ['sRGB', 'Adobe RGB 1998'],\n",
-    "standalone=False,\n",
-    "title='\"dark skin\" Colour Computation')\n",
-    "\n",
-    "for name, XYZ in (('\"dark skin\"', XYZ_r1),\n",
-    "                  ('\"dark skin\" * \"green\" - sRGB', XYZ_sRGB_m1),\n",
-    "                  ('\"dark skin\" * \"green\" - Adobe RGB 1998', XYZ_adobe98_m1)):\n",
-    "    \n",
+    "    [\"sRGB\", \"Adobe RGB 1998\"], standalone=False, title='\"dark skin\" Colour Computation'\n",
+    ")\n",
+    "\n",
+    "for name, XYZ in (\n",
+    "    ('\"dark skin\"', XYZ_r1),\n",
+    "    ('\"dark skin\" * \"green\" - sRGB', XYZ_sRGB_m1),\n",
+    "    ('\"dark skin\" * \"green\" - Adobe RGB 1998', XYZ_adobe98_m1),\n",
+    "):\n",
     "    xy = colour.XYZ_to_xy(XYZ)\n",
     "\n",
-    "    pylab.plot(xy[0], xy[1], 'o', color='white')\n",
-    "    pylab.annotate(name,\n",
-    "                   xy=xy,\n",
-    "                   xytext=(50, 30),\n",
-    "                   textcoords='offset points',\n",
-    "                   arrowprops=dict(arrowstyle='->', connectionstyle='arc3, rad=0.2'))\n",
+    "    pylab.plot(xy[0], xy[1], \"o\", color=\"white\")\n",
+    "    pylab.annotate(\n",
+    "        name,\n",
+    "        xy=xy,\n",
+    "        xytext=(50, 30),\n",
+    "        textcoords=\"offset points\",\n",
+    "        arrowprops=dict(arrowstyle=\"->\", connectionstyle=\"arc3, rad=0.2\"),\n",
+    "    )\n",
     "\n",
     "display(standalone=True)"
    ]
@@ -561,40 +541,24 @@
     "aces_XYZ_to_RGB = colour.ACES_RGB_COLOURSPACE.XYZ_to_RGB_matrix\n",
     "aces_RGB_to_XYZ = colour.ACES_RGB_COLOURSPACE.RGB_to_XYZ_matrix\n",
     "\n",
-    "aces_r2 = colour.XYZ_to_RGB(XYZ_r2,\n",
-    "                            illuminant,\n",
-    "                            aces_w,\n",
-    "                            aces_XYZ_to_RGB)\n",
-    "aces_k = colour.XYZ_to_RGB(k,\n",
-    "                           illuminant,\n",
-    "                           aces_w,\n",
-    "                           aces_XYZ_to_RGB)\n",
+    "aces_r2 = colour.XYZ_to_RGB(XYZ_r2, illuminant, aces_w, aces_XYZ_to_RGB)\n",
+    "aces_k = colour.XYZ_to_RGB(k, illuminant, aces_w, aces_XYZ_to_RGB)\n",
     "\n",
     "XYZs_m = []\n",
     "for index, name, x, y, Y in data:\n",
     "    xyY = np.array([x, y, Y])\n",
     "    sRGB_r1 = colour.XYZ_to_RGB(\n",
-    "        colour.xyY_to_XYZ(xyY),\n",
-    "        illuminant,\n",
-    "        sRGB_w,\n",
-    "        sRGB_XYZ_to_RGB)\n",
+    "        colour.xyY_to_XYZ(xyY), illuminant, sRGB_w, sRGB_XYZ_to_RGB\n",
+    "    )\n",
     "    sRGB_m = sRGB_r1 * sRGB_r2 * sRGB_r2 * sRGB_r2 * sRGB_k\n",
     "\n",
     "    aces_r1 = colour.XYZ_to_RGB(\n",
-    "        colour.xyY_to_XYZ(xyY),\n",
-    "        illuminant,\n",
-    "        aces_w,\n",
-    "        aces_XYZ_to_RGB)\n",
+    "        colour.xyY_to_XYZ(xyY), illuminant, aces_w, aces_XYZ_to_RGB\n",
+    "    )\n",
     "    aces_m = aces_r1 * aces_r2 * aces_r2 * aces_r2 * aces_k\n",
-    "    \n",
-    "    XYZ_sRGB_m1 = colour.RGB_to_XYZ(sRGB_m,\n",
-    "                                    sRGB_w,\n",
-    "                                    sRGB_w,\n",
-    "                                    sRGB_RGB_to_XYZ)\n",
-    "    XYZ_aces_m1 = colour.RGB_to_XYZ(aces_m,\n",
-    "                                    aces_w,\n",
-    "                                    aces_w,\n",
-    "                                    aces_RGB_to_XYZ)\n",
+    "\n",
+    "    XYZ_sRGB_m1 = colour.RGB_to_XYZ(sRGB_m, sRGB_w, sRGB_w, sRGB_RGB_to_XYZ)\n",
+    "    XYZ_aces_m1 = colour.RGB_to_XYZ(aces_m, aces_w, aces_w, aces_RGB_to_XYZ)\n",
     "    XYZs_m.append((XYZ_sRGB_m1, XYZ_aces_m1))\n",
     "\n",
     "pprint(XYZs_m)"
@@ -761,39 +725,25 @@
     "rec2020_XYZ_to_RGB = colour.REC_2020_COLOURSPACE.XYZ_to_RGB_matrix\n",
     "rec2020_RGB_to_XYZ = colour.REC_2020_COLOURSPACE.RGB_to_XYZ_matrix\n",
     "\n",
-    "rec2020_r2 = colour.XYZ_to_RGB(XYZ_r2,\n",
-    "                               illuminant,\n",
-    "                               rec2020_w,\n",
-    "                               rec2020_XYZ_to_RGB)\n",
-    "rec2020_k = colour.XYZ_to_RGB(k,\n",
-    "                              illuminant,\n",
-    "                              aces_w,\n",
-    "                              aces_XYZ_to_RGB)\n",
+    "rec2020_r2 = colour.XYZ_to_RGB(XYZ_r2, illuminant, rec2020_w, rec2020_XYZ_to_RGB)\n",
+    "rec2020_k = colour.XYZ_to_RGB(k, illuminant, aces_w, aces_XYZ_to_RGB)\n",
     "XYZs_m = []\n",
     "for index, name, x, y, Y in data:\n",
     "    xyY = np.array([x, y, Y])\n",
     "    sRGB_r1 = colour.XYZ_to_RGB(\n",
-    "        colour.xyY_to_XYZ(xyY),\n",
-    "        illuminant,\n",
-    "        sRGB_w,\n",
-    "        sRGB_XYZ_to_RGB)\n",
+    "        colour.xyY_to_XYZ(xyY), illuminant, sRGB_w, sRGB_XYZ_to_RGB\n",
+    "    )\n",
     "    sRGB_m = sRGB_r1 * sRGB_r2 * sRGB_r2 * sRGB_r2 * sRGB_k\n",
     "\n",
     "    rec2020_r1 = colour.XYZ_to_RGB(\n",
-    "        colour.xyY_to_XYZ(xyY),\n",
-    "        illuminant,\n",
-    "        rec2020_w,\n",
-    "        rec2020_XYZ_to_RGB)\n",
+    "        colour.xyY_to_XYZ(xyY), illuminant, rec2020_w, rec2020_XYZ_to_RGB\n",
+    "    )\n",
     "    rec2020_m = rec2020_r1 * rec2020_r2 * rec2020_r2 * rec2020_r2 * rec2020_k\n",
     "\n",
-    "    XYZ_sRGB_m1 = colour.RGB_to_XYZ(sRGB_m,\n",
-    "                                    sRGB_w,\n",
-    "                                    sRGB_w,\n",
-    "                                    sRGB_RGB_to_XYZ)\n",
-    "    XYZ_rec2020_m1 = colour.RGB_to_XYZ(rec2020_m,\n",
-    "                                       rec2020_w,\n",
-    "                                       rec2020_w,\n",
-    "                                       rec2020_RGB_to_XYZ)\n",
+    "    XYZ_sRGB_m1 = colour.RGB_to_XYZ(sRGB_m, sRGB_w, sRGB_w, sRGB_RGB_to_XYZ)\n",
+    "    XYZ_rec2020_m1 = colour.RGB_to_XYZ(\n",
+    "        rec2020_m, rec2020_w, rec2020_w, rec2020_RGB_to_XYZ\n",
+    "    )\n",
     "    XYZs_m.append((XYZ_sRGB_m1, XYZ_rec2020_m1))\n",
     "\n",
     "pprint(XYZs_m)"
@@ -988,17 +938,19 @@
     "X_sRGB = lambda x: 0.41238656 * x + 0.35759149 * x + 0.18045049 * x\n",
     "X_ACES = lambda x: 0.9525524 * x + 0.00009368 * x\n",
     "\n",
-    "pylab.plot(k, tuple(map(X_sRGB, k)), 'o-', color='red', label='X - sRGB')\n",
-    "pylab.plot(k, tuple(map(X_ACES, k)), 'o-', color='green', label='X - ACES RGB')\n",
-    "\n",
-    "settings = {'title': 'sRGB - ACES RGB - Uniformly Spaced Incrementing RGB',\n",
-    "            'x_label': 'k',\n",
-    "            'y_label': 'X',\n",
-    "            'x_tighten': True,\n",
-    "            'legend': True,\n",
-    "            'legend_location': 'upper left',\n",
-    "            'x_ticker': True,\n",
-    "            'y_ticker': True}\n",
+    "pylab.plot(k, tuple(map(X_sRGB, k)), \"o-\", color=\"red\", label=\"X - sRGB\")\n",
+    "pylab.plot(k, tuple(map(X_ACES, k)), \"o-\", color=\"green\", label=\"X - ACES RGB\")\n",
+    "\n",
+    "settings = {\n",
+    "    \"title\": \"sRGB - ACES RGB - Uniformly Spaced Incrementing RGB\",\n",
+    "    \"x_label\": \"k\",\n",
+    "    \"y_label\": \"X\",\n",
+    "    \"x_tighten\": True,\n",
+    "    \"legend\": True,\n",
+    "    \"legend_location\": \"upper left\",\n",
+    "    \"x_ticker\": True,\n",
+    "    \"y_ticker\": True,\n",
+    "}\n",
     "decorate(**settings)\n",
     "display(**settings)"
    ]
@@ -1041,17 +993,19 @@
     "X_sRGB = lambda x: 0.41238656 * x\n",
     "X_ACES = lambda x: 0.9525524 * x\n",
     "\n",
-    "pylab.plot(k, tuple(map(X_sRGB, k)), 'o-', color='red', label='X - sRGB')\n",
-    "pylab.plot(k, tuple(map(X_ACES, k)), 'o-', color='green', label='X - ACES RGB')\n",
-    "\n",
-    "settings = {'title': 'sRGB - ACES RGB - Uniformly Spaced Incrementing R',\n",
-    "            'x_label': 'k',\n",
-    "            'y_label': 'X',\n",
-    "            'x_tighten': True,\n",
-    "            'legend': True,\n",
-    "            'legend_location': 'upper left',\n",
-    "            'x_ticker': True,\n",
-    "            'y_ticker': True}\n",
+    "pylab.plot(k, tuple(map(X_sRGB, k)), \"o-\", color=\"red\", label=\"X - sRGB\")\n",
+    "pylab.plot(k, tuple(map(X_ACES, k)), \"o-\", color=\"green\", label=\"X - ACES RGB\")\n",
+    "\n",
+    "settings = {\n",
+    "    \"title\": \"sRGB - ACES RGB - Uniformly Spaced Incrementing R\",\n",
+    "    \"x_label\": \"k\",\n",
+    "    \"y_label\": \"X\",\n",
+    "    \"x_tighten\": True,\n",
+    "    \"legend\": True,\n",
+    "    \"legend_location\": \"upper left\",\n",
+    "    \"x_ticker\": True,\n",
+    "    \"y_ticker\": True,\n",
+    "}\n",
     "decorate(**settings)\n",
     "display(**settings)"
    ]
@@ -1092,16 +1046,30 @@
     }
    ],
    "source": [
-    "pylab.plot(X_sRGB(0.172906) * X_sRGB(0.05440562), 0, 'o', color='red', label='X - \"dark skin\" * \"green\" sRGB')\n",
-    "pylab.plot(X_ACES(0.11758989) * X_ACES(0.15129818), 0, 'o', color='green', label='X - \"dark skin\" * \"green\" ACES RGB')\n",
-    "\n",
-    "settings = {'title': 'sRGB - ACES RGB - X Value - \"dark skin\" * \"green\"',\n",
-    "            'x_label': 'X Value',\n",
-    "            'x_tighten': True,\n",
-    "            'legend': True,\n",
-    "            'legend_location': 'upper left',\n",
-    "            'x_ticker': True,\n",
-    "            'y_ticker': True}\n",
+    "pylab.plot(\n",
+    "    X_sRGB(0.172906) * X_sRGB(0.05440562),\n",
+    "    0,\n",
+    "    \"o\",\n",
+    "    color=\"red\",\n",
+    "    label='X - \"dark skin\" * \"green\" sRGB',\n",
+    ")\n",
+    "pylab.plot(\n",
+    "    X_ACES(0.11758989) * X_ACES(0.15129818),\n",
+    "    0,\n",
+    "    \"o\",\n",
+    "    color=\"green\",\n",
+    "    label='X - \"dark skin\" * \"green\" ACES RGB',\n",
+    ")\n",
+    "\n",
+    "settings = {\n",
+    "    \"title\": 'sRGB - ACES RGB - X Value - \"dark skin\" * \"green\"',\n",
+    "    \"x_label\": \"X Value\",\n",
+    "    \"x_tighten\": True,\n",
+    "    \"legend\": True,\n",
+    "    \"legend_location\": \"upper left\",\n",
+    "    \"x_ticker\": True,\n",
+    "    \"y_ticker\": True,\n",
+    "}\n",
     "decorate(**settings)\n",
     "display(**settings)"
    ]
@@ -1141,7 +1109,8 @@
    ],
    "source": [
     "colourspaces_CIE_1931_chromaticity_diagram_plot(\n",
-    "    ['Pointer Gamut', 'sRGB', 'Rec. 2020', 'ACES RGB'])"
+    "    [\"Pointer Gamut\", \"sRGB\", \"Rec. 2020\", \"ACES RGB\"]\n",
+    ")"
    ]
   },
   {
@@ -1199,10 +1168,7 @@
    },
    "outputs": [],
    "source": [
-    "XYZ_sRGB1 = colour.RGB_to_XYZ(sRGB_r1,\n",
-    "                              sRGB_w,\n",
-    "                              illuminant,\n",
-    "                              sRGB_RGB_to_XYZ)"
+    "XYZ_sRGB1 = colour.RGB_to_XYZ(sRGB_r1, sRGB_w, illuminant, sRGB_RGB_to_XYZ)"
    ]
   },
   {
@@ -1220,10 +1186,7 @@
    },
    "outputs": [],
    "source": [
-    "XYZ_sRGB_m1 = colour.RGB_to_XYZ(sRGB_m,\n",
-    "                                sRGB_w,\n",
-    "                                illuminant,\n",
-    "                                sRGB_RGB_to_XYZ)"
+    "XYZ_sRGB_m1 = colour.RGB_to_XYZ(sRGB_m, sRGB_w, illuminant, sRGB_RGB_to_XYZ)"
    ]
   },
   {
diff --git a/posts/red-colourspaces-derivation.ipynb b/posts/red-colourspaces-derivation.ipynb
index 766478a09..a7731e3da 100644
--- a/posts/red-colourspaces-derivation.ipynb
+++ b/posts/red-colourspaces-derivation.ipynb
@@ -73,10 +73,11 @@
     "\n",
     "warnings.simplefilter(\"ignore\")\n",
     "\n",
-    "# Plotting a few selected *RGB* colourspaces in \n",
+    "# Plotting a few selected *RGB* colourspaces in\n",
     "# *CIE 1931 Chromaticity Diagram*.\n",
     "RGB_colourspaces_CIE_1931_chromaticity_diagram_plot(\n",
-    "    ['ACES2065-1', 'ACEScg', 'Rec. 2020', 'Rec. 709'])"
+    "    [\"ACES2065-1\", \"ACEScg\", \"Rec. 2020\", \"Rec. 709\"]\n",
+    ")"
    ]
   },
   {
@@ -188,13 +189,17 @@
    ],
    "source": [
     "# Computing *ACES2065-1* primaries and whitepoint.\n",
-    "npm = np.array([[9.52552396e-01, 0.00000000e+00, 9.36786317e-05],\n",
-    "                [3.43966450e-01, 7.28166097e-01, -7.21325464e-02],\n",
-    "                [0.00000000e+00, 0.00000000e+00, 1.00882518e+00]])\n",
+    "npm = np.array(\n",
+    "    [\n",
+    "        [9.52552396e-01, 0.00000000e00, 9.36786317e-05],\n",
+    "        [3.43966450e-01, 7.28166097e-01, -7.21325464e-02],\n",
+    "        [0.00000000e00, 0.00000000e00, 1.00882518e00],\n",
+    "    ]\n",
+    ")\n",
     "\n",
     "print(colour.primaries_whitepoint(npm))\n",
-    "print(colour.RGB_COLOURSPACES['ACES2065-1'].primaries)\n",
-    "print(colour.RGB_COLOURSPACES['ACES2065-1'].whitepoint)"
+    "print(colour.RGB_COLOURSPACES[\"ACES2065-1\"].primaries)\n",
+    "print(colour.RGB_COLOURSPACES[\"ACES2065-1\"].whitepoint)"
    ]
   },
   {
@@ -278,52 +283,75 @@
    ],
    "source": [
     "DRAGONCOLOR_TO_ACES_2065_1 = np.array(\n",
-    "    [[0.532279, 0.376648, 0.091073],\n",
-    "     [0.046344, 0.974513, -0.020860],\n",
-    "     [-0.053976, -0.000320, 1.054267]])\n",
+    "    [\n",
+    "        [0.532279, 0.376648, 0.091073],\n",
+    "        [0.046344, 0.974513, -0.020860],\n",
+    "        [-0.053976, -0.000320, 1.054267],\n",
+    "    ]\n",
+    ")\n",
     "\n",
     "DRAGONCOLOR2_TO_ACES_2065_1 = np.array(\n",
-    "    [[0.468452, 0.331484, 0.200064],\n",
-    "     [0.040787, 0.857658, 0.101553],\n",
-    "     [-0.047504, -0.000282, 1.047756]])\n",
+    "    [\n",
+    "        [0.468452, 0.331484, 0.200064],\n",
+    "        [0.040787, 0.857658, 0.101553],\n",
+    "        [-0.047504, -0.000282, 1.047756],\n",
+    "    ]\n",
+    ")\n",
     "\n",
     "REDCOLOR_TO_ACES_2065_1 = np.array(\n",
-    "    [[0.451464, 0.388498, 0.160038],\n",
-    "     [0.062716, 0.866790, 0.070491],\n",
-    "     [-0.017541, 0.086921, 0.930590]])\n",
+    "    [\n",
+    "        [0.451464, 0.388498, 0.160038],\n",
+    "        [0.062716, 0.866790, 0.070491],\n",
+    "        [-0.017541, 0.086921, 0.930590],\n",
+    "    ]\n",
+    ")\n",
     "\n",
     "REDCOLOR2_TO_ACES_2065_1 = np.array(\n",
-    "    [[0.480997, 0.402289, 0.116714],\n",
-    "     [-0.004938, 1.000154, 0.004781],\n",
-    "     [-0.105257, 0.025320, 1.079907]])\n",
+    "    [\n",
+    "        [0.480997, 0.402289, 0.116714],\n",
+    "        [-0.004938, 1.000154, 0.004781],\n",
+    "        [-0.105257, 0.025320, 1.079907],\n",
+    "    ]\n",
+    ")\n",
     "\n",
     "REDCOLOR3_TO_ACES_2065_1 = np.array(\n",
-    "    [[0.512136, 0.360370, 0.127494],\n",
-    "     [0.070377, 0.903884, 0.025737],\n",
-    "     [-0.020824, 0.017671, 1.003123]])\n",
+    "    [\n",
+    "        [0.512136, 0.360370, 0.127494],\n",
+    "        [0.070377, 0.903884, 0.025737],\n",
+    "        [-0.020824, 0.017671, 1.003123],\n",
+    "    ]\n",
+    ")\n",
     "\n",
     "REDCOLOR4_TO_ACES_2065_1 = np.array(\n",
-    "    [[0.474202, 0.333677, 0.192121],\n",
-    "     [0.065164, 0.836932, 0.097901],\n",
-    "     [-0.019281, 0.016362, 1.002889]])\n",
+    "    [\n",
+    "        [0.474202, 0.333677, 0.192121],\n",
+    "        [0.065164, 0.836932, 0.097901],\n",
+    "        [-0.019281, 0.016362, 1.002889],\n",
+    "    ]\n",
+    ")\n",
     "\n",
     "ACES2065_1_TO_sRGB = np.array(\n",
-    "    [[2.5217167, -1.1341655, -0.3875512],\n",
-    "     [-0.276476, 1.3727113, -0.0962348],\n",
-    "     [-0.015382, -0.1529940, 1.1683768]])\n",
+    "    [\n",
+    "        [2.5217167, -1.1341655, -0.3875512],\n",
+    "        [-0.276476, 1.3727113, -0.0962348],\n",
+    "        [-0.015382, -0.1529940, 1.1683768],\n",
+    "    ]\n",
+    ")\n",
     "\n",
     "RED_TO_ACES_2065_1_MATRICES = {\n",
-    "    'DRAGONcolor': DRAGONCOLOR_TO_ACES_2065_1,\n",
-    "    'DRAGONcolor2': DRAGONCOLOR2_TO_ACES_2065_1,\n",
-    "    'REDcolor': REDCOLOR_TO_ACES_2065_1,\n",
-    "    'REDcolor2': REDCOLOR2_TO_ACES_2065_1,\n",
-    "    'REDcolor3': REDCOLOR3_TO_ACES_2065_1,\n",
-    "    'REDcolor4': REDCOLOR4_TO_ACES_2065_1}\n",
+    "    \"DRAGONcolor\": DRAGONCOLOR_TO_ACES_2065_1,\n",
+    "    \"DRAGONcolor2\": DRAGONCOLOR2_TO_ACES_2065_1,\n",
+    "    \"REDcolor\": REDCOLOR_TO_ACES_2065_1,\n",
+    "    \"REDcolor2\": REDCOLOR2_TO_ACES_2065_1,\n",
+    "    \"REDcolor3\": REDCOLOR3_TO_ACES_2065_1,\n",
+    "    \"REDcolor4\": REDCOLOR4_TO_ACES_2065_1,\n",
+    "}\n",
     "\n",
     "\n",
-    "def RGB_to_RGB_matrix_to_normalised_primary_matrix(RGB_to_RGB_matrix,\n",
-    "                                                   XYZ_to_RGB_matrix):\n",
-    "    M = np.einsum('...ij,...jk->...ik', RGB_to_RGB_matrix, XYZ_to_RGB_matrix)\n",
+    "def RGB_to_RGB_matrix_to_normalised_primary_matrix(\n",
+    "    RGB_to_RGB_matrix, XYZ_to_RGB_matrix\n",
+    "):\n",
+    "    M = np.einsum(\"...ij,...jk->...ik\", RGB_to_RGB_matrix, XYZ_to_RGB_matrix)\n",
     "\n",
     "    M = np.linalg.inv(M)\n",
     "\n",
@@ -335,7 +363,8 @@
     "    for name, RGB_to_RGB_matrix in RED_TO_ACES_2065_1_MATRICES.items():\n",
     "        NPM = RGB_to_RGB_matrix_to_normalised_primary_matrix(\n",
     "            np.linalg.inv(RGB_to_RGB_matrix),\n",
-    "            colour.RGB_COLOURSPACES['ACES2065-1'].XYZ_to_RGB_matrix)\n",
+    "            colour.RGB_COLOURSPACES[\"ACES2065-1\"].XYZ_to_RGB_matrix,\n",
+    "        )\n",
     "\n",
     "        P, W = colour.primaries_whitepoint(NPM)\n",
     "\n",
@@ -343,30 +372,31 @@
     "            name,\n",
     "            primaries=P,\n",
     "            whitepoint=W,\n",
-    "            illuminant='D60',\n",
+    "            illuminant=\"D60\",\n",
     "            RGB_to_XYZ_matrix=NPM,\n",
-    "            XYZ_to_RGB_matrix=np.linalg.inv(NPM))\n",
+    "            XYZ_to_RGB_matrix=np.linalg.inv(NPM),\n",
+    "        )\n",
     "    return RED_colourspaces\n",
     "\n",
     "\n",
     "RED_COLOURSPACES = RED_colourspaces_derivation()\n",
     "colour.RGB_COLOURSPACES.update(RED_COLOURSPACES)\n",
     "\n",
-    "# Computing a derived *sRGB* colourspace as methodology \n",
+    "# Computing a derived *sRGB* colourspace as methodology\n",
     "# validation. Notice that the derived primaries are not exactly\n",
-    "# the same, which is likely to be the result of the input \n",
+    "# the same, which is likely to be the result of the input\n",
     "# matrices being rounded and chromatic adaptation precision.\n",
     "NPM = RGB_to_RGB_matrix_to_normalised_primary_matrix(\n",
-    "    ACES2065_1_TO_sRGB,\n",
-    "    colour.RGB_COLOURSPACES['ACES2065-1'].XYZ_to_RGB_matrix)\n",
+    "    ACES2065_1_TO_sRGB, colour.RGB_COLOURSPACES[\"ACES2065-1\"].XYZ_to_RGB_matrix\n",
+    ")\n",
     "P, W = colour.primaries_whitepoint(NPM)\n",
-    "colour.RGB_COLOURSPACES['sRGB Derived'] = colour.RGB_Colourspace(\n",
-    "    'sRGB Derived',\n",
-    "    primaries=P,\n",
-    "    whitepoint=W)\n",
+    "colour.RGB_COLOURSPACES[\"sRGB Derived\"] = colour.RGB_Colourspace(\n",
+    "    \"sRGB Derived\", primaries=P, whitepoint=W\n",
+    ")\n",
     "\n",
     "RGB_colourspaces_CIE_1931_chromaticity_diagram_plot(\n",
-    "    ['sRGB', 'sRGB Derived'] + sorted(RED_COLOURSPACES.keys()))"
+    "    [\"sRGB\", \"sRGB Derived\"] + sorted(RED_COLOURSPACES.keys())\n",
+    ")"
    ]
   },
   {
@@ -434,14 +464,15 @@
     }
    ],
    "source": [
-    "IMAGES_BASENAME = ('A014_C018_1227WK', 'A028_C158_09065U')\n",
+    "IMAGES_BASENAME = (\"A014_C018_1227WK\", \"A028_C158_09065U\")\n",
     "\n",
-    "OECF = colour.RGB_COLOURSPACES['sRGB'].transfer_function\n",
+    "OECF = colour.RGB_COLOURSPACES[\"sRGB\"].transfer_function\n",
     "\n",
     "for basename in IMAGES_BASENAME:\n",
-    "    image_plot(OECF(colour.read_image(\n",
-    "    'resources/images/red/{0}_XYZ.exr'.format(basename))),\n",
-    "               label='{0} - CIE XYZ Reference'.format(basename))"
+    "    image_plot(\n",
+    "        OECF(colour.read_image(\"resources/images/red/{0}_XYZ.exr\".format(basename))),\n",
+    "        label=\"{0} - CIE XYZ Reference\".format(basename),\n",
+    "    )"
    ]
   },
   {
@@ -566,83 +597,102 @@
     }
    ],
    "source": [
-    "D60 = colour.ILLUMINANTS['cie_2_1931']['D60']\n",
+    "D60 = colour.ILLUMINANTS[\"cie_2_1931\"][\"D60\"]\n",
     "\n",
     "# *VideoVillage* set of primaries solved through\n",
     "# image analysis and used for comparison.\n",
     "VV_PRIMARIES = {\n",
-    "    'REDcolor': np.array([\n",
-    "        [0.682235759294, 0.320973856307],\n",
-    "        [0.295705729612, 0.613311106957],\n",
-    "        [0.134524597085, 0.034410956920]]),\n",
-    "    'REDcolor2': np.array([\n",
-    "        [0.858485322390, 0.316594954144],\n",
-    "        [0.292084791425, 0.667838655872],\n",
-    "        [0.097651412967, 0.026565653796]]),\n",
-    "    'REDcolor3': np.array([\n",
-    "        [0.682450885401, 0.320302618634],\n",
-    "        [0.291813306036, 0.672642663443],\n",
-    "        [0.109533374066, 0.006916855752]]),\n",
-    "    'REDcolor4': np.array([\n",
-    "        [0.682432347, 0.320314427],\n",
-    "        [0.291815909, 0.672638769],\n",
-    "        [0.144290202, 0.050547336]]),\n",
-    "    'DRAGONcolor': np.array([\n",
-    "        [0.733696621349, 0.319213119879],\n",
-    "        [0.290807268864, 0.689667987865],\n",
-    "        [0.083009416684, 0.050780628080]]),\n",
-    "    'DRAGONcolor2': np.array([\n",
-    "        [0.733671536367, 0.319227712042],\n",
-    "        [0.290804815281, 0.689668775507],\n",
-    "        [0.143989704285, 0.050047743857]])}\n",
+    "    \"REDcolor\": np.array(\n",
+    "        [\n",
+    "            [0.682235759294, 0.320973856307],\n",
+    "            [0.295705729612, 0.613311106957],\n",
+    "            [0.134524597085, 0.034410956920],\n",
+    "        ]\n",
+    "    ),\n",
+    "    \"REDcolor2\": np.array(\n",
+    "        [\n",
+    "            [0.858485322390, 0.316594954144],\n",
+    "            [0.292084791425, 0.667838655872],\n",
+    "            [0.097651412967, 0.026565653796],\n",
+    "        ]\n",
+    "    ),\n",
+    "    \"REDcolor3\": np.array(\n",
+    "        [\n",
+    "            [0.682450885401, 0.320302618634],\n",
+    "            [0.291813306036, 0.672642663443],\n",
+    "            [0.109533374066, 0.006916855752],\n",
+    "        ]\n",
+    "    ),\n",
+    "    \"REDcolor4\": np.array(\n",
+    "        [\n",
+    "            [0.682432347, 0.320314427],\n",
+    "            [0.291815909, 0.672638769],\n",
+    "            [0.144290202, 0.050547336],\n",
+    "        ]\n",
+    "    ),\n",
+    "    \"DRAGONcolor\": np.array(\n",
+    "        [\n",
+    "            [0.733696621349, 0.319213119879],\n",
+    "            [0.290807268864, 0.689667987865],\n",
+    "            [0.083009416684, 0.050780628080],\n",
+    "        ]\n",
+    "    ),\n",
+    "    \"DRAGONcolor2\": np.array(\n",
+    "        [\n",
+    "            [0.733671536367, 0.319227712042],\n",
+    "            [0.290804815281, 0.689668775507],\n",
+    "            [0.143989704285, 0.050047743857],\n",
+    "        ]\n",
+    "    ),\n",
+    "}\n",
     "\n",
     "\n",
     "def RGB_colourspace_RMSE(colourspace):\n",
     "    for basename in IMAGES_BASENAME:\n",
     "        XYZ_image = colour.read_image(\n",
-    "            'resources/images/red/{0}_XYZ.exr'.format(basename))\n",
+    "            \"resources/images/red/{0}_XYZ.exr\".format(basename)\n",
+    "        )\n",
     "\n",
     "        RGB_image = colour.read_image(\n",
-    "            'resources/images/red/{0}_{1}.exr'.format(basename,\n",
-    "                                                      colourspace))\n",
+    "            \"resources/images/red/{0}_{1}.exr\".format(basename, colourspace)\n",
+    "        )\n",
     "\n",
     "        RGB_image_d = colour.XYZ_to_RGB(\n",
     "            XYZ_image,\n",
     "            D60,\n",
     "            colour.RGB_COLOURSPACES[colourspace].whitepoint,\n",
-    "            colour.RGB_COLOURSPACES[colourspace].XYZ_to_RGB_matrix)\n",
+    "            colour.RGB_COLOURSPACES[colourspace].XYZ_to_RGB_matrix,\n",
+    "        )\n",
     "\n",
     "        rmse = np.std(np.ravel(RGB_image - RGB_image_d))\n",
     "\n",
-    "        npm_vv = colour.normalised_primary_matrix(\n",
-    "            VV_PRIMARIES[colourspace], D60)\n",
+    "        npm_vv = colour.normalised_primary_matrix(VV_PRIMARIES[colourspace], D60)\n",
     "\n",
-    "        RGB_image_vv = colour.XYZ_to_RGB(\n",
-    "            XYZ_image,\n",
-    "            D60,\n",
-    "            D60,\n",
-    "            np.linalg.inv(npm_vv))\n",
+    "        RGB_image_vv = colour.XYZ_to_RGB(XYZ_image, D60, D60, np.linalg.inv(npm_vv))\n",
     "\n",
     "        rmse_vv = np.std(np.ravel(RGB_image - RGB_image_vv))\n",
     "\n",
-    "        image_plot(OECF(RGB_image),\n",
-    "                   label='{0} - {1} Reference'.format(basename,\n",
-    "                                                      colourspace))\n",
-    "        image_plot(OECF(RGB_image_d),\n",
-    "                   label='{0} - {1} Derived'.format(basename,\n",
-    "                                                    colourspace))\n",
-    "        image_plot(OECF(RGB_image_vv),\n",
-    "                   label='{0} - {1} VideoVillage'.format(basename,\n",
-    "                                                         colourspace))\n",
+    "        image_plot(\n",
+    "            OECF(RGB_image), label=\"{0} - {1} Reference\".format(basename, colourspace)\n",
+    "        )\n",
+    "        image_plot(\n",
+    "            OECF(RGB_image_d), label=\"{0} - {1} Derived\".format(basename, colourspace)\n",
+    "        )\n",
+    "        image_plot(\n",
+    "            OECF(RGB_image_vv),\n",
+    "            label=\"{0} - {1} VideoVillage\".format(basename, colourspace),\n",
+    "        )\n",
     "\n",
-    "        colour.message_box(('{0}\\n\\n'\n",
-    "                            'rmse   : {1}\\n\\n'\n",
-    "                            'rmse VV: {2}').format(basename, rmse, rmse_vv))\n",
+    "        colour.message_box(\n",
+    "            (\"{0}\\n\\n\" \"rmse   : {1}\\n\\n\" \"rmse VV: {2}\").format(\n",
+    "                basename, rmse, rmse_vv\n",
+    "            )\n",
+    "        )\n",
     "\n",
-    "        print('\\n')\n",
+    "        print(\"\\n\")\n",
     "\n",
     "\n",
-    "RGB_colourspace_RMSE('REDcolor')"
+    "RGB_colourspace_RMSE(\"REDcolor\")"
    ]
   },
   {
@@ -766,7 +816,7 @@
     }
    ],
    "source": [
-    "RGB_colourspace_RMSE('REDcolor2')"
+    "RGB_colourspace_RMSE(\"REDcolor2\")"
    ]
   },
   {
@@ -890,7 +940,7 @@
     }
    ],
    "source": [
-    "RGB_colourspace_RMSE('REDcolor3')"
+    "RGB_colourspace_RMSE(\"REDcolor3\")"
    ]
   },
   {
@@ -1015,7 +1065,7 @@
     }
    ],
    "source": [
-    "RGB_colourspace_RMSE('DRAGONcolor')"
+    "RGB_colourspace_RMSE(\"DRAGONcolor\")"
    ]
   },
   {
@@ -1056,12 +1106,13 @@
     }
    ],
    "source": [
-    "IMAGES_BASENAME = ('A007_L006_0101RQ.0000000F',)\n",
+    "IMAGES_BASENAME = (\"A007_L006_0101RQ.0000000F\",)\n",
     "\n",
     "for basename in IMAGES_BASENAME:\n",
-    "    image_plot(OECF(colour.read_image(\n",
-    "    'resources/images/red/{0}_XYZ.exr'.format(basename))),\n",
-    "               label='{0} - CIE XYZ Reference'.format(basename))"
+    "    image_plot(\n",
+    "        OECF(colour.read_image(\"resources/images/red/{0}_XYZ.exr\".format(basename))),\n",
+    "        label=\"{0} - CIE XYZ Reference\".format(basename),\n",
+    "    )"
    ]
   },
   {
@@ -1137,7 +1188,7 @@
     }
    ],
    "source": [
-    "RGB_colourspace_RMSE('REDcolor4')"
+    "RGB_colourspace_RMSE(\"REDcolor4\")"
    ]
   },
   {
@@ -1213,7 +1264,7 @@
     }
    ],
    "source": [
-    "RGB_colourspace_RMSE('DRAGONcolor2')"
+    "RGB_colourspace_RMSE(\"DRAGONcolor2\")"
    ]
   },
   {
@@ -1247,6 +1298,7 @@
    "source": [
     "from IPython.display import HTML\n",
     "\n",
+    "\n",
     "def HTML_format_matrix(M, precision=7):\n",
     "    # Handling whitepoint tuples.\n",
     "    M = np.asarray(M)\n",
@@ -1259,50 +1311,55 @@
     "        html += '<tr class=\"matrix-row\">'\n",
     "        for j in range(shape[1]):\n",
     "            v = M[i][j]\n",
-    "            pretty = '{{: 0.{}f}}'.format(precision).format(\n",
-    "                v) if precision is not None else v\n",
+    "            pretty = (\n",
+    "                \"{{: 0.{}f}}\".format(precision).format(v)\n",
+    "                if precision is not None\n",
+    "                else v\n",
+    "            )\n",
     "            html += '<td class=\"matrix-column\">{0}</td>'.format(pretty)\n",
-    "        html += '</tr>'\n",
-    "    html += '</table>'\n",
+    "        html += \"</tr>\"\n",
+    "    html += \"</table>\"\n",
     "    return html\n",
     "\n",
     "\n",
     "def html_format_colourspaces(colourspaces):\n",
-    "    html = ('<table class=\"table\">'\n",
-    "            '<thead class=\"table-header\">'\n",
-    "            '<tr class=\"table-row-header-group\">'\n",
-    "            '<th class=\"table-canton\"></th>'\n",
-    "            '<th class=\"table-row-header\">Primaries</th>'\n",
-    "            '<th class=\"table-row-header\">Whitepoint</th>'\n",
-    "#             '<th class=\"table-row-header\">Illuminant</th>'\n",
-    "#             '<th class=\"table-row-header\">XYZ to RGB</th>'\n",
-    "#             '<th class=\"table-row-header\">RGB to XYZ</th>'\n",
-    "            '</tr>'\n",
-    "            '</thead>'\n",
-    "            '<tbody>')\n",
+    "    html = (\n",
+    "        '<table class=\"table\">'\n",
+    "        '<thead class=\"table-header\">'\n",
+    "        '<tr class=\"table-row-header-group\">'\n",
+    "        '<th class=\"table-canton\"></th>'\n",
+    "        '<th class=\"table-row-header\">Primaries</th>'\n",
+    "        '<th class=\"table-row-header\">Whitepoint</th>'\n",
+    "        #             '<th class=\"table-row-header\">Illuminant</th>'\n",
+    "        #             '<th class=\"table-row-header\">XYZ to RGB</th>'\n",
+    "        #             '<th class=\"table-row-header\">RGB to XYZ</th>'\n",
+    "        \"</tr>\"\n",
+    "        \"</thead>\"\n",
+    "        \"<tbody>\"\n",
+    "    )\n",
     "    for i, colourspace in enumerate(colourspaces):\n",
     "        html += '<tr class=\"table-row {0}\">'.format(\n",
-    "            'table-row-odd' if i % 2 == 0 else '')\n",
-    "        html += '<td class=\"table-data-header\">{0}</td>'.format(\n",
-    "            colourspace.name)\n",
+    "            \"table-row-odd\" if i % 2 == 0 else \"\"\n",
+    "        )\n",
+    "        html += '<td class=\"table-data-header\">{0}</td>'.format(colourspace.name)\n",
     "        html += '<td class=\"table-data\">{0}</td>'.format(\n",
-    "            HTML_format_matrix(colourspace.primaries, precision=None))\n",
+    "            HTML_format_matrix(colourspace.primaries, precision=None)\n",
+    "        )\n",
     "        html += '<td class=\"table-data text-align-center vertical-align-top\">{0}</td>'.format(\n",
-    "            HTML_format_matrix(colourspace.whitepoint, precision=None))\n",
-    "#         html += '<td class=\"table-data text-align-center vertical-align-top\">{0}</td>'.format(\n",
-    "#             colourspace.illuminant)\n",
-    "#         html += '<td class=\"table-data\">{0}</td>'.format(\n",
-    "#             HTML_format_matrix(colourspace.XYZ_to_RGB_matrix, precision=None))\n",
-    "#         html += '<td class=\"table-data\">{0}</td>'.format(\n",
-    "#             HTML_format_matrix(colourspace.RGB_to_XYZ_matrix, precision=None))\n",
-    "        html += '</tr>'\n",
-    "    html += ('<tbody>'\n",
-    "             '</table>')\n",
+    "            HTML_format_matrix(colourspace.whitepoint, precision=None)\n",
+    "        )\n",
+    "        #         html += '<td class=\"table-data text-align-center vertical-align-top\">{0}</td>'.format(\n",
+    "        #             colourspace.illuminant)\n",
+    "        #         html += '<td class=\"table-data\">{0}</td>'.format(\n",
+    "        #             HTML_format_matrix(colourspace.XYZ_to_RGB_matrix, precision=None))\n",
+    "        #         html += '<td class=\"table-data\">{0}</td>'.format(\n",
+    "        #             HTML_format_matrix(colourspace.RGB_to_XYZ_matrix, precision=None))\n",
+    "        html += \"</tr>\"\n",
+    "    html += \"<tbody>\" \"</table>\"\n",
     "    return html\n",
     "\n",
     "\n",
-    "HTML(html_format_colourspaces(\n",
-    "    (v for k, v in sorted(RED_COLOURSPACES.items()))))"
+    "HTML(html_format_colourspaces((v for k, v in sorted(RED_COLOURSPACES.items()))))"
    ]
   },
   {
@@ -1360,7 +1417,7 @@
     }
    ],
    "source": [
-    "HTML(\"<style>\\n{0}\\n</style>\".format(open('style.css','r').read()))"
+    "HTML(\"<style>\\n{0}\\n</style>\".format(open(\"style.css\", \"r\").read()))"
    ]
   },
   {