@@ -46,7 +46,7 @@ It can be used to [mix and compare colours](#mix-colours), and offers [many usef
4646> CIELAB · CIELCh<sub >ab</sub > · CIELUV · CIELCh<sub >uv</sub > · HSLuv · HPLuv ·
4747> YPbPr · YCbCr  ; /  ; YUV  ; _ (digital)_ · YCgCo · YUV  ; _ (PAL)_ · YIQ  ; _ (NTSC)_ · YDbDr  ; _ (SECAM)_ ·
4848> TSL · XYB ·
49- > IPT · IC<sub >T</sub >C<sub >P</sub > · J<sub >z</sub >a<sub >z</sub >b<sub >z</sub > · J<sub >z</sub >C<sub >z</sub >h<sub >z</sub > ·
49+ > LMS · IPT · IC<sub >T</sub >C<sub >P</sub > · J<sub >z</sub >a<sub >z</sub >b<sub >z</sub > · J<sub >z</sub >C<sub >z</sub >h<sub >z</sub > ·
5050> Oklab · Oklch · Okhsv · Okhsl · Okhwb · Okl<sub >r</sub >ab · Okl<sub >r</sub >ch ·
5151> CIECAM02 · CAM16 ·
5252> HCT ·
@@ -164,6 +164,7 @@ var (l, c, h) = colour.Oklch;
164164| YDbDr  ; _ (SECAM)_ | ` ColourSpace.Ydbdr ` | ` .Ydbdr ` |
165165| TSL | ` ColourSpace.Tsl ` | ` .Tsl ` |
166166| XYB | ` ColourSpace.Xyb ` | ` .Xyb ` |
167+ | LMS | ` ColourSpace.Lms ` | ` .Lms ` |
167168| IPT | ` ColourSpace.Ipt ` | ` .Ipt ` |
168169| IC<sub >T</sub >C<sub >P</sub > | ` ColourSpace.Ictcp ` | ` .Ictcp ` |
169170| J<sub >z</sub >a<sub >z</sub >b<sub >z</sub > | ` ColourSpace.Jzazbz ` | ` .Jzazbz ` |
@@ -222,30 +223,31 @@ flowchart LR
222223 YDBDR("YDbDr (SECAM)")
223224 TSL(TSL)
224225 XYB(XYB)
225- IPT(IPT)
226- ICTCP(ICtCp)
227- JZAZBZ(JzAzBz)
228- JZCZHZ(JzCzHz)
229- OKLAB(Oklab)
230- OKLCH(Oklch)
231- OKHSV(Okhsv)
232- OKHSL(Okhsl)
233- OKHWB(Okhwb)
234- OKLRAB(Oklrab)
235- OKLRCH(Oklrch)
226+ LMS([LMS])
227+ IPT{{IPT}}
228+ ICTCP{{ICtCp}}
229+ JZAZBZ{{JzAzBz}}
230+ JZCZHZ{{JzCzHz}}
231+ OKLAB{{Oklab}}
232+ OKLCH{{Oklch}}
233+ OKHSV{{Okhsv}}
234+ OKHSL{{Okhsl}}
235+ OKHWB{{Okhwb}}
236+ OKLRAB{{Oklrab}}
237+ OKLRCH{{Oklrch}}
236238 CAM02(CAM02)
237239 CAM02UCS(CAM02-UCS)
238240 CAM16(CAM16)
239241 CAM16UCS(CAM16-UCS)
240- HCT( HCT)
241- ICC("ICC Profile")
242+ HCT{{ HCT}}
243+ ICC([ "ICC Profile"] )
242244 CMYK("CMYK")
243- CMYKOGV("CMYKOGV")
244-
245+
245246 XYZ --> ICC
246- ICC -.-> CMYKOGV
247247 ICC -.-> CMYK
248248 RGB -.-> CMYK
249+ XYZ --> XYY
250+ XYY --> WXY
249251 XYZ --> RGBLIN
250252 RGBLIN --> RGB
251253 RGB --> HSB
@@ -260,14 +262,13 @@ flowchart LR
260262 YUV --> YDBDR
261263 RGB --> TSL
262264 RGBLIN --> XYB
263- XYZ --> XYY
264- XYY --> WXY
265265 XYZ --> LAB
266266 LAB --> LCHAB
267267 XYZ --> LUV
268268 LUV --> LCHUV
269269 LCHUV --> HSLUV
270270 LCHUV --> HPLUV
271+ XYZ --> LMS
271272 XYZ --> IPT
272273 XYZ --> ICTCP
273274 XYZ --> JZAZBZ
@@ -287,9 +288,12 @@ flowchart LR
287288```
288289
289290This diagram summarises how colour space conversions are implemented in Unicolour.
290- Arrows indicate forward transformations from one space to another.
291- For each forward transformation there is a corresponding reverse transformation.
292- XYZ is considered the root colour space.
291+ - XYZ is considered the root colour space
292+ - Arrows indicate forward transformations from one colour space to another
293+ - For each forward transformation there is a corresponding reverse transformation
294+ - Square nodes indicate colour spaces affected by white point configuration
295+ - Hexagonal nodes indicate colour spaces restricted to D65/2°
296+ - Rounded nodes indicate colour spaces unaffected by white point configuration
293297</details >
294298
295299### Mix colours
@@ -384,17 +388,23 @@ var surfaceRed = veryRed.MapToPointerGamut();
384388
385389### Simulate colour vision deficiency
386390Colour vision deficiency (CVD) or colour blindness can be simulated, conveying how a particular colour might be perceived.
391+ Anomalous trichromacy, where cones are defective instead of missing, can be adjusted using the severity parameter.
387392``` c#
388393var colour = new Unicolour (ColourSpace .Rgb255 , 192 , 255 , 238 );
389- var noRed = colour .Simulate (Cvd .Protanopia );
394+ var missingRed = colour .Simulate (Cvd .Protanopia );
395+ var defectiveRed = colour .Simulate (Cvd .Protanomaly , 0 . 5 );
390396```
391397
392- | Colour  ; vision  ; deficiency | Enum |
393- | -----------------------------------------------------| ---------------------|
394- | Protanopia  ; (no  ; red  ; perception) | ` Cvd.Protanopia ` |
395- | Deuteranopia  ; (no  ; green  ; perception) | ` Cvd.Deuteranopia ` |
396- | Tritanopia  ; (no  ; blue  ; perception) | ` Cvd.Tritanopia ` |
397- | Achromatopsia  ; (no  ; colour  ; perception) | ` Cvd.Achromatopsia ` |
398+ | Colour  ; vision  ; deficiency | Enum |
399+ | ---------------------------------------------------------------------------------------| ----------------------------|
400+ | Protanopia  ; (missing  ; red  ; cones) | ` Cvd.Protanopia ` |
401+ | Protanomaly  ; (defective  ; red  ; cones) | ` Cvd.Protanomaly ` |
402+ | Deuteranopia  ; (missing  ; green  ; cones) | ` Cvd.Deuteranopia ` |
403+ | Deuteranomaly  ; (defective  ; green  ; cones) | ` Cvd.Deuteranomaly ` |
404+ | Tritanopia  ; (missing  ; blue  ; cones) | ` Cvd.Tritanopia ` |
405+ | Tritanomaly  ; (defective  ; blue  ; cones) | ` Cvd.Tritanomaly ` |
406+ | Blue  ; cone  ; monochromacy  ; (missing  ; red  ; &  ; green  ; cones) | ` Cvd.BlueConeMonochromacy ` |
407+ | Achromatopsia  ; (missing  ; all  ; cones) | ` Cvd.Achromatopsia ` |
398408
399409### Convert between colour and temperature
400410Correlated colour temperature (CCT) and delta UV (∆<sub >uv</sub >) of a colour can be ascertained, and can be used to create a colour.
@@ -717,7 +727,7 @@ Some commonly used profiles can be found in the [ICC profile registry](https://w
717727 - Rendering intent
718728
719729### White points
720- All colour spaces are impacted by the reference white point.
730+ Most colour spaces are impacted by the reference white point.
721731Unicolour applies different reference white points to different sets of colour spaces, as shown in the table below.
722732When a [ conversion to or from XYZ space] ( #convert-between-colour-spaces ) involves a change in white point, a chromatic adaptation transform (CAT) is performed.
723733The default chromatic adaptation is the Bradford method but [ this can be customised] ( #xyzconfiguration ) .
0 commit comments