diff --git a/.gitignore b/.gitignore index d27616d1..e267bb8c 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,9 @@ .DS_Store .idea .ipynb_checkpoints +.python-version + __pycache__ + cache -poetry.lock +uv.lock diff --git a/conf.py b/conf.py index 35af06f2..82039457 100644 --- a/conf.py +++ b/conf.py @@ -240,7 +240,7 @@ 'Bibliography', ), ( - "https://doi.org/10.5281/zenodo.13910741", + "https://doi.org/10.5281/zenodo.13917514", 'Cite Us', ), ( diff --git a/output/2014/index.html b/output/2014/index.html index 824ce287..cd69fe31 100644 --- a/output/2014/index.html +++ b/output/2014/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/2015/index.html b/output/2015/index.html index da517450..38c4c22b 100644 --- a/output/2015/index.html +++ b/output/2015/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/2016/index.html b/output/2016/index.html index f413b095..41f919b7 100644 --- a/output/2016/index.html +++ b/output/2016/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/2017/index.html b/output/2017/index.html index 3f23ec35..d5d8b69d 100644 --- a/output/2017/index.html +++ b/output/2017/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/2018/index.html b/output/2018/index.html index 58247a60..c626adc7 100644 --- a/output/2018/index.html +++ b/output/2018/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/2019/index.html b/output/2019/index.html index fed24990..ef2d0161 100644 --- a/output/2019/index.html +++ b/output/2019/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/2020/index.html b/output/2020/index.html index 87b2c8be..f1e3865a 100644 --- a/output/2020/index.html +++ b/output/2020/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/2021/index.html b/output/2021/index.html index 77453a15..06822ad2 100644 --- a/output/2021/index.html +++ b/output/2021/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/2022/index.html b/output/2022/index.html index 86e45481..bc5b940d 100644 --- a/output/2022/index.html +++ b/output/2022/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/2023/index.html b/output/2023/index.html index 5a8c6a8e..2c553de8 100644 --- a/output/2023/index.html +++ b/output/2023/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/2024/index.html b/output/2024/index.html index 45c0fb7e..e639ca36 100644 --- a/output/2024/index.html +++ b/output/2024/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/404/index.html b/output/404/index.html index 480e5a64..c4dabec4 100644 --- a/output/404/index.html +++ b/output/404/index.html @@ -80,7 +80,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/api-reference/index.html b/output/api-reference/index.html index 02150020..0d9f61b7 100644 --- a/output/api-reference/index.html +++ b/output/api-reference/index.html @@ -104,7 +104,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/apps/index.html b/output/apps/index.html index 4abdd88f..d3a62b92 100644 --- a/output/apps/index.html +++ b/output/apps/index.html @@ -79,7 +79,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/archive.html b/output/archive.html index 54df0bba..cd72d7ca 100644 --- a/output/archive.html +++ b/output/archive.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/bibliography/index.html b/output/bibliography/index.html index fb4fa6ff..1edc8334 100644 --- a/output/bibliography/index.html +++ b/output/bibliography/index.html @@ -81,7 +81,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/blog/index-1.html b/output/blog/index-1.html index 37ca37d6..8a73ee65 100644 --- a/output/blog/index-1.html +++ b/output/blog/index-1.html @@ -73,7 +73,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/blog/index-2.html b/output/blog/index-2.html index 410836a4..7daa7d39 100644 --- a/output/blog/index-2.html +++ b/output/blog/index-2.html @@ -74,7 +74,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search @@ -173,51 +173,51 @@
  • The second is support for metadata inside the API. Most of the codebase adopts definitions/functions over classes to stay clean and lean, the aforementioned spectral implementation being a notable exception. As a consequence, it is hard to implement a non-intrusive classifying mechanism, provide usable hints on functions domain/range or create an auto-conversion layer. We have considered multiple ways of providing the necessary metadata, e.g., experimental/medatada* branches, and decided that the true elegant solution was through docstrings.

  • The following example showcases the current implementation, defining metadata for parameters, returns and the definition by using the notes section:

    -
    def luminance_Newhall1943(V):
    -    """
    -    Returns the *luminance* :math:`R_Y` of given *Munsell* value :math:`V`
    -    using *Newhall et al. (1943)* method.
    -
    -    Parameters
    -    ----------
    -    V : numeric or array_like
    -        metadata : {'type': 'Munsell Value', 'symbol': 'V', 'extent': (0, 10)}
    -        *Munsell* value :math:`V`.
    -
    -    Returns
    -    -------
    -    numeric or array_like
    -        metadata : {'type': 'Luminance', 'symbol': 'R_Y', 'extent': (0, 100)}
    -        *luminance* :math:`R_Y`.
    -
    -    Notes
    -    -----
    -    metadata : {'classifier': 'Luminance Conversion Function', 'method_name':
    -        'Newhall 1943', 'method_strict_name': 'Newhall et al. (1943)'}
    -
    -    References
    -    ----------
    -    .. [1]  Newhall, S. M., Nickerson, D., & Judd, D. B. (1943). Final report
    -            of the OSA subcommittee on the spacing of the munsell colors. JOSA,
    -            33(7), 385. doi:10.1364/JOSA.33.000385
    -
    -    Examples
    -    --------
    -    >>> luminance_Newhall1943(3.74629715382)  # doctest: +ELLIPSIS
    -    10.4089874...
    -    """
    -
    -    V = np.asarray(V)
    -
    -    R_Y = (
    -        1.2219 * V
    -        - 0.23111 * (V * V)
    -        + 0.23951 * (V**3)
    -        - 0.021009 * (V**4)
    -        + 0.0008404 * (V**5)
    -    )
    -
    -    return R_Y
    +
    def luminance_Newhall1943(V):
    +    """
    +    Returns the *luminance* :math:`R_Y` of given *Munsell* value :math:`V`
    +    using *Newhall et al. (1943)* method.
    +
    +    Parameters
    +    ----------
    +    V : numeric or array_like
    +        metadata : {'type': 'Munsell Value', 'symbol': 'V', 'extent': (0, 10)}
    +        *Munsell* value :math:`V`.
    +
    +    Returns
    +    -------
    +    numeric or array_like
    +        metadata : {'type': 'Luminance', 'symbol': 'R_Y', 'extent': (0, 100)}
    +        *luminance* :math:`R_Y`.
    +
    +    Notes
    +    -----
    +    metadata : {'classifier': 'Luminance Conversion Function', 'method_name':
    +        'Newhall 1943', 'method_strict_name': 'Newhall et al. (1943)'}
    +
    +    References
    +    ----------
    +    .. [1]  Newhall, S. M., Nickerson, D., & Judd, D. B. (1943). Final report
    +            of the OSA subcommittee on the spacing of the munsell colors. JOSA,
    +            33(7), 385. doi:10.1364/JOSA.33.000385
    +
    +    Examples
    +    --------
    +    >>> luminance_Newhall1943(3.74629715382)  # doctest: +ELLIPSIS
    +    10.4089874...
    +    """
    +
    +    V = np.asarray(V)
    +
    +    R_Y = (
    +        1.2219 * V
    +        - 0.23111 * (V * V)
    +        + 0.23951 * (V**3)
    +        - 0.021009 * (V**4)
    +        + 0.0008404 * (V**5)
    +    )
    +
    +    return R_Y
     

    There is one caveat though: running Python with -OO argument will optimize the bytecode and trim the docstrings and as a result preventing metadata usage. This is an edge case we are aware of and it will be advertised.

    These two features are consequential and taking a fair amount of time to implement and test. They will also introduce backward incompatible changes.

    diff --git a/output/blog/index-3.html b/output/blog/index-3.html index 58fe50f0..8d265380 100644 --- a/output/blog/index-3.html +++ b/output/blog/index-3.html @@ -74,7 +74,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/blog/index.html b/output/blog/index.html index 69e27a44..ecf9850e 100644 --- a/output/blog/index.html +++ b/output/blog/index.html @@ -73,7 +73,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search @@ -166,14 +166,14 @@

    Today is the 10th anniversary of Colour and colour-science!

    -
    (colour-science-py3.12) Eris:colour kelsolaar$ git log --reverse
    -commit 90bc42b9fedfc7291c7023247eab14b41d5c29af
    -Author: Thomas Mansencal <thomas.mansencal@gmail.com>
    -Date:   Sat Apr 5 14:07:48 2014 +0200
    -
    -    Initial commit.
    -
    -    Signed-off-by: Thomas Mansencal <thomas.mansencal@gmail.com>
    +
    (colour-science-py3.12) Eris:colour kelsolaar$ git log --reverse
    +commit 90bc42b9fedfc7291c7023247eab14b41d5c29af
    +Author: Thomas Mansencal <thomas.mansencal@gmail.com>
    +Date:   Sat Apr 5 14:07:48 2014 +0200
    +
    +    Initial commit.
    +
    +    Signed-off-by: Thomas Mansencal <thomas.mansencal@gmail.com>
     

    It is time for a decade of work retrospective.

    Read more…

    diff --git a/output/categories/absolute-luminance-calibration.xml b/output/categories/absolute-luminance-calibration.xml index 887118d3..e4f46fbc 100644 --- a/output/categories/absolute-luminance-calibration.xml +++ b/output/categories/absolute-luminance-calibration.xml @@ -1,5 +1,5 @@ -Colour Science (Posts about absolute luminance calibration)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Thu, 10 Oct 2024 04:17:17 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssPhysical Lighting Quantities: Tying Both Endshttps://www.colour-science.org/posts/physical-lighting-quantities-tying-both-ends/Colour Developers<div><p>Validation against ground truth data is an important step when implementing +Colour Science (Posts about absolute luminance calibration)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Sun, 13 Oct 2024 01:01:34 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssPhysical Lighting Quantities: Tying Both Endshttps://www.colour-science.org/posts/physical-lighting-quantities-tying-both-ends/Colour Developers<div><p>Validation against ground truth data is an important step when implementing support for physical lighting quantities in a realtime or offline renderer.</p> <p>In this post, a simple but effective method to assess that the physical camera model behaves as expected against ground truth data (or conversely) will be diff --git a/output/categories/absolute-luminance-calibration/index.html b/output/categories/absolute-luminance-calibration/index.html index a5d73e0f..807a6fc2 100644 --- a/output/categories/absolute-luminance-calibration/index.html +++ b/output/categories/absolute-luminance-calibration/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/categories/aces.xml b/output/categories/aces.xml index ec122306..153d037e 100644 --- a/output/categories/aces.xml +++ b/output/categories/aces.xml @@ -1,5 +1,5 @@ -Colour Science (Posts about aces)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Thu, 11 Jan 2024 04:37:39 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssColour 0.3.9, Colour - HDRI 0.1.2 and ACES!https://www.colour-science.org/posts/colour-039-colour-hdri-012-aces/Colour Developers<div><p><a class="reference external" href="https://www.colour-science.org">colour-science.org</a> has been quiet for a while +Colour Science (Posts about aces)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Sun, 13 Oct 2024 01:01:29 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssColour 0.3.9, Colour - HDRI 0.1.2 and ACES!https://www.colour-science.org/posts/colour-039-colour-hdri-012-aces/Colour Developers<div><p><a class="reference external" href="https://www.colour-science.org">colour-science.org</a> has been quiet for a while however, it does not mean nothing happened. <a class="reference external" href="https://github.com/colour-science/colour/releases/tag/v0.3.9">Colour 0.3.9</a> and <a class="reference external" href="https://github.com/colour-science/colour-hdri/releases/tag/v0.1.2">Colour - HDRI 0.1.2</a> were released today and last week, concluding a major collaborative effort, the ACES diff --git a/output/categories/aces/index.html b/output/categories/aces/index.html index 2c47d2bb..d85edb53 100644 --- a/output/categories/aces/index.html +++ b/output/categories/aces/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/categories/anaconda.xml b/output/categories/anaconda.xml index 61959c4c..b0989da1 100644 --- a/output/categories/anaconda.xml +++ b/output/categories/anaconda.xml @@ -1,5 +1,5 @@ -Colour Science (Posts about anaconda)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Thu, 10 Oct 2024 04:17:18 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssPyCharm, Vagrant, Fabric & Anacondahttps://www.colour-science.org/posts/pycharm-vagrant-fabric-anaconda/Colour Developers<div><div class="alert alert-dismissible alert-warning line-block"> +Colour Science (Posts about anaconda)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Sun, 13 Oct 2024 01:01:34 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssPyCharm, Vagrant, Fabric & Anacondahttps://www.colour-science.org/posts/pycharm-vagrant-fabric-anaconda/Colour Developers<div><div class="alert alert-dismissible alert-warning line-block"> <div class="line"><strong>Warning</strong></div> <div class="line"><br></div> <div class="line">Our <em>Vagrant</em> setup is now using <em>Ansible</em> and <em>Poetry</em>, please refer to the diff --git a/output/categories/anaconda/index.html b/output/categories/anaconda/index.html index 298b4fc0..32721ba2 100644 --- a/output/categories/anaconda/index.html +++ b/output/categories/anaconda/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/categories/ansible.xml b/output/categories/ansible.xml index f9cbfca0..aa8ff434 100644 --- a/output/categories/ansible.xml +++ b/output/categories/ansible.xml @@ -1,5 +1,5 @@ -Colour Science (Posts about ansible)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Thu, 10 Oct 2024 04:17:17 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssPyCharm, Vagrant, Ansible & Poetryhttps://www.colour-science.org/posts/pycharm-vagrant-ansible-poetry/Colour Developers<div><div class="alert alert-dismissible alert-info line-block"> +Colour Science (Posts about ansible)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Sun, 13 Oct 2024 01:01:34 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssPyCharm, Vagrant, Ansible & Poetryhttps://www.colour-science.org/posts/pycharm-vagrant-ansible-poetry/Colour Developers<div><div class="alert alert-dismissible alert-info line-block"> <div class="line"><strong>Note</strong></div> <div class="line"><br></div> <div class="line">This post is an update to the diff --git a/output/categories/ansible/index.html b/output/categories/ansible/index.html index 167ef49a..4e3e874c 100644 --- a/output/categories/ansible/index.html +++ b/output/categories/ansible/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/categories/camera/index.html b/output/categories/camera/index.html index 1b03bca9..0c6dfaa9 100644 --- a/output/categories/camera/index.html +++ b/output/categories/camera/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/categories/cat_arnold-colour-colour-science-rendering-spectral-rendering/index.html b/output/categories/cat_arnold-colour-colour-science-rendering-spectral-rendering/index.html index 5cffea5d..24978109 100644 --- a/output/categories/cat_arnold-colour-colour-science-rendering-spectral-rendering/index.html +++ b/output/categories/cat_arnold-colour-colour-science-rendering-spectral-rendering/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/categories/cat_colour-colour-science-release-colour-datasets-numfocus.xml b/output/categories/cat_colour-colour-science-release-colour-datasets-numfocus.xml index b43874db..954eb073 100644 --- a/output/categories/cat_colour-colour-science-release-colour-datasets-numfocus.xml +++ b/output/categories/cat_colour-colour-science-release-colour-datasets-numfocus.xml @@ -1,5 +1,5 @@ -Colour Science (Posts about colour, colour science, release, colour - datasets, numfocus)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Thu, 10 Oct 2024 04:17:18 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssNumFOCUS, Colour 0.3.14 and Colour - Datasets 0.1.0!https://www.colour-science.org/posts/numfocus-colour-0314-and-colour-datasets-010/Colour Developers<div><p>We are delighted to announce that <strong>Colour</strong> has joined the +Colour Science (Posts about colour, colour science, release, colour - datasets, numfocus)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Sun, 13 Oct 2024 01:01:29 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssNumFOCUS, Colour 0.3.14 and Colour - Datasets 0.1.0!https://www.colour-science.org/posts/numfocus-colour-0314-and-colour-datasets-010/Colour Developers<div><p>We are delighted to announce that <strong>Colour</strong> has joined the <a class="reference external" href="https://numfocus.org">NumFOCUS</a> affiliated projects and that <a class="reference external" href="https://github.com/colour-science/colour/releases/tag/v0.3.14">Colour 0.3.14</a> has been released over the weekend along with diff --git a/output/categories/cat_colour-colour-science-release-colour-datasets-numfocus/index.html b/output/categories/cat_colour-colour-science-release-colour-datasets-numfocus/index.html index 39c5df3b..6bfe55b9 100644 --- a/output/categories/cat_colour-colour-science-release-colour-datasets-numfocus/index.html +++ b/output/categories/cat_colour-colour-science-release-colour-datasets-numfocus/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/categories/chromaticity-diagram.xml b/output/categories/chromaticity-diagram.xml index abd543e6..16639fb6 100644 --- a/output/categories/chromaticity-diagram.xml +++ b/output/categories/chromaticity-diagram.xml @@ -1,5 +1,5 @@ -Colour Science (Posts about chromaticity diagram)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Thu, 10 Oct 2024 04:17:17 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssThe Importance of Terminology and sRGB Uncertaintyhttps://www.colour-science.org/posts/the-importance-of-terminology-and-srgb-uncertainty/Colour Developers<div><p>We were meant to write that entry since a while, and a +Colour Science (Posts about chromaticity diagram)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Sun, 13 Oct 2024 01:01:29 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssThe Importance of Terminology and sRGB Uncertaintyhttps://www.colour-science.org/posts/the-importance-of-terminology-and-srgb-uncertainty/Colour Developers<div><p>We were meant to write that entry since a while, and a <a class="reference external" href="https://gamedevdaily.io/the-srgb-learning-curve-773b7f68cf7a#">great post</a> by <a class="reference external" href="https://twitter.com/tom_forsyth">Tom Forsyth</a> from <a class="reference external" href="https://www.oculus.com/en-us">Oculus VR</a> triggered us in doing so.</p> diff --git a/output/categories/chromaticity-diagram/index.html b/output/categories/chromaticity-diagram/index.html index da342842..cda97bfc 100644 --- a/output/categories/chromaticity-diagram/index.html +++ b/output/categories/chromaticity-diagram/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/categories/colorchecker-classic-24.xml b/output/categories/colorchecker-classic-24.xml index 62c5bb6f..1ea81dc8 100644 --- a/output/categories/colorchecker-classic-24.xml +++ b/output/categories/colorchecker-classic-24.xml @@ -1,5 +1,5 @@ -Colour Science (Posts about colorchecker classic 24)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Thu, 10 Oct 2024 04:17:17 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssColour Checker Detection with Machine Learninghttps://www.colour-science.org/posts/colour-checker-detection-with-machine-learning/Colour Developers<div><p>We have released a new version of <a class="reference external" href="https://github.com/colour-science/colour-checker-detection/releases/tag/v0.2.0">Colour - Checker Detection</a> +Colour Science (Posts about colorchecker classic 24)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Sun, 13 Oct 2024 01:01:29 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssColour Checker Detection with Machine Learninghttps://www.colour-science.org/posts/colour-checker-detection-with-machine-learning/Colour Developers<div><p>We have released a new version of <a class="reference external" href="https://github.com/colour-science/colour-checker-detection/releases/tag/v0.2.0">Colour - Checker Detection</a> that implements a new machine learning inference method to detect colour rendition charts, specifically the <em>ColorChecker Classic 24</em> from <em>X-Rite</em> / <em>Calibrite</em>.</p> diff --git a/output/categories/colorchecker-classic-24/index.html b/output/categories/colorchecker-classic-24/index.html index 8156d17a..c46d128c 100644 --- a/output/categories/colorchecker-classic-24/index.html +++ b/output/categories/colorchecker-classic-24/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/categories/colour-checker-detection/index.html b/output/categories/colour-checker-detection/index.html index dd603276..033db31f 100644 --- a/output/categories/colour-checker-detection/index.html +++ b/output/categories/colour-checker-detection/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/categories/colour-demosaicing/index.html b/output/categories/colour-demosaicing/index.html index 69ce7fc4..3195ac16 100644 --- a/output/categories/colour-demosaicing/index.html +++ b/output/categories/colour-demosaicing/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/categories/colour-hdri.xml b/output/categories/colour-hdri.xml index 7a90580b..f54ebc01 100644 --- a/output/categories/colour-hdri.xml +++ b/output/categories/colour-hdri.xml @@ -1,5 +1,5 @@ -Colour Science (Posts about colour - hdri)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Thu, 11 Jan 2024 04:37:41 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssColour 0.3.9, Colour - HDRI 0.1.2 and ACES!https://www.colour-science.org/posts/colour-039-colour-hdri-012-aces/Colour Developers<div><p><a class="reference external" href="https://www.colour-science.org">colour-science.org</a> has been quiet for a while +Colour Science (Posts about colour - hdri)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Sun, 13 Oct 2024 01:01:29 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssColour 0.3.9, Colour - HDRI 0.1.2 and ACES!https://www.colour-science.org/posts/colour-039-colour-hdri-012-aces/Colour Developers<div><p><a class="reference external" href="https://www.colour-science.org">colour-science.org</a> has been quiet for a while however, it does not mean nothing happened. <a class="reference external" href="https://github.com/colour-science/colour/releases/tag/v0.3.9">Colour 0.3.9</a> and <a class="reference external" href="https://github.com/colour-science/colour-hdri/releases/tag/v0.1.2">Colour - HDRI 0.1.2</a> were released today and last week, concluding a major collaborative effort, the ACES diff --git a/output/categories/colour-hdri/index.html b/output/categories/colour-hdri/index.html index 4d27b0d1..249326dc 100644 --- a/output/categories/colour-hdri/index.html +++ b/output/categories/colour-hdri/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/categories/colour-rendition-chart/index.html b/output/categories/colour-rendition-chart/index.html index 48a8bc5b..5e79b06d 100644 --- a/output/categories/colour-rendition-chart/index.html +++ b/output/categories/colour-rendition-chart/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/categories/colour-science.xml b/output/categories/colour-science.xml index 317b6b84..21bfe309 100644 --- a/output/categories/colour-science.xml +++ b/output/categories/colour-science.xml @@ -1,5 +1,5 @@ -Colour Science (Posts about colour science)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Thu, 10 Oct 2024 09:09:57 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssColour 0.4.5 is available!https://www.colour-science.org/posts/colour-045-is-available/Colour Developers<div><p>The colour-science Developers are pleased to announce the release of +Colour Science (Posts about colour science)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Sun, 13 Oct 2024 01:01:29 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssColour 0.4.5 is available!https://www.colour-science.org/posts/colour-045-is-available/Colour Developers<div><p>The colour-science Developers are pleased to announce the release of <a class="reference external" href="https://github.com/colour-science/colour/releases/tag/v0.4.5">Colour 0.4.5</a>!</p> <p><a href="https://www.colour-science.org/posts/colour-045-is-available/">Read more…</a> (1 min remaining to read)</p></div>colourcolour sciencereleasehttps://www.colour-science.org/posts/colour-045-is-available/Thu, 10 Oct 2024 08:24:11 GMTColour Checker Detection with Machine Learninghttps://www.colour-science.org/posts/colour-checker-detection-with-machine-learning/Colour Developers<div><p>We have released a new version of <a class="reference external" href="https://github.com/colour-science/colour-checker-detection/releases/tag/v0.2.0">Colour - Checker Detection</a> that implements a new machine learning inference method to detect colour diff --git a/output/categories/colour-science/index.html b/output/categories/colour-science/index.html index 0b4376e9..06c5d8bd 100644 --- a/output/categories/colour-science/index.html +++ b/output/categories/colour-science/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/categories/colour-scienceorg/index.html b/output/categories/colour-scienceorg/index.html index b2adf63b..e75d3d17 100644 --- a/output/categories/colour-scienceorg/index.html +++ b/output/categories/colour-scienceorg/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/categories/colour.xml b/output/categories/colour.xml index ce0fde4c..f4eb9f5a 100644 --- a/output/categories/colour.xml +++ b/output/categories/colour.xml @@ -1,5 +1,5 @@ -Colour Science (Posts about colour)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Thu, 10 Oct 2024 09:09:57 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssColour 0.4.5 is available!https://www.colour-science.org/posts/colour-045-is-available/Colour Developers<div><p>The colour-science Developers are pleased to announce the release of +Colour Science (Posts about colour)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Sun, 13 Oct 2024 01:01:29 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssColour 0.4.5 is available!https://www.colour-science.org/posts/colour-045-is-available/Colour Developers<div><p>The colour-science Developers are pleased to announce the release of <a class="reference external" href="https://github.com/colour-science/colour/releases/tag/v0.4.5">Colour 0.4.5</a>!</p> <p><a href="https://www.colour-science.org/posts/colour-045-is-available/">Read more…</a> (1 min remaining to read)</p></div>colourcolour sciencereleasehttps://www.colour-science.org/posts/colour-045-is-available/Thu, 10 Oct 2024 08:24:11 GMTColour Checker Detection with Machine Learninghttps://www.colour-science.org/posts/colour-checker-detection-with-machine-learning/Colour Developers<div><p>We have released a new version of <a class="reference external" href="https://github.com/colour-science/colour-checker-detection/releases/tag/v0.2.0">Colour - Checker Detection</a> that implements a new machine learning inference method to detect colour diff --git a/output/categories/colour/index.html b/output/categories/colour/index.html index a5fa5f96..e7051907 100644 --- a/output/categories/colour/index.html +++ b/output/categories/colour/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/categories/cvat.xml b/output/categories/cvat.xml index 99283b88..7b051740 100644 --- a/output/categories/cvat.xml +++ b/output/categories/cvat.xml @@ -1,5 +1,5 @@ -Colour Science (Posts about cvat)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Thu, 10 Oct 2024 04:17:17 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssColour Checker Detection with Machine Learninghttps://www.colour-science.org/posts/colour-checker-detection-with-machine-learning/Colour Developers<div><p>We have released a new version of <a class="reference external" href="https://github.com/colour-science/colour-checker-detection/releases/tag/v0.2.0">Colour - Checker Detection</a> +Colour Science (Posts about cvat)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Sun, 13 Oct 2024 01:01:30 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssColour Checker Detection with Machine Learninghttps://www.colour-science.org/posts/colour-checker-detection-with-machine-learning/Colour Developers<div><p>We have released a new version of <a class="reference external" href="https://github.com/colour-science/colour-checker-detection/releases/tag/v0.2.0">Colour - Checker Detection</a> that implements a new machine learning inference method to detect colour rendition charts, specifically the <em>ColorChecker Classic 24</em> from <em>X-Rite</em> / <em>Calibrite</em>.</p> diff --git a/output/categories/cvat/index.html b/output/categories/cvat/index.html index d72dcded..84be5827 100644 --- a/output/categories/cvat/index.html +++ b/output/categories/cvat/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/categories/digital-still-camera-exposure-model.xml b/output/categories/digital-still-camera-exposure-model.xml index 7b14ed96..31c8c851 100644 --- a/output/categories/digital-still-camera-exposure-model.xml +++ b/output/categories/digital-still-camera-exposure-model.xml @@ -1,5 +1,5 @@ -Colour Science (Posts about digital still camera exposure model)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Thu, 10 Oct 2024 04:17:17 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssPhysical Lighting Quantities: Tying Both Endshttps://www.colour-science.org/posts/physical-lighting-quantities-tying-both-ends/Colour Developers<div><p>Validation against ground truth data is an important step when implementing +Colour Science (Posts about digital still camera exposure model)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Sun, 13 Oct 2024 01:01:34 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssPhysical Lighting Quantities: Tying Both Endshttps://www.colour-science.org/posts/physical-lighting-quantities-tying-both-ends/Colour Developers<div><p>Validation against ground truth data is an important step when implementing support for physical lighting quantities in a realtime or offline renderer.</p> <p>In this post, a simple but effective method to assess that the physical camera model behaves as expected against ground truth data (or conversely) will be diff --git a/output/categories/digital-still-camera-exposure-model/index.html b/output/categories/digital-still-camera-exposure-model/index.html index 3314d419..fce0226c 100644 --- a/output/categories/digital-still-camera-exposure-model/index.html +++ b/output/categories/digital-still-camera-exposure-model/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/categories/eotf.xml b/output/categories/eotf.xml index a83ce069..cdbca28d 100644 --- a/output/categories/eotf.xml +++ b/output/categories/eotf.xml @@ -1,5 +1,5 @@ -Colour Science (Posts about EOTF)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Thu, 10 Oct 2024 04:17:17 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rsssRGB EOTF: Pure Gamma 2.2 Function or Piece-Wise Function?https://www.colour-science.org/posts/srgb-eotf-pure-gamma-22-or-piece-wise-function/Colour Developers<div><p>A topic that caused a great deal of +Colour Science (Posts about EOTF)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Sun, 13 Oct 2024 01:01:29 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rsssRGB EOTF: Pure Gamma 2.2 Function or Piece-Wise Function?https://www.colour-science.org/posts/srgb-eotf-pure-gamma-22-or-piece-wise-function/Colour Developers<div><p>A topic that caused a great deal of <a class="reference external" href="https://www.liftgammagain.com/forum/index.php?threads/dealing-with-srgb.13239">passionate</a> <a class="reference external" href="https://twitter.com/troy_s/status/1170094480080265217">discussions</a> is that of the <em>sRGB</em> <strong>Electro-Optical Transfer Function</strong> (<strong>EOTF</strong>): Should it be diff --git a/output/categories/eotf/index.html b/output/categories/eotf/index.html index a324fdcf..7b901655 100644 --- a/output/categories/eotf/index.html +++ b/output/categories/eotf/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/categories/fabric.xml b/output/categories/fabric.xml index cddd2aa1..79c22ced 100644 --- a/output/categories/fabric.xml +++ b/output/categories/fabric.xml @@ -1,5 +1,5 @@ -Colour Science (Posts about fabric)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Thu, 10 Oct 2024 04:17:18 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssPyCharm, Vagrant, Fabric & Anacondahttps://www.colour-science.org/posts/pycharm-vagrant-fabric-anaconda/Colour Developers<div><div class="alert alert-dismissible alert-warning line-block"> +Colour Science (Posts about fabric)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Sun, 13 Oct 2024 01:01:34 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssPyCharm, Vagrant, Fabric & Anacondahttps://www.colour-science.org/posts/pycharm-vagrant-fabric-anaconda/Colour Developers<div><div class="alert alert-dismissible alert-warning line-block"> <div class="line"><strong>Warning</strong></div> <div class="line"><br></div> <div class="line">Our <em>Vagrant</em> setup is now using <em>Ansible</em> and <em>Poetry</em>, please refer to the diff --git a/output/categories/fabric/index.html b/output/categories/fabric/index.html index 18cee344..09fe56bc 100644 --- a/output/categories/fabric/index.html +++ b/output/categories/fabric/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/categories/gamut.xml b/output/categories/gamut.xml index 04c85957..db7f4b9f 100644 --- a/output/categories/gamut.xml +++ b/output/categories/gamut.xml @@ -1,5 +1,5 @@ -Colour Science (Posts about gamut)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Thu, 10 Oct 2024 04:17:17 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssThe Importance of Terminology and sRGB Uncertaintyhttps://www.colour-science.org/posts/the-importance-of-terminology-and-srgb-uncertainty/Colour Developers<div><p>We were meant to write that entry since a while, and a +Colour Science (Posts about gamut)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Sun, 13 Oct 2024 01:01:31 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssThe Importance of Terminology and sRGB Uncertaintyhttps://www.colour-science.org/posts/the-importance-of-terminology-and-srgb-uncertainty/Colour Developers<div><p>We were meant to write that entry since a while, and a <a class="reference external" href="https://gamedevdaily.io/the-srgb-learning-curve-773b7f68cf7a#">great post</a> by <a class="reference external" href="https://twitter.com/tom_forsyth">Tom Forsyth</a> from <a class="reference external" href="https://www.oculus.com/en-us">Oculus VR</a> triggered us in doing so.</p> diff --git a/output/categories/gamut/index.html b/output/categories/gamut/index.html index ed5e0395..1737fbda 100644 --- a/output/categories/gamut/index.html +++ b/output/categories/gamut/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/categories/github.xml b/output/categories/github.xml index 41873723..cae2ccfb 100644 --- a/output/categories/github.xml +++ b/output/categories/github.xml @@ -1,5 +1,5 @@ -Colour Science (Posts about github)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Thu, 11 Jan 2024 04:37:46 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssOur First 1000 Stars on Github!https://www.colour-science.org/posts/our-first-1000-stars-on-github/Colour Developers<div><p>Earlier this week, <a class="reference external" href="https://github.com/colour-science/colour">Colour</a> +Colour Science (Posts about github)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Sun, 13 Oct 2024 01:01:34 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssOur First 1000 Stars on Github!https://www.colour-science.org/posts/our-first-1000-stars-on-github/Colour Developers<div><p>Earlier this week, <a class="reference external" href="https://github.com/colour-science/colour">Colour</a> received its 1000th Github star ⭐ and we are proud of the achievement!</p> <p>We would not be here without the help of our users, <a class="reference external" href="https://github.com/colour-science/colour/blob/develop/SPONSORS.rst">sponsors</a>, <a class="reference external" href="https://github.com/colour-science/colour/blob/develop/CONTRIBUTORS.rst">contributors</a> and <a class="reference external" href="https://numfocus.org">NumFOCUS</a>, so thank you all!</p> diff --git a/output/categories/github/index.html b/output/categories/github/index.html index 4dcb426a..c2320908 100644 --- a/output/categories/github/index.html +++ b/output/categories/github/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/categories/hugging-face.xml b/output/categories/hugging-face.xml index ca92415e..a3cfc55d 100644 --- a/output/categories/hugging-face.xml +++ b/output/categories/hugging-face.xml @@ -1,5 +1,5 @@ -Colour Science (Posts about hugging face)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Thu, 10 Oct 2024 04:17:17 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssColour Checker Detection with Machine Learninghttps://www.colour-science.org/posts/colour-checker-detection-with-machine-learning/Colour Developers<div><p>We have released a new version of <a class="reference external" href="https://github.com/colour-science/colour-checker-detection/releases/tag/v0.2.0">Colour - Checker Detection</a> +Colour Science (Posts about hugging face)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Sun, 13 Oct 2024 01:01:31 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssColour Checker Detection with Machine Learninghttps://www.colour-science.org/posts/colour-checker-detection-with-machine-learning/Colour Developers<div><p>We have released a new version of <a class="reference external" href="https://github.com/colour-science/colour-checker-detection/releases/tag/v0.2.0">Colour - Checker Detection</a> that implements a new machine learning inference method to detect colour rendition charts, specifically the <em>ColorChecker Classic 24</em> from <em>X-Rite</em> / <em>Calibrite</em>.</p> diff --git a/output/categories/hugging-face/index.html b/output/categories/hugging-face/index.html index b50e5098..5b7930f7 100644 --- a/output/categories/hugging-face/index.html +++ b/output/categories/hugging-face/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/categories/index.html b/output/categories/index.html index 8730875b..1962e8b2 100644 --- a/output/categories/index.html +++ b/output/categories/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/categories/inference.xml b/output/categories/inference.xml index dd36b775..7354c5a7 100644 --- a/output/categories/inference.xml +++ b/output/categories/inference.xml @@ -1,5 +1,5 @@ -Colour Science (Posts about inference)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Thu, 10 Oct 2024 04:17:17 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssColour Checker Detection with Machine Learninghttps://www.colour-science.org/posts/colour-checker-detection-with-machine-learning/Colour Developers<div><p>We have released a new version of <a class="reference external" href="https://github.com/colour-science/colour-checker-detection/releases/tag/v0.2.0">Colour - Checker Detection</a> +Colour Science (Posts about inference)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Sun, 13 Oct 2024 01:01:32 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssColour Checker Detection with Machine Learninghttps://www.colour-science.org/posts/colour-checker-detection-with-machine-learning/Colour Developers<div><p>We have released a new version of <a class="reference external" href="https://github.com/colour-science/colour-checker-detection/releases/tag/v0.2.0">Colour - Checker Detection</a> that implements a new machine learning inference method to detect colour rendition charts, specifically the <em>ColorChecker Classic 24</em> from <em>X-Rite</em> / <em>Calibrite</em>.</p> diff --git a/output/categories/inference/index.html b/output/categories/inference/index.html index 26153796..11a7b9c5 100644 --- a/output/categories/inference/index.html +++ b/output/categories/inference/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/categories/machine-learning.xml b/output/categories/machine-learning.xml index efc77182..15bbe68f 100644 --- a/output/categories/machine-learning.xml +++ b/output/categories/machine-learning.xml @@ -1,5 +1,5 @@ -Colour Science (Posts about machine learning)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Thu, 10 Oct 2024 04:17:17 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssColour Checker Detection with Machine Learninghttps://www.colour-science.org/posts/colour-checker-detection-with-machine-learning/Colour Developers<div><p>We have released a new version of <a class="reference external" href="https://github.com/colour-science/colour-checker-detection/releases/tag/v0.2.0">Colour - Checker Detection</a> +Colour Science (Posts about machine learning)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Sun, 13 Oct 2024 01:01:33 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssColour Checker Detection with Machine Learninghttps://www.colour-science.org/posts/colour-checker-detection-with-machine-learning/Colour Developers<div><p>We have released a new version of <a class="reference external" href="https://github.com/colour-science/colour-checker-detection/releases/tag/v0.2.0">Colour - Checker Detection</a> that implements a new machine learning inference method to detect colour rendition charts, specifically the <em>ColorChecker Classic 24</em> from <em>X-Rite</em> / <em>Calibrite</em>.</p> diff --git a/output/categories/machine-learning/index.html b/output/categories/machine-learning/index.html index 0743e96c..4f90afa0 100644 --- a/output/categories/machine-learning/index.html +++ b/output/categories/machine-learning/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/categories/oetf.xml b/output/categories/oetf.xml index e46d3b61..c9f67b01 100644 --- a/output/categories/oetf.xml +++ b/output/categories/oetf.xml @@ -1,5 +1,5 @@ -Colour Science (Posts about OETF)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Thu, 10 Oct 2024 04:17:17 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssThe Importance of Terminology and sRGB Uncertaintyhttps://www.colour-science.org/posts/the-importance-of-terminology-and-srgb-uncertainty/Colour Developers<div><p>We were meant to write that entry since a while, and a +Colour Science (Posts about OETF)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Sun, 13 Oct 2024 01:01:32 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssThe Importance of Terminology and sRGB Uncertaintyhttps://www.colour-science.org/posts/the-importance-of-terminology-and-srgb-uncertainty/Colour Developers<div><p>We were meant to write that entry since a while, and a <a class="reference external" href="https://gamedevdaily.io/the-srgb-learning-curve-773b7f68cf7a#">great post</a> by <a class="reference external" href="https://twitter.com/tom_forsyth">Tom Forsyth</a> from <a class="reference external" href="https://www.oculus.com/en-us">Oculus VR</a> triggered us in doing so.</p> diff --git a/output/categories/oetf/index.html b/output/categories/oetf/index.html index 3537ffad..8513df69 100644 --- a/output/categories/oetf/index.html +++ b/output/categories/oetf/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/categories/physical-quantities.xml b/output/categories/physical-quantities.xml index 96da6582..ecf9b864 100644 --- a/output/categories/physical-quantities.xml +++ b/output/categories/physical-quantities.xml @@ -1,5 +1,5 @@ -Colour Science (Posts about physical quantities)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Thu, 10 Oct 2024 04:17:17 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssPhysical Lighting Quantities: Tying Both Endshttps://www.colour-science.org/posts/physical-lighting-quantities-tying-both-ends/Colour Developers<div><p>Validation against ground truth data is an important step when implementing +Colour Science (Posts about physical quantities)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Sun, 13 Oct 2024 01:01:34 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssPhysical Lighting Quantities: Tying Both Endshttps://www.colour-science.org/posts/physical-lighting-quantities-tying-both-ends/Colour Developers<div><p>Validation against ground truth data is an important step when implementing support for physical lighting quantities in a realtime or offline renderer.</p> <p>In this post, a simple but effective method to assess that the physical camera model behaves as expected against ground truth data (or conversely) will be diff --git a/output/categories/physical-quantities/index.html b/output/categories/physical-quantities/index.html index 9c6e1724..f8e6dedd 100644 --- a/output/categories/physical-quantities/index.html +++ b/output/categories/physical-quantities/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/categories/poetry.xml b/output/categories/poetry.xml index 0bb212fc..51d6c7b4 100644 --- a/output/categories/poetry.xml +++ b/output/categories/poetry.xml @@ -1,5 +1,5 @@ -Colour Science (Posts about poetry)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Thu, 10 Oct 2024 04:17:17 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssPyCharm, Vagrant, Ansible & Poetryhttps://www.colour-science.org/posts/pycharm-vagrant-ansible-poetry/Colour Developers<div><div class="alert alert-dismissible alert-info line-block"> +Colour Science (Posts about poetry)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Sun, 13 Oct 2024 01:01:34 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssPyCharm, Vagrant, Ansible & Poetryhttps://www.colour-science.org/posts/pycharm-vagrant-ansible-poetry/Colour Developers<div><div class="alert alert-dismissible alert-info line-block"> <div class="line"><strong>Note</strong></div> <div class="line"><br></div> <div class="line">This post is an update to the diff --git a/output/categories/poetry/index.html b/output/categories/poetry/index.html index c9124666..b629c677 100644 --- a/output/categories/poetry/index.html +++ b/output/categories/poetry/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/categories/pointers-gamut/index.html b/output/categories/pointers-gamut/index.html index 2c94d278..829b318b 100644 --- a/output/categories/pointers-gamut/index.html +++ b/output/categories/pointers-gamut/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/categories/primaries.xml b/output/categories/primaries.xml index 27bdd624..d9e3650e 100644 --- a/output/categories/primaries.xml +++ b/output/categories/primaries.xml @@ -1,5 +1,5 @@ -Colour Science (Posts about primaries)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Thu, 10 Oct 2024 04:17:17 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssThe Importance of Terminology and sRGB Uncertaintyhttps://www.colour-science.org/posts/the-importance-of-terminology-and-srgb-uncertainty/Colour Developers<div><p>We were meant to write that entry since a while, and a +Colour Science (Posts about primaries)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Sun, 13 Oct 2024 01:01:33 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssThe Importance of Terminology and sRGB Uncertaintyhttps://www.colour-science.org/posts/the-importance-of-terminology-and-srgb-uncertainty/Colour Developers<div><p>We were meant to write that entry since a while, and a <a class="reference external" href="https://gamedevdaily.io/the-srgb-learning-curve-773b7f68cf7a#">great post</a> by <a class="reference external" href="https://twitter.com/tom_forsyth">Tom Forsyth</a> from <a class="reference external" href="https://www.oculus.com/en-us">Oculus VR</a> triggered us in doing so.</p> diff --git a/output/categories/primaries/index.html b/output/categories/primaries/index.html index 5481ba6f..c1714237 100644 --- a/output/categories/primaries/index.html +++ b/output/categories/primaries/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/categories/pycharm.xml b/output/categories/pycharm.xml index 58cd4c9e..a35117ef 100644 --- a/output/categories/pycharm.xml +++ b/output/categories/pycharm.xml @@ -1,5 +1,5 @@ -Colour Science (Posts about pycharm)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Thu, 10 Oct 2024 04:17:17 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssPyCharm, Vagrant, Ansible & Poetryhttps://www.colour-science.org/posts/pycharm-vagrant-ansible-poetry/Colour Developers<div><div class="alert alert-dismissible alert-info line-block"> +Colour Science (Posts about pycharm)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Sun, 13 Oct 2024 01:01:34 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssPyCharm, Vagrant, Ansible & Poetryhttps://www.colour-science.org/posts/pycharm-vagrant-ansible-poetry/Colour Developers<div><div class="alert alert-dismissible alert-info line-block"> <div class="line"><strong>Note</strong></div> <div class="line"><br></div> <div class="line">This post is an update to the diff --git a/output/categories/pycharm/index.html b/output/categories/pycharm/index.html index 00cc6de2..868e5d29 100644 --- a/output/categories/pycharm/index.html +++ b/output/categories/pycharm/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/categories/red/index.html b/output/categories/red/index.html index cfb3b4a8..f953b2b9 100644 --- a/output/categories/red/index.html +++ b/output/categories/red/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/categories/reflectance/index.html b/output/categories/reflectance/index.html index 2738ef13..22fbf02b 100644 --- a/output/categories/reflectance/index.html +++ b/output/categories/reflectance/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/categories/release.xml b/output/categories/release.xml index b8a670ed..56793f88 100644 --- a/output/categories/release.xml +++ b/output/categories/release.xml @@ -1,5 +1,5 @@ -Colour Science (Posts about release)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Thu, 10 Oct 2024 09:09:57 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssColour 0.4.5 is available!https://www.colour-science.org/posts/colour-045-is-available/Colour Developers<div><p>The colour-science Developers are pleased to announce the release of +Colour Science (Posts about release)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Sun, 13 Oct 2024 01:01:29 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssColour 0.4.5 is available!https://www.colour-science.org/posts/colour-045-is-available/Colour Developers<div><p>The colour-science Developers are pleased to announce the release of <a class="reference external" href="https://github.com/colour-science/colour/releases/tag/v0.4.5">Colour 0.4.5</a>!</p> <p><a href="https://www.colour-science.org/posts/colour-045-is-available/">Read more…</a> (1 min remaining to read)</p></div>colourcolour sciencereleasehttps://www.colour-science.org/posts/colour-045-is-available/Thu, 10 Oct 2024 08:24:11 GMTColour 0.4.4 is available!https://www.colour-science.org/posts/colour-044-is-available/Colour Developers<div><p>The colour-science Developers are pleased to announce the release of <a class="reference external" href="https://github.com/colour-science/colour/releases/tag/v0.4.4">Colour 0.4.4</a>!</p> diff --git a/output/categories/release/index.html b/output/categories/release/index.html index 728af4a3..f7daae25 100644 --- a/output/categories/release/index.html +++ b/output/categories/release/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/categories/rgb-colourspace.xml b/output/categories/rgb-colourspace.xml index 1a3416ad..996ecc53 100644 --- a/output/categories/rgb-colourspace.xml +++ b/output/categories/rgb-colourspace.xml @@ -1,5 +1,5 @@ -Colour Science (Posts about RGB colourspace)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Thu, 10 Oct 2024 04:17:17 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssThe Importance of Terminology and sRGB Uncertaintyhttps://www.colour-science.org/posts/the-importance-of-terminology-and-srgb-uncertainty/Colour Developers<div><p>We were meant to write that entry since a while, and a +Colour Science (Posts about RGB colourspace)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Sun, 13 Oct 2024 01:01:33 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssThe Importance of Terminology and sRGB Uncertaintyhttps://www.colour-science.org/posts/the-importance-of-terminology-and-srgb-uncertainty/Colour Developers<div><p>We were meant to write that entry since a while, and a <a class="reference external" href="https://gamedevdaily.io/the-srgb-learning-curve-773b7f68cf7a#">great post</a> by <a class="reference external" href="https://twitter.com/tom_forsyth">Tom Forsyth</a> from <a class="reference external" href="https://www.oculus.com/en-us">Oculus VR</a> triggered us in doing so.</p> diff --git a/output/categories/rgb-colourspace/index.html b/output/categories/rgb-colourspace/index.html index 757deb15..5ba59651 100644 --- a/output/categories/rgb-colourspace/index.html +++ b/output/categories/rgb-colourspace/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/categories/roboflow.xml b/output/categories/roboflow.xml index 2d0c7bb1..a93d0634 100644 --- a/output/categories/roboflow.xml +++ b/output/categories/roboflow.xml @@ -1,5 +1,5 @@ -Colour Science (Posts about roboflow)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Thu, 10 Oct 2024 04:17:17 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssColour Checker Detection with Machine Learninghttps://www.colour-science.org/posts/colour-checker-detection-with-machine-learning/Colour Developers<div><p>We have released a new version of <a class="reference external" href="https://github.com/colour-science/colour-checker-detection/releases/tag/v0.2.0">Colour - Checker Detection</a> +Colour Science (Posts about roboflow)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Sun, 13 Oct 2024 01:01:34 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssColour Checker Detection with Machine Learninghttps://www.colour-science.org/posts/colour-checker-detection-with-machine-learning/Colour Developers<div><p>We have released a new version of <a class="reference external" href="https://github.com/colour-science/colour-checker-detection/releases/tag/v0.2.0">Colour - Checker Detection</a> that implements a new machine learning inference method to detect colour rendition charts, specifically the <em>ColorChecker Classic 24</em> from <em>X-Rite</em> / <em>Calibrite</em>.</p> diff --git a/output/categories/roboflow/index.html b/output/categories/roboflow/index.html index 5fbf9009..8c175273 100644 --- a/output/categories/roboflow/index.html +++ b/output/categories/roboflow/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/categories/spectral/index.html b/output/categories/spectral/index.html index b35c7ec9..fdd70fd5 100644 --- a/output/categories/spectral/index.html +++ b/output/categories/spectral/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/categories/srgb.xml b/output/categories/srgb.xml index b4f24553..bfc88600 100644 --- a/output/categories/srgb.xml +++ b/output/categories/srgb.xml @@ -1,5 +1,5 @@ -Colour Science (Posts about sRGB)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Thu, 10 Oct 2024 04:17:17 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rsssRGB EOTF: Pure Gamma 2.2 Function or Piece-Wise Function?https://www.colour-science.org/posts/srgb-eotf-pure-gamma-22-or-piece-wise-function/Colour Developers<div><p>A topic that caused a great deal of +Colour Science (Posts about sRGB)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Sun, 13 Oct 2024 01:01:29 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rsssRGB EOTF: Pure Gamma 2.2 Function or Piece-Wise Function?https://www.colour-science.org/posts/srgb-eotf-pure-gamma-22-or-piece-wise-function/Colour Developers<div><p>A topic that caused a great deal of <a class="reference external" href="https://www.liftgammagain.com/forum/index.php?threads/dealing-with-srgb.13239">passionate</a> <a class="reference external" href="https://twitter.com/troy_s/status/1170094480080265217">discussions</a> is that of the <em>sRGB</em> <strong>Electro-Optical Transfer Function</strong> (<strong>EOTF</strong>): Should it be diff --git a/output/categories/srgb/index.html b/output/categories/srgb/index.html index f9a5bd86..6801a854 100644 --- a/output/categories/srgb/index.html +++ b/output/categories/srgb/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/categories/transfer-function.xml b/output/categories/transfer-function.xml index d413c5bb..d44a692f 100644 --- a/output/categories/transfer-function.xml +++ b/output/categories/transfer-function.xml @@ -1,5 +1,5 @@ -Colour Science (Posts about transfer function)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Thu, 10 Oct 2024 04:17:17 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rsssRGB EOTF: Pure Gamma 2.2 Function or Piece-Wise Function?https://www.colour-science.org/posts/srgb-eotf-pure-gamma-22-or-piece-wise-function/Colour Developers<div><p>A topic that caused a great deal of +Colour Science (Posts about transfer function)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Sun, 13 Oct 2024 01:01:29 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rsssRGB EOTF: Pure Gamma 2.2 Function or Piece-Wise Function?https://www.colour-science.org/posts/srgb-eotf-pure-gamma-22-or-piece-wise-function/Colour Developers<div><p>A topic that caused a great deal of <a class="reference external" href="https://www.liftgammagain.com/forum/index.php?threads/dealing-with-srgb.13239">passionate</a> <a class="reference external" href="https://twitter.com/troy_s/status/1170094480080265217">discussions</a> is that of the <em>sRGB</em> <strong>Electro-Optical Transfer Function</strong> (<strong>EOTF</strong>): Should it be diff --git a/output/categories/transfer-function/index.html b/output/categories/transfer-function/index.html index 9f98886e..0ac40f98 100644 --- a/output/categories/transfer-function/index.html +++ b/output/categories/transfer-function/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/categories/vagrant.xml b/output/categories/vagrant.xml index 83c3a035..aeda4e87 100644 --- a/output/categories/vagrant.xml +++ b/output/categories/vagrant.xml @@ -1,5 +1,5 @@ -Colour Science (Posts about vagrant)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Thu, 10 Oct 2024 04:17:17 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssPyCharm, Vagrant, Ansible & Poetryhttps://www.colour-science.org/posts/pycharm-vagrant-ansible-poetry/Colour Developers<div><div class="alert alert-dismissible alert-info line-block"> +Colour Science (Posts about vagrant)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Sun, 13 Oct 2024 01:01:34 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssPyCharm, Vagrant, Ansible & Poetryhttps://www.colour-science.org/posts/pycharm-vagrant-ansible-poetry/Colour Developers<div><div class="alert alert-dismissible alert-info line-block"> <div class="line"><strong>Note</strong></div> <div class="line"><br></div> <div class="line">This post is an update to the diff --git a/output/categories/vagrant/index.html b/output/categories/vagrant/index.html index 8f4aa984..55395b89 100644 --- a/output/categories/vagrant/index.html +++ b/output/categories/vagrant/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/categories/whitepoint.xml b/output/categories/whitepoint.xml index 17dc435f..4da20e72 100644 --- a/output/categories/whitepoint.xml +++ b/output/categories/whitepoint.xml @@ -1,5 +1,5 @@ -Colour Science (Posts about whitepoint)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Thu, 10 Oct 2024 04:17:18 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssThe Importance of Terminology and sRGB Uncertaintyhttps://www.colour-science.org/posts/the-importance-of-terminology-and-srgb-uncertainty/Colour Developers<div><p>We were meant to write that entry since a while, and a +Colour Science (Posts about whitepoint)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Sun, 13 Oct 2024 01:01:34 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssThe Importance of Terminology and sRGB Uncertaintyhttps://www.colour-science.org/posts/the-importance-of-terminology-and-srgb-uncertainty/Colour Developers<div><p>We were meant to write that entry since a while, and a <a class="reference external" href="https://gamedevdaily.io/the-srgb-learning-curve-773b7f68cf7a#">great post</a> by <a class="reference external" href="https://twitter.com/tom_forsyth">Tom Forsyth</a> from <a class="reference external" href="https://www.oculus.com/en-us">Oculus VR</a> triggered us in doing so.</p> diff --git a/output/categories/whitepoint/index.html b/output/categories/whitepoint/index.html index 1459951e..895f9c5e 100644 --- a/output/categories/whitepoint/index.html +++ b/output/categories/whitepoint/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/categories/yolo.xml b/output/categories/yolo.xml index d0aeed23..87800950 100644 --- a/output/categories/yolo.xml +++ b/output/categories/yolo.xml @@ -1,5 +1,5 @@ -Colour Science (Posts about yolo)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Thu, 10 Oct 2024 04:17:17 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssColour Checker Detection with Machine Learninghttps://www.colour-science.org/posts/colour-checker-detection-with-machine-learning/Colour Developers<div><p>We have released a new version of <a class="reference external" href="https://github.com/colour-science/colour-checker-detection/releases/tag/v0.2.0">Colour - Checker Detection</a> +Colour Science (Posts about yolo)https://www.colour-science.org/enContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Sun, 13 Oct 2024 01:01:34 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssColour Checker Detection with Machine Learninghttps://www.colour-science.org/posts/colour-checker-detection-with-machine-learning/Colour Developers<div><p>We have released a new version of <a class="reference external" href="https://github.com/colour-science/colour-checker-detection/releases/tag/v0.2.0">Colour - Checker Detection</a> that implements a new machine learning inference method to detect colour rendition charts, specifically the <em>ColorChecker Classic 24</em> from <em>X-Rite</em> / <em>Calibrite</em>.</p> diff --git a/output/categories/yolo/index.html b/output/categories/yolo/index.html index 62daaa5f..4f0b1366 100644 --- a/output/categories/yolo/index.html +++ b/output/categories/yolo/index.html @@ -72,7 +72,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/cited-by/index.html b/output/cited-by/index.html index 72ff03bc..8f226278 100644 --- a/output/cited-by/index.html +++ b/output/cited-by/index.html @@ -83,7 +83,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/code-of-conduct/index.html b/output/code-of-conduct/index.html index 6660e2de..e4bd3d82 100644 --- a/output/code-of-conduct/index.html +++ b/output/code-of-conduct/index.html @@ -79,7 +79,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/colour-checker-detection/index.html b/output/colour-checker-detection/index.html index f7b5cb5f..fa89fbeb 100644 --- a/output/colour-checker-detection/index.html +++ b/output/colour-checker-detection/index.html @@ -88,7 +88,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/colour-datasets/index.html b/output/colour-datasets/index.html index f709fe11..9686d8da 100644 --- a/output/colour-datasets/index.html +++ b/output/colour-datasets/index.html @@ -89,7 +89,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search @@ -145,9 +145,9 @@ Zenodo under the Colour Science - Datasets community:

    -
    import colour_datasets
    -
    -print(colour_datasets.datasets())
    +
    import colour_datasets
    +
    +print(colour_datasets.datasets())
     
    colour-science-datasets
     =======================
    diff --git a/output/colour-demosaicing/index.html b/output/colour-demosaicing/index.html
    index 0953d6b0..e0e4cda2 100644
    --- a/output/colour-demosaicing/index.html
    +++ b/output/colour-demosaicing/index.html
    @@ -88,7 +88,7 @@
                         Features
                         History
                         Bibliography
    -                    Cite Us
    +                    Cite Us
                         Cited By
                         License
                         Search
    diff --git a/output/colour-hdri/index.html b/output/colour-hdri/index.html
    index cc702c7e..d85cae4a 100644
    --- a/output/colour-hdri/index.html
    +++ b/output/colour-hdri/index.html
    @@ -91,7 +91,7 @@
                         Features
                         History
                         Bibliography
    -                    Cite Us
    +                    Cite Us
                         Cited By
                         License
                         Search
    diff --git a/output/colour-maya/index.html b/output/colour-maya/index.html
    index 0eacf996..30e54039 100644
    --- a/output/colour-maya/index.html
    +++ b/output/colour-maya/index.html
    @@ -94,7 +94,7 @@
                         Features
                         History
                         Bibliography
    -                    Cite Us
    +                    Cite Us
                         Cited By
                         License
                         Search
    @@ -151,7 +151,7 @@
     
    • RGB Colourspaces plotting.

    Examples

    -

    Comparing ProPhoto RGB colourspace and sRGB colourspace volumes:

    +

    Comparing ProPhoto RGB colourspace and sRGB colourspace volumes:

    https://www.colour-science.org/images/Maya_sRGB_ProPhoto_RGB_CIE_Lab_001.jpg

    The wide ACES RGB colourspace against sRGB colourspace:

    https://www.colour-science.org/images/Maya_sRGB_ACES_RGB_CIE_Lab_001.jpg

    Downloads

      diff --git a/output/colour-nuke/index.html b/output/colour-nuke/index.html index b742edc7..6afb0d2f 100644 --- a/output/colour-nuke/index.html +++ b/output/colour-nuke/index.html @@ -87,7 +87,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/colour-playground/index.html b/output/colour-playground/index.html index 6bca9549..796774d5 100644 --- a/output/colour-playground/index.html +++ b/output/colour-playground/index.html @@ -87,7 +87,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/colour-science-for-python/index.html b/output/colour-science-for-python/index.html index 2818b852..e14de3d9 100644 --- a/output/colour-science-for-python/index.html +++ b/output/colour-science-for-python/index.html @@ -29,22 +29,19 @@ - In [1]: - + import colour - - -For example, computing the CIE 2017 Colour Fidelity Index of a light source can be"> +For example, computing the CIE 2017 Colour Fidelity Index of a light source can be done as fo"> @@ -102,7 +99,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search @@ -158,7 +155,6 @@

      Most of the public Colour API is available from the colour namespace.

      -
    @@ -166,14 +162,12 @@
    In [1]:
    -
    -
    import colour
    +
    +
    import colour
     
    - -
    - +
    @@ -181,7 +175,6 @@

    For example, computing the CIE 2017 Colour Fidelity Index of a light source can be done as follows:

    -
    @@ -189,35 +182,23 @@
    In [2]:
    -
    -
    sd = colour.SDS_ILLUMINANTS.get('FL2')
    +
    +
    sd = colour.SDS_ILLUMINANTS.get('FL2')
     colour.colour_fidelity_index(sd)
     
    - -
    - +
    - -
    - -
    Out[2]:
    - - - - +
    Out[2]:
    70.120825477833037
    -
    -
    -
    @@ -225,7 +206,6 @@

    The correlated colour temperature of a CIE Standard Illuminant can be calculated easily:

    -
    @@ -233,35 +213,23 @@
    In [3]:
    -
    -
    il = colour.CCS_ILLUMINANTS['CIE 1931 2 Degree Standard Observer']['D50']
    +
    +
    il = colour.CCS_ILLUMINANTS['CIE 1931 2 Degree Standard Observer']['D50']
     colour.xy_to_CCT(il, method='Hernandez 1999')
     
    - -
    - +
    - -
    - -
    Out[3]:
    - - - - +
    Out[3]:
    5001.3574639752351
    -
    -
    -
    @@ -269,7 +237,6 @@

    Colour also implements various plotting functions via to Matplotlib:

    -
    @@ -277,36 +244,24 @@
    In [4]:
    -
    -
    colour.plotting.colour_style()
    +
    +
    colour.plotting.colour_style()
     
     colour.plotting.plot_visible_spectrum();
     
    - -
    - +
    - -
    - -
    - - - - -
    - +
    +
    +No description has been provided for this image
    -
    -
    -
    diff --git a/output/colour-spectroscope/index.html b/output/colour-spectroscope/index.html index 45a03ae8..346b05e4 100644 --- a/output/colour-spectroscope/index.html +++ b/output/colour-spectroscope/index.html @@ -96,7 +96,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/colour-visuals/index.html b/output/colour-visuals/index.html index dafbd6b1..91ba638d 100644 --- a/output/colour-visuals/index.html +++ b/output/colour-visuals/index.html @@ -89,7 +89,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search @@ -145,49 +145,49 @@ applications.

    https://raw.githubusercontent.com/colour-science/colour-visuals/master/docs/_static/Visuals_001.png

    Features

    Most of the objects are available from the colour_visuals namespace:

    -
    import colour_visuals
    +
    import colour_visuals
     

    API

    The main technical reference for Colour - Visuals is the API Reference.

    -
    import colour_visuals
    -import numpy as np
    -import pygfx as gfx
    -from wgpu.gui.auto import WgpuCanvas, run
    -
    -canvas = WgpuCanvas(size=(960, 540))
    -renderer = gfx.renderers.WgpuRenderer(canvas)
    -camera = gfx.PerspectiveCamera(50, 16 / 9)
    -controller = gfx.OrbitController(camera)
    -controller.register_events(renderer)
    -
    -scene = gfx.Scene()
    -scene.add(gfx.Background(None, gfx.BackgroundMaterial(np.array([0.18, 0.18, 0.18]))))
    -
    -visuals = [
    -    colour_visuals.VisualGrid(size=2),
    -    colour_visuals.VisualChromaticityDiagramCIE1931(
    -        kwargs_visual_chromaticity_diagram={"opacity": 0.25}
    -    ),
    -    colour_visuals.VisualRGBColourspace2D("ACEScg"),
    -    colour_visuals.VisualRGBColourspace2D(
    -        "Display P3", colours=np.array([0.5, 0.5, 0.5])
    -    ),
    -    colour_visuals.VisualRGBColourspace3D("Display P3", opacity=0.5, wireframe=True),
    -    colour_visuals.VisualRGBScatter3D(np.random.random([24, 32, 3]), "ACEScg"),
    -]
    -
    -group = gfx.Group()
    -for visual in visuals:
    -    group.add(visual)
    -
    -scene.add(group)
    -
    -camera.local.position = np.array([-0.25, -0.5, 2])
    -camera.show_pos(np.array([1 / 3, 1 / 3, 0.4]))
    -
    -canvas.request_draw(lambda: renderer.render(scene, camera))
    -run()
    +
    import colour_visuals
    +import numpy as np
    +import pygfx as gfx
    +from wgpu.gui.auto import WgpuCanvas, run
    +
    +canvas = WgpuCanvas(size=(960, 540))
    +renderer = gfx.renderers.WgpuRenderer(canvas)
    +camera = gfx.PerspectiveCamera(50, 16 / 9)
    +controller = gfx.OrbitController(camera)
    +controller.register_events(renderer)
    +
    +scene = gfx.Scene()
    +scene.add(gfx.Background(None, gfx.BackgroundMaterial(np.array([0.18, 0.18, 0.18]))))
    +
    +visuals = [
    +    colour_visuals.VisualGrid(size=2),
    +    colour_visuals.VisualChromaticityDiagramCIE1931(
    +        kwargs_visual_chromaticity_diagram={"opacity": 0.25}
    +    ),
    +    colour_visuals.VisualRGBColourspace2D("ACEScg"),
    +    colour_visuals.VisualRGBColourspace2D(
    +        "Display P3", colours=np.array([0.5, 0.5, 0.5])
    +    ),
    +    colour_visuals.VisualRGBColourspace3D("Display P3", opacity=0.5, wireframe=True),
    +    colour_visuals.VisualRGBScatter3D(np.random.random([24, 32, 3]), "ACEScg"),
    +]
    +
    +group = gfx.Group()
    +for visual in visuals:
    +    group.add(visual)
    +
    +scene.add(group)
    +
    +camera.local.position = np.array([-0.25, -0.5, 2])
    +camera.show_pos(np.array([1 / 3, 1 / 3, 0.4]))
    +
    +canvas.request_draw(lambda: renderer.render(scene, camera))
    +run()
     
    https://raw.githubusercontent.com/colour-science/colour-visuals/master/docs/_static/Visuals_002.png

    Downloads

      diff --git a/output/colour/index.html b/output/colour/index.html index 42401fb2..93767631 100644 --- a/output/colour/index.html +++ b/output/colour/index.html @@ -86,7 +86,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/contributing/index.html b/output/contributing/index.html index 6dcb165d..3cf0cacb 100644 --- a/output/contributing/index.html +++ b/output/contributing/index.html @@ -83,7 +83,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search @@ -249,32 +249,32 @@ and close them.

      When reporting a defect please provide the output of the following command if possible, and if it makes sense to do so:

      -
      python -c "import colour;colour.utilities.describe_environment()"
      +
      python -c "import colour;colour.utilities.describe_environment()"
       

      The typical output is something along those lines:

      -
      ===============================================================================
      -*                                                                             *
      -*   Interpreter :                                                             *
      -*       python : 3.11.6 (main, Oct  2 2023, 20:46:14) [Clang 14.0.3           *
      -*   (clang-1403.0.22.14.1)]                                                   *
      -*                                                                             *
      -*   colour-science.org :                                                      *
      -*       colour : v0.4.3-61-gbfc42ac2e                                         *
      -*                                                                             *
      -*   Runtime :                                                                 *
      -*       imageio : 2.31.5                                                      *
      -*       matplotlib : 3.8.0                                                    *
      -*       networkx : 2.8.8                                                      *
      -*       numpy : 1.26.1                                                        *
      -*       pandas : 1.5.3                                                        *
      -*       pygraphviz : 1.11                                                     *
      -*       PyOpenColorIO : 2.3.0                                                 *
      -*       scipy : 1.11.3                                                        *
      -*       tqdm : 4.66.1                                                         *
      -*       trimesh : 3.23.5                                                      *
      -*       xxhash : 3.4.1                                                        *
      -*                                                                             *
      -===============================================================================
      +
      ===============================================================================
      +*                                                                             *
      +*   Interpreter :                                                             *
      +*       python : 3.11.6 (main, Oct  2 2023, 20:46:14) [Clang 14.0.3           *
      +*   (clang-1403.0.22.14.1)]                                                   *
      +*                                                                             *
      +*   colour-science.org :                                                      *
      +*       colour : v0.4.3-61-gbfc42ac2e                                         *
      +*                                                                             *
      +*   Runtime :                                                                 *
      +*       imageio : 2.31.5                                                      *
      +*       matplotlib : 3.8.0                                                    *
      +*       networkx : 2.8.8                                                      *
      +*       numpy : 1.26.1                                                        *
      +*       pandas : 1.5.3                                                        *
      +*       pygraphviz : 1.11                                                     *
      +*       PyOpenColorIO : 2.3.0                                                 *
      +*       scipy : 1.11.3                                                        *
      +*       tqdm : 4.66.1                                                         *
      +*       trimesh : 3.23.5                                                      *
      +*       xxhash : 3.4.1                                                        *
      +*                                                                             *
      +===============================================================================
       

      If you are reporting an exception, please provide the complete traceback, it will help us understand what happened.

      @@ -304,17 +304,17 @@ Colour repository.

    Step 2

    Clone the repository locally to your workspace:

    -
    git clone git@github.com:$USER/colour.git
    +
    git clone git@github.com:$USER/colour.git
     

    Step 3

    Navigate to the colour directory:

    -
    cd colour
    +
    cd colour
     

    Step 4

    Assuming python >= 3.10, < 3.13 is available on your system, the development dependencies are installed with uv as follows:

    -
    uv sync --all-extras
    +
    uv sync --all-extras
     
    Warning
    @@ -327,25 +327,25 @@

    Step 5

    Install the pre-commit hooks:

    -
    uv run pre-commit install
    +
    uv run pre-commit install
     

    Step 6

    Connect your clone to the original upstream repository by adding it as a remote:

    -
    git remote add upstream git@github.com:colour-science/colour
    +
    git remote add upstream git@github.com:colour-science/colour
     

    Step 7

    You should now have two remotes:

    -
    git remote -v
    -origin  https://github.com/$USER/colour (fetch)
    -origin  https://github.com/$USER/colour (push)
    -upstream  https://github.com/colour-science/colour (fetch)
    -upstream  https://github.com/colour-science/colour (push)
    +
    git remote -v
    +origin  https://github.com/$USER/colour (fetch)
    +origin  https://github.com/$USER/colour (push)
    +upstream  https://github.com/colour-science/colour (fetch)
    +upstream  https://github.com/colour-science/colour (push)
     

    Step 8

    Pull the latest changes from upstream:

    -
    git checkout develop
    -git pull upstream develop
    +
    git checkout develop
    +git pull upstream develop
     

    Step 9

    Create a branch for your contribution:

    @@ -361,27 +361,27 @@

    As an example, working to implement Mie Scattering support:

    -
    git checkout -b feature/mie_scattering
    +
    git checkout -b feature/mie_scattering
     

    Step 11

    Implement your changes while making sure examples and relevant documentation are written.

    Step 12

    Check whether the unit tests and doctests are passing:

    -
    uv run invoke tests
    +
    uv run invoke tests
     

    or alternatively:

    -
    source .venv/bin/activate
    -invoke tests
    +
    source .venv/bin/activate
    +invoke tests
     

    Step 13

    Verify that the static checking from pyright is passing:

    -
    uv run invoke quality
    +
    uv run invoke quality
     

    Step 14

    Commit your changes:

    -
    git add mie_scattering.py
    -git commit -m 'Implement "Mie Scattering" support.'
    +
    git add mie_scattering.py
    +git commit -m 'Implement "Mie Scattering" support.'
     
    Note
    @@ -398,7 +398,7 @@

    Step 15

    Push your changes to origin, i.e., your own fork:

    -
    git push origin feature/mie_scattering
    +
    git push origin feature/mie_scattering
     

    Step 16

    Visit your repository fork on Github. @@ -437,11 +437,11 @@ case notation. If we were to fully abide by the PEP 8 recommendations, we would have written a conversion definition as follows:

    -
    def xyz_to_xy(xyz: ArrayLike) -> Tuple:
    -    x, y, z = np.ravel(xyz)
    -    x, y = x / (x + y + z), y / (x + y + z)
    -
    -    return x, y
    +
    def xyz_to_xy(xyz: ArrayLike) -> Tuple:
    +    x, y, z = np.ravel(xyz)
    +    x, y = x / (x + y + z), y / (x + y + z)
    +
    +    return x, y
     

    Abstracting the fact that the above definition is totally undocumented, it can be confusing to understand when we are referencing big X tristimulus value @@ -449,11 +449,11 @@

    For those cases, and there are legions of them in Colour Science, we have decided to go for clarity and consistency with the literature for the object names:

    -
    def XYZ_to_xy(XYZ: ArrayLike) -> Tuple:
    -    X, Y, Z = np.ravel(XYZ)
    -    x, y = X / (X + Y + Z), Y / (X + Y + Z)
    -
    -    return x, y
    +
    def XYZ_to_xy(XYZ: ArrayLike) -> Tuple:
    +    X, Y, Z = np.ravel(XYZ)
    +    x, y = X / (X + Y + Z), Y / (X + Y + Z)
    +
    +    return x, y
     

    When the reference is using upper case named variables, we try to follow the same convention, it is unfortunately not @@ -486,7 +486,7 @@

  • Try using uppercase for author names in definitions:

  • -
    def CCT_to_xy_Kang2002(CCT): ...
    +
    def CCT_to_xy_Kang2002(CCT): ...
     
    • Please use British English words instead of American English ones as @@ -495,16 +495,16 @@ any doubts.

    • Import NumPy as follows:

    -
    import numpy as np
    +
    import numpy as np
     
    • Doctests may need ellipsis, don't rely on global nose settings and specify it using the dedicated pragma as follows:

    -
    Lab = np.array([100.00000000, -7.41787844, -15.85742105])
    -Lab_to_LCHab(Lab)  # doctest: +ELLIPSIS
    +
    Lab = np.array([100.00000000, -7.41787844, -15.85742105])
    +Lab_to_LCHab(Lab)  # doctest: +ELLIPSIS
     
    -
    array([ 100.        ,   17.5066479...,  244.9304684...])
    +
    array([ 100.        ,   17.5066479...,  244.9304684...])
     
    • @@ -527,180 +527,180 @@ values:

    -
    Recommended Values for Use in Colour Examples and Unit Tests
    -
    -Illuminants "xy"
    -
    -D65 : array([0.31270000, 0.32900000])
    -D50 : array([0.34570000, 0.35850000])
    -A : array([0.44757000, 0.40745000])
    -E : array([0.33333333, 0.33333333])
    -F2 : array([0.37208000, 0.37529000])
    -CC I : array([0.34570000, 0.35850000])
    -
    -
    -Illuminants "XYZ"
    -
    -D65 : array([0.95045593, 1.00000000, 1.08905775])
    -D50 : array([0.96429568, 1.00000000, 0.82510460])
    -A : array([1.09846607, 1.00000000, 0.35582280])
    -F2 : array([0.99144661, 1.00000000, 0.67315942])
    -E : array([1.00000000, 1.00000000, 1.00000000])
    -CC I : array([0.96429568, 1.00000000, 0.82510460])
    -
    -
    -ColorChecker 2005 "XYZ" Adapted to "D65"
    -
    -red : array([0.20654008, 0.12197225, 0.05136952])
    -green : array([0.14222010, 0.23042768, 0.10495772])
    -blue : array([0.07818780, 0.06157201, 0.28099326])
    -cyan : array([0.14525849, 0.19799077, 0.40724370])
    -yellow : array([0.55676530, 0.58671628, 0.09785344])
    -magenta : array([0.30795495, 0.20024152, 0.31071274])
    -neutral 5 (.70 D) : array([0.18182171, 0.19153665, 0.21009620])
    -
    -
    -ColorChecker 2005 "XYZ" Adapted to "D50"
    -
    -red : array([0.21638819, 0.12570000, 0.03847493])
    -green : array([0.14985004, 0.23180000, 0.07900179])
    -blue : array([0.06857861, 0.05750000, 0.21375591])
    -cyan : array([0.13605127, 0.19300000, 0.30938736])
    -yellow : array([0.59342537, 0.59810000, 0.07188823])
    -magenta : array([0.31084193, 0.20090000, 0.23565391])
    -neutral 5 (.70 D) : array([0.18438363, 0.19150000, 0.15918203])
    -
    -
    -ColorChecker 2005 "XYZ" Adapted to "A"
    -
    -red : array([0.25330530, 0.13765139, 0.01543307])
    -green : array([0.18673833, 0.23111171, 0.03285972])
    -blue : array([0.05610693, 0.04992541, 0.09429057])
    -cyan : array([0.13623492, 0.18062024, 0.13553082])
    -yellow : array([0.73088905, 0.62177441, 0.02548927])
    -magenta : array([0.34280970, 0.20770559, 0.10214220])
    -neutral 5 (.70 D) : array([0.20988974, 0.19141324, 0.06866269])
    -
    -
    -ColorChecker 2005 "XYZ" Adapted to "E"
    -
    -red : array([0.21781186, 0.12541048, 0.04697113])
    -green : array([0.15434689, 0.22960951, 0.09620221])
    -blue : array([0.07683480, 0.06006092, 0.25833845])
    -cyan : array([0.14893167, 0.19487065, 0.37427698])
    -yellow : array([0.59874058, 0.59196415, 0.08899633])
    -magenta : array([0.31991986, 0.20277158, 0.28536138])
    -neutral 5 (.70 D) : array([0.19126715, 0.19151544, 0.19291812])
    -
    -
    -ColorChecker 2005 "XYZ" Adapted to "F2"
    -
    -red : array([0.22545552, 0.12877805, 0.03103172])
    -green : array([0.15832594, 0.23204226, 0.06406107])
    -blue : array([0.06385467, 0.05509729, 0.17506386])
    -cyan : array([0.13364947, 0.18951306, 0.25307753])
    -yellow : array([0.62718558, 0.60525456, 0.05690008])
    -magenta : array([0.31720246, 0.20226568, 0.19243480])
    -neutral 5 (.70 D) : array([0.18952683, 0.19147512, 0.12987334])
    -
    -
    -Luminance "XYZ" Adapted to "D65"
    -
    -red : 12.19722535
    -green : 23.04276781
    -blue : 6.15720079
    -cyan : 19.79907683
    -yellow : 58.67162787
    -magenta : 20.02415243
    -neutral 5 (.70 D) : 19.15366501
    -
    -
    -Luminance "XYZ" Adapted to "D50"
    -
    -red : 12.57000000
    -green : 23.18000000
    -blue : 5.75000000
    -cyan : 19.30000000
    -yellow : 59.81000000
    -magenta : 20.09000000
    -neutral 5 (.70 D) : 19.15000000
    -
    -
    -Luminance "XYZ" Adapted to "A"
    -
    -red : 13.76513858
    -green : 23.11117127
    -blue : 4.99254109
    -cyan : 18.06202404
    -yellow : 62.17744084
    -magenta : 20.77055938
    -neutral 5 (.70 D) : 19.14132354
    -
    -
    -Luminance "XYZ" Adapted to "E"
    -
    -red : 12.54104823
    -green : 22.96095053
    -blue : 6.00609174
    -cyan : 19.48706483
    -yellow : 59.19641488
    -magenta : 20.27715822
    -neutral 5 (.70 D) : 19.15154358
    -
    -
    -Luminance "XYZ" Adapted to "F2"
    -
    -red : 12.87780528
    -green : 23.20422641
    -blue : 5.50972884
    -cyan : 18.95130571
    -yellow : 60.52545632
    -magenta : 20.22656850
    -neutral 5 (.70 D) : 19.14751195
    -
    -
    -ColorChecker 2005 "sRGB - Linear" under "D65"
    -
    -red : array([0.45620519, 0.03081071, 0.04091952])
    -green : array([0.05433312, 0.29879493, 0.07185472])
    -blue : array([0.01862364, 0.05140184, 0.28880425])
    -cyan : array([-0.03667845, 0.24755074, 0.39815738])
    -yellow : array([0.85356364, 0.56517342, 0.01475279])
    -magenta : array([0.53522616, 0.09013008, 0.30472718])
    -neutral 5 (.70 D) : array([0.19002735, 0.19183638, 0.19312568])
    -
    -
    -ColorChecker 2005 "sRGB - OETF" under "D65"
    -
    -red : array([0.70573936, 0.19248268, 0.22354168])
    -green : array([0.25847007, 0.58276101, 0.29718877])
    -blue : array([0.14565317, 0.25130933, 0.57378757])
    -cyan : array([-0.47388561, 0.53467479, 0.66380090])
    -yellow : array([0.93264474, 0.77675390, 0.12708884])
    -magenta : array([0.75809823, 0.33206288, 0.58800664])
    -neutral 5 (.70 D) : array([0.47315229, 0.47524148, 0.47672343])
    -
    -
    -ColorChecker 2005 "Munsell Value"
    -
    -red : 4.08244375
    -green : 5.39132685
    -blue : 2.97619312
    -cyan : 5.06675596
    -yellow : 8.04387670
    -magenta : 5.10225899
    -neutral 5 (.70 D) : 4.98656896
    -
    -
    -ColorChecker 2005 "ASTM D1535-08e1 Luminance"
    -
    -red : 12.23634268
    -green : 22.89399987
    -blue : 6.29022535
    -cyan : 19.86282567
    -yellow : 58.37987916
    -magenta : 20.18160934
    -neutral 5 (.70 D) : 19.15426585
    +
    Recommended Values for Use in Colour Examples and Unit Tests
    +
    +Illuminants "xy"
    +
    +D65 : array([0.31270000, 0.32900000])
    +D50 : array([0.34570000, 0.35850000])
    +A : array([0.44757000, 0.40745000])
    +E : array([0.33333333, 0.33333333])
    +F2 : array([0.37208000, 0.37529000])
    +CC I : array([0.34570000, 0.35850000])
    +
    +
    +Illuminants "XYZ"
    +
    +D65 : array([0.95045593, 1.00000000, 1.08905775])
    +D50 : array([0.96429568, 1.00000000, 0.82510460])
    +A : array([1.09846607, 1.00000000, 0.35582280])
    +F2 : array([0.99144661, 1.00000000, 0.67315942])
    +E : array([1.00000000, 1.00000000, 1.00000000])
    +CC I : array([0.96429568, 1.00000000, 0.82510460])
    +
    +
    +ColorChecker 2005 "XYZ" Adapted to "D65"
    +
    +red : array([0.20654008, 0.12197225, 0.05136952])
    +green : array([0.14222010, 0.23042768, 0.10495772])
    +blue : array([0.07818780, 0.06157201, 0.28099326])
    +cyan : array([0.14525849, 0.19799077, 0.40724370])
    +yellow : array([0.55676530, 0.58671628, 0.09785344])
    +magenta : array([0.30795495, 0.20024152, 0.31071274])
    +neutral 5 (.70 D) : array([0.18182171, 0.19153665, 0.21009620])
    +
    +
    +ColorChecker 2005 "XYZ" Adapted to "D50"
    +
    +red : array([0.21638819, 0.12570000, 0.03847493])
    +green : array([0.14985004, 0.23180000, 0.07900179])
    +blue : array([0.06857861, 0.05750000, 0.21375591])
    +cyan : array([0.13605127, 0.19300000, 0.30938736])
    +yellow : array([0.59342537, 0.59810000, 0.07188823])
    +magenta : array([0.31084193, 0.20090000, 0.23565391])
    +neutral 5 (.70 D) : array([0.18438363, 0.19150000, 0.15918203])
    +
    +
    +ColorChecker 2005 "XYZ" Adapted to "A"
    +
    +red : array([0.25330530, 0.13765139, 0.01543307])
    +green : array([0.18673833, 0.23111171, 0.03285972])
    +blue : array([0.05610693, 0.04992541, 0.09429057])
    +cyan : array([0.13623492, 0.18062024, 0.13553082])
    +yellow : array([0.73088905, 0.62177441, 0.02548927])
    +magenta : array([0.34280970, 0.20770559, 0.10214220])
    +neutral 5 (.70 D) : array([0.20988974, 0.19141324, 0.06866269])
    +
    +
    +ColorChecker 2005 "XYZ" Adapted to "E"
    +
    +red : array([0.21781186, 0.12541048, 0.04697113])
    +green : array([0.15434689, 0.22960951, 0.09620221])
    +blue : array([0.07683480, 0.06006092, 0.25833845])
    +cyan : array([0.14893167, 0.19487065, 0.37427698])
    +yellow : array([0.59874058, 0.59196415, 0.08899633])
    +magenta : array([0.31991986, 0.20277158, 0.28536138])
    +neutral 5 (.70 D) : array([0.19126715, 0.19151544, 0.19291812])
    +
    +
    +ColorChecker 2005 "XYZ" Adapted to "F2"
    +
    +red : array([0.22545552, 0.12877805, 0.03103172])
    +green : array([0.15832594, 0.23204226, 0.06406107])
    +blue : array([0.06385467, 0.05509729, 0.17506386])
    +cyan : array([0.13364947, 0.18951306, 0.25307753])
    +yellow : array([0.62718558, 0.60525456, 0.05690008])
    +magenta : array([0.31720246, 0.20226568, 0.19243480])
    +neutral 5 (.70 D) : array([0.18952683, 0.19147512, 0.12987334])
    +
    +
    +Luminance "XYZ" Adapted to "D65"
    +
    +red : 12.19722535
    +green : 23.04276781
    +blue : 6.15720079
    +cyan : 19.79907683
    +yellow : 58.67162787
    +magenta : 20.02415243
    +neutral 5 (.70 D) : 19.15366501
    +
    +
    +Luminance "XYZ" Adapted to "D50"
    +
    +red : 12.57000000
    +green : 23.18000000
    +blue : 5.75000000
    +cyan : 19.30000000
    +yellow : 59.81000000
    +magenta : 20.09000000
    +neutral 5 (.70 D) : 19.15000000
    +
    +
    +Luminance "XYZ" Adapted to "A"
    +
    +red : 13.76513858
    +green : 23.11117127
    +blue : 4.99254109
    +cyan : 18.06202404
    +yellow : 62.17744084
    +magenta : 20.77055938
    +neutral 5 (.70 D) : 19.14132354
    +
    +
    +Luminance "XYZ" Adapted to "E"
    +
    +red : 12.54104823
    +green : 22.96095053
    +blue : 6.00609174
    +cyan : 19.48706483
    +yellow : 59.19641488
    +magenta : 20.27715822
    +neutral 5 (.70 D) : 19.15154358
    +
    +
    +Luminance "XYZ" Adapted to "F2"
    +
    +red : 12.87780528
    +green : 23.20422641
    +blue : 5.50972884
    +cyan : 18.95130571
    +yellow : 60.52545632
    +magenta : 20.22656850
    +neutral 5 (.70 D) : 19.14751195
    +
    +
    +ColorChecker 2005 "sRGB - Linear" under "D65"
    +
    +red : array([0.45620519, 0.03081071, 0.04091952])
    +green : array([0.05433312, 0.29879493, 0.07185472])
    +blue : array([0.01862364, 0.05140184, 0.28880425])
    +cyan : array([-0.03667845, 0.24755074, 0.39815738])
    +yellow : array([0.85356364, 0.56517342, 0.01475279])
    +magenta : array([0.53522616, 0.09013008, 0.30472718])
    +neutral 5 (.70 D) : array([0.19002735, 0.19183638, 0.19312568])
    +
    +
    +ColorChecker 2005 "sRGB - OETF" under "D65"
    +
    +red : array([0.70573936, 0.19248268, 0.22354168])
    +green : array([0.25847007, 0.58276101, 0.29718877])
    +blue : array([0.14565317, 0.25130933, 0.57378757])
    +cyan : array([-0.47388561, 0.53467479, 0.66380090])
    +yellow : array([0.93264474, 0.77675390, 0.12708884])
    +magenta : array([0.75809823, 0.33206288, 0.58800664])
    +neutral 5 (.70 D) : array([0.47315229, 0.47524148, 0.47672343])
    +
    +
    +ColorChecker 2005 "Munsell Value"
    +
    +red : 4.08244375
    +green : 5.39132685
    +blue : 2.97619312
    +cyan : 5.06675596
    +yellow : 8.04387670
    +magenta : 5.10225899
    +neutral 5 (.70 D) : 4.98656896
    +
    +
    +ColorChecker 2005 "ASTM D1535-08e1 Luminance"
    +
    +red : 12.23634268
    +green : 22.89399987
    +blue : 6.29022535
    +cyan : 19.86282567
    +yellow : 58.37987916
    +magenta : 20.18160934
    +neutral 5 (.70 D) : 19.15426585
     
    • Some commonly used dataset elements have aliases like 'cie_2_1931' @@ -721,7 +721,7 @@

    • Ensure that trailing whitespaces are stripped.

    • Prefix unused variable with an underscore:

    -
    _L, a, b = tsplit(Lab)
    +
    _L, a, b = tsplit(Lab)
     

    Citations

    It's likely that the code you contribute will be based upon references, we are diff --git a/output/contributors/index.html b/output/contributors/index.html index 0a24e02e..627929b1 100644 --- a/output/contributors/index.html +++ b/output/contributors/index.html @@ -89,7 +89,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/experiments/index.html b/output/experiments/index.html index dca64d68..1d67cb28 100644 --- a/output/experiments/index.html +++ b/output/experiments/index.html @@ -83,7 +83,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/features/index.html b/output/features/index.html index d0a0fe65..9a0960af 100644 --- a/output/features/index.html +++ b/output/features/index.html @@ -89,7 +89,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/history/index.html b/output/history/index.html index 6dc9661e..55ad1d61 100644 --- a/output/history/index.html +++ b/output/history/index.html @@ -84,7 +84,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/index.html b/output/index.html index c7a11d7c..071ab6a0 100644 --- a/output/index.html +++ b/output/index.html @@ -86,7 +86,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/installation-guide/index.html b/output/installation-guide/index.html index 50a34e38..ce77710d 100644 --- a/output/installation-guide/index.html +++ b/output/installation-guide/index.html @@ -83,7 +83,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search @@ -184,16 +184,16 @@

    Colour can be easily installed from the Python Package Index by issuing this command in a shell:

    -
    pip install --user colour-science
    +
    pip install --user colour-science
     

    This asciicast demonstrates how to generate a pristine Python VirtualEnv environment for Colour:

    The optional features dependencies are installed as follows:

    -
    pip install --user 'colour-science[optional]'
    +
    pip install --user 'colour-science[optional]'
     

    The development dependencies are installed as follows:

    -
    pip install --user 'colour-science[development]'
    +
    pip install --user 'colour-science[development]'
     

    The graphviz figure plotting dependencies are installed as follows:

    @@ -206,16 +206,16 @@

    pip install --user 'colour-science[graphviz]'

    The meshing dependencies for gamut computations are installed as follows:

    -
    pip install --user 'colour-science[meshing]'
    +
    pip install --user 'colour-science[meshing]'
     

    If you wish to read OpenEXR files, you will need to install the FreeImage plugin for Imageio as follows:

    -
    python -c "import imageio;imageio.plugins.freeimage.download()"
    +
    python -c "import imageio;imageio.plugins.freeimage.download()"
     

    Continuum Analytics Anaconda

    Colour is also available for Anaconda from Continuum Analytics via conda-forge:

    -
    conda install -c conda-forge colour-science
    +
    conda install -c conda-forge colour-science
     

    This asciicast demonstrates how to generate a pristine Python conda environment for Colour:

    @@ -223,9 +223,9 @@

    Github

    Alternatively, you can also install directly from Github source repository:

    -
    git clone git://github.com/colour-science/colour.git
    -cd colour
    -pip install --user .
    +
    git clone git://github.com/colour-science/colour.git
    +cd colour
    +pip install --user .
     

    Installation Methods for Developing Colour

    @@ -241,18 +241,18 @@

    Assuming python >= 3.10, < 3.13 is available on your system, the development dependencies are installed with uv as follows:

    -
    git clone git://github.com/colour-science/colour.git
    -cd colour
    -uv sync --all-extras
    +
    git clone git://github.com/colour-science/colour.git
    +cd colour
    +uv sync --all-extras
     

    Those commands will create a Virtual Environment in which all the required python packages will be installed.

    Tools can then be run as follows:

    -
    uv run invoke -l
    +
    uv run invoke -l
     

    or alternatively:

    -
    source .venv/bin/activate
    -invoke -l
    +
    source .venv/bin/activate
    +invoke -l
     

    Vagrant

    An easy way to get all the pre-requisites at once is to use our diff --git a/output/posts/a-new-logo-and-website/index.html b/output/posts/a-new-logo-and-website/index.html index 068b0724..72d4341e 100644 --- a/output/posts/a-new-logo-and-website/index.html +++ b/output/posts/a-new-logo-and-website/index.html @@ -89,7 +89,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/posts/a-plea-for-colour-analysis-tools-in-dcc-applications/index.html b/output/posts/a-plea-for-colour-analysis-tools-in-dcc-applications/index.html index ff35839c..5c7e7128 100644 --- a/output/posts/a-plea-for-colour-analysis-tools-in-dcc-applications/index.html +++ b/output/posts/a-plea-for-colour-analysis-tools-in-dcc-applications/index.html @@ -93,7 +93,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/posts/about-reflectance-recovery/index.html b/output/posts/about-reflectance-recovery/index.html index 661ff7e4..89ce2ed1 100644 --- a/output/posts/about-reflectance-recovery/index.html +++ b/output/posts/about-reflectance-recovery/index.html @@ -92,7 +92,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/posts/about-rendering-engines-colourspace-agnosticism/index.html b/output/posts/about-rendering-engines-colourspace-agnosticism/index.html index 9048843a..ebc61453 100644 --- a/output/posts/about-rendering-engines-colourspace-agnosticism/index.html +++ b/output/posts/about-rendering-engines-colourspace-agnosticism/index.html @@ -92,7 +92,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/posts/about-rgb-colourspace-models-performance/index.html b/output/posts/about-rgb-colourspace-models-performance/index.html index 92308777..afc05d07 100644 --- a/output/posts/about-rgb-colourspace-models-performance/index.html +++ b/output/posts/about-rgb-colourspace-models-performance/index.html @@ -93,7 +93,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/posts/anders-langlands-render-color-spaces/index.html b/output/posts/anders-langlands-render-color-spaces/index.html index 048bc526..628168ca 100644 --- a/output/posts/anders-langlands-render-color-spaces/index.html +++ b/output/posts/anders-langlands-render-color-spaces/index.html @@ -83,7 +83,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/posts/colour-0310-is-available/index.html b/output/posts/colour-0310-is-available/index.html index 95644611..aaf743c8 100644 --- a/output/posts/colour-0310-is-available/index.html +++ b/output/posts/colour-0310-is-available/index.html @@ -88,7 +88,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/posts/colour-0311-is-available/index.html b/output/posts/colour-0311-is-available/index.html index d4833bde..78684616 100644 --- a/output/posts/colour-0311-is-available/index.html +++ b/output/posts/colour-0311-is-available/index.html @@ -90,7 +90,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/posts/colour-0312-colour-checker-detection-010/index.html b/output/posts/colour-0312-colour-checker-detection-010/index.html index 7562afbe..cd79efb3 100644 --- a/output/posts/colour-0312-colour-checker-detection-010/index.html +++ b/output/posts/colour-0312-colour-checker-detection-010/index.html @@ -91,7 +91,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/posts/colour-0313-is-available/index.html b/output/posts/colour-0313-is-available/index.html index 1e8d8d0e..c80b357a 100644 --- a/output/posts/colour-0313-is-available/index.html +++ b/output/posts/colour-0313-is-available/index.html @@ -89,7 +89,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/posts/colour-0315-is-available/index.html b/output/posts/colour-0315-is-available/index.html index a6a8b5c8..d08609fa 100644 --- a/output/posts/colour-0315-is-available/index.html +++ b/output/posts/colour-0315-is-available/index.html @@ -90,7 +90,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/posts/colour-0316-is-available/index.html b/output/posts/colour-0316-is-available/index.html index 43f72092..95aa21cf 100644 --- a/output/posts/colour-0316-is-available/index.html +++ b/output/posts/colour-0316-is-available/index.html @@ -90,7 +90,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/posts/colour-033-is-available/index.html b/output/posts/colour-033-is-available/index.html index 6773acd2..639c654c 100644 --- a/output/posts/colour-033-is-available/index.html +++ b/output/posts/colour-033-is-available/index.html @@ -95,7 +95,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/posts/colour-034-is-available/index.html b/output/posts/colour-034-is-available/index.html index ce85011d..e734af4d 100644 --- a/output/posts/colour-034-is-available/index.html +++ b/output/posts/colour-034-is-available/index.html @@ -91,7 +91,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/posts/colour-035-is-available/index.html b/output/posts/colour-035-is-available/index.html index 3d414a8b..b7e4e4a2 100644 --- a/output/posts/colour-035-is-available/index.html +++ b/output/posts/colour-035-is-available/index.html @@ -87,7 +87,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/posts/colour-036-is-available/index.html b/output/posts/colour-036-is-available/index.html index fb873e21..1cf0ccd4 100644 --- a/output/posts/colour-036-is-available/index.html +++ b/output/posts/colour-036-is-available/index.html @@ -89,7 +89,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/posts/colour-037-is-available/index.html b/output/posts/colour-037-is-available/index.html index 4ce5013b..10da0dfc 100644 --- a/output/posts/colour-037-is-available/index.html +++ b/output/posts/colour-037-is-available/index.html @@ -88,7 +88,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/posts/colour-038-is-available/index.html b/output/posts/colour-038-is-available/index.html index 1c9f5433..78dff32a 100644 --- a/output/posts/colour-038-is-available/index.html +++ b/output/posts/colour-038-is-available/index.html @@ -89,7 +89,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/posts/colour-039-colour-hdri-012-aces/index.html b/output/posts/colour-039-colour-hdri-012-aces/index.html index 723f1464..4c15b0af 100644 --- a/output/posts/colour-039-colour-hdri-012-aces/index.html +++ b/output/posts/colour-039-colour-hdri-012-aces/index.html @@ -88,7 +88,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search @@ -190,7 +190,7 @@

  • Implement support for ACEScct colourspace and ACEScct log curves.

  • Colour can now be installed from conda-forge:

    -
    conda install -c conda-forge colour-science
    +
    conda install -c conda-forge colour-science
     

    Visit the Colour's releases page for complete details.

    diff --git a/output/posts/colour-040-is-available/index.html b/output/posts/colour-040-is-available/index.html index 0970f5eb..26ff47e1 100644 --- a/output/posts/colour-040-is-available/index.html +++ b/output/posts/colour-040-is-available/index.html @@ -90,7 +90,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/posts/colour-042-is-available/index.html b/output/posts/colour-042-is-available/index.html index 597c483d..90079c11 100644 --- a/output/posts/colour-042-is-available/index.html +++ b/output/posts/colour-042-is-available/index.html @@ -89,7 +89,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/posts/colour-043-is-available/index.html b/output/posts/colour-043-is-available/index.html index 995fbb5e..c8167b72 100644 --- a/output/posts/colour-043-is-available/index.html +++ b/output/posts/colour-043-is-available/index.html @@ -85,7 +85,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/posts/colour-044-is-available/index.html b/output/posts/colour-044-is-available/index.html index bc7d7d81..c34337f1 100644 --- a/output/posts/colour-044-is-available/index.html +++ b/output/posts/colour-044-is-available/index.html @@ -88,7 +88,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/posts/colour-045-is-available/index.html b/output/posts/colour-045-is-available/index.html index 7310811e..a223241b 100644 --- a/output/posts/colour-045-is-available/index.html +++ b/output/posts/colour-045-is-available/index.html @@ -88,7 +88,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search @@ -179,9 +179,9 @@ -
    {
    -  "COLOUR_SCIENCE__COLOUR__SHOW_WARNINGS_WITH_TRACEBACK": "True"
    -}
    +
    {
    +  "COLOUR_SCIENCE__COLOUR__SHOW_WARNINGS_WITH_TRACEBACK": "True"
    +}
     
    • Support for pathlib in IO definitions

    • @@ -189,66 +189,66 @@
    • Support for polar conversions to all relevant models

    • Port-based nodes and graphs for processing graphs

    -
    class NodeAdd(PortNode):
    -    def __init__(self, *args, **kwargs):
    -        super().__init__(*args, **kwargs)
    -
    -        self.description = "Perform the addition of the two input port values."
    -
    -        self.add_input_port("a")
    -        self.add_input_port("b")
    -        self.add_output_port("output")
    -
    -    def process(self):
    -        a = self.get_input("a")
    -        b = self.get_input("b")
    -
    -        if a is None or b is None:
    -            return
    -
    -        self._output_ports["output"].value = a + b
    -
    -        self.dirty = False
    -
    -
    -class NodeMultiply(PortNode):
    -    def __init__(self, *args, **kwargs):
    -        super().__init__(*args, **kwargs)
    -
    -        self.description = "Perform the multiplication of the two input port values."
    -
    -        self.add_input_port("a")
    -        self.add_input_port("b")
    -        self.add_output_port("output")
    -
    -    def process(self):
    -        a = self.get_input("a")
    -        b = self.get_input("b")
    -
    -        if a is None or b is None:
    -            return
    -
    -        self._output_ports["output"].value = a * b
    -
    -        self.dirty = False
    -
    -
    -node_add = NodeAdd()
    -node_add.set_input("a", 1)
    -node_add.set_input("b", 1)
    -node_multiply = NodeMultiply()
    -node_multiply.set_input("b", 2)
    -
    -graph = PortGraph()
    -
    -graph.add_node(node_add)
    -graph.add_node(node_multiply)
    -
    -graph.connect(node_add, "output", node_multiply, "a")
    -
    -graph.process()
    -
    -print(node_multiply.get_output("output"))
    +
    class NodeAdd(PortNode):
    +    def __init__(self, *args, **kwargs):
    +        super().__init__(*args, **kwargs)
    +
    +        self.description = "Perform the addition of the two input port values."
    +
    +        self.add_input_port("a")
    +        self.add_input_port("b")
    +        self.add_output_port("output")
    +
    +    def process(self):
    +        a = self.get_input("a")
    +        b = self.get_input("b")
    +
    +        if a is None or b is None:
    +            return
    +
    +        self._output_ports["output"].value = a + b
    +
    +        self.dirty = False
    +
    +
    +class NodeMultiply(PortNode):
    +    def __init__(self, *args, **kwargs):
    +        super().__init__(*args, **kwargs)
    +
    +        self.description = "Perform the multiplication of the two input port values."
    +
    +        self.add_input_port("a")
    +        self.add_input_port("b")
    +        self.add_output_port("output")
    +
    +    def process(self):
    +        a = self.get_input("a")
    +        b = self.get_input("b")
    +
    +        if a is None or b is None:
    +            return
    +
    +        self._output_ports["output"].value = a * b
    +
    +        self.dirty = False
    +
    +
    +node_add = NodeAdd()
    +node_add.set_input("a", 1)
    +node_add.set_input("b", 1)
    +node_multiply = NodeMultiply()
    +node_multiply.set_input("b", 2)
    +
    +graph = PortGraph()
    +
    +graph.add_node(node_add)
    +graph.add_node(node_multiply)
    +
    +graph.connect(node_add, "output", node_multiply, "a")
    +
    +graph.process()
    +
    +print(node_multiply.get_output("output"))
     

    Please take a look at the releases page more information.

    diff --git a/output/posts/colour-checker-detection-with-machine-learning/index.html b/output/posts/colour-checker-detection-with-machine-learning/index.html index 7c9b28cc..ff949d7e 100644 --- a/output/posts/colour-checker-detection-with-machine-learning/index.html +++ b/output/posts/colour-checker-detection-with-machine-learning/index.html @@ -92,7 +92,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search @@ -182,11 +182,11 @@ with a Canon 5D Mark II. The original *.CR2 raw images were processed with dcraw as follows:

    -
    $ dcraw -T -g 2.4 12.92 *.CR2
    +
    $ dcraw -T -g 2.4 12.92 *.CR2
     

    Then, the output *.tiff files were resized to half-resolution and converted to *.png using Image Magick:

    -
    $ mogrify -resize 50% -format png *.tiff
    +
    $ mogrify -resize 50% -format png *.tiff
     
    Note
    @@ -220,63 +220,63 @@ entire process.

    Using the augmented Roboflow dataset, a YOLO v8 nano detection model was trained locally on a Macbook Pro M1.

    -
    # SPDX-License-Identifier: AGPL-3.0
    -
    -import os
    -from roboflow import Roboflow
    -from ultralytics import YOLO
    -
    -
    -def load_dataset(version=1):
    -    roboflow = Roboflow(api_key=os.environ["ROBOFLOW_API_KEY"])
    -    project = roboflow.workspace("colourscience").project("colour-checker-detection")
    -
    -    dataset = project.version(version).download("yolov8")
    -
    -    # The yaml file is incorrectly formatted and needs to be updated:
    -    # test: ../test/images
    -    # train: train/images
    -    # val: valid/images
    -    with open(os.path.join(dataset.location, "data.yaml"), "r") as yaml_file:
    -        lines = yaml_file.readlines()
    -
    -    for i, line in enumerate(lines):
    -        if line.startswith("tests:"):
    -            lines[i] = "test: test/images\n"
    -        elif line.startswith("train:"):
    -            lines[i] = "train: train/images\n"
    -        elif line.startswith("val:"):
    -            lines[i] = "val: valid/images\n"
    -
    -    with open(os.path.join(dataset.location, "data.yaml"), "w") as yaml_file:
    -        yaml_file.write("".join(lines))
    -
    -    return dataset
    -
    -
    -def train_model(dataset, model="yolov8n.pt", epochs=100, device="mps", resume=False):
    -    model = YOLO(model)
    -
    -    return model.train(
    -        data=os.path.join(dataset.location, "data.yaml"),
    -        epochs=epochs,
    -        imgsz=640,
    -        device=device,
    -        resume=resume,
    -    )
    -
    -
    -def validate(model):
    -    metrics = model.val()
    -
    -    print(metrics.box.map)
    -    print(metrics.box.map50)
    -    print(metrics.box.map75)
    -    print(metrics.box.maps)
    -
    -
    -def predict(model, image):
    -    return model(image)
    +
    # SPDX-License-Identifier: AGPL-3.0
    +
    +import os
    +from roboflow import Roboflow
    +from ultralytics import YOLO
    +
    +
    +def load_dataset(version=1):
    +    roboflow = Roboflow(api_key=os.environ["ROBOFLOW_API_KEY"])
    +    project = roboflow.workspace("colourscience").project("colour-checker-detection")
    +
    +    dataset = project.version(version).download("yolov8")
    +
    +    # The yaml file is incorrectly formatted and needs to be updated:
    +    # test: ../test/images
    +    # train: train/images
    +    # val: valid/images
    +    with open(os.path.join(dataset.location, "data.yaml"), "r") as yaml_file:
    +        lines = yaml_file.readlines()
    +
    +    for i, line in enumerate(lines):
    +        if line.startswith("tests:"):
    +            lines[i] = "test: test/images\n"
    +        elif line.startswith("train:"):
    +            lines[i] = "train: train/images\n"
    +        elif line.startswith("val:"):
    +            lines[i] = "val: valid/images\n"
    +
    +    with open(os.path.join(dataset.location, "data.yaml"), "w") as yaml_file:
    +        yaml_file.write("".join(lines))
    +
    +    return dataset
    +
    +
    +def train_model(dataset, model="yolov8n.pt", epochs=100, device="mps", resume=False):
    +    model = YOLO(model)
    +
    +    return model.train(
    +        data=os.path.join(dataset.location, "data.yaml"),
    +        epochs=epochs,
    +        imgsz=640,
    +        device=device,
    +        resume=resume,
    +    )
    +
    +
    +def validate(model):
    +    metrics = model.val()
    +
    +    print(metrics.box.map)
    +    print(metrics.box.map50)
    +    print(metrics.box.map75)
    +    print(metrics.box.maps)
    +
    +
    +def predict(model, image):
    +    return model(image)
     

    The predictions were really good and this model served as the basis to develop the new inference method.

    @@ -314,166 +314,166 @@ bounding boxes and not polygons. A conversion script, available on Google Colab, was written to convert the dataset, it uses two Ultralytics conversion definitions:

    -
    # SPDX-License-Identifier: AGPL-3.0
    -
    -import json
    -import numpy as np
    -import random
    -import shutil
    -import warnings
    -from pathlib import Path
    -
    -ROOT_DATASET_SOURCE = Path(
    -    "/content/drive/MyDrive/Documents/Development/colour-science/Private/Color-Checker-Detection-Dataset-COCO"
    -)
    -ROOT_DATASET_TARGET = Path(
    -    "/content/drive/MyDrive/Documents/Development/colour-science/Private/Color-Checker-Detection-Dataset-YOLO"
    -)
    -
    -TEMPLATE_DATA_YAML = """
    -names:
    -{categories}
    -nc: {category_count}
    -test: ./test/images
    -train: ./train/images
    -val: ./valid/images
    -""".strip()
    -
    -PARTITIONS = {
    -    "train": 70,
    -    "valid": 15,
    -    "test": 15,
    -}
    -
    -# https://github.com/ultralytics/JSON2YOLO/blob/master/general_json2yolo.py
    -
    -
    -def min_index(arr1, arr2):
    -    dis = ((arr1[:, None, :] - arr2[None, :, :]) ** 2).sum(-1)
    -    return np.unravel_index(np.argmin(dis, axis=None), dis.shape)
    -
    -
    -def merge_multi_segment(segments):
    -    merged = []
    -    segments = [np.array(i).reshape(-1, 2) for i in segments]
    -    idx_list = [[] for _ in range(len(segments))]
    -
    -    for i in range(1, len(segments)):
    -        idx1, idx2 = min_index(segments[i - 1], segments[i])
    -        idx_list[i - 1].append(idx1)
    -        idx_list[i].append(idx2)
    -
    -    for k in range(2):
    -        if k == 0:
    -            for i, idx in enumerate(idx_list):
    -                if len(idx) == 2 and idx[0] > idx[1]:
    -                    idx = idx[::-1]
    -                    segments[i] = segments[i][::-1, :]
    -
    -                segments[i] = np.roll(segments[i], -idx[0], axis=0)
    -                segments[i] = np.concatenate([segments[i], segments[i][:1]])
    -                if i in [0, len(idx_list) - 1]:
    -                    merged.append(segments[i])
    -                else:
    -                    idx = [0, idx[1] - idx[0]]
    -                    merged.append(segments[i][idx[0] : idx[1] + 1])
    -
    -        else:
    -            for i in range(len(idx_list) - 1, -1, -1):
    -                if i not in [0, len(idx_list) - 1]:
    -                    idx = idx_list[i]
    -                    nidx = abs(idx[1] - idx[0])
    -                    merged.append(segments[i][nidx:])
    -    return merged
    -
    -
    -def annotation_data_from_image(image_name, annotations):
    -    for data in annotations["images"]:
    -        if image_name != data["file_name"]:
    -            continue
    -
    -        for annotation in annotations["annotations"]:
    -            if annotation["image_id"] != data["id"]:
    -                continue
    -
    -            return annotation, data
    -
    -    return None, None
    -
    -
    -def convert_COCO_segmentation_to_YOLO(
    -    source_dataset=ROOT_DATASET_SOURCE,
    -    target_dataset=ROOT_DATASET_TARGET,
    -    partitions=PARTITIONS,
    -    template_data_yaml=TEMPLATE_DATA_YAML,
    -):
    -    with open(source_dataset / "instances_default.json") as json_file:
    -        annotations = json.load(json_file)
    -
    -    image_paths = list(source_dataset.glob("*.png"))
    -    image_count = len(image_paths)
    -    random.shuffle(image_paths)
    -
    -    for partition, count in partitions.items():
    -        images_directory = target_dataset / partition / "images"
    -        labels_directory = target_dataset / partition / "labels"
    -
    -        images_directory.mkdir(parents=True)
    -        labels_directory.mkdir(parents=True)
    -
    -        count *= int(image_count / 100)
    -        partitioned_paths, image_paths = image_paths[:count], image_paths[count:]
    -
    -        for image_path in partitioned_paths:
    -            annotation, data = annotation_data_from_image(image_path.name, annotations)
    -
    -            if not all([annotation, data]):
    -                warnings.warn(f'No annotation data was found for "{image_path}" image!')
    -                continue
    -
    -            category = annotation["category_id"] - 1
    -            width = data["width"]
    -            height = data["height"]
    -
    -            if len(annotation["segmentation"]) > 1:
    -                segments = merge_multi_segment(annotation["segmentation"])
    -                segments = (
    -                    (np.concatenate(segments, axis=0) / np.array([width, height]))
    -                    .reshape(-1)
    -                    .tolist()
    -                )
    -            else:
    -                segments = [j for i in annotation["segmentation"] for j in i]
    -                segments = (
    -                    (np.array(segments).reshape(-1, 2) / np.array([width, height]))
    -                    .reshape(-1)
    -                    .tolist()
    -                )
    -
    -            segments = [category] + segments
    -
    -            with open(labels_directory / f"{image_path.stem}.txt", "a") as label_file:
    -                label_file.write(
    -                    (("%g " * len(segments)).rstrip()) % tuple(segments) + "\n"
    -                )
    -
    -            shutil.copyfile(image_path, images_directory / image_path.name)
    -
    -    with open(ROOT_DATASET_TARGET / "data.yml", "w") as yaml_file:
    -        categories = [category["name"] for category in annotations["categories"]]
    -        yaml_content = template_data_yaml.format(
    -            categories="\n".join([f"- {category}" for category in categories]),
    -            category_count=len(categories),
    -        )
    -        yaml_file.write(yaml_content)
    -
    -
    -if ROOT_DATASET_TARGET.exists():
    -    shutil.rmtree(ROOT_DATASET_TARGET)
    -
    -ROOT_DATASET_TARGET.mkdir()
    -
    -convert_COCO_segmentation_to_YOLO()
    +
    # SPDX-License-Identifier: AGPL-3.0
    +
    +import json
    +import numpy as np
    +import random
    +import shutil
    +import warnings
    +from pathlib import Path
    +
    +ROOT_DATASET_SOURCE = Path(
    +    "/content/drive/MyDrive/Documents/Development/colour-science/Private/Color-Checker-Detection-Dataset-COCO"
    +)
    +ROOT_DATASET_TARGET = Path(
    +    "/content/drive/MyDrive/Documents/Development/colour-science/Private/Color-Checker-Detection-Dataset-YOLO"
    +)
    +
    +TEMPLATE_DATA_YAML = """
    +names:
    +{categories}
    +nc: {category_count}
    +test: ./test/images
    +train: ./train/images
    +val: ./valid/images
    +""".strip()
    +
    +PARTITIONS = {
    +    "train": 70,
    +    "valid": 15,
    +    "test": 15,
    +}
    +
    +# https://github.com/ultralytics/JSON2YOLO/blob/master/general_json2yolo.py
    +
    +
    +def min_index(arr1, arr2):
    +    dis = ((arr1[:, None, :] - arr2[None, :, :]) ** 2).sum(-1)
    +    return np.unravel_index(np.argmin(dis, axis=None), dis.shape)
    +
    +
    +def merge_multi_segment(segments):
    +    merged = []
    +    segments = [np.array(i).reshape(-1, 2) for i in segments]
    +    idx_list = [[] for _ in range(len(segments))]
    +
    +    for i in range(1, len(segments)):
    +        idx1, idx2 = min_index(segments[i - 1], segments[i])
    +        idx_list[i - 1].append(idx1)
    +        idx_list[i].append(idx2)
    +
    +    for k in range(2):
    +        if k == 0:
    +            for i, idx in enumerate(idx_list):
    +                if len(idx) == 2 and idx[0] > idx[1]:
    +                    idx = idx[::-1]
    +                    segments[i] = segments[i][::-1, :]
    +
    +                segments[i] = np.roll(segments[i], -idx[0], axis=0)
    +                segments[i] = np.concatenate([segments[i], segments[i][:1]])
    +                if i in [0, len(idx_list) - 1]:
    +                    merged.append(segments[i])
    +                else:
    +                    idx = [0, idx[1] - idx[0]]
    +                    merged.append(segments[i][idx[0] : idx[1] + 1])
    +
    +        else:
    +            for i in range(len(idx_list) - 1, -1, -1):
    +                if i not in [0, len(idx_list) - 1]:
    +                    idx = idx_list[i]
    +                    nidx = abs(idx[1] - idx[0])
    +                    merged.append(segments[i][nidx:])
    +    return merged
    +
    +
    +def annotation_data_from_image(image_name, annotations):
    +    for data in annotations["images"]:
    +        if image_name != data["file_name"]:
    +            continue
    +
    +        for annotation in annotations["annotations"]:
    +            if annotation["image_id"] != data["id"]:
    +                continue
    +
    +            return annotation, data
    +
    +    return None, None
    +
    +
    +def convert_COCO_segmentation_to_YOLO(
    +    source_dataset=ROOT_DATASET_SOURCE,
    +    target_dataset=ROOT_DATASET_TARGET,
    +    partitions=PARTITIONS,
    +    template_data_yaml=TEMPLATE_DATA_YAML,
    +):
    +    with open(source_dataset / "instances_default.json") as json_file:
    +        annotations = json.load(json_file)
    +
    +    image_paths = list(source_dataset.glob("*.png"))
    +    image_count = len(image_paths)
    +    random.shuffle(image_paths)
    +
    +    for partition, count in partitions.items():
    +        images_directory = target_dataset / partition / "images"
    +        labels_directory = target_dataset / partition / "labels"
    +
    +        images_directory.mkdir(parents=True)
    +        labels_directory.mkdir(parents=True)
    +
    +        count *= int(image_count / 100)
    +        partitioned_paths, image_paths = image_paths[:count], image_paths[count:]
    +
    +        for image_path in partitioned_paths:
    +            annotation, data = annotation_data_from_image(image_path.name, annotations)
    +
    +            if not all([annotation, data]):
    +                warnings.warn(f'No annotation data was found for "{image_path}" image!')
    +                continue
    +
    +            category = annotation["category_id"] - 1
    +            width = data["width"]
    +            height = data["height"]
    +
    +            if len(annotation["segmentation"]) > 1:
    +                segments = merge_multi_segment(annotation["segmentation"])
    +                segments = (
    +                    (np.concatenate(segments, axis=0) / np.array([width, height]))
    +                    .reshape(-1)
    +                    .tolist()
    +                )
    +            else:
    +                segments = [j for i in annotation["segmentation"] for j in i]
    +                segments = (
    +                    (np.array(segments).reshape(-1, 2) / np.array([width, height]))
    +                    .reshape(-1)
    +                    .tolist()
    +                )
    +
    +            segments = [category] + segments
    +
    +            with open(labels_directory / f"{image_path.stem}.txt", "a") as label_file:
    +                label_file.write(
    +                    (("%g " * len(segments)).rstrip()) % tuple(segments) + "\n"
    +                )
    +
    +            shutil.copyfile(image_path, images_directory / image_path.name)
    +
    +    with open(ROOT_DATASET_TARGET / "data.yml", "w") as yaml_file:
    +        categories = [category["name"] for category in annotations["categories"]]
    +        yaml_content = template_data_yaml.format(
    +            categories="\n".join([f"- {category}" for category in categories]),
    +            category_count=len(categories),
    +        )
    +        yaml_file.write(yaml_content)
    +
    +
    +if ROOT_DATASET_TARGET.exists():
    +    shutil.rmtree(ROOT_DATASET_TARGET)
    +
    +ROOT_DATASET_TARGET.mkdir()
    +
    +convert_COCO_segmentation_to_YOLO()
     
    Note
    @@ -488,56 +488,56 @@ baseline. As hinted by the previous snippet, and, because the Macbook Pro M1 started to suffer, the training was moved to Google Colab and an A100 GPU.

    -
    # SPDX-License-Identifier: AGPL-3.0
    -
    -# !pip install ultralytics
    -
    -# !git clone https://huggingface.co/datasets/colour-science/colour-checker-detection-dataset/
    -
    -import os
    -
    -os.chdir("/content/colour-checker-detection-dataset")
    -
    -from ultralytics import YOLO
    -
    -
    -def train_model(dataset, model="yolov8n.pt", epochs=100, device="mps", **kwargs):
    -    model = YOLO(model)
    -
    -    return model.train(data=dataset, epochs=epochs, device=device, **kwargs)
    -
    -
    -def validate(model):
    -    metrics = model.val()
    -
    -    print(metrics.box.map)
    -    print(metrics.box.map50)
    -    print(metrics.box.map75)
    -    print(metrics.box.maps)
    -
    -
    -results = train_model(
    -    os.path.join(os.getcwd(), "data.yml"),
    -    "yolov8l-seg.pt",
    -    epochs=600,
    -    imgsz=1280,
    -    device=0,
    -    hsv_h=0.05,
    -    hsv_s=0.5,
    -    hsv_v=0.25,
    -    degrees=22.5,
    -    translate=0.1,
    -    scale=0.25,
    -    shear=11.25,
    -    flipud=0.25,
    -    fliplr=0.25,
    -    mosaic=0,
    -)
    -print(results)
    -
    -model = YOLO("runs/segment/train/weights/best.pt")
    -
    -validate(model)
    +
    # SPDX-License-Identifier: AGPL-3.0
    +
    +# !pip install ultralytics
    +
    +# !git clone https://huggingface.co/datasets/colour-science/colour-checker-detection-dataset/
    +
    +import os
    +
    +os.chdir("/content/colour-checker-detection-dataset")
    +
    +from ultralytics import YOLO
    +
    +
    +def train_model(dataset, model="yolov8n.pt", epochs=100, device="mps", **kwargs):
    +    model = YOLO(model)
    +
    +    return model.train(data=dataset, epochs=epochs, device=device, **kwargs)
    +
    +
    +def validate(model):
    +    metrics = model.val()
    +
    +    print(metrics.box.map)
    +    print(metrics.box.map50)
    +    print(metrics.box.map75)
    +    print(metrics.box.maps)
    +
    +
    +results = train_model(
    +    os.path.join(os.getcwd(), "data.yml"),
    +    "yolov8l-seg.pt",
    +    epochs=600,
    +    imgsz=1280,
    +    device=0,
    +    hsv_h=0.05,
    +    hsv_s=0.5,
    +    hsv_v=0.25,
    +    degrees=22.5,
    +    translate=0.1,
    +    scale=0.25,
    +    shear=11.25,
    +    flipud=0.25,
    +    fliplr=0.25,
    +    mosaic=0,
    +)
    +print(results)
    +
    +model = YOLO("runs/segment/train/weights/best.pt")
    +
    +validate(model)
     

    Less than 600 Epochs and 1h30 were needed for training with a resulting mAP50 and mAP50-95 metric values of 0.995 and 0.992, respectively.

    @@ -564,13 +564,13 @@

    Using the Inference Method

    The API is similar to the original segmentation method and an example notebook is available in the repository.

    -
    COLOUR_CHECKER_IMAGE_PATHS = glob.glob(
    -    os.path.join(ROOT_RESOURCES_EXAMPLES, "detection", "*.png")
    -)
    -
    -for path in COLOUR_CHECKER_IMAGE_PATHS:
    -    for colour_checker_data in detect_colour_checkers_inference(path, show=True):
    -        pass
    +
    COLOUR_CHECKER_IMAGE_PATHS = glob.glob(
    +    os.path.join(ROOT_RESOURCES_EXAMPLES, "detection", "*.png")
    +)
    +
    +for path in COLOUR_CHECKER_IMAGE_PATHS:
    +    for colour_checker_data in detect_colour_checkers_inference(path, show=True):
    +        pass
     

    It is also possible to pass an np.ndarray instance directly. However, something to be aware of is that YOLO v8 is using cv2.imread @@ -587,54 +587,54 @@

    The separate script slows the total inference process because of the imports and required IO but it is possible to change the inferencer for a new callable if the AGPL-3.0 license is not a concern:

    -
    from ultralytics import YOLO
    -
    -
    -def inferencer_agpl(image, **kwargs):
    -    model = YOLO(
    -        os.path.join(
    -            os.path.expanduser("~"),
    -            ".colour-science",
    -            "colour-checker-detection",
    -            "colour-checker-detection-l-seg.pt",
    -        ),
    -    )
    -    data = []
    -
    -    # NOTE: YOLOv8 expects "BGR" arrays.
    -    if isinstance(image, np.ndarray):
    -        image = image[..., ::-1]
    -
    -    image = image.astype(np.float32)
    -
    -    # `device=0` for CUDA GPU
    -    for result in model(image, device="mps"):
    -        if result.boxes is None:
    -            continue
    -
    -        if result.masks is None:
    -            continue
    -
    -        data_boxes = result.boxes.data
    -        data_masks = result.masks.data
    -
    -        for i in range(data_boxes.shape[0]):
    -            data.append(
    -                (
    -                    data_boxes[i, 4].cpu().numpy(),
    -                    data_boxes[i, 5].cpu().numpy(),
    -                    data_masks[i].data.cpu().numpy(),
    -                )
    -            )
    -
    -    return data
    -
    -
    -for path in COLOUR_CHECKER_IMAGE_PATHS:
    -    for colour_checker_data in detect_colour_checkers_inference(
    -        path, inferencer=inferencer_agpl, show=True
    -    ):
    -        pass
    +
    from ultralytics import YOLO
    +
    +
    +def inferencer_agpl(image, **kwargs):
    +    model = YOLO(
    +        os.path.join(
    +            os.path.expanduser("~"),
    +            ".colour-science",
    +            "colour-checker-detection",
    +            "colour-checker-detection-l-seg.pt",
    +        ),
    +    )
    +    data = []
    +
    +    # NOTE: YOLOv8 expects "BGR" arrays.
    +    if isinstance(image, np.ndarray):
    +        image = image[..., ::-1]
    +
    +    image = image.astype(np.float32)
    +
    +    # `device=0` for CUDA GPU
    +    for result in model(image, device="mps"):
    +        if result.boxes is None:
    +            continue
    +
    +        if result.masks is None:
    +            continue
    +
    +        data_boxes = result.boxes.data
    +        data_masks = result.masks.data
    +
    +        for i in range(data_boxes.shape[0]):
    +            data.append(
    +                (
    +                    data_boxes[i, 4].cpu().numpy(),
    +                    data_boxes[i, 5].cpu().numpy(),
    +                    data_masks[i].data.cpu().numpy(),
    +                )
    +            )
    +
    +    return data
    +
    +
    +for path in COLOUR_CHECKER_IMAGE_PATHS:
    +    for colour_checker_data in detect_colour_checkers_inference(
    +        path, inferencer=inferencer_agpl, show=True
    +    ):
    +        pass
     

    This should be 5 to 10 times faster!

    Results and Conclusion

    diff --git a/output/posts/demosaicing-and-hdri-with-python/index.html b/output/posts/demosaicing-and-hdri-with-python/index.html index e9201b2a..a00ddb4c 100644 --- a/output/posts/demosaicing-and-hdri-with-python/index.html +++ b/output/posts/demosaicing-and-hdri-with-python/index.html @@ -90,7 +90,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/posts/numfocus-colour-0314-and-colour-datasets-010/index.html b/output/posts/numfocus-colour-0314-and-colour-datasets-010/index.html index 173e3ab9..1fe465a8 100644 --- a/output/posts/numfocus-colour-0314-and-colour-datasets-010/index.html +++ b/output/posts/numfocus-colour-0314-and-colour-datasets-010/index.html @@ -85,7 +85,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search @@ -200,24 +200,24 @@

    Colour now implements an automatic colour conversion graph based on NetworkX and enabling easier colour conversions:

    -
    sd = colour.COLOURCHECKERS_SDS["ColorChecker N Ohta"]["dark skin"]
    -convert(sd, "Spectral Distribution", "sRGB", verbose={"mode": "Short"})
    +
    sd = colour.COLOURCHECKERS_SDS["ColorChecker N Ohta"]["dark skin"]
    +convert(sd, "Spectral Distribution", "sRGB", verbose={"mode": "Short"})
     
    -
    ===============================================================================
    -*                                                                             *
    -*   [ Conversion Path ]                                                       *
    -*                                                                             *
    -*   "sd_to_XYZ" --> "XYZ_to_sRGB"                                             *
    -*                                                                             *
    -===============================================================================
    -array([ 0.45675795,  0.30986982,  0.24861924])
    +
    ===============================================================================
    +*                                                                             *
    +*   [ Conversion Path ]                                                       *
    +*                                                                             *
    +*   "sd_to_XYZ" --> "XYZ_to_sRGB"                                             *
    +*                                                                             *
    +===============================================================================
    +array([ 0.45675795,  0.30986982,  0.24861924])
     
    https://colour.readthedocs.io/en/develop/_static/Examples_Colour_Automatic_Conversion_Graph.png

    Image Input and Output

    Imageio is now a requirement for reading and writing images, it will be used if OpenImageIO is not available. If you wish to read OpenEXR files or develop Colour, you will need to install the FreeImage plugin as follows:

    -
    $ python -c "import imageio;imageio.plugins.freeimage.download()"
    +
    $ python -c "import imageio;imageio.plugins.freeimage.download()"
     

    Support for OpenImageIO 2.x has also been implemented.

    @@ -255,36 +255,36 @@ Zenodo under the Colour Science - Datasets community:

    -
    import colour_datasets
    -
    -print(colour_datasets.datasets())
    +
    import colour_datasets
    +
    +print(colour_datasets.datasets())
     
    -
    colour-science-datasets
    -=======================
    -
    -Datasets : 16
    -Synced   : 1
    -URL      : https://zenodo.org/communities/colour-science-datasets/
    -
    -Datasets
    ---------
    -
    -[ ] 3269926 : Agfa IT8.7/2 Set
    -[ ] 3245883 : Camera Spectral Sensitivity Database
    -[ ] 3367463 : Constant Hue Loci Data
    -[ ] 3362536 : Constant Perceived-Hue Data
    -[ ] 3270903 : Corresponding-Colour Datasets
    -[ ] 3269920 : Forest Colors
    -[x] 3245875 : Labsphere SRS-99-020
    -[ ] 3269924 : Lumber Spectra
    -[ ] 3269918 : Munsell Colors Glossy (All) (Spectrofotometer Measured)
    -[ ] 3269916 : Munsell Colors Glossy (Spectrofotometer Measured)
    -[ ] 3269914 : Munsell Colors Matt (AOTF Measured)
    -[ ] 3269912 : Munsell Colors Matt (Spectrofotometer Measured)
    -[ ] 3245895 : New Color Specifications for ColorChecker SG and Classic Charts
    -[ ] 3252742 : Observer Function Database
    -[ ] 3269922 : Paper Spectra
    -[ ] 3372171 : RAW to ACES Utility Data
    +
    colour-science-datasets
    +=======================
    +
    +Datasets : 16
    +Synced   : 1
    +URL      : https://zenodo.org/communities/colour-science-datasets/
    +
    +Datasets
    +--------
    +
    +[ ] 3269926 : Agfa IT8.7/2 Set
    +[ ] 3245883 : Camera Spectral Sensitivity Database
    +[ ] 3367463 : Constant Hue Loci Data
    +[ ] 3362536 : Constant Perceived-Hue Data
    +[ ] 3270903 : Corresponding-Colour Datasets
    +[ ] 3269920 : Forest Colors
    +[x] 3245875 : Labsphere SRS-99-020
    +[ ] 3269924 : Lumber Spectra
    +[ ] 3269918 : Munsell Colors Glossy (All) (Spectrofotometer Measured)
    +[ ] 3269916 : Munsell Colors Glossy (Spectrofotometer Measured)
    +[ ] 3269914 : Munsell Colors Matt (AOTF Measured)
    +[ ] 3269912 : Munsell Colors Matt (Spectrofotometer Measured)
    +[ ] 3245895 : New Color Specifications for ColorChecker SG and Classic Charts
    +[ ] 3252742 : Observer Function Database
    +[ ] 3269922 : Paper Spectra
    +[ ] 3372171 : RAW to ACES Utility Data
     

    Colour - Datasets was created to overcome issues encountered frequently when trying to access or use colour science datasets:

    diff --git a/output/posts/our-first-1000-stars-on-github/index.html b/output/posts/our-first-1000-stars-on-github/index.html index 45c19b14..a6a84c97 100644 --- a/output/posts/our-first-1000-stars-on-github/index.html +++ b/output/posts/our-first-1000-stars-on-github/index.html @@ -86,7 +86,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search @@ -158,16 +158,17 @@

    We would not be here without the help of our users, sponsors, contributors and NumFOCUS, so thank you all!

    -/images/1000_Stars.png + +/images/1000_Stars.png

    The development started six years ago, in April 2014 and today we reached an important and exciting milestone.

    -
    commit 90bc42b9fedfc7291c7023247eab14b41d5c29af
    -Author: Thomas Mansencal <***@***.com>
    -Date:   Sat Apr 5 14:07:48 2014 +0200
    -
    -    Initial commit.
    -
    -    Signed-off-by: Thomas Mansencal <***@***.com>
    +
    commit 90bc42b9fedfc7291c7023247eab14b41d5c29af
    +Author: Thomas Mansencal <***@***.com>
    +Date:   Sat Apr 5 14:07:48 2014 +0200
    +
    +    Initial commit.
    +
    +    Signed-off-by: Thomas Mansencal <***@***.com>
     

    Colour science is often a topic that people avoid until they have no choice but dive into it. As I was trying to address @@ -176,29 +177,29 @@ I'm still falling into it at light speed, and it is seemingly bottomless! :)

    Michael joined shortly after, and from that point, the project started to take off.

    -
    commit 8b7b974eead55c458fe71a94055eaf21b8bb5a19
    -Author: Michael Mauderer <***@***.de>
    -Date:   Sun Aug 10 17:54:31 2014 +0100
    -
    -    Added new CAMs, tests for CAMs and fixed a bug in CIECAM02
    +
    commit 8b7b974eead55c458fe71a94055eaf21b8bb5a19
    +Author: Michael Mauderer <***@***.de>
    +Date:   Sun Aug 10 17:54:31 2014 +0100
    +
    +    Added new CAMs, tests for CAMs and fixed a bug in CIECAM02
     

    Early, Michael and I created an invite only Slack workspace to coordinate the development. A year and half passed with mostly the two of us working on Colour, at which point Nick joined us along with Kevin:

    -
    commit fc0794acbeff210b749c3e8532f91472c0226eae
    -Author: Nick-Shaw <***@***.com>
    -Date:   Thu Apr 21 21:10:12 2016 +0100
    -
    -    Implement RGB to Y'CbCr transforms.
    +
    commit fc0794acbeff210b749c3e8532f91472c0226eae
    +Author: Nick-Shaw <***@***.com>
    +Date:   Thu Apr 21 21:10:12 2016 +0100
    +
    +    Implement RGB to Y'CbCr transforms.
     
    -
    commit 17345945618869b58275822fd23c46dae89af93b
    -Author: Kevin Wheatley <***@***.com>
    -Date:   Mon Jan 16 17:10:20 2017 +0000
    -
    -    Update path usage to be correct when running vm from Windows
    -
    -Signed-off-by: Kevin Wheatley <***@***.com>
    +
    commit 17345945618869b58275822fd23c46dae89af93b
    +Author: Kevin Wheatley <***@***.com>
    +Date:   Mon Jan 16 17:10:20 2017 +0000
    +
    +    Update path usage to be correct when running vm from Windows
    +
    +Signed-off-by: Kevin Wheatley <***@***.com>
     

    More people from the VFX industry joined the Slack workspace, turning it into a friendly virtual bar to talk about light, colour, rendering, and everything @@ -261,14 +262,14 @@

    • Google

    -
    Hey Thomas, Michael,
    -
    -Thanks for your work on Colour. It's fantastic, and has already helped us improve color correctness in our processing pipeline at YouTube (with more improvements coming soon, and hopefully fixes for open-source video pipelines too).
    -
    -If you're ever in SF, I'll buy you a round!
    -
    -Thanks,
    -S***
    +
    Hey Thomas, Michael,
    +
    +Thanks for your work on Colour. It's fantastic, and has already helped us improve color correctness in our processing pipeline at YouTube (with more improvements coming soon, and hopefully fixes for open-source video pipelines too).
    +
    +If you're ever in SF, I'll buy you a round!
    +
    +Thanks,
    +S***
     
    • Animal Logic

    • diff --git a/output/posts/physical-lighting-quantities-tying-both-ends/index.html b/output/posts/physical-lighting-quantities-tying-both-ends/index.html index 7556db71..3e56feed 100644 --- a/output/posts/physical-lighting-quantities-tying-both-ends/index.html +++ b/output/posts/physical-lighting-quantities-tying-both-ends/index.html @@ -86,7 +86,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search @@ -230,11 +230,11 @@

      Colour - HDRI implements the aforementioned model with Python:

      -
      import colour_hdri
      -
      -colour_hdri.saturation_based_speed_focal_plane_exposure(18, 5.6, 0.25, 400)
      +
      import colour_hdri
      +
      +colour_hdri.saturation_based_speed_focal_plane_exposure(18, 5.6, 0.25, 400)
       
      -
      0.46993364546604555
      +
      0.46993364546604555
       

      Colour - Nuke offers a Gizmo/Group implementation also available on @@ -269,18 +269,18 @@ respectively.

      Colour - HDRI implements support for absolute luminance calibration with Python:

      -
      import colour_hdri
      -import numpy as np
      -
      -RGB = np.ones([2048, 1024, 3])
      -colour_hdri.upper_hemisphere_illuminance_Lagarde2016(RGB)
      -colour_hdri.absolute_luminance_calibration_Lagarde2016(RGB, 120000)[0, 0]
      +
      import colour_hdri
      +import numpy as np
      +
      +RGB = np.ones([2048, 1024, 3])
      +colour_hdri.upper_hemisphere_illuminance_Lagarde2016(RGB)
      +colour_hdri.absolute_luminance_calibration_Lagarde2016(RGB, 120000)[0, 0]
       
      -
      array([ 38215.85392444,  38215.85392444,  38215.85392444])
      +
      array([ 38215.85392444,  38215.85392444,  38215.85392444])
       
      -
      colour_hdri.calibration.absolute_luminance.upper_hemisphere_illuminance_Lagarde2016(RGB)
      +
      colour_hdri.calibration.absolute_luminance.upper_hemisphere_illuminance_Lagarde2016(RGB)
       
      -
      3.1400580564615663
      +
      3.1400580564615663
       
      Note
      diff --git a/output/posts/pycharm-vagrant-ansible-poetry/index.html b/output/posts/pycharm-vagrant-ansible-poetry/index.html index cfe146ae..2d750f6d 100644 --- a/output/posts/pycharm-vagrant-ansible-poetry/index.html +++ b/output/posts/pycharm-vagrant-ansible-poetry/index.html @@ -97,7 +97,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search @@ -216,16 +216,16 @@
    • On your local filesystem, in your development workspace, create a directory colour-science and cd into it:

    -
    $ mkdir colour-science
    -$ cd colour-science
    +
    $ mkdir colour-science
    +$ cd colour-science
     
    -
    $ git clone git://github.com/colour-science/colour-vagrant.git
    -$ cd colour-vagrant
    -$ git submodule update --init --recursive
    +
    $ git clone git://github.com/colour-science/colour-vagrant.git
    +$ cd colour-vagrant
    +$ git submodule update --init --recursive
     
    • @@ -307,19 +307,19 @@
    • Remote Python environments installed into the virtual machine at the following location with all the dependencies needed:

    -
    $ cd /home/vagrant/.cache/pypoetry/virtualenvs
    -$ ls -l
    -total 40
    -drwxrwxr-x 6 vagrant vagrant 4096 Nov  3 09:45 awesome-colour-xc1lGgeX-py3.6
    -drwxrwxr-x 8 vagrant vagrant 4096 Nov  3 09:58 colour-analysis-ztt4I_b6-py3.6
    -drwxrwxr-x 7 vagrant vagrant 4096 Nov  3 09:55 colour-checker-detection-LJan8R0H-py3.6
    -drwxrwxr-x 8 vagrant vagrant 4096 Nov  3 10:07 colour-dash-yRMdyS1F-py3.6
    -drwxrwxr-x 7 vagrant vagrant 4096 Nov  3 10:01 colour-datasets-68eTMDT3-py3.6
    -drwxrwxr-x 8 vagrant vagrant 4096 Nov  3 10:05 colour-demosaicing-Me5Z4P5l-py3.6
    -drwxrwxr-x 8 vagrant vagrant 4096 Nov  3 10:11 colour-hdri--Cpkjfr--py3.6
    -drwxrwxr-x 8 vagrant vagrant 4096 Nov  3 09:52 colour-O_tqvl_6-py3.6
    -drwxrwxr-x 6 vagrant vagrant 4096 Nov  3 10:12 colour-science.org-k8ouBR-B-py3.6
    --rw-rw-r-- 1 vagrant vagrant  520 Nov  3 10:12 envs.toml
    +
    $ cd /home/vagrant/.cache/pypoetry/virtualenvs
    +$ ls -l
    +total 40
    +drwxrwxr-x 6 vagrant vagrant 4096 Nov  3 09:45 awesome-colour-xc1lGgeX-py3.6
    +drwxrwxr-x 8 vagrant vagrant 4096 Nov  3 09:58 colour-analysis-ztt4I_b6-py3.6
    +drwxrwxr-x 7 vagrant vagrant 4096 Nov  3 09:55 colour-checker-detection-LJan8R0H-py3.6
    +drwxrwxr-x 8 vagrant vagrant 4096 Nov  3 10:07 colour-dash-yRMdyS1F-py3.6
    +drwxrwxr-x 7 vagrant vagrant 4096 Nov  3 10:01 colour-datasets-68eTMDT3-py3.6
    +drwxrwxr-x 8 vagrant vagrant 4096 Nov  3 10:05 colour-demosaicing-Me5Z4P5l-py3.6
    +drwxrwxr-x 8 vagrant vagrant 4096 Nov  3 10:11 colour-hdri--Cpkjfr--py3.6
    +drwxrwxr-x 8 vagrant vagrant 4096 Nov  3 09:52 colour-O_tqvl_6-py3.6
    +drwxrwxr-x 6 vagrant vagrant 4096 Nov  3 10:12 colour-science.org-k8ouBR-B-py3.6
    +-rw-rw-r-- 1 vagrant vagrant  520 Nov  3 10:12 envs.toml
     

    PyCharm Environment Configuration

      @@ -347,18 +347,18 @@ PyCharm --> Tools Start SSH session... menu item.

      However if you want to be able to export the display and see the figures you will have to manually ssh into the virtual machine:

      -
      $ ssh -X vagrant@192.168.32.64
      +
      $ ssh -X vagrant@192.168.32.64
       

      Password is vagrant.

      You will also need to add the virtual machine to the X11 hosts by issuing the following command on the macOS host:

      -
      $ xhost + 192.168.32.64
      +
      $ xhost + 192.168.32.64
       

    Jupyter Notebooks

    The Jupyter Notebooks server is started as follows:

    -
    $ cd /colour-science
    -$ jupyter notebook --pylab=inline --ip=0.0.0.0
    +
    $ cd /colour-science
    +$ jupyter notebook --pylab=inline --ip=0.0.0.0
     

    Then you can access it on the macOS host at the following url: http://localhost:8888/

    @@ -366,24 +366,24 @@

    You can activate the remote Python environments in the virtual machine by issuing those commands:

    For Colour:

    -
    $ colour
    -Using virtualenv: /home/vagrant/.cache/pypoetry/virtualenvs/colour-O_tqvl_6-py3.6
    +
    $ colour
    +Using virtualenv: /home/vagrant/.cache/pypoetry/virtualenvs/colour-O_tqvl_6-py3.6
     

    For Colour - Demosaicing:

    -
    $ colour-demosaicing
    -Using virtualenv: /home/vagrant/.cache/pypoetry/virtualenvs/colour-demosaicing-Me5Z4P5l-py3.6
    +
    $ colour-demosaicing
    +Using virtualenv: /home/vagrant/.cache/pypoetry/virtualenvs/colour-demosaicing-Me5Z4P5l-py3.6
     

    A full list is available as follows:

    -
    $ alias | grep colour-science
    -alias awesome-colour='cd /colour-science/awesome-colour && poem'
    -alias colour='cd /colour-science/colour && poem'
    -alias colour-analysis-three.js='cd /colour-science/colour-analysis-three.js && poem'
    -alias colour-checker-detection='cd /colour-science/colour-checker-detection && poem'
    -alias colour-dash='cd /colour-science/colour-dash && poem'
    -alias colour-datasets='cd /colour-science/colour-datasets && poem'
    -alias colour-demosaicing='cd /colour-science/colour-demosaicing && poem'
    -alias colour-hdri='cd /colour-science/colour-hdri && poem'
    -alias colour-science.org='cd /colour-science/colour-science.org && poem'
    +
    $ alias | grep colour-science
    +alias awesome-colour='cd /colour-science/awesome-colour && poem'
    +alias colour='cd /colour-science/colour && poem'
    +alias colour-analysis-three.js='cd /colour-science/colour-analysis-three.js && poem'
    +alias colour-checker-detection='cd /colour-science/colour-checker-detection && poem'
    +alias colour-dash='cd /colour-science/colour-dash && poem'
    +alias colour-datasets='cd /colour-science/colour-datasets && poem'
    +alias colour-demosaicing='cd /colour-science/colour-demosaicing && poem'
    +alias colour-hdri='cd /colour-science/colour-hdri && poem'
    +alias colour-science.org='cd /colour-science/colour-science.org && poem'
     
    diff --git a/output/posts/pycharm-vagrant-fabric-anaconda/index.html b/output/posts/pycharm-vagrant-fabric-anaconda/index.html index ee66f342..a49e9f54 100644 --- a/output/posts/pycharm-vagrant-fabric-anaconda/index.html +++ b/output/posts/pycharm-vagrant-fabric-anaconda/index.html @@ -90,7 +90,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search @@ -202,14 +202,14 @@
  • On your local filesystem, in your development workspace, create a directory colour-science and cd into it:

  • -
    $ mkdir colour-science
    -$ cd colour-science
    +
    $ mkdir colour-science
    +$ cd colour-science
     
    -
    $ git clone git://github.com/colour-science/colour-vagrant.git
    +
    $ git clone git://github.com/colour-science/colour-vagrant.git
     
    • @@ -230,7 +230,7 @@ It was cumbersome to use, so I decided to go for Fabric and the vagrant-fabric plugin:

      -
      $ pip install --user fabric
      +
      $ pip install --user fabric
       
    @@ -297,13 +297,13 @@
  • Remote Python environments installed into the virtual machine at the following location with all the dependencies needed:

  • -
    $ cd /home/vagrant/miniconda/envs/
    -$ ls -l
    -total 16
    -drwxrwxr-x  4 vagrant vagrant 4096 Apr 29 03:12 ./
    -drwxrwxr-x 13 vagrant vagrant 4096 Apr 29 03:02 ../
    -drwxrwxr-x 20 vagrant vagrant 4096 Apr 29 03:09 python2.7/
    -drwxrwxr-x 20 vagrant vagrant 4096 Apr 29 03:30 python3.5/
    +
    $ cd /home/vagrant/miniconda/envs/
    +$ ls -l
    +total 16
    +drwxrwxr-x  4 vagrant vagrant 4096 Apr 29 03:12 ./
    +drwxrwxr-x 13 vagrant vagrant 4096 Apr 29 03:02 ../
    +drwxrwxr-x 20 vagrant vagrant 4096 Apr 29 03:09 python2.7/
    +drwxrwxr-x 20 vagrant vagrant 4096 Apr 29 03:30 python3.5/
     
    • The colour-science.org website served from the virtual machine at @@ -333,18 +333,18 @@ PyCharm --> Tools Start SSH session... menu item.

      However if you want to be able to export the display and see the figures you will have to manually ssh into the virtual machine:

      -
      $ ssh -X vagrant@192.168.32.64
      +
      $ ssh -X vagrant@192.168.32.64
       

      Password is vagrant.

      You will also need to add the virtual machine to the X11 hosts by issuing the following command on the macOS host:

      -
      $ xhost + 192.168.32.64
      +
      $ xhost + 192.168.32.64
       

      Jupyter Notebooks

      The Jupyter Notebooks server is started as follows:

      -
      $ cd /colour-science
      -$ ipython notebook --pylab=inline --ip=0.0.0.0
      +
      $ cd /colour-science
      +$ ipython notebook --pylab=inline --ip=0.0.0.0
       

      Then you can access it on the macOS host at the following url: http://localhost:8888/

      @@ -352,10 +352,10 @@

      You can activate the remote Python environments in the virtual machine by issuing those commands:

      For python2.7:

      -
      $ source activate python2.7
      +
      $ source activate python2.7
       

      For python3.5:

      -
      $ source activate python3.5
      +
      $ source activate python3.5
       
      diff --git a/output/posts/red-colourspaces-derivation/index.html b/output/posts/red-colourspaces-derivation/index.html index 235e78ff..859f721d 100644 --- a/output/posts/red-colourspaces-derivation/index.html +++ b/output/posts/red-colourspaces-derivation/index.html @@ -93,7 +93,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/posts/retrospective-on-10-years-of-colour-science/index.html b/output/posts/retrospective-on-10-years-of-colour-science/index.html index 14c44e9e..f9807299 100644 --- a/output/posts/retrospective-on-10-years-of-colour-science/index.html +++ b/output/posts/retrospective-on-10-years-of-colour-science/index.html @@ -83,7 +83,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search @@ -151,14 +151,14 @@

      Today is the 10th anniversary of Colour and colour-science!

      -
      (colour-science-py3.12) Eris:colour kelsolaar$ git log --reverse
      -commit 90bc42b9fedfc7291c7023247eab14b41d5c29af
      -Author: Thomas Mansencal <thomas.mansencal@gmail.com>
      -Date:   Sat Apr 5 14:07:48 2014 +0200
      -
      -    Initial commit.
      -
      -    Signed-off-by: Thomas Mansencal <thomas.mansencal@gmail.com>
      +
      (colour-science-py3.12) Eris:colour kelsolaar$ git log --reverse
      +commit 90bc42b9fedfc7291c7023247eab14b41d5c29af
      +Author: Thomas Mansencal <thomas.mansencal@gmail.com>
      +Date:   Sat Apr 5 14:07:48 2014 +0200
      +
      +    Initial commit.
      +
      +    Signed-off-by: Thomas Mansencal <thomas.mansencal@gmail.com>
       

      It is time for a decade of work retrospective.

      @@ -303,14 +303,14 @@
      • Google

      -
      Hey Thomas, Michael,
      -
      -Thanks for your work on Colour. It's fantastic, and has already helped us improve color correctness in our processing pipeline at YouTube (with more improvements coming soon, and hopefully fixes for open-source video pipelines too).
      -
      -If you're ever in SF, I'll buy you a round!
      -
      -Thanks,
      -S***
      +
      Hey Thomas, Michael,
      +
      +Thanks for your work on Colour. It's fantastic, and has already helped us improve color correctness in our processing pipeline at YouTube (with more improvements coming soon, and hopefully fixes for open-source video pipelines too).
      +
      +If you're ever in SF, I'll buy you a round!
      +
      +Thanks,
      +S***
       
      • Animal Logic

      • diff --git a/output/posts/srgb-eotf-pure-gamma-22-or-piece-wise-function/index.html b/output/posts/srgb-eotf-pure-gamma-22-or-piece-wise-function/index.html index 91485132..a57f3c34 100644 --- a/output/posts/srgb-eotf-pure-gamma-22-or-piece-wise-function/index.html +++ b/output/posts/srgb-eotf-pure-gamma-22-or-piece-wise-function/index.html @@ -90,7 +90,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/posts/the-colorchecker-considered-mostly-harmless/index.html b/output/posts/the-colorchecker-considered-mostly-harmless/index.html index 6fa92b5f..587d7bf0 100644 --- a/output/posts/the-colorchecker-considered-mostly-harmless/index.html +++ b/output/posts/the-colorchecker-considered-mostly-harmless/index.html @@ -85,7 +85,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/posts/the-first-public-release-of-colour-is-available/index.html b/output/posts/the-first-public-release-of-colour-is-available/index.html index 0a5756a0..b7d7f070 100644 --- a/output/posts/the-first-public-release-of-colour-is-available/index.html +++ b/output/posts/the-first-public-release-of-colour-is-available/index.html @@ -85,7 +85,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/posts/the-importance-of-terminology-and-srgb-uncertainty/index.html b/output/posts/the-importance-of-terminology-and-srgb-uncertainty/index.html index 98fd02d7..4747a7a7 100644 --- a/output/posts/the-importance-of-terminology-and-srgb-uncertainty/index.html +++ b/output/posts/the-importance-of-terminology-and-srgb-uncertainty/index.html @@ -98,7 +98,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search @@ -223,7 +223,7 @@ the very nature of the subject. Almost everyone knows what color is. After all, they have had firsthand experience of it since shortly after birth. However, very few can precisely describe their color experiences or -even precisely define color. [1]

        +even precisely define color. [1]

        sRGB is not a bunch of transfer functions, it is an actual RGB colourspace, specified by @@ -297,7 +297,7 @@

        Transfer Functions

        The transfer functions perform the mapping between the linear light components (tristimulus values) and a non-linear R'G'B' video signal (most -of the time for coding optimisation and bandwidth performance). [2]

        +of the time for coding optimisation and bandwidth performance). [2]

        The two common types and their inverses are defined as follows:

        • diff --git a/output/posts/the-road-to-stable/index.html b/output/posts/the-road-to-stable/index.html index 35b7f71d..c3224636 100644 --- a/output/posts/the-road-to-stable/index.html +++ b/output/posts/the-road-to-stable/index.html @@ -83,7 +83,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search @@ -158,51 +158,51 @@
        • The second is support for metadata inside the API. Most of the codebase adopts definitions/functions over classes to stay clean and lean, the aforementioned spectral implementation being a notable exception. As a consequence, it is hard to implement a non-intrusive classifying mechanism, provide usable hints on functions domain/range or create an auto-conversion layer. We have considered multiple ways of providing the necessary metadata, e.g., experimental/medatada* branches, and decided that the true elegant solution was through docstrings.

        The following example showcases the current implementation, defining metadata for parameters, returns and the definition by using the notes section:

        -
        def luminance_Newhall1943(V):
        -    """
        -    Returns the *luminance* :math:`R_Y` of given *Munsell* value :math:`V`
        -    using *Newhall et al. (1943)* method.
        -
        -    Parameters
        -    ----------
        -    V : numeric or array_like
        -        metadata : {'type': 'Munsell Value', 'symbol': 'V', 'extent': (0, 10)}
        -        *Munsell* value :math:`V`.
        -
        -    Returns
        -    -------
        -    numeric or array_like
        -        metadata : {'type': 'Luminance', 'symbol': 'R_Y', 'extent': (0, 100)}
        -        *luminance* :math:`R_Y`.
        -
        -    Notes
        -    -----
        -    metadata : {'classifier': 'Luminance Conversion Function', 'method_name':
        -        'Newhall 1943', 'method_strict_name': 'Newhall et al. (1943)'}
        -
        -    References
        -    ----------
        -    .. [1]  Newhall, S. M., Nickerson, D., & Judd, D. B. (1943). Final report
        -            of the OSA subcommittee on the spacing of the munsell colors. JOSA,
        -            33(7), 385. doi:10.1364/JOSA.33.000385
        -
        -    Examples
        -    --------
        -    >>> luminance_Newhall1943(3.74629715382)  # doctest: +ELLIPSIS
        -    10.4089874...
        -    """
        -
        -    V = np.asarray(V)
        -
        -    R_Y = (
        -        1.2219 * V
        -        - 0.23111 * (V * V)
        -        + 0.23951 * (V**3)
        -        - 0.021009 * (V**4)
        -        + 0.0008404 * (V**5)
        -    )
        -
        -    return R_Y
        +
        def luminance_Newhall1943(V):
        +    """
        +    Returns the *luminance* :math:`R_Y` of given *Munsell* value :math:`V`
        +    using *Newhall et al. (1943)* method.
        +
        +    Parameters
        +    ----------
        +    V : numeric or array_like
        +        metadata : {'type': 'Munsell Value', 'symbol': 'V', 'extent': (0, 10)}
        +        *Munsell* value :math:`V`.
        +
        +    Returns
        +    -------
        +    numeric or array_like
        +        metadata : {'type': 'Luminance', 'symbol': 'R_Y', 'extent': (0, 100)}
        +        *luminance* :math:`R_Y`.
        +
        +    Notes
        +    -----
        +    metadata : {'classifier': 'Luminance Conversion Function', 'method_name':
        +        'Newhall 1943', 'method_strict_name': 'Newhall et al. (1943)'}
        +
        +    References
        +    ----------
        +    .. [1]  Newhall, S. M., Nickerson, D., & Judd, D. B. (1943). Final report
        +            of the OSA subcommittee on the spacing of the munsell colors. JOSA,
        +            33(7), 385. doi:10.1364/JOSA.33.000385
        +
        +    Examples
        +    --------
        +    >>> luminance_Newhall1943(3.74629715382)  # doctest: +ELLIPSIS
        +    10.4089874...
        +    """
        +
        +    V = np.asarray(V)
        +
        +    R_Y = (
        +        1.2219 * V
        +        - 0.23111 * (V * V)
        +        + 0.23951 * (V**3)
        +        - 0.021009 * (V**4)
        +        + 0.0008404 * (V**5)
        +    )
        +
        +    return R_Y
         

        There is one caveat though: running Python with -OO argument will optimize the bytecode and trim the docstrings and as a result preventing metadata usage. This is an edge case we are aware of and it will be advertised.

        These two features are consequential and taking a fair amount of time to implement and test. They will also introduce backward incompatible changes.

        diff --git a/output/rss.xml b/output/rss.xml index cd8eb1c2..a52e25a9 100644 --- a/output/rss.xml +++ b/output/rss.xml @@ -1,15 +1,15 @@ -Colour Sciencehttps://www.colour-science.org/Colour: Colour Science for PythonenContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Thu, 10 Oct 2024 09:09:57 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssColour 0.4.5 is available!https://www.colour-science.org/posts/colour-045-is-available/Colour Developers<div><p>The colour-science Developers are pleased to announce the release of +Colour Sciencehttps://www.colour-science.org/Colour: Colour Science for PythonenContents © 2024 <a href="mailto:colour-developers@colour-science.org">Colour Developers</a> Sun, 13 Oct 2024 01:01:34 GMTNikola (getnikola.com)http://blogs.law.harvard.edu/tech/rssColour 0.4.5 is available!https://www.colour-science.org/posts/colour-045-is-available/Colour Developers<div><p>The colour-science Developers are pleased to announce the release of <a class="reference external" href="https://github.com/colour-science/colour/releases/tag/v0.4.5">Colour 0.4.5</a>!</p> <p><a href="https://www.colour-science.org/posts/colour-045-is-available/">Read more…</a> (1 min remaining to read)</p></div>colourcolour sciencereleasehttps://www.colour-science.org/posts/colour-045-is-available/Thu, 10 Oct 2024 08:24:11 GMTRetrospective on 10 Years of colour-sciencehttps://www.colour-science.org/posts/retrospective-on-10-years-of-colour-science/Colour Developers<div><p>Today is the 10th anniversary of <a class="reference external" href="https://github.com/colour-science/colour">Colour</a> and <a class="reference external" href="https://github.com/colour-science">colour-science</a>!</p> -<div class="code"><pre class="code text"><a id="rest_code_d32567a751d94cc49681790a8009230e-1" name="rest_code_d32567a751d94cc49681790a8009230e-1" href="https://www.colour-science.org/posts/retrospective-on-10-years-of-colour-science/#rest_code_d32567a751d94cc49681790a8009230e-1"></a>(colour-science-py3.12) Eris:colour kelsolaar$ git log --reverse -<a id="rest_code_d32567a751d94cc49681790a8009230e-2" name="rest_code_d32567a751d94cc49681790a8009230e-2" href="https://www.colour-science.org/posts/retrospective-on-10-years-of-colour-science/#rest_code_d32567a751d94cc49681790a8009230e-2"></a>commit 90bc42b9fedfc7291c7023247eab14b41d5c29af -<a id="rest_code_d32567a751d94cc49681790a8009230e-3" name="rest_code_d32567a751d94cc49681790a8009230e-3" href="https://www.colour-science.org/posts/retrospective-on-10-years-of-colour-science/#rest_code_d32567a751d94cc49681790a8009230e-3"></a>Author: Thomas Mansencal &lt;thomas.mansencal@gmail.com&gt; -<a id="rest_code_d32567a751d94cc49681790a8009230e-4" name="rest_code_d32567a751d94cc49681790a8009230e-4" href="https://www.colour-science.org/posts/retrospective-on-10-years-of-colour-science/#rest_code_d32567a751d94cc49681790a8009230e-4"></a>Date: Sat Apr 5 14:07:48 2014 +0200 -<a id="rest_code_d32567a751d94cc49681790a8009230e-5" name="rest_code_d32567a751d94cc49681790a8009230e-5" href="https://www.colour-science.org/posts/retrospective-on-10-years-of-colour-science/#rest_code_d32567a751d94cc49681790a8009230e-5"></a> -<a id="rest_code_d32567a751d94cc49681790a8009230e-6" name="rest_code_d32567a751d94cc49681790a8009230e-6" href="https://www.colour-science.org/posts/retrospective-on-10-years-of-colour-science/#rest_code_d32567a751d94cc49681790a8009230e-6"></a> Initial commit. -<a id="rest_code_d32567a751d94cc49681790a8009230e-7" name="rest_code_d32567a751d94cc49681790a8009230e-7" href="https://www.colour-science.org/posts/retrospective-on-10-years-of-colour-science/#rest_code_d32567a751d94cc49681790a8009230e-7"></a> -<a id="rest_code_d32567a751d94cc49681790a8009230e-8" name="rest_code_d32567a751d94cc49681790a8009230e-8" href="https://www.colour-science.org/posts/retrospective-on-10-years-of-colour-science/#rest_code_d32567a751d94cc49681790a8009230e-8"></a> Signed-off-by: Thomas Mansencal &lt;thomas.mansencal@gmail.com&gt; +<div class="code"><pre class="code text"><a id="rest_code_d72c378f272c41bea2cd6ea386e94d36-1" name="rest_code_d72c378f272c41bea2cd6ea386e94d36-1" href="https://www.colour-science.org/posts/retrospective-on-10-years-of-colour-science/#rest_code_d72c378f272c41bea2cd6ea386e94d36-1"></a>(colour-science-py3.12) Eris:colour kelsolaar$ git log --reverse +<a id="rest_code_d72c378f272c41bea2cd6ea386e94d36-2" name="rest_code_d72c378f272c41bea2cd6ea386e94d36-2" href="https://www.colour-science.org/posts/retrospective-on-10-years-of-colour-science/#rest_code_d72c378f272c41bea2cd6ea386e94d36-2"></a>commit 90bc42b9fedfc7291c7023247eab14b41d5c29af +<a id="rest_code_d72c378f272c41bea2cd6ea386e94d36-3" name="rest_code_d72c378f272c41bea2cd6ea386e94d36-3" href="https://www.colour-science.org/posts/retrospective-on-10-years-of-colour-science/#rest_code_d72c378f272c41bea2cd6ea386e94d36-3"></a>Author: Thomas Mansencal &lt;thomas.mansencal@gmail.com&gt; +<a id="rest_code_d72c378f272c41bea2cd6ea386e94d36-4" name="rest_code_d72c378f272c41bea2cd6ea386e94d36-4" href="https://www.colour-science.org/posts/retrospective-on-10-years-of-colour-science/#rest_code_d72c378f272c41bea2cd6ea386e94d36-4"></a>Date: Sat Apr 5 14:07:48 2014 +0200 +<a id="rest_code_d72c378f272c41bea2cd6ea386e94d36-5" name="rest_code_d72c378f272c41bea2cd6ea386e94d36-5" href="https://www.colour-science.org/posts/retrospective-on-10-years-of-colour-science/#rest_code_d72c378f272c41bea2cd6ea386e94d36-5"></a> +<a id="rest_code_d72c378f272c41bea2cd6ea386e94d36-6" name="rest_code_d72c378f272c41bea2cd6ea386e94d36-6" href="https://www.colour-science.org/posts/retrospective-on-10-years-of-colour-science/#rest_code_d72c378f272c41bea2cd6ea386e94d36-6"></a> Initial commit. +<a id="rest_code_d72c378f272c41bea2cd6ea386e94d36-7" name="rest_code_d72c378f272c41bea2cd6ea386e94d36-7" href="https://www.colour-science.org/posts/retrospective-on-10-years-of-colour-science/#rest_code_d72c378f272c41bea2cd6ea386e94d36-7"></a> +<a id="rest_code_d72c378f272c41bea2cd6ea386e94d36-8" name="rest_code_d72c378f272c41bea2cd6ea386e94d36-8" href="https://www.colour-science.org/posts/retrospective-on-10-years-of-colour-science/#rest_code_d72c378f272c41bea2cd6ea386e94d36-8"></a> Signed-off-by: Thomas Mansencal &lt;thomas.mansencal@gmail.com&gt; </pre></div> <p>It is time for a decade of work retrospective.</p> <p><a href="https://www.colour-science.org/posts/retrospective-on-10-years-of-colour-science/">Read more…</a> (2 min remaining to read)</p></div>https://www.colour-science.org/posts/retrospective-on-10-years-of-colour-science/Fri, 05 Apr 2024 21:52:29 GMTColour Checker Detection with Machine Learninghttps://www.colour-science.org/posts/colour-checker-detection-with-machine-learning/Colour Developers<div><p>We have released a new version of <a class="reference external" href="https://github.com/colour-science/colour-checker-detection/releases/tag/v0.2.0">Colour - Checker Detection</a> diff --git a/output/search/index.html b/output/search/index.html index 0a4e854d..98736924 100644 --- a/output/search/index.html +++ b/output/search/index.html @@ -79,7 +79,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/output/setting-up-the-development-environment-on-macos/index.html b/output/setting-up-the-development-environment-on-macos/index.html index 67d60ebe..1e88c5b5 100644 --- a/output/setting-up-the-development-environment-on-macos/index.html +++ b/output/setting-up-the-development-environment-on-macos/index.html @@ -81,7 +81,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search @@ -143,38 +143,38 @@ the 2024-10-10.

        Homebrew

        Install Homebrew:

        -
        /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
        +
        /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
         

        Install the required Python versions:

        -
        brew install python@3.9 python@3.10 python@3.11 python@3.12
        +
        brew install python@3.9 python@3.10 python@3.11 python@3.12
         

        uv

        (Re)Install uv:

        -
        curl -LsSf https://astral.sh/uv/install.sh | sh
        +
        curl -LsSf https://astral.sh/uv/install.sh | sh
         

        graphviz and OpenImageIO

        Using Homebrew:

        -
        brew install graphviz OpenImageIO
        +
        brew install graphviz OpenImageIO
         

        Then append the following exports to your shell dotfile, e.g., ~/.zshrc:

        -
        export LIBRARY_PATH=$LIBRARY_PATH:$(brew --prefix graphviz)/lib/
        -export CPATH=$CPATH:$(brew --prefix graphviz)/include/
        -export PYTHONPATH=$PYTHONPATH:$(brew --prefix OpenImageIO)/lib/python3.12/site-packages/OpenImageIO/
        +
        export LIBRARY_PATH=$LIBRARY_PATH:$(brew --prefix graphviz)/lib/
        +export CPATH=$CPATH:$(brew --prefix graphviz)/include/
        +export PYTHONPATH=$PYTHONPATH:$(brew --prefix OpenImageIO)/lib/python3.12/site-packages/OpenImageIO/
         

        Cloning colour's Repository

        First, fork the colour repository, making sure to set or replace the environment variables in these commands.

        -
        cd $DEVELOPMENT_DIRECTORY
        -git clone git@github.com:$GITHUB_USER/colour.git
        -cd colour
        +
        cd $DEVELOPMENT_DIRECTORY
        +git clone git@github.com:$GITHUB_USER/colour.git
        +cd colour
         

        Working with Visual Studio Code from the Terminal

        Create the virtual environment

        -
        uv sync --all-extras
        +
        uv sync --all-extras
         

        Opening Visual Studio Code

        In colour's directory, issue the following command to launch Visual Studio Code:

        -
        code .
        +
        code .
         
        Note
        @@ -187,11 +187,11 @@

        Running the Unit Tests / Preflight

        colour uses the invoke framework to expose several useful preflight commands:

        -
        cd $DEVELOPMENT_DIRECTORY/colour
        -uv run invoke formatting quality precommit tests
        +
        cd $DEVELOPMENT_DIRECTORY/colour
        +uv run invoke formatting quality precommit tests
         

        or if you just want to run the tests, including the doctests:

        -
        uv run invoke tests
        +
        uv run invoke tests
         

        CTL (Optional)

        colour provides a wrapper to the AMPAS Color Transformation Language (CTL) @@ -199,17 +199,17 @@ codebase, it needs to be installed. Unfortunately, the version currently provided by Homebrew does not appear to work on the latest macOS and the relevant environments, thus, it must be installed from source at the moment:

        -
        brew install cmake ilmBase openexr libtiff aces_container
        -
        -cd $TMPDIR
        -git clone git@github.com:ampas/CTL.git
        -
        -cd CTL
        -mkdir build && cd build
        -
        -cmake .. -J 10
        -make
        -sudo make install
        +
        brew install cmake ilmBase openexr libtiff aces_container
        +
        +cd $TMPDIR
        +git clone git@github.com:ampas/CTL.git
        +
        +cd CTL
        +mkdir build && cd build
        +
        +cmake .. -J 10
        +make
        +sudo make install
         

        See Also

        Please refer to the contributing guide diff --git a/output/sitemap.xml b/output/sitemap.xml index e6d948e9..2bb21a6f 100644 --- a/output/sitemap.xml +++ b/output/sitemap.xml @@ -7839,7 +7839,7 @@ https://www.colour-science.org/archive.html - 2024-10-10T09:02:00Z + 2024-10-13T01:01:00Z https://www.colour-science.org/bibliography/ @@ -7851,15 +7851,15 @@ https://www.colour-science.org/blog/index-1.html - 2024-10-10T09:02:00Z + 2024-10-13T01:01:00Z https://www.colour-science.org/blog/index-2.html - 2024-10-10T09:02:00Z + 2024-10-13T01:01:00Z https://www.colour-science.org/blog/index-3.html - 2024-10-10T09:02:00Z + 2024-10-13T01:01:00Z https://www.colour-science.org/categories/ diff --git a/output/sitemapindex.xml b/output/sitemapindex.xml index 1885ce03..c301f982 100644 --- a/output/sitemapindex.xml +++ b/output/sitemapindex.xml @@ -7,19 +7,19 @@ http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"> https://www.colour-science.org/categories/absolute-luminance-calibration.xml - 2024-10-10T04:17:00Z + 2024-10-13T01:01:00Z https://www.colour-science.org/categories/aces.xml - 2024-01-11T04:37:00Z + 2024-10-13T01:01:00Z https://www.colour-science.org/categories/anaconda.xml - 2024-10-10T04:17:00Z + 2024-10-13T01:01:00Z https://www.colour-science.org/categories/ansible.xml - 2024-10-10T04:17:00Z + 2024-10-13T01:01:00Z https://www.colour-science.org/categories/camera.xml @@ -31,15 +31,15 @@ https://www.colour-science.org/categories/cat_colour-colour-science-release-colour-datasets-numfocus.xml - 2024-10-10T04:17:00Z + 2024-10-13T01:01:00Z https://www.colour-science.org/categories/chromaticity-diagram.xml - 2024-10-10T04:17:00Z + 2024-10-13T01:01:00Z https://www.colour-science.org/categories/colorchecker-classic-24.xml - 2024-10-10T04:17:00Z + 2024-10-13T01:01:00Z https://www.colour-science.org/categories/colour-checker-detection.xml @@ -51,7 +51,7 @@ https://www.colour-science.org/categories/colour-hdri.xml - 2024-01-11T04:37:00Z + 2024-10-13T01:01:00Z https://www.colour-science.org/categories/colour-rendition-chart.xml @@ -59,7 +59,7 @@ https://www.colour-science.org/categories/colour-science.xml - 2024-10-10T09:02:00Z + 2024-10-13T01:01:00Z https://www.colour-science.org/categories/colour-scienceorg.xml @@ -67,55 +67,55 @@ https://www.colour-science.org/categories/colour.xml - 2024-10-10T09:02:00Z + 2024-10-13T01:01:00Z https://www.colour-science.org/categories/cvat.xml - 2024-10-10T04:17:00Z + 2024-10-13T01:01:00Z https://www.colour-science.org/categories/digital-still-camera-exposure-model.xml - 2024-10-10T04:17:00Z + 2024-10-13T01:01:00Z https://www.colour-science.org/categories/eotf.xml - 2024-10-10T04:17:00Z + 2024-10-13T01:01:00Z https://www.colour-science.org/categories/fabric.xml - 2024-10-10T04:17:00Z + 2024-10-13T01:01:00Z https://www.colour-science.org/categories/gamut.xml - 2024-10-10T04:17:00Z + 2024-10-13T01:01:00Z https://www.colour-science.org/categories/github.xml - 2024-01-11T04:37:00Z + 2024-10-13T01:01:00Z https://www.colour-science.org/categories/hugging-face.xml - 2024-10-10T04:17:00Z + 2024-10-13T01:01:00Z https://www.colour-science.org/categories/inference.xml - 2024-10-10T04:17:00Z + 2024-10-13T01:01:00Z https://www.colour-science.org/categories/machine-learning.xml - 2024-10-10T04:17:00Z + 2024-10-13T01:01:00Z https://www.colour-science.org/categories/oetf.xml - 2024-10-10T04:17:00Z + 2024-10-13T01:01:00Z https://www.colour-science.org/categories/physical-quantities.xml - 2024-10-10T04:17:00Z + 2024-10-13T01:01:00Z https://www.colour-science.org/categories/poetry.xml - 2024-10-10T04:17:00Z + 2024-10-13T01:01:00Z https://www.colour-science.org/categories/pointers-gamut.xml @@ -123,11 +123,11 @@ https://www.colour-science.org/categories/primaries.xml - 2024-10-10T04:17:00Z + 2024-10-13T01:01:00Z https://www.colour-science.org/categories/pycharm.xml - 2024-10-10T04:17:00Z + 2024-10-13T01:01:00Z https://www.colour-science.org/categories/red.xml @@ -139,15 +139,15 @@ https://www.colour-science.org/categories/release.xml - 2024-10-10T09:02:00Z + 2024-10-13T01:01:00Z https://www.colour-science.org/categories/rgb-colourspace.xml - 2024-10-10T04:17:00Z + 2024-10-13T01:01:00Z https://www.colour-science.org/categories/roboflow.xml - 2024-10-10T04:17:00Z + 2024-10-13T01:01:00Z https://www.colour-science.org/categories/spectral.xml @@ -155,30 +155,30 @@ https://www.colour-science.org/categories/srgb.xml - 2024-10-10T04:17:00Z + 2024-10-13T01:01:00Z https://www.colour-science.org/categories/transfer-function.xml - 2024-10-10T04:17:00Z + 2024-10-13T01:01:00Z https://www.colour-science.org/categories/vagrant.xml - 2024-10-10T04:17:00Z + 2024-10-13T01:01:00Z https://www.colour-science.org/categories/whitepoint.xml - 2024-10-10T04:17:00Z + 2024-10-13T01:01:00Z https://www.colour-science.org/categories/yolo.xml - 2024-10-10T04:17:00Z + 2024-10-13T01:01:00Z https://www.colour-science.org/rss.xml - 2024-10-10T09:02:00Z + 2024-10-13T01:01:00Z https://www.colour-science.org/sitemap.xml - 2024-10-10T09:02:00Z + 2024-10-13T01:01:00Z \ No newline at end of file diff --git a/output/tutorial/index.html b/output/tutorial/index.html index a11c9871..7ed00aac 100644 --- a/output/tutorial/index.html +++ b/output/tutorial/index.html @@ -81,7 +81,7 @@ Features History Bibliography - Cite Us + Cite Us Cited By License Search diff --git a/pyproject.toml b/pyproject.toml index 0a05047b..5ff35746 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,64 +1,28 @@ -[tool.poetry] +[project] name = "colour-science.org" version = "1.0.0" description = "Website code for https://www.colour-science.org/" -authors = [ "Colour Developers " ] -maintainers = [ "Colour Developers " ] -license = "BSD-3-Clause" - -[tool.poetry.dependencies] -python = ">= 3.9, < 3.13" -nikola = { extras = [ "extras" ], version = ">= 8, < 9" } +readme = "README.rst" +requires-python = ">=3.10,<3.14" +authors = [ + { name = "Colour Developers", email = "colour-developers@colour-science.org" }, +] +maintainers = [ + { name = "Colour Developers", email = "colour-developers@colour-science.org" } +] +license = { text = "BSD-3-Clause" } -black = { version = "*", optional = true } # Development dependency. -flake8 = { version = "*", optional = true } # Development dependency. -flynt = { version = "*", optional = true } # Development dependency. -invoke = { version = "*", optional = true } # Development dependency. -pre-commit = { version = "*", optional = true } # Development dependency. -pyupgrade = { version = "*", optional = true } # Development dependency. +dependencies = [ + "nikola[extras]>=8,<9", +] -[tool.poetry.dev-dependencies] -black = "*" -flake8 = "*" -flynt = "*" -invoke = "*" -pre-commit = ">= 3.5" -pyupgrade = "*" +[project.urls] +Homepage = "https://www.colour-science.org" +Repository = "https://github.com/colour-science/colour-science.org" +Issues = "https://github.com/colour-science/colour-science.org/issues" -[tool.poetry.extras] -development = [ - "black", - "flake8", - "flynt", +[tool.uv] +dev-dependencies = [ "invoke", "pre-commit", - "pyupgrade", ] - -[tool.black] -line-length = 79 -exclude = ''' -/( - \.git - | \.mypy_cache - | cache - | output - | pages - | plugins - | posts -)/ -''' - -[tool.flynt] -line_length=999 -exclude = ''' -/( - cache - | output - | plugins -)/ -''' - -[build-system] -requires = [ "poetry>=0.12" ] -build-backend = "poetry.masonry.api" diff --git a/themes/colour-science/templates/base.tmpl b/themes/colour-science/templates/base.tmpl index 3e4690e5..e1621cd6 100644 --- a/themes/colour-science/templates/base.tmpl +++ b/themes/colour-science/templates/base.tmpl @@ -1,6 +1,5 @@ ## -*- coding: utf-8 -*- <%namespace name="base" file="base_helper.tmpl" import="*" /> -<%namespace name="notes" file="annotation_helper.tmpl" import="*" /> ${set_locale(lang)} ${base.html_headstart()} <%block name="extra_head">