File: changes.rst

package info (click to toggle)
colorspacious 1.1.2-6
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,084 kB
  • sloc: python: 1,867; javascript: 204; makefile: 152
file content (131 lines) | stat: -rw-r--r-- 4,846 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
Changes
=======

v1.1.2
------

* **BUG AFFECTING CALCULATIONS:** As a result of the scrutiny
  triggered by the v1.1.1 release, we discovered that the reference
  article that colorspacious (and other libraries) was using as a
  source for the ``CIECAM02Surround.DIM`` constant values was *itself*
  incorrect. It has now been corrected, and verified against CIE
  159:2004. See `#14
  <https://github.com/njsmith/colorspacious/issues/14>`__ for details,
  and thanks to Thomas Mansencal and Mark Fairchild for helping sort
  this out.

  Like the bug fix in v1.1.1, this doesn't affect most calculations;
  it only matters if you were explicitly choosing the
  ``CIECAM02Surround.DIM`` viewing conditions.


v1.1.1
------

.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.1211038.svg
   :target: https://doi.org/10.5281/zenodo.1211038

* **BUG AFFECTING CALCULATIONS:** In previous versions, the constants
  ``CIECAM02Surround.DIM`` and ``CIECAM02Surround.DARK`` were
  incorrect due to a data entry error. Fortunately,
  ``CIECAM02Surround.AVERAGE`` *was* correct, and this is the default,
  so unless you have explicitly been requesting ``DIM`` or ``DARK``
  surrounds in your CIECAM02 calculations, then you should be
  unaffected by this bug. (Thanks to `Brian Deiterle
  <https://github.com/briend>`__ for catching this!)


v1.1.0
------

.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.165867.svg
   :target: https://doi.org/10.5281/zenodo.165867

* **BUG AFFECTING CALCULATIONS:** In previous versions, it turns out
  that the CAM02-LCD and CAM02-SCD spaces were accidentally swapped –
  so if you asked for CAM02-LCD you got SCD, and vice-versa. This has
  now been corrected. (Thanks to Github user TFiFiE for catching
  this!)

* Fixed setup.py to be compatible with both python 2 and python 3.

* Miscellaneous documentation improvements.


v1.0.0
------

.. image:: https://zenodo.org/badge/doi/10.5281/zenodo.33086.svg
   :target: http://dx.doi.org/10.5281/zenodo.33086

Notable changes since v0.1.0 include:

* **BUG AFFECTING CALCULATIONS:** the sRGB viewing conditions
  (``colorspacious.CIECAM02Space.sRGB``), which are used by default in
  all calculations involving CIECAM02 or CAM02-UCS, were previously
  incorrect -- the :math:`L_A` parameter was supposed to be :math:`(64
  / \pi) / 5`, but instead was incorrectly calculated as :math:`(64 /
  \pi) * 5`. The effect of this was to assume much brighter ambient
  lighting than actually specified by the sRGB standard (i.e., the
  sRGB standard assumes that you are looking at your monitor in a dim
  environment, like a movie theatre; we were calculating as if you
  were looking at your monitor in an environment that was 125 times
  lighter -- something like, outside on an overcast day). This bug is
  corrected in this release.

  Fortunately this turns out to have had a negligible effect on
  viridis and the other matplotlib colormaps that were computed using
  the buggy code. Once the bug is corrected, the old colormaps'
  perceptual uniformity is no long analytically exactly perfect, but
  the deviations are numerically negligible, so there's no need to
  regenerate the colormaps. (Indeed, the buggy viewing conditions,
  while different from those specified in IEC 61966-2-1:1999, are
  probably still within the range of realistic viewing conditions
  where these colormaps will be used.)

  If it is necessary to reproduce results using the old code, then
  this can be accomplished by instantiating a custom
  :class:`CIECAM02Space` object::

      from colorspacious import CIECAM02Space
      # almost, but not quite, the sRGB viewing conditions:
      buggy_space = CIECAM02Space(
          XYZ100_w="D65",
          Y_b=20,
          # bug: should be (64 / np.pi) / 5
          L_A=(64 / np.pi) * 5)

  This can be used directly, or to create custom colorspace
  specifications to use with :func:`cspace_convert`. E.g., to convert
  from sRGB1 to JCh using the buggy viewing conditions::

      cspace_convert(..., "sRGB1",
                     {"name": "JCh", "ciecam02_space": buggy_space})

  Or to convert from XYZ100 to CAM02-UCS using the buggy viewing
  conditions::

      cspace_convert(..., "XYZ100",
                     {"name": "CAM02-UCS", "ciecam02_space": buggy_space})

  Similar code has been added to `viscm
  <https://github.com/matplotlib/viscm>`_ to allow reproduction and
  editing of viridis and related colormaps that were designed using
  the old code.

* :func:`colorspacious.deltaE` is now available as a convenience
  function for computing the perceptual distance between colors.

* Substantially improved docs (i.e. there is now actually a
  comprehensive manual).

* Better test coverage (currently at 100% statement and branch
  coverage).

* Miscellaneous bug fixes.


v0.1.0
------

Initial release.