From 588b4fd7d1df556beb6c6e84cd4816c6ffcf9f3f Mon Sep 17 00:00:00 2001 From: Wacton Date: Thu, 30 Jan 2025 22:17:38 +0000 Subject: [PATCH] Add pigment mixing (Kubelka-Munk) --- Example.Console/Program.cs | 2 +- Example.Diagrams/Utils.cs | 2 +- Example.Gradients/Program.cs | 55 + README.md | 5 +- Unicolour.Datasets/ArtistPaint.cs | 508 ++++ Unicolour.Readme/Program.cs | 11 +- Unicolour.Readme/README.md | 5 +- .../docs/pigments-blue-white-ref-km.png | Bin 0 -> 2466 bytes .../docs/pigments-blue-white-ref-real.png | Bin 0 -> 166019 bytes Unicolour.Readme/docs/pigments-blue-white.png | Bin 0 -> 2410 bytes .../docs/pigments-blue-yellow-comparison.png | Bin 0 -> 218634 bytes .../docs/pigments-blue-yellow-ref-km.png | Bin 0 -> 2462 bytes .../docs/pigments-blue-yellow-ref-real.png | Bin 0 -> 198834 bytes .../docs/pigments-blue-yellow.png | Bin 0 -> 2415 bytes .../pigments-magenta-white-comparison.png | Bin 0 -> 226301 bytes .../docs/pigments-magenta-white-ref-km.png | Bin 0 -> 2464 bytes .../docs/pigments-magenta-white-ref-real.png | Bin 0 -> 206675 bytes .../docs/pigments-magenta-white.png | Bin 0 -> 2412 bytes Unicolour.Tests/ChromaticityTests.cs | 2 +- Unicolour.Tests/ColourTripletTests.cs | 64 +- Unicolour.Tests/ConfigureIccTests.cs | 4 +- Unicolour.Tests/ContrastTests.cs | 20 +- Unicolour.Tests/DatasetArtistPaintTests.cs | 20 + Unicolour.Tests/DatasetCssTests.cs | 298 +- Unicolour.Tests/DatasetMacbethTests.cs | 2 +- Unicolour.Tests/DatasetXkcdTests.cs | 1898 ++++++------- Unicolour.Tests/DifferenceTests.cs | 11 +- Unicolour.Tests/DominantWavelengthTests.cs | 10 +- Unicolour.Tests/EqualityTests.cs | 2 +- Unicolour.Tests/ExcitationPurityTests.cs | 10 +- Unicolour.Tests/ExtremeConfigurationTests.cs | 16 +- Unicolour.Tests/ExtremeValuesTests.cs | 32 +- Unicolour.Tests/IccConversionTests.cs | 5 +- Unicolour.Tests/IccProfileTests.cs | 128 +- Unicolour.Tests/IccUnsupportedTests.cs | 44 +- Unicolour.Tests/IlluminantTests.cs | 4 +- Unicolour.Tests/ImaginaryTests.cs | 12 +- .../InvalidMissingWavelengthTests.cs | 16 + Unicolour.Tests/KnownHctTests.cs | 12 +- Unicolour.Tests/KnownIccTests.cs | 4 +- Unicolour.Tests/KnownOkhslTests.cs | 14 +- Unicolour.Tests/KnownOkhsvTests.cs | 14 +- Unicolour.Tests/KnownOklabTests.cs | 8 +- Unicolour.Tests/KnownSpdTests.cs | 24 +- Unicolour.Tests/KnownTemperatureTests.cs | 4 +- .../LazyPlanckianCoordinatesTests.cs | 18 +- Unicolour.Tests/MatrixTests.cs | 52 +- Unicolour.Tests/MixConfigurationTests.cs | 10 +- Unicolour.Tests/MixHueFirstComponentTests.cs | 10 +- Unicolour.Tests/MixHueNoComponentTests.cs | 10 +- Unicolour.Tests/MixHueThirdComponentTests.cs | 10 +- Unicolour.Tests/NotNumberTests.cs | 28 +- Unicolour.Tests/PigmentTests.cs | 212 ++ Unicolour.Tests/SmokeTests.cs | 276 +- Unicolour.Tests/SpdDefinitionTests.cs | 75 +- Unicolour.Tests/SpectralCoefficientsTests.cs | 109 + Unicolour.Tests/SpectralLocusTests.cs | 4 +- Unicolour.Tests/Utils/TestUtils.cs | 92 +- Unicolour/Adaptation.cs | 12 + Unicolour/Blackbody.cs | 12 +- Unicolour/Cmf.cs | 2 +- Unicolour/Comparison.cs | 10 + Unicolour/Configuration.cs | 20 +- Unicolour/Daylight.cs | 152 +- Unicolour/GamutMapping.cs | 2 +- Unicolour/Hct.cs | 9 +- Unicolour/Icc/DataTypes.cs | 19 +- Unicolour/Icc/Profile.cs | 7 +- Unicolour/Icc/Tags.cs | 16 +- Unicolour/Icc/Transform.cs | 2 +- Unicolour/Icc/TransformTrcMatrix.cs | 6 +- Unicolour/Illuminant.cs | 8 +- Unicolour/Interpolation.cs | 4 +- Unicolour/Matrix.cs | 21 +- Unicolour/Pigment.cs | 121 + Unicolour/Spd.cs | 2406 ++--------------- Unicolour/Spectral.cs | 2 +- Unicolour/SpectralCoefficients.cs | 89 + Unicolour/Unicolour.Constructors.cs | 41 + Unicolour/Unicolour.Lookups.cs | 140 +- Unicolour/Unicolour.cs | 19 +- Unicolour/VisionDeficiency.cs | 4 +- Unicolour/Xyz.cs | 88 +- Unicolour/XyzConfiguration.cs | 3 + docs/README.md | 5 +- docs/README_us.md | 5 +- 86 files changed, 3389 insertions(+), 4008 deletions(-) create mode 100644 Unicolour.Datasets/ArtistPaint.cs create mode 100644 Unicolour.Readme/docs/pigments-blue-white-ref-km.png create mode 100644 Unicolour.Readme/docs/pigments-blue-white-ref-real.png create mode 100644 Unicolour.Readme/docs/pigments-blue-white.png create mode 100644 Unicolour.Readme/docs/pigments-blue-yellow-comparison.png create mode 100644 Unicolour.Readme/docs/pigments-blue-yellow-ref-km.png create mode 100644 Unicolour.Readme/docs/pigments-blue-yellow-ref-real.png create mode 100644 Unicolour.Readme/docs/pigments-blue-yellow.png create mode 100644 Unicolour.Readme/docs/pigments-magenta-white-comparison.png create mode 100644 Unicolour.Readme/docs/pigments-magenta-white-ref-km.png create mode 100644 Unicolour.Readme/docs/pigments-magenta-white-ref-real.png create mode 100644 Unicolour.Readme/docs/pigments-magenta-white.png create mode 100644 Unicolour.Tests/DatasetArtistPaintTests.cs create mode 100644 Unicolour.Tests/InvalidMissingWavelengthTests.cs create mode 100644 Unicolour.Tests/PigmentTests.cs create mode 100644 Unicolour.Tests/SpectralCoefficientsTests.cs create mode 100644 Unicolour/Pigment.cs create mode 100644 Unicolour/SpectralCoefficients.cs diff --git a/Example.Console/Program.cs b/Example.Console/Program.cs index af223bf7..51e4637f 100644 --- a/Example.Console/Program.cs +++ b/Example.Console/Program.cs @@ -2,7 +2,7 @@ using Wacton.Unicolour; using Wacton.Unicolour.Icc; -var config = new Configuration(iccConfiguration: new("./SWOP2006_Coated5v2.icc", Intent.RelativeColorimetric, "SWOP2006")); +var config = new Configuration(iccConfig: new("./SWOP2006_Coated5v2.icc", Intent.RelativeColorimetric, "SWOP2006")); var white = new Unicolour("#000000"); var black = new Unicolour("#FFFFFF"); diff --git a/Example.Diagrams/Utils.cs b/Example.Diagrams/Utils.cs index 722924f6..4c7ed443 100644 --- a/Example.Diagrams/Utils.cs +++ b/Example.Diagrams/Utils.cs @@ -20,7 +20,7 @@ internal static List GetSpectralLocus() var data = new List(); for (var nm = 360; nm < 700; nm++) { - data.Add(new Unicolour(new Spd { { nm, 1.0 } })); + data.Add(new Unicolour(new Spd(start: nm, interval: 1, 1.0))); } return data; diff --git a/Example.Gradients/Program.cs b/Example.Gradients/Program.cs index 13864e65..400fef54 100644 --- a/Example.Gradients/Program.cs +++ b/Example.Gradients/Program.cs @@ -1,5 +1,6 @@ using SixLabors.ImageSharp; using SixLabors.ImageSharp.PixelFormats; +using SixLabors.ImageSharp.Processing; using Wacton.Unicolour; using Wacton.Unicolour.Datasets; using Wacton.Unicolour.Example.Gradients; @@ -14,6 +15,7 @@ VisionDeficiency(); AlphaInterpolation(); ColourMaps(); +Pigments(); return; void ColourSpaces() @@ -222,6 +224,59 @@ void ColourMaps() double Distance(int columnIndex) => columnIndex / (double) (width - 1); } +void Pigments() +{ + const int width = 791; + const int rowHeight = 240; + const int blocks = 7; + const int columnsPerBlock = width / blocks; + + DrawGradientBlocks(ArtistPaint.QuinacridoneMagenta, ArtistPaint.TitaniumWhite, "magenta-white"); + DrawGradientBlocks(ArtistPaint.PhthaloBlueRedShade, ArtistPaint.TitaniumWhite, "blue-white"); + DrawGradientBlocks(ArtistPaint.CobaltBlue, ArtistPaint.HansaYellowOpaque, "blue-yellow"); + return; + + void DrawGradientBlocks(Pigment startPigment, Pigment endPigment, string name) + { + double minRgb = 0; + double maxRgb = 0; + List colours = []; + for (var i = 0; i < blocks; i++) + { + var endAmount = i / (double)(blocks - 1); + + var pigments = new[] { startPigment, endPigment }; + var weights = new[] { 1 - endAmount, endAmount }; + + var colour = new Unicolour(pigments, weights); + var rgb = colour.Rgb; + var rgbComponents = new[] { rgb.R, rgb.G, rgb.B }; + minRgb = Math.Min(minRgb, rgbComponents.Min()); + maxRgb = Math.Max(maxRgb, rgbComponents.Max()); + colours.Add(colour); + } + + var rows = new List> + { + Utils.Draw((string.Empty, Css.Transparent), width, rowHeight, GetColour()) + }; + + var image = Utils.DrawRows(rows, width, rowHeight); + image.Mutate(x => x.Rotate(RotateMode.Rotate90)); + image.Save(Path.Combine(outputDirectory, $"pigments-{name}.png")); + return; + + Utils.GetColour GetColour() + { + return column => + { + var blockIndex = column / columnsPerBlock; + return colours[blockIndex]; + }; + } + } +} + internal enum Cvd { None, diff --git a/README.md b/README.md index 2db90dc5..2830131b 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ [![GitLab](https://badgen.net/static/gitlab/source/ff1493?icon=gitlab)](https://gitlab.com/Wacton/Unicolour) [![NuGet](https://badgen.net/nuget/v/Wacton.Unicolour?icon)](https://www.nuget.org/packages/Wacton.Unicolour/) [![pipeline status](https://gitlab.com/Wacton/Unicolour/badges/main/pipeline.svg)](https://gitlab.com/Wacton/Unicolour/-/commits/main) -[![tests passed](https://badgen.net/static/tests/216,552/green/)](https://gitlab.com/Wacton/Unicolour/-/pipelines) +[![tests passed](https://badgen.net/static/tests/216,919/green/)](https://gitlab.com/Wacton/Unicolour/-/pipelines) [![coverage report](https://gitlab.com/Wacton/Unicolour/badges/main/coverage.svg)](https://gitlab.com/Wacton/Unicolour/-/pipelines) Unicolour is the most comprehensive .NET library for working with colour: @@ -11,8 +11,7 @@ Unicolour is the most comprehensive .NET library for working with colour: - Colour mixing / colour interpolation - Colour difference / colour distance - Colour gamut mapping -- Colour chromaticity -- Colour temperature +- Colour chromaticity & colour temperature - Wavelength attributes - ICC profiles for CMYK conversion diff --git a/Unicolour.Datasets/ArtistPaint.cs b/Unicolour.Datasets/ArtistPaint.cs new file mode 100644 index 00000000..ea32fed8 --- /dev/null +++ b/Unicolour.Datasets/ArtistPaint.cs @@ -0,0 +1,508 @@ +namespace Wacton.Unicolour.Datasets; + +public static class ArtistPaint +{ + private const double K1 = 0.03; + private const double K2 = 0.65; + + public static readonly Configuration Configuration = new(RgbConfiguration.StandardRgb, XyzConfiguration.D50); + + // PBk9 https://goldenartistcolors.com/products/heavy-body-acrylic-color-bone-black + public static readonly Pigment BoneBlack = new(startWavelength: 380, wavelengthInterval: 10, + k: new[] + { + 0.317811397650624, 0.233952399653749, 0.204520371048808, 0.189464091220208, 0.188813601474085, + 0.193179768236094, 0.197596003482744, 0.20125972963409, 0.205476953434866, 0.210521266582866, + 0.214665979318831, 0.219283264175624, 0.223502971430491, 0.2270276973869, 0.231948610107481, + 0.235609647644616, 0.239626943718284, 0.243894992385953, 0.248467548567963, 0.252355641801762, + 0.256408501038151, 0.261395774901768, 0.266028526662449, 0.270996613529048, 0.275253176889181, + 0.280079217451489, 0.284478263127754, 0.289275812641859, 0.293656599811015, 0.297691582693998, + 0.302184294796436, 0.30696834833567, 0.31166846897385, 0.316528350896527, 0.321364207731934, + 0.326021321634463, 0.330457843304534, 0.335491912553359 + }, + s: new[] + { + 0.0368024813345649, 0.0256144995502153, 0.0212688767120403, 0.0187245793087216, 0.0181165585542757, + 0.0179541823875545, 0.01800808069532, 0.0181427634862488, 0.0184240318104632, 0.0184508279908187, + 0.0186306668048108, 0.0187291278524307, 0.0189137102650178, 0.0192268634943196, 0.0193960093269549, + 0.0195418435855256, 0.0197873065716166, 0.0200967007231672, 0.0202413898889042, 0.0205466011989686, + 0.0208213525588727, 0.0208785976735545, 0.0213179808441358, 0.0214407055088138, 0.0217703084725628, + 0.0219333114484424, 0.0221982579405114, 0.0224842347757896, 0.0226720929377712, 0.0230745165898883, + 0.023304967775046, 0.0236739221366254, 0.0238684455501154, 0.0242467924659702, 0.0245338061304657, + 0.0247983914334245, 0.0251572862923466, 0.0256406548024857 + }, + K1, K2, nameof(BoneBlack)); + + // PY74 https://goldenartistcolors.com/products/heavy-body-acrylic-color-hansa-yellow-opaque + public static readonly Pigment HansaYellowOpaque = new(startWavelength: 380, wavelengthInterval: 10, + k: new[] + { + 0.512100081314837, 0.811954107142779, 0.996835843174264, 1.03542097315476, 1.14380275493334, + 1.26767584763054, 1.38775581120401, 1.48049450104339, 1.56509313300391, 1.64537098200568, 1.60771582294544, + 1.23476290443795, 0.552126302713133, 0.112331062731325, 0.0229304072941642, 0.00500753830266314, + 0.00128547365574166, 0.000509307453590994, 0.000307730006717255, 0.000228204709284443, 0.000182383391297429, + 0.00015722690950228, 0.000137001467306171, 0.000126900159288766, 0.000113462317995942, 9.73201365027879E-05, + 8.53528527658461E-05, 8.15868187082281E-05, 6.66796560332411E-05, 6.10226186316512E-05, + 6.17024155354409E-05, 5.95032155240964E-05, 5.65189518580758E-05, 5.28966316666848E-05, + 4.64661807975364E-05, 3.91244360338891E-05, 3.14499697904531E-05, 2.09850761970231E-05 + }, + s: new[] + { + 0.1039844793085, 0.157386510904567, 0.189152295938482, 0.192470838701827, 0.208077724465523, + 0.22919197099569, 0.24358648366764, 0.246757704694342, 0.261959728621277, 0.29137197376144, + 0.320059907094168, 0.382814528275119, 0.486895075082476, 0.402960722853954, 0.346376723690672, + 0.279124659779846, 0.207870305723293, 0.162818387170947, 0.141690553204417, 0.130726597690941, + 0.123392449945253, 0.120892884686133, 0.121175964256258, 0.123473811793775, 0.12346294717639, + 0.11756763367003, 0.11461346363485, 0.120387190599505, 0.107511181874175, 0.107497724706644, + 0.115852178615904, 0.119551716397322, 0.122449970490674, 0.12064866043304, 0.113408147825366, + 0.101750180782352, 0.0901698646754337, 0.0662883462729863 + }, + K1, K2, nameof(HansaYellowOpaque)); + + // PY83 https://goldenartistcolors.com/products/heavy-body-acrylic-color-diarylide-yellow + public static readonly Pigment DiarylideYellow = new(startWavelength: 380, wavelengthInterval: 10, + k: new[] + { + 0.387758116833518, 0.812507210066677, 1.08503965425593, 1.13921729163924, 1.27405961897427, + 1.43001289680218, 1.56687676464167, 1.67948145251797, 1.78574142601545, 1.82679763270873, 1.8109341252675, + 1.85505560659562, 1.82791331487424, 1.46205685134145, 0.736924829654956, 0.170015808303272, + 0.0359207856486071, 0.00934115073915208, 0.00285116305026758, 0.000978594691150517, 0.000480451834312815, + 0.000355122704641136, 0.000305048915110781, 0.000282267996865231, 0.000258581033081571, + 0.000228932346324942, 0.00020169590473945, 0.000191588968701158, 0.000163574747423313, 0.000154094995340281, + 0.00015379860640392, 0.000149971772359933, 0.000142059768367094, 0.000133945400596927, 0.000121703356902477, + 0.000109698273311583, 9.60751315863311E-05, 7.64329136531222E-05 + }, + s: new[] + { + 0.0759492389149036, 0.148023458438743, 0.18274753538803, 0.176802000514802, 0.182355975364024, + 0.188622461731593, 0.191268142656097, 0.196617964066658, 0.205176279438857, 0.202684082686894, + 0.193479975841046, 0.203315073909303, 0.236903989269901, 0.296382037177783, 0.394610076858765, + 0.35588228065333, 0.314096559149308, 0.262396097912374, 0.206681584705969, 0.159572156401486, + 0.135222279483051, 0.128230849698763, 0.126393018978052, 0.125618485247609, 0.123465039671887, + 0.115874335452083, 0.108351072760427, 0.108073703148524, 0.0975367613826089, 0.0962108774574202, + 0.0976186330076507, 0.0971447248628534, 0.0953775877799447, 0.0915851808556161, 0.085158356029569, + 0.0786352340854392, 0.0713925567190877, 0.05850565192579 + }, + K1, K2, nameof(DiarylideYellow)); + + // PO20 https://goldenartistcolors.com/products/heavy-body-acrylic-color-cadmium-orange + public static readonly Pigment CadmiumOrange = new(startWavelength: 380, wavelengthInterval: 10, + k: new[] + { + 0.213736206773396, 0.519796707803399, 0.709203895963572, 0.676285253510381, 0.692274282448739, + 0.71732099261458, 0.742775508717652, 0.764608553527621, 0.788832115874559, 0.815815863294018, + 0.838941299580006, 0.864324939328452, 0.87643141702009, 0.856880367625572, 0.838734962874662, + 0.802192825427294, 0.613911681739884, 0.281177976309083, 0.0722042808902405, 0.0192845950471225, + 0.00526175783004859, 0.00160649100145242, 0.00055793082813094, 0.000278656177989427, 0.000178128252392217, + 0.000130893319523321, 0.000106742997311804, 9.69083535345058E-05, 7.86912112097592E-05, + 7.22525134530973E-05, 0.000068307473243911, 6.40150437034446E-05, 6.04633382212901E-05, + 5.63682953754665E-05, 4.95568357216019E-05, 4.22617065602691E-05, 3.53121087216562E-05, 2.56051959821414E-05 + }, + s: new[] + { + 0.0334614652888085, 0.0722952082086738, 0.0919660458443357, 0.0827711642945552, 0.082284474662936, + 0.0841862541684431, 0.0870077369320032, 0.0893931566719423, 0.0927240754457777, 0.0961737649187337, + 0.100543306832368, 0.106655670735838, 0.115105013387593, 0.125767783291427, 0.135752445909715, + 0.152503051291189, 0.206753975712159, 0.290148890740501, 0.265540470257143, 0.260094060693247, + 0.238716689497268, 0.20334476490239, 0.166189408672864, 0.146943797418677, 0.139464375645718, + 0.132548298435615, 0.129517817573874, 0.134367010782012, 0.120163329782928, 0.121932606884359, + 0.122578069721671, 0.121347718528867, 0.12319021480818, 0.120410046501594, 0.113437094618034, + 0.102305759238848, 0.0929670269604825, 0.0730494832065734 + }, + K1, K2, nameof(CadmiumOrange)); + + // PO73 https://goldenartistcolors.com/products/heavy-body-acrylic-color-pyrrole-orange + public static readonly Pigment PyrroleOrange = new(startWavelength: 380, wavelengthInterval: 10, + k: new[] + { + 0.00963475049276939, 0.0613861741672126, 0.28548753001039, 0.273338338938033, 0.309512713273729, + 0.355920630091139, 0.40514394299603, 0.466047444222349, 0.516983225715784, 0.557818026329639, + 0.630805001381036, 0.716566780743539, 0.759567171552285, 0.735506494892314, 0.806052410175665, + 0.963509729339308, 1.04840617394376, 0.884251019576104, 0.407907214677908, 0.088233707658953, + 0.0214870378652549, 0.00590996710302271, 0.00158379167268546, 0.000686510277778484, 0.000416458977319794, + 0.000322791134309777, 0.000260443328243744, 0.000217584526233587, 0.000159618302509273, + 0.000127980512003518, 0.000109891958227167, 0.000095410980598875, 8.44697478813302E-05, + 7.55228330327957E-05, 6.63074102416893E-05, 5.67405821863443E-05, 4.74015638971165E-05, 2.52862374707412E-05 + }, + s: new[] + { + 0.00118317083250626, 0.00621554420862989, 0.0248339449916222, 0.0212882134425309, 0.0225528820861123, + 0.0253616846679146, 0.028573726898671, 0.0334081223821826, 0.037004439861225, 0.0399140278189604, + 0.048063498813698, 0.0574215446746512, 0.0589242977902563, 0.0530702395586865, 0.0618505783259826, + 0.0905312808868501, 0.114171548853195, 0.145864897754159, 0.217428863621044, 0.185131807289811, + 0.16081737818448, 0.139313972388245, 0.124433143534423, 0.149653819751424, 0.162815539933448, + 0.163628007023727, 0.162610580335969, 0.171338903724116, 0.158081132340649, 0.150220696040656, + 0.143067662570785, 0.132445166106676, 0.128649188270693, 0.124780646326849, 0.120857666089631, + 0.114837928860097, 0.111404518625742, 0.0729623446409304 + }, + K1, K2, nameof(PyrroleOrange)); + + // PR108 https://goldenartistcolors.com/products/heavy-body-acrylic-color-cadmium-red-light + public static readonly Pigment CadmiumRedLight = new(startWavelength: 380, wavelengthInterval: 10, + k: new[] + { + 0.553969164072578, 0.523636831495863, 0.507909346466014, 0.506956347197705, 0.523245607805641, + 0.541847698518397, 0.560535605787181, 0.576575533276788, 0.593778131913171, 0.61245320684451, + 0.628597715860943, 0.645491329681046, 0.661393431258366, 0.668393570172099, 0.666008863620721, + 0.656807464652092, 0.654071047335193, 0.645514511001637, 0.581021787000438, 0.378367517144668, + 0.146304268134563, 0.0424781493632579, 0.0112686829076062, 0.00359774482150769, 0.00140712448318386, + 0.000708804480432221, 0.000440522802548256, 0.000306504915982441, 0.000219871086993488, + 0.000169406904738402, 0.000137345661147109, 0.000117025986718807, 9.26256566385872E-05, + 8.11265218210007E-05, 0.000064030524189211, 5.48303172584812E-05, 4.48116587009103E-05, 3.20765421169699E-05 + }, + s: new[] + { + 0.0875589405824706, 0.0742375741626742, 0.0678170453407614, 0.0643174111863368, 0.064051377363962, + 0.0652694103129298, 0.0666258663553302, 0.0686659971940292, 0.0708604295362592, 0.0729095478059224, + 0.075719067092993, 0.0785301041439728, 0.0824891605563741, 0.0882091458771212, 0.0952930498149341, + 0.102432346884142, 0.108959191146383, 0.119882851267627, 0.149723982758554, 0.225929494060362, + 0.317664650123621, 0.35834715816567, 0.347064972437833, 0.306365858938714, 0.260374190835569, + 0.22560532678633, 0.202608173780281, 0.186118640530231, 0.171642305569674, 0.163888387901695, + 0.15980506644697, 0.158358541220408, 0.148048818126533, 0.146249418469276, 0.134018526717345, + 0.127842174179483, 0.118057679985925, 0.0973298581498541 + }, + K1, K2, nameof(CadmiumRedLight)); + + // PR254 https://goldenartistcolors.com/products/heavy-body-acrylic-color-pyrrole-red + public static readonly Pigment PyrroleRed = new(startWavelength: 380, wavelengthInterval: 10, + k: new[] + { + 0.483940380996401, 0.363848467448973, 0.359078025426304, 0.377389903575027, 0.428871496985627, + 0.490580607637942, 0.549133547017755, 0.599817630003631, 0.652313368062784, 0.704438578143703, + 0.743191829626643, 0.77824899148161, 0.816447915714897, 0.856553053934261, 0.892458955902224, + 0.902180730401101, 0.942924940612624, 1.02759345422596, 1.10142063699885, 1.09830060752944, + 0.894734698979902, 0.334737073508423, 0.0676494838087253, 0.0187125146354245, 0.0062053478504012, + 0.00229759333087518, 0.00109297024195805, 0.000686226699197375, 0.000480882240316343, 0.000383144148142409, + 0.000336724942358689, 0.00030589232678973, 0.000269494021010445, 0.000257741787890615, 0.000209287131862309, + 0.00016141194334912, 0.000104386732841259, 5.76431081673246E-05 + }, + s: new[] + { + 0.0524856779646625, 0.0328882894836738, 0.0282225721607793, 0.0270039999146508, 0.0290506656387365, + 0.0329251844307639, 0.0362808895611814, 0.0403990430116159, 0.0446303049061979, 0.0477168796259863, + 0.0499745140412382, 0.0521320895748694, 0.0554614304202328, 0.0602024864024856, 0.060487293053693, + 0.0585259506932303, 0.0642953580588129, 0.0811673343697031, 0.101885485551041, 0.127361968663871, + 0.176044008483349, 0.319653307656777, 0.340177040344771, 0.293086027133168, 0.247974637454973, + 0.214774393702469, 0.201728580003713, 0.198762045662606, 0.194319783682963, 0.20150866386452, + 0.219842783582224, 0.241215299912446, 0.25704615013763, 0.286498657030355, 0.274989327619379, + 0.242950273965674, 0.186404799472749, 0.12501764581294 + }, + K1, K2, nameof(PyrroleRed)); + + // PV19 https://goldenartistcolors.com/products/heavy-body-acrylic-color-quinacridone-red + public static readonly Pigment QuinacridoneRed = new(startWavelength: 380, wavelengthInterval: 10, + k: new[] + { + 0.323017252946783, 0.138453392910739, 0.0888634261277316, 0.0717295234105929, 0.0744968782437989, + 0.0927210161220992, 0.12567444482067, 0.171372398970669, 0.223029576609343, 0.296523111022788, + 0.393424112138286, 0.464187546727182, 0.522941912342333, 0.65590559737207, 0.803316058610182, + 0.77856176668702, 0.73640675511555, 0.880995836339939, 0.948360048303612, 0.665474500692372, + 0.302495771145441, 0.117817658936827, 0.0393091641687559, 0.0131524662536483, 0.00599203941376507, + 0.00377962064433045, 0.00282439627785661, 0.0023084984137857, 0.00196414658594121, 0.00173484550059603, + 0.00155045607483719, 0.00139205074345121, 0.00122362384635236, 0.00112275868468544, 0.00100971419726796, + 0.000938945869724458, 0.000866033945494343, 0.000798599864809342 + }, + s: new[] + { + 0.16702012994005, 0.0781973006191823, 0.0511793077953442, 0.0374253508220062, 0.0310511147924137, + 0.0287972632959369, 0.0284005681498466, 0.0294520540126119, 0.0315058300829082, 0.0355968888895991, + 0.0424038686256222, 0.0483566816860362, 0.0527282218143688, 0.0657277995251313, 0.0834000430932385, + 0.0876607994321686, 0.0826503752618389, 0.100029250991421, 0.130378863659961, 0.132528402308072, + 0.106208883692824, 0.0799210372447218, 0.0645931438257749, 0.0589157419255456, 0.0608508933812038, + 0.0658730891430021, 0.0713729726459503, 0.0764936677054375, 0.0803236970214374, 0.0836058408517566, + 0.0864200580470897, 0.0898871388968991, 0.0926359021242954, 0.0982696989681467, 0.102463649489402, + 0.107463866486671, 0.111559683886939, 0.114848553828715 + }, + K1, K2, nameof(QuinacridoneRed)); + + // PR122 https://goldenartistcolors.com/products/heavy-body-acrylic-color-quinacridone-magenta + public static readonly Pigment QuinacridoneMagenta = new(startWavelength: 380, wavelengthInterval: 10, + k: new[] + { + 0.281837612241392, 0.131111438314082, 0.0870084668952368, 0.0717114066276771, 0.0697479076226895, + 0.0792025880640627, 0.0981992784061137, 0.125923582081658, 0.162523140352953, 0.20905528550289, + 0.277696638229397, 0.36805648262079, 0.455802722664933, 0.573752352405865, 0.806135167806213, + 1.06269114839772, 1.12167008362939, 1.08438041858491, 1.13962715013086, 1.01370548237005, 0.599388626891353, + 0.27359067919045, 0.110808686386633, 0.0440067234402891, 0.0180215450125988, 0.00878653915877977, + 0.00510148866619555, 0.00344223353350149, 0.00256540627020589, 0.00210959064307388, 0.00183475818495298, + 0.00163874248664972, 0.00143442681502309, 0.00130004451748527, 0.00113977846005391, 0.00102430527172509, + 0.000902325886798702, 0.000789965518470414 + }, + s: new[] + { + 0.136879646212499, 0.0629942330785833, 0.0429689474212863, 0.0321988192953316, 0.0273856401922945, + 0.0258240637118184, 0.0255906623826641, 0.0261686102754362, 0.02752487908469, 0.0296237899941078, + 0.0334183098875821, 0.0388780088203953, 0.0440367664472739, 0.0521644124856643, 0.0684666777231545, + 0.0926280189660523, 0.103929259545524, 0.104261710974374, 0.115898283327005, 0.120814860357663, + 0.0914399429022967, 0.0581773246306091, 0.0386170624053259, 0.0327889623293718, 0.0362858911100008, + 0.0447116167307081, 0.0545687113151735, 0.0639435989744864, 0.0711257697098112, 0.0773880164887404, + 0.0824756854142041, 0.0875882713236123, 0.0916905966509554, 0.0982362335578158, 0.102164280493609, + 0.106542869713764, 0.109171244743409, 0.110911264923847 + }, + K1, K2, nameof(QuinacridoneMagenta)); + + // PV23 https://goldenartistcolors.com/products/heavy-body-acrylic-color-dioxazine-purple + public static readonly Pigment DioxazinePurple = new(startWavelength: 380, wavelengthInterval: 10, + k: new[] + { + 0.187093087417631, 0.245613658372289, 0.282241423273259, 0.232551711301431, 0.20623389415791, + 0.187844030390175, 0.18570869118352, 0.205563590440345, 0.254072928996441, 0.333540107215672, + 0.474428087492717, 0.746615825581378, 1.14841221886145, 1.64890435279881, 2.39306884298155, + 3.24766025112772, 3.60552409266165, 3.72189584085677, 4.0397425144364, 4.19803374528509, 3.59196923074278, + 2.62164956919201, 2.00977345455842, 1.98080823335585, 2.34585472144235, 2.45013845683926, 1.85992131941544, + 1.11776321934849, 0.600372851167279, 0.318098636361023, 0.170307796158347, 0.0956539149600316, + 0.0511975861476782, 0.0324874167211359, 0.0295501237284221, 0.00126212194402298, 0.0101462421006442, + 0.0059209780688646 + }, + s: new[] + { + 0.0218026625249431, 0.0286493906921838, 0.0329537860329883, 0.0255609723578493, 0.0213547964592022, + 0.0184650670420268, 0.0168362841141256, 0.0173629036117249, 0.0200103141884379, 0.0246892627199601, + 0.0336413786239896, 0.0498162073607194, 0.0739712695008857, 0.109245273561308, 0.172118313467429, + 0.272787182345725, 0.333131759407621, 0.358084855485324, 0.415048856394634, 0.49728406284336, + 0.471270333247691, 0.35347386161396, 0.253605485086272, 0.223834579912186, 0.258416402988364, + 0.299983270604013, 0.267944667986991, 0.193133591980852, 0.130075946398828, 0.0900328476363053, + 0.0649143775863769, 0.0527679963168589, 0.0433979197531434, 0.0457269135127598, 0.0783012289859692, + 0.106871297819255, 0.0717044458887068, 0.0625623609500777 + }, + K1, K2, nameof(DioxazinePurple)); + + // PB29 https://goldenartistcolors.com/products/heavy-body-acrylic-color-ultramarine-blue + public static readonly Pigment UltramarineBlue = new(startWavelength: 380, wavelengthInterval: 10, + k: new[] + { + 0.206246587983859, 0.066418199798822, 0.0259468484592259, 0.014738949636387, 0.00916511221020659, + 0.00653019977373949, 0.00548602703645961, 0.0053410947716975, 0.00700743566043623, 0.0117748862748452, + 0.0215641682933775, 0.039833511843189, 0.0686423364346185, 0.107445588271837, 0.159076538623311, + 0.21566645701162, 0.2751388501361, 0.333574492890635, 0.387949335060409, 0.434792003335333, + 0.474067371130922, 0.507306613561241, 0.529976984326487, 0.542217978437165, 0.542599940869249, + 0.530975064551816, 0.506943240308031, 0.470621677742331, 0.420350008784127, 0.36004883525435, + 0.294584212765389, 0.228044489936534, 0.168788442995738, 0.122837242040725, 0.0876133941222327, + 0.0644938787657019, 0.0494250816109974, 0.0400799773996389 + }, + s: new[] + { + 0.0368641506712874, 0.0132517398259557, 0.00679790378056537, 0.00567038055470352, 0.0053793199606264, + 0.00591439183385055, 0.00699035388399027, 0.00760541868824842, 0.00752433911944587, 0.00644834071164608, + 0.00458969944350757, 0.00320345225381462, 0.00328343173126471, 0.00431518518412318, 0.00565717886676564, + 0.00726152820986674, 0.00883581706082888, 0.0102884752919176, 0.0112120564180681, 0.0124700769190748, + 0.0134979222358667, 0.0142799186519893, 0.0152000352103844, 0.0158497620225179, 0.0161799428661661, + 0.0160936279362461, 0.0161336116415552, 0.0153623390066402, 0.0145235588748767, 0.0135073419538439, + 0.0120743128827692, 0.010769670650108, 0.00958438275419191, 0.00882128100915951, 0.00870721789622743, + 0.00919624734331125, 0.0105508222601244, 0.0121004777117288 + }, + K1, K2, nameof(UltramarineBlue)); + + // PB28 https://goldenartistcolors.com/products/heavy-body-acrylic-color-cobalt-blue + public static readonly Pigment CobaltBlue = new(startWavelength: 380, wavelengthInterval: 10, + k: new[] + { + 0.00462222105113497, 0.00439132041545093, 0.00424889731618061, 0.00397030209388084, 0.00341985112645432, + 0.00316659132516158, 0.00331425863514816, 0.00399195756521008, 0.00481001942873435, 0.00669330443088675, + 0.00920454840541788, 0.00818226241288211, 0.0115523095315044, 0.0243840505350474, 0.0535644828268663, + 0.10133112419404, 0.166352690417228, 0.207823373984292, 0.240329420446197, 0.294115418589484, + 0.337289082262784, 0.354079281765834, 0.351313857223364, 0.341750824391548, 0.352233001098115, + 0.344732096196371, 0.279405350528278, 0.173484572460618, 0.0842820764864012, 0.0347826497912351, + 0.0132721117567201, 0.00456825093550913, 0.00156129449273544, 0.000671208981525297, 0.000370609172124055, + 0.000253467042799162, 0.000190535560715842, 0.000148231913160068 + }, + s: new[] + { + 0.0198342298712508, 0.0223045229192227, 0.0239515003075099, 0.027115671701904, 0.0334433374590907, + 0.0364238794237933, 0.0366088536622015, 0.0360747806165244, 0.0357197093055644, 0.0352223012362144, + 0.0339203439638708, 0.0344474003387698, 0.0335280835830788, 0.0303817626592879, 0.027323877212834, + 0.0248231934790023, 0.0244985108163504, 0.0253506679794216, 0.0259080086158869, 0.027595952137556, + 0.0302429834558534, 0.0328004344833639, 0.034502402194662, 0.0355560458537731, 0.0374195661649643, + 0.0405997558960341, 0.0446198667752309, 0.0482289270572217, 0.0511409466483411, 0.0541066752677624, + 0.0602630143251817, 0.0758675918740156, 0.0922278768632281, 0.101608642322916, 0.102081259819539, + 0.102103813766115, 0.101917176958201, 0.100824146593811 + }, + K1, K2, nameof(CobaltBlue)); + + // PB36 https://goldenartistcolors.com/products/heavy-body-acrylic-color-cerulean-blue-chromium + public static readonly Pigment CeruleanBlueChromium = new(startWavelength: 380, wavelengthInterval: 10, + k: new[] + { + 0.0133354046554092, 0.012093233483682, 0.0116517036730394, 0.0117847006371695, 0.0100836719798363, + 0.00882301828495131, 0.00851628164853127, 0.00819067602363296, 0.00755618345095524, 0.00728314571606456, + 0.00748932998601572, 0.00699424668917065, 0.00728297112774603, 0.0111980825315988, 0.0222916115578113, + 0.041682212054853, 0.0702660194253915, 0.0988570591907066, 0.124062123654683, 0.147582975281691, + 0.169527199896863, 0.187172351546988, 0.195369269375702, 0.192733006968411, 0.194365916600947, + 0.196851835771174, 0.18464009662425, 0.152554091609317, 0.106534658709486, 0.0593539492830768, + 0.0263125106921391, 0.00975720852832706, 0.00336636909521219, 0.0012624312744228, 0.000595668157141402, + 0.000368744886706667, 0.000266651014607558, 0.00020739118488993 + }, + s: new[] + { + 0.0356287487004742, 0.039389035388052, 0.0411246837553901, 0.0405837696528551, 0.0370080058349085, + 0.0359336362205133, 0.0361336112990085, 0.0359128155450652, 0.0359580653160987, 0.0359703685523537, + 0.0357760953783999, 0.0359120999416895, 0.035980636069107, 0.0351944433909252, 0.033711826997336, + 0.0307794514931481, 0.0282145576451149, 0.0266838006211547, 0.0261450221213699, 0.0264966542773035, + 0.027205465821255, 0.0282580544892635, 0.0295561079026878, 0.0308016289876924, 0.0318219649359828, + 0.033168858188905, 0.0352839606045832, 0.0380460529076816, 0.0421664496351289, 0.0477481295024331, + 0.0524691954590712, 0.0570481257145339, 0.0601958433341133, 0.0637940479306278, 0.0669423773579248, + 0.0694149497235832, 0.0701525192845281, 0.069572364029629 + }, + K1, K2, nameof(CeruleanBlueChromium)); + + // PB15 https://goldenartistcolors.com/products/heavy-body-acrylic-color-phthalo-blue-red-shade + public static readonly Pigment PhthaloBlueRedShade = new(startWavelength: 380, wavelengthInterval: 10, + k: new[] + { + 0.577725247570947, 0.320193866251756, 0.196421415134279, 0.130005250570012, 0.101201555119436, + 0.0791981940481839, 0.0538313339069932, 0.0320812211366256, 0.0254169552591681, 0.0279249106804012, + 0.0374106637985018, 0.0571379601665977, 0.0911224499590914, 0.148398717373814, 0.246638798155073, + 0.403129975809816, 0.643616726742826, 0.998720712217839, 1.47986894906039, 1.94239428721746, + 2.21254459873305, 2.35898964420254, 2.51836486514379, 2.61647802649121, 2.50179701094415, 2.19546483869283, + 1.87211399808798, 1.64422837771474, 1.54260141966639, 1.62399930430397, 1.87623291048923, 2.11644273592566, + 2.14507037182889, 2.02211818640684, 1.8457375336808, 1.64243136577561, 1.3171691496808, 0.96850736528022 + }, + s: new[] + { + 0.0927823677100072, 0.0535076268418061, 0.0351180073353758, 0.0238837349325231, 0.0179834905216248, + 0.0143805007748614, 0.0115278959977383, 0.00994000544046205, 0.00967453029936432, 0.00939220972932108, + 0.00834612637189744, 0.00698262795978227, 0.00653787368262343, 0.00815416037243653, 0.0120869840691517, + 0.0188464639365867, 0.0288419660407562, 0.0438824272039608, 0.0651711195786095, 0.0964102531581145, + 0.12525727420198, 0.145903358640368, 0.173177038181494, 0.200648966645787, 0.213630903495051, + 0.197666283558007, 0.170493104210972, 0.145263372757808, 0.130237857928049, 0.128699018381755, + 0.144539871487784, 0.172180975318766, 0.189313850423009, 0.192276572715295, 0.186352175178273, + 0.177797805851973, 0.157404189062993, 0.131573670797046 + }, + K1, K2, nameof(PhthaloBlueRedShade)); + + // PB15 https://goldenartistcolors.com/products/heavy-body-acrylic-color-phthalo-blue-green-shade + public static readonly Pigment PhthaloBlueGreenShade = new(startWavelength: 380, wavelengthInterval: 10, + k: new[] + { + 0.163807054652518, 0.241745091616658, 0.305359695387764, 0.192750528708904, 0.15485987864635, + 0.108597813691628, 0.051224298861441, 0.0285190556284673, 0.025338543808882, 0.027897833065402, + 0.0374983392246451, 0.0581159578914942, 0.0928046300352095, 0.136087752383197, 0.22342681455087, + 0.371032436021967, 0.60941930650713, 1.0062765542638, 1.64206261032783, 2.45809837445479, 3.23330323388669, + 3.84511678498545, 4.50757263328167, 5.11385668855475, 5.3773552622993, 5.50237300461803, 5.52862112143918, + 5.31702405461351, 4.97493567552536, 4.93574270034467, 5.19023639723776, 5.63972307223242, 6.27604097170604, + 6.88327039895335, 6.62192020500936, 5.53969539126441, 3.63707452960493, 1.88036408410572 + }, + s: new[] + { + 0.0495652658898471, 0.0732525511065466, 0.0944946628442373, 0.06765933661206, 0.0531509448534261, + 0.040767676355783, 0.0268743062339027, 0.0187264843081933, 0.0156780985326037, 0.0142089608445974, + 0.0131821102674459, 0.0123146588825955, 0.0110655912968713, 0.00974149533362016, 0.0117347584458232, + 0.0175217742502217, 0.0279145364297522, 0.0456165010592652, 0.0724726259814369, 0.113974353272992, + 0.161678073713093, 0.206372336517121, 0.270384169214088, 0.345647135811568, 0.404663330955761, + 0.447813346129455, 0.484981102126947, 0.484321957581924, 0.45441656593325, 0.435919998209874, + 0.449296564712861, 0.497896784880323, 0.600379366005545, 0.767373641728164, 0.880742890637535, + 0.858870397995972, 0.698094801376212, 0.516444163127661 + }, + K1, K2, nameof(PhthaloBlueGreenShade)); + + // PG7 https://goldenartistcolors.com/products/heavy-body-acrylic-color-phthalo-green-blue-shade + public static readonly Pigment PhthaloGreenBlueShade = new(startWavelength: 380, wavelengthInterval: 10, + k: new[] + { + 0.939626043110863, 1.05942216963001, 1.1349217272945, 0.972166649084648, 0.865223280294759, + 0.749365318982629, 0.631272688347747, 0.485755708127163, 0.320486136652116, 0.180032505105331, + 0.100146439764628, 0.0580823210587534, 0.0485437622368697, 0.0586916653786492, 0.0804924975751363, + 0.112493170954052, 0.171329501263482, 0.269556794981272, 0.420962431240933, 0.631828726083081, + 0.938822466841395, 1.37700072661567, 1.94547957398162, 2.49997163275581, 2.90994960606074, 3.23501503317174, + 3.58935814330401, 4.08201172872507, 4.21186035140136, 3.8243583841476, 3.2998279349675, 2.87327303396244, + 2.60246379333801, 2.51711790783394, 2.63226885810163, 2.67068884010074, 2.38064094577945, 1.99059617512254 + }, + s: new[] + { + 0.114740422925368, 0.130412248382361, 0.140489097796468, 0.119997031993273, 0.108214787295983, + 0.0970887077869688, 0.0858752386716566, 0.073237423292385, 0.0587117576000688, 0.0433247875337418, + 0.0328506806313163, 0.0241199336742157, 0.0196065834515871, 0.0176716967470514, 0.0154514411797515, + 0.0133960408929863, 0.0134811547429713, 0.0160187393486778, 0.0207721789756488, 0.0284936545272923, + 0.0400593433646314, 0.0562735436270405, 0.0835588401405025, 0.122600666646395, 0.167747878584404, + 0.212393243799727, 0.269348793036342, 0.353467292702236, 0.419077223168503, 0.412865453472844, + 0.368828491654781, 0.32316591270402, 0.288930023414269, 0.271270170695571, 0.284826489569766, + 0.306694860725547, 0.297933245496385, 0.268503760011897 + }, + K1, K2, nameof(PhthaloGreenBlueShade)); + + // PG36 https://goldenartistcolors.com/products/heavy-body-acrylic-color-phthalo-green-yellow-shade + public static readonly Pigment PhthaloGreenYellowShade = new(startWavelength: 380, wavelengthInterval: 10, + k: new[] + { + 0.504770383256003, 0.580076418263511, 0.611778657565534, 0.570216254511217, 0.53640897654104, + 0.490610076544594, 0.434790090872567, 0.372505603376002, 0.284878520132221, 0.161412244973472, + 0.0564932497509948, 0.0212219954754991, 0.0118114418098862, 0.00970085361151887, 0.011177859133641, + 0.0154927718214211, 0.0255482034741627, 0.0510237379396234, 0.108097882753564, 0.188271088190446, + 0.261583415315781, 0.435907304396582, 0.726010332558929, 1.16978671383376, 1.56325607352714, + 1.87102579847378, 2.08460424819895, 2.23237915585384, 2.19330289752597, 2.05850832897137, 1.87410997507456, + 1.68201123346149, 1.50706378948095, 1.42152084525087, 1.39841651142887, 1.37287810884504, 1.25948950147612, + 1.12769572784931 + }, + s: new[] + { + 0.0527773963348743, 0.061109573124304, 0.0640553009113173, 0.0594437651959505, 0.0557902060075922, + 0.0524105218534775, 0.0493459581841162, 0.0456570959415976, 0.0408327678914314, 0.0286149732907495, + 0.0139678290297987, 0.00746532993100495, 0.00590453972987256, 0.00564324168847536, 0.00577091608372353, + 0.00581024128409076, 0.00609110373128552, 0.00673651707914658, 0.00838441192625287, 0.0107815962928643, + 0.0129786631945266, 0.0198759732232995, 0.0316266979785866, 0.0496332655199028, 0.0663097470090433, + 0.0821210755729588, 0.0969495605846111, 0.113538652141129, 0.126969320468401, 0.13490435006139, + 0.134631275840292, 0.129904985875109, 0.121309525373999, 0.114718209481288, 0.113842488062324, + 0.114082980879779, 0.112985751890575, 0.108900984981554 + }, + K1, K2, nameof(PhthaloGreenYellowShade)); + + // PY184 https://goldenartistcolors.com/products/heavy-body-acrylic-color-bismuth-vanadate-yellow + public static readonly Pigment BismuthVanadateYellow = new(startWavelength: 380, wavelengthInterval: 10, + k: new[] + { + 0.305172278959228, 0.577739970176106, 0.744127028072979, 0.716311826490839, 0.737850178691486, + 0.767812815149666, 0.783711318290368, 0.760562782626627, 0.642181554085247, 0.433346882812484, + 0.163579302625965, 0.0516852937455228, 0.0167393637043677, 0.00560529324327123, 0.00178514968145839, + 0.000552915536598126, 0.000219558120458985, 0.000128607241824823, 0.000101736592302864, + 8.93804150344594E-05, 7.72608554911155E-05, 6.81762571423713E-05, 6.65426726466926E-05, + 6.89645317626265E-05, 6.75250228787787E-05, 5.75957641817706E-05, 5.49598680438742E-05, + 5.79857221939485E-05, 4.56002046250135E-05, 4.12445156043345E-05, 0.000039794797512534, + 3.66060434356088E-05, 3.39604416900528E-05, 3.04775834388524E-05, 2.60555453003314E-05, 0.00002191604994797, + 1.87386356727836E-05, 1.33726161035461E-05 + }, + s: new[] + { + 0.0603131473902978, 0.100112567230358, 0.121137254040287, 0.114850351512115, 0.119988672217617, + 0.128877260078366, 0.139718247411589, 0.156925719661663, 0.198355037803628, 0.286119586938262, + 0.297219415119341, 0.28793328742202, 0.289509507395467, 0.2922261900269, 0.264033431028581, + 0.214967898853392, 0.195873921122633, 0.212502202341547, 0.250519465089505, 0.285816784745543, + 0.294381138464194, 0.283109319499497, 0.304792174081646, 0.322823392805582, 0.334148520751885, + 0.298273250504687, 0.296282658134204, 0.323939720889228, 0.268872748684371, 0.259912874658537, + 0.253690792917738, 0.237808471551984, 0.227827542460148, 0.204597311198031, 0.180087047689568, + 0.156058389531519, 0.142660116833777, 0.108010163838082 + }, + K1, K2, nameof(BismuthVanadateYellow)); + + // PW6 https://goldenartistcolors.com/products/heavy-body-acrylic-color-titanium-white + public static readonly Pigment TitaniumWhite = new(startWavelength: 380, wavelengthInterval: 10, + k: new[] + { + 0.530000769329713, 0.227441171751189, 0.0498131120761554, 0.00576033030453897, 0.000366131570197074, + 2.17207774522909E-05, 6.05125963757896E-06, 3.37163235815604E-06, 3.49994269723134E-06, + 5.73282062197724E-06, 5.83632497383569E-06, 7.89425609270285E-06, 8.81093187457671E-06, + 9.48797883015497E-06, 1.20087957102917E-05, 1.12716334893538E-05, 1.20685827448888E-05, + 0.000014148544896032, 1.75276099827109E-05, 1.85529390077058E-05, 0.000020156631008877, + 2.38469199482284E-05, 2.56222124635562E-05, 2.95602961060648E-05, 2.99353900951367E-05, + 2.92076538637935E-05, 2.88941383383219E-05, 2.64109710415787E-05, 2.46097905794744E-05, + 2.44348481085013E-05, 2.60244699609715E-05, 2.82723593948068E-05, 2.67212009146302E-05, + 2.73610952334719E-05, 2.52046493198042E-05, 2.30989707687595E-05, 1.82915524630804E-05, 1.24765801191801E-05 + }, + s: new[] + { + 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, + 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 + }, + K1, K2, nameof(TitaniumWhite)); + + public static IEnumerable All => new List + { + BismuthVanadateYellow, BoneBlack, + CadmiumOrange, CadmiumRedLight, CeruleanBlueChromium, CobaltBlue, + DiarylideYellow, DioxazinePurple, + HansaYellowOpaque, + PhthaloBlueGreenShade, PhthaloBlueRedShade, PhthaloGreenBlueShade, PhthaloGreenYellowShade, PyrroleOrange, PyrroleRed, + QuinacridoneMagenta, QuinacridoneRed, + TitaniumWhite, + UltramarineBlue + }; +} \ No newline at end of file diff --git a/Unicolour.Readme/Program.cs b/Unicolour.Readme/Program.cs index 8d9f0976..594775dd 100644 --- a/Unicolour.Readme/Program.cs +++ b/Unicolour.Readme/Program.cs @@ -182,13 +182,8 @@ void FeatureTemperature() void FeatureSpd() { - var spd = new Spd - { - { 575, 0.5 }, - { 580, 1.0 }, - { 585, 0.5 } - }; - + // [575 nm] -> 0.5 · [580 nm] -> 1.0 · [585 nm] -> 0.5 + var spd = new Spd(start: 575, interval: 5, [0.5, 1.0, 0.5]); var intenseYellow = new Unicolour(spd); } @@ -216,7 +211,7 @@ void FeatureCvd() void FeatureIcc() { var fogra39 = new IccConfiguration("./Fogra39.icc", Intent.RelativeColorimetric); - var config = new Configuration(iccConfiguration: fogra39); + var config = new Configuration(iccConfig: fogra39); var navyRgb = new Unicolour(config, ColourSpace.Rgb255, 0, 0, 128); Console.WriteLine(navyRgb.Icc); // 1.0000 0.8977 0.0001 0.2867 CMYK diff --git a/Unicolour.Readme/README.md b/Unicolour.Readme/README.md index 72ecf04f..17770fbb 100644 --- a/Unicolour.Readme/README.md +++ b/Unicolour.Readme/README.md @@ -3,7 +3,7 @@ [![GitLab](https://badgen.net/static/gitlab/source/ff1493?icon=gitlab)](https://gitlab.com/Wacton/Unicolour) [![NuGet](https://badgen.net/nuget/v/Wacton.Unicolour?icon)](https://www.nuget.org/packages/Wacton.Unicolour/) [![pipeline status](https://gitlab.com/Wacton/Unicolour/badges/main/pipeline.svg)](https://gitlab.com/Wacton/Unicolour/-/commits/main) -[![tests passed](https://badgen.net/static/tests/216,552/green/)](https://gitlab.com/Wacton/Unicolour/-/pipelines) +[![tests passed](https://badgen.net/static/tests/216,919/green/)](https://gitlab.com/Wacton/Unicolour/-/pipelines) [![coverage report](https://gitlab.com/Wacton/Unicolour/badges/main/coverage.svg)](https://gitlab.com/Wacton/Unicolour/-/pipelines) Unicolour is the most comprehensive .NET library for working with colour: @@ -11,8 +11,7 @@ Unicolour is the most comprehensive .NET library for working with colour: - Colour mixing / colour interpolation - Colour difference / colour distance - Colour gamut mapping -- Colour chromaticity -- Colour temperature +- Colour chromaticity & colour temperature - Wavelength attributes - ICC profiles for CMYK conversion diff --git a/Unicolour.Readme/docs/pigments-blue-white-ref-km.png b/Unicolour.Readme/docs/pigments-blue-white-ref-km.png new file mode 100644 index 0000000000000000000000000000000000000000..b42706ff2096ac5f22ca6bee62d7f64481f1d696 GIT binary patch literal 2466 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 SB%Vb9(olfTLlP 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ⅇ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

`HYN#4Q)00FU~JT<0!|7!6RNPw5*!Bw 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ï)Z;T@$DI}il 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 X6!Zva4tfl1JTZ8>`njxgN@xNA^;&|+ literal 0 HcmV?d00001 diff --git a/Unicolour.Readme/docs/pigments-blue-yellow-comparison.png b/Unicolour.Readme/docs/pigments-blue-yellow-comparison.png new file mode 100644 index 0000000000000000000000000000000000000000..6bc41300c22bb1d5731d6ddfc87bb4bebf7f86dc GIT binary patch literal 218634 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%0A;2G$I(n-@ul-eC*CPyxATD&~;ur>IyKYm%Y) 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 =ypT4om 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


tY{rW_*F+w}_m%d;*2mQ3zG%l0JgeJKfq6x6*xd z%ztv=MO)tSt>fvTq;&PETc9bNlJ4Q9){OJ&)4}{z_??t%2p z-z3-YdTc=rKmoo7A3IQX9y06cP6hjh+exRyM+i}zoyxWt{8k-2NLIHs2O?_Tn0 zaB*E;ox#^W+__oycimiBe^_Qah7-``n~XoVp!p5(uEhJy@D~3R=NC67BB6`0OSfF$ ztD>59N#{G4d4=1=5jC3mv5K?PckxxpmI_6=S1NPzbe$HMgkk|i-!a{df&gCz28yOE zyOMV^hGtY_nt-v->DW^{SyX5;n>ijUl^ya^T<4 zZ=J;7CZ-A768ltsMY2Ug@EqoBP3Q4b!s0|arJ`B(xS{o+VcEY#peri-xIgOf?+Z5A z;-L9k-2$#osr{@Xr*YpmED?;Pe(7o!VN=56(`P8@5v;na#jHtZ&zHhg2A~E%Co_cqBY_VpUlHllx zw<&IGEi&S_Y<9g#rje$4TI@mly2H>h9qOr~pIocyRNKDrpRb|mzRMoksC_pRJ+2J~ zv9dH)Xv7Tc+^j;2{xk4%W_2fUPoX5T#;2AeyB<%(zDJ}<_hvV#7F}6G5Yk1kkW!|IptbqVR83>)qyc^*Qik(jcQapgeigNp^!9LQ9~>2PsFWyGpKVuS^({fD^Dr zg=rmMJE`>d!#=VprdfC)2rH;0&xg}=p1Es&{qapy06aR$`SZL}HN2Uto6z#$!{t(p z!$&(CIb+h=53=CVe2uB|9b0p=_rW5z?si22Dy3EWW4+)Q4beE2m)6%WaNZwIAOeY! zn1V~!=7O~?48*h(;?&QcDd-{9xxKqbcDUl#wi_ZokSX#4UdfrRK^|-lB--pq{;i~s|~Sjsa{oHUAbu-@4JF` z>~?YG&MmQ6a(@sED$U0g;s95-gpXp2eav!#jy%$gIF#`csz&UjA*QO>>eQcN1dq^_ zDB^j_{kLEEd?4^s5?sVtq|_bZ--Wzgv;W3^}O&zMz)tj%=qV))>XI5#@{ee{WnaK=v+<_ro0#eW$rNRCyti# zCHGQmB3XmYlwHIJkYas6rE-~Ys8<^}W$78n=5e1vfS5?x*Qbr%rYIaA@W6BVUDG+beI>z4J}aiUixh8blU@@J zoWZ6(Gr?eH@I&S|rEda{R-c|!P40Z13h!&QtCx+JJtn_xNwPqNFQD~ykiS68C=042 z#+SQY2bPcPv*7mL@$#PLMkB^yqhH|*x_pD$S!^!=##)9;yX|QfrYbgXb|Kf%*Od#o z*Lch8*QM#bQ;RuA(8sNa@8asL}p4>qS?6Tk&3fzX5HAD+4dWa9emfqTfFV*eiZDw!nPA@tlXV2YQcRdgQ5 zq1T@flmDDbySIe8Ghp^T8lHQ?vR@v>f{A-F+@f?F|^b3>idV zm*tcimc4B&YT$~f6%O#bg_{*1dqr~rpx;0;dJ5g+%3Hss-(NBr&G|bSlwhXsW>HB7 zV!FaO+UP~3s9rMv=p<9mdg5?TXl7+F|v zUKG#utEuq-77^G107g-zz1Zf|AIqdx)P)M%Xhg5Jjuj|9YUvce;08oj?L)>kiYMl1 z+faCsXyUNkxk37PMg%I}je`Q4W{+XN{@c~hG z+^Ft=K5ubxtYiyMXYUZSGCKQ^Wq=Z#?;iR-e(7m7WYiBV%SG6_@ui33!y&z~ z^}OP*FZf@8(sf#^8yy6zSmLD>Sn4`P7ML$-3TBdGAwIhtTF@g{(aajzTSn@A@$R=P z7q^katN3L{Q~VP*&|LITf)vvG8m$I(IyF}C;=7w)-E{xt0OJOIkZi^xuPo?t3 zUso(B@|HFbR?h2qw<9t}MqV$UBLB;bXk;mN%6@dQf+$%>3P$$0E{)*Inr6R(7?3Y+y^MD?WhxIBP{|FwqG9Y1VZ_JcOl0rGygz-FMWUkRK9DQhi7bGoiNi z2HF8r092a16$Bq#$@nNjpXsycQ7L5x_tQ&7s&SQ&GVDAGRnLg?x2~B6C73B|jW~Z& zEm}I#WE9MoGhpX58AUk+9UXM+EN<8{S$`JhAMt#MwmT4JPB^QuGcFIt<#q45fJ9HD zwHas}e&+!i`zFpoHkU}zM-zBo?L9>leKvTTOlQENwPe~P5Y`l6#neN}=8%8~?C@*h zq_@+b!8j(qHVj2(+i5LHv$pw@+m`i9UlkMM7QWx1$U5ZO>-VbBxuz2T`&#_`#b2OV z@qYor@mMja%dSNm{6*k117vy-d4o$_%mvmVFt2R_N#up2RCGV1gcAegPF!_fT&%y3 zCxR2hi?mZLEfod}k?61#S^^$jTa4bSo|N@Hf!C^``O}gaNn;qt z<0h*ZdH!)?Kncs9mzfMS+F3edv9A49ZkR%&Tu6g23l?URxonazoe9LzHCns5r;NOA zB-4iLgBrQS`7eHur}-yPzCTJr?xD=(q8Yt@=2=<2CcZ00#p3tWh)0Woq4L5b(#O30aK>3OyS;V2x%_zMD1Hey6`xZk=rpWwq`V=> zyVHHu`+C;Ea|<~DJY}y<7qA|%`thIkwe9}C`L~G{7sh)sHcXx`jx8F9_T^9W8rJLh zE&c%F5s-PqmEh<~fG?L+5mSz%lblw?%2@U1j;@bKczHhf;y|`b3OvFOBq0u1!LNgQ z!0J}ny8d0Spzugm?PAq8F)TAjC>offn4c!Zzt37Mgf!&Ei7OLa5SO9fs<{l36Q~cl zc1lB0chZfSfYBPAT54G7G{t=MQ-6ygU@rQ*K9hU?4g8 zl8+OBixk?etitw_nCGxoC?6X!0-daj(PzCkgxuH`fxRM{)B-V5Co^L$rmeqc+b!W{ zp4fd+D6R+u*38MKDMVUJl?4$d%IYV}45T^tq_f~g))^`xFSR}TG7!@F>Y9gE?vp}e z6>G}nf=wTUZmmu4hHJB%^Nwlnj%MoP@0=V&zsdjre=eRW$?GAm=G^XTRyTh|AmLB5 z_}pd4r4``fvYIsYZFf`8)p7;EE`#YV;D%3849WHBrT>LRD1(5VL_?xd=qLt*CQP$O zdqL5XYH$iG-IB210{*%Z3fJl&-b79FtJYeqyU=V>KwI!wwD#DIhdovJ39yT^m(!(b zIoC4$;Q`1}_e``{BH`Q`w=d#`z7&r!wFQodd;tg#o}vF#%gXzyz#+#tBl{H~q{V(# zfB@(EmFDYKQ&fjuYOTk<&{+9SgQ)BYW)8yB{)9_Fwkmoq22sE3sRnKMCS#W)g~8pN z4Xn>UC$aJksq%JEof}qQ!ns>U#mVR`)sR=skfh-yS~-H!9r6!y+cOm<|m;d&Alc_mq=7eHkE+CU% z4=+|!g4-|RjqkXKcW9<=!$WRLfr^X@Dy=JvB8JjjJvzEta8GbwEAVaqHzBt<>N z+s!tSdOees(y{9f69-=)!JI~##0~t-mKuD0AZcu2;>equ73fCZOM?FtvB4SSS+=|2 zud@8tGp`+$3tjbi=kt17FOk=^KcWpe5H;lCAB($-v`Cf5xivRxXt@I1{$DQ2~HC)><$ z1MOYR(HAj|@$z<>5BH1QrL$A3u_wh!1qjz@vviJ`1oxhDz{0rq1SMZl7+aq4K%PqA zXx>K<-YFS8PXLoJxA^SS*HDUx$U2Z+g7xo-Hyy=txHZp667j~emA{!`R8FYyciOz? z%Qkk(?6u#cNw@m#=f^MAljpFLc8Js4RfhGGZ>cW%JO2cE*A}7wV#CyB8l=c_lJGrW z?vmtfol3xYomKPkj5BrJ{E3V|x_4Nrgb2NvZ7S@^%v(#_lU9Qs~%bcju8GW=Qe5ELK&6A_~iqLer8ilq;~1Sl&IYrN+e ze@ahXigzp+V-P{9KF2;CkGh0zm-X~{up!h+B?zQW;P3Zh)ynU~(u=U>E1XdYO?o{E z>3nf#vE`1E(|U#}K^o~*Xvt14j6#h&tbhB@SmD{w%$+aoK5!H^Knx$0=I`qY`Bvhn zbIF!B6s6^RQ@$gcjpC|@CbX_b;>Tn;v8=`xfpwlIwU`I6Ts*_Eim!RW*hW5=eQgn4 z|3$KOtJMk_86h@7oO*dKfnl@t4NG|NS4esfn}?34A*i7Ti;br)H4SoG?92F9kgrNYycFdSHZ zTg=p_^^OiME~MMJ#ywm&c*ECw0w18>A7)-JqRXt~{NjohMcg#`ZrWNT0c`UI7ZNK@ zI!Krn463o_%F7;TN8O=m9$=B%#z~;_8})tXUQ`+LrVU3eGhaG3sV0rlxMzayD1Ap( zBz#rms?};9Ji6}D?&EkNB`NhE>9PK*``*fxNO@M#){aC|)Ax#2jz6%?x)gqNrBve@s5@I(e2^0Tpr7B*amI{rgu zyj$@u*XiqLHx`Rn%HcLph{ftdSh$&Rio_JnaJ9xr>WJ7gf{jSDJV(YE^SzYRl0#0Hkg-}}OSEjSs;8&& zRH8?PEGjy_A!pLIhDH+DXZYmNcX=(m^KhwhQ98cSF)Q?eax}xTkvav*6_@duScXDc z>C=)@p;T*&C~*HC{bmGBu|Gnz;YBq&l6uO}fMpA825+9z1tgsiysK`E!ZI*B301to z7$uw~;7`X>Nov+vYV!g5Ni~u4pyn0PpBu`XGDeAjifV*Cg$SG|_G=WhfNzG|hDZB1 zsu&{tW6{0tLDDG}wT|7Tu|?1rAF^@cfH$A1UIxrtWQK6tY za?nz(198-`ThN3#EEiB1vX%_!%bt2tlWCi9$EJ9#o#2dySwH7{6T_8kfN2x)lz*Q7 zVo!n=gL2ZCf5~({a~!7*giV7zsFWn^$d+t_KSri#<~}Y*dj(Mkdy7I{Twj05az5E| zJ=h71yvE&v`5!pU8as~QDpU*inavYzw`lq!_vLtErWs{!-~Piz{&yT1bTT^~O1AUO zA0Lh?%fLOo6%HE&#WNhUgNQiZPzJMi#C{5K-dSaW3vE^Bs@g~%R0G5Cufn0pknYhu z*DzZeEX*P~y)dgOsG!c_$D%hZq*P0jz*@e1bPf0CAG$;6@^X?`IPw&6f!#r)!tBhF zV!IZW_7Rv9@A#=-ka{;yS9q&=@iGqqrpY=YVO>d`CYH8Rjzy2=5g>O0- z86^LgO-_aFncz>@JCSCH9X1zo^&FB0ACyEd-k*hB054ddWhJ7N-r~6Mx&R3_poh;N2#rxk)1l++ zcN~olwip&IEs2p|)WgpkxPOhGW=RTIUX&NI)r6mI+E2gHjCRk(6-rR%wra*4JQp-DhjtRt3h_yBNBD^hD}l!`p>mnH~0tngPI|7rfuS3_dU0O>dX|hiKK)zQwq5I6LTdUw&iSaK1cfJ^3 z6sm2$u3c@#sSsFqpxCwd-lKt&e@-WW`^+XL7AN9-LwLtQbUJxpGrhw=lk_dZfCE$A zS$qFH9=VcG?mNK^G0(A;u1-!{*I041RLkA~G7rd{9n^+&gobt>5~YUsYTZt?G1Abg z#x7>s2usfuFW1RZt+(d)RH6c%L!uwK+*4fi)g_0V$Ry<v>B3{a)`uCsX6LBIw zv5EL2otFG&Kb-DkEjBEQIM(BiXvuD{{T=q&{kM;4zbz=~kpf6iZAFHlF1&&jcsV z1X`b;E1btFam4Dm(&mNqTTV^*r@;LeFl@gLh-21ahM|*&VUSdkq_sHr#A^~fnTcxQ zFg6mjgo>!aM1(vdxN%0l7UH3#<1kVA5nbXBvnfl@$jN+y@TzKGVb+i&59h5$d>#LJBLlP4d0M32tSXTwF#gGX?VFj{brHVZ$K{p5!m3E z7asWO?Wpbt-I0kgY5Iw~iUh8V^SUbO0nd?T)B^<0K2q^X0^UPfb! zm4_XJgRD}rvg?m6t5^2j4@h_U^Z3AoPf{Q_cS^MhRSNU1p|M;|c*aSZcNefF;NBD^ z4GGpm{{`zZf7T3oQKVg;gqbTECWcDne)m6M+Mzw-5JX1az=~5(al~}Oj-K3MsS;<% z7@)!K&3&jYwK+Q-bITU?<5lI0$aITd{>Pir`l@W#mmlEuIvwI|qM;0jFaEs9gUX1H zQ|wvbNL%q;d}tR2L{qWKAsQ@)S|cU+j4S>hS_r=YdtSJt%KXSrv9?w3{a zfhq+;GH)`zzg1;?yYt2KieftI(~xD-hwlkpHewJsjtEYg7Gttuxzw?r=kq7CL8dLx z&KFk`(4n>7DU4U=gCs;=5Idh z(SjS^J@W|>bzHwMgslEf7ycVR`0e)+H=yv>AX7B*II9p6Uwv0nQwA4%ASDDk($e2pH)0+x8n~&#KXR*N%=Z*XtAmX( z>OzS@;3y`rMH(H*W7pM({fe~UM?Gm|X44louf(O3qIlE1rGlOJGXgyM4qhoV?&2e! z=yD^>n8HrceCM6>l#oY4QLa~v@_uxOAI$=;1m`f);-ZGe;^{M=Huekl!HcyXE|N-J z)9#A`Cb`dW-tSAe`qyZ`WZ!m}&N^L-w)Q!6=r(i@vNYL0!BV+_RCc!H=z+4!hPYOpH4)8>=FTuLz5~8W26o#Ti0^3uZ^qz&5L91le*aw;}J_ zKB>?4pQxn~Q7(ecEZy#dO)Hc7>_`qG89izDZ~YJ6ET#+89qucy0z7$ya&psKw3HZ} zvT;x%yJMRnrbsz{b4GZ0$AH@q6w>2x`ak+#=R#+Mps2yS4Zvg)W#rWs(Sut}GC zz7kWZ6p>B##zY&?Z^CcqIH5-{X!G_*K(5|HB|z)j(WvNQNs68wjds{MFdGepD_ghU zhRPo)TztCpEKqtt>A-D<{W<+uYeo}Vhl)BwQ(;E0X5?U1R|+$Ls$=@yZAkgM%aA~H zKzEf{g;|+zT&;Ee{-&<5W5<`1c(2YXk^6xHbmZXR|EhcvU`Mc||2#iW6 zS;g&l>mZm_!5$8fhL#Whsf?rvlcvNWD)nB{T;eacWYk)?9nls z_Utg4(TR&Y`zRp+--A31F!GpBf-U+bF?jAO|I~Qc&v(4!(|c<5W6GULyvz?jGoPCq zIQObU;zA_m_a>Q3T8bMTYs6v#KKNIZTCc^Mo$Fg3}8kl?gq1YBfsn>?E z{SckErOAWOGfy>M;q-zgc_c_MzC=+l4} z`c`p57Wq7j%iZxeE-fbya`nU)1UGdDX|0+1M3$-;_95ByvDfJHbK^EyyhMF7-B(kN zC4OTh1-aTEDQq(ZlE3;(5zXXvF3|=iSnuAJcE9#^tdE~BwrclUaEWjBaoqadX^^uT zlM~Q!*-czFO$xJGwj`TwJd1QB?)t&xq9nMYwXGS31W_gbf~Z39&cY#2ClkCU+!P`k zo6xn%?&&1JFbYK(eUf{U@$qF9>*W?3C8idT%dN-7x6!EV%%;Z2Ax}FEFo#*bDjvJQ za!ZvjzCrQqfQ=0nzew`(6`5+XzV7U`wh%By;tke*7;elH$Goqu=#rPc+M%&ef4t}x zd70qzal(qMFwRT8UvqM*_7rUip9`ssIY;9YwEyiaryFbx zKlLmRm$ur(dZs}TT&FDV6En$c$NI&ghvFRN$Xg5`5x*GRDtXnKcP#06+_AND9Uti9 zXoB$eapaY}+NP~P_C}VJ)u8=`MViCvh)Z;XfEyFpj)b67@oX70S0nO{yq_~4gEV9# z78@m*JeR%ipZ)*9>MZZLA-@tk@MGqCL7hZ67ffFh@brPz9NY|gAM0&gP9 zoHh6qnr_c&BEI9ZGq6QZ{#3}%DecU{|_p}QM~ zmXMb277?VBh5fcC&)Gm=l_A2%@_=ksYutT|zRzqkeBUA$b1J z^mYfKyL(DVu1_+Ws5l#}tOY65*r3km^WH6eq7C8+{qz7zIuCF11O+!74eWn1c(Z*J z9QpYJNqEc}ohjQl^YfSV8HxKmPFSUF7Sw3}nZ+%}UUJusJVU=lg%#j)=DYez3#y_J zESFT(46F&clEfuY=Pz{ySjkyW#DIjzWYO^0x8_#`62Iu+<_E9wV!cQP96#CI)_*M_ z7%;sg4;jRtlQ;)SzPhC6(<7qu1+;<7CMSsPCFp3Pt;<#-J%QeIj@~M=>dAE4{W5T( z??FkU2}e8VZ)l~i!?jKv^$WUy{%OJQr|XtvVa7?wpLH&GAQK|1-*=*SC)+HinFD}YGdK{7~qtAiic+d z3fU?l8mg)OoXi0juCVwkqeveJB_op1ZU_U=pzIG%C=ge~{8IFjC;1LRaAbCth>ZQH z{OZ@HFi%ceCIuk>e_2qAu%fU#$814{-ZK zCfVl24-rSpS3t4b=Zy22QEm71498IpqBVdTt?F9+En2re34^c(<;;NoIfP)$Cpl9( zqXG|qjC06UbAtY7kgqrs0Ms|yAwTY&%EoJfU4&x3T#>yYId=h^-}}HVPlETGyL``G z&pCr;-QHDoW>na;2wwGM7~ieN&<0-}gqMyO@$ZLEGb|yA9TH_3VONIU@J_ecCSuef z^cF@7$z}cvR~sI@z3uu#y4N-Rw}7)=d%x9W1=F zCe}^|JSAmmOftr;JM?%~GTKS*uT+eA%bY^eZB1w$Uw|getNEt6`)(Rm`{39t)r2#i z68s1X#G(LkRaLEBR3mkU-M|~1ebDWF^ui(aNR#oRn>oh$&00v%U!ZU$_@B$ILXlD! zOJlIi5f0o+YYfq^#y?g#?R z;Js2Y(R^OzcYxvWG3H0Xef8Q6pFI)<=_}r2GSq$583{nqbtb!N+yi#PxO`}x8fTV!sDNJuSd%kZcC7Q-vFD5QLL*Vv*izE#L4lBSK8lBf*rEaNS{R~lm{s55!_iB86@SR?oNn;!Qg-#2+N&A;Jj_TAVLThM%pYyhsckI#sQT=SUnY4FK3YFjG7g0a{1C4$kRCOQheQX+yb zPaMNtsIQFJv&)I3*W^3;>P2PDXeCmYcyrT#OvJ|<-$!s(MyE)cQ*MbF`t96?N zGXOhFr@PXt*KKZ!YZse?bwI_t>;I!0@y{@3KVc`emPy7}IOCMT!q!JB&AduIKcfc- znLkAN6A8Z2%ZzOKB;-JO`>Z&_`&^;bfH8O7;MyfSLcT)`h*>@-`_gp=S7;V8YP!|6bMsx152u2Cj<%*dw-LXlPV58u^h zgScHc6|~j}KP-f7Bf>27Z7H=mV9Uz^Lgs+;R=|F%bqBwRATh#6*&M%rzL&8N2T+Uh zCnsyLaeC~JLqv=icX#Cb#JC!LzkGUk6Sr^({VCgunIR54`+c=(fP*gbsT%(PO>!Z# z-$1~do)kO4zWo6r*_mB`GR3`FcH=Z%o_sNe_bcJzNN=Y^kI_>l zj<^65>d!7s8W*3o#Yb!@6@AHVZaVzCComPC$R6ipYY&|Bu20CP({Ic|SpB?KLsvYy z;7=LQ@=nP9j)l7I0@E_;MCF%)`B0sh^#lIb7Qg1#L%JV;@rH7VW;<;CNNe4)9Zqr+ zMa21;8MmBkWRDi03n6e4jkZdYJR>S8^%w)kNuno&2UIjrXJBHB!i%8StLqv)U3PJN!19@I*T0<#_?BHI6P z4E)8#N%>tuqP)CfG4oHpHEPrGuc<{bG`xgEvK}W{$u+~m1CpVNqY>?tFc1HG0Krn zP%J=qiPhP@vlKR6D<@!*M`NL2;n7ju45qa(>O&l=7k&DdOqPD}u>har=P%rXD37A2 zS|)@H3J_zNsi)!Hk6tDU(5#P65A_$GC_u@=s()%`l38ht+C7!#h@y%$GC+~5YI8nM zTnpf)hsP0dtdLpbCcq}ZgCb{AtU;0dYGHsCd(8Dk0ie}~fE&T(y;1r0bbF#C9`l54 zaeYi?+&UFC3B2a{hc8c6UeUa0shd^v&Hwc93rt00o*)}=(!51%s3MuDKU0^*{3hXD z1Q#WQHMEk2L^wA$?$dc9c(B7VY`H;YaObrtkyd=h)eu9a07O8^2{?W(*rsk}j{diN zofnwF>p{-jhm5s{Yb8)9X!_+N2QekvZ_z65o=mM)$YipNJuiNzz8jmKo3(JX31enI z+{eWv3%Q^>B0c~2u%-XcVY9RBipTs-6BKSysPmok;QUm>s@m|m{;y!^A#&@_cAZqe zzGSpMB*N{79aIHXMpwSI2$zpF-Akx_A+~|9Y&@_Chy5(llcrRH&x!nQ#Wq36YVyQo zbnhGu5zAtY&Nq%kiBMUFue1EAURdc=&>6Dckr6TJf_GJ+WI_Y@8MlTb^&cKdq<35W9V zqbcBMEyc@1&UoJLdJ>2$4I8b4Q{>i3VgJhq^No*uITu?TJGKg77 zd_SIT?jA9U6?jK|8@+?=>2DjDS359;8r7|mOypI z_Q1X_?W*-rZi{%cq?&L_&pZQaZ8&o`gfu581_jE|>o^W-ryP~_-QE*p$UIlp{*XQ} zDj0o%z8wXdErd*Fa1Odd7u>(P5WPh6-lYHV-T{F(Ts@?b1q4MvLv8BB6G?^IaIFP( zjG3l1MeOnQr{=eD!I*39ydCGF zXI?QrKn8rR@uFv}U_3%MHe_cD_z44sg7dZwB^4mLRf^RhcH*k2#0KI2?oqxVKxSuZ zN0XSC?(=(qz-^?Tq>tVo+kn?fV4Gnv&nqaN;YpcPT#|64KCFK*3&dq!`2lG&C5g{G zd{oJGKb2vSjfwy|&}cZ~j(hmK_Eq(ODUK|Mxh4_~-5myyk+8V=gy@Y5IfUEa&g>>gg)<@U;0y z#|>4P9byXQ!^g~&_`*H;Eoc0H(Y3WDHhNxjq)*3#WmyU|7JALX6(?elCO4i5a+3a) zIG*{vkni0exMjgrc(JUZ7$~#W=fgq|_2*0mfU0~0ml|=-@5QGhmeH7*{Gct? z{NF*6C41`2O`1igzWQntLEu=GC9#QHYJSC`yxefvt$L%WMMUB|rtQ`I_ggjpQ`4Qc@P5zj~m&Un0RJZFmQ zfxv(YC&&wkt`kt9#}YHm;$}m_3+sfnou{waUIP-N%)j#sR3*xgQO=Rc=m~m!nCLVkh zS&d=rjh{8!EYS`WBma@1MS2RVvupB$-@}lA_4N@ zIU(dG zvm(=Zdjr+Aa=SWwi~7~j_a9&0|Iljnu$rhh_|M$dS^!i#iCSvBYHG2Zwk6!6_*%h5 zt%)bjkOxu*v_L2r_SOHRkdKe*u|;`NV^z8-fK|x=7l?4*5Z9(@jflX|X@_yFEDMwHPd^h;Hllqh z-&|=5n6%96z(x%)Yg2|={@P89uh{l=j)-O1%iHL~P&jO1ET(*6f|EH;$F!sO0pG!dCD2YsUqK$5@3AMNcXxKEFP2VuIu^CN4g&x_{EKtX_f}wIGXg24CA)ID%pL>LN zkBjAvDmGrfVHX1?nEO#({|b2^t`hB-f#auaq7;k)qFk8bygmg?Z;7c#nftpm|X^eIYIX3}O03xLpf?rpp#}3q8D`UZBZ! zSdsKrv%0N9{+>TwDuvF_!jJFg=>MG*(0SEUdgbL-$Da*;!(T_wOlm?2V*Dp!iV%*dFmX!Ex#0H zFeU>F{7_riw!KR3l)r|Jls)3B6d7gs82o+V)9OPag=yn5^=RXEK{ux*|hNoP_=$9AIl&+4^ zP^RThjP-=GOi6?UOFHTmSs6!GV~%XUCVzVoPN4fzAE6ce(9E%r2ps33PNtmKHqWF~ zG5A5~!Rv*W0B=+sFxEJzi`$^$GrsRH^!OduX@1f^Sk)=P@H#(WSY=6*$)9@u%^@jkyr5 zMYXO8n%SXAa=&zmu^oXEB`)ux1sz8BHbz)T&&XTutgL^vJDoRo&mn086qX&>`NgHQ z1kBhF6KPf92c)mK%e;HJ$WFu|j|(VsJ&I3Aewmb@W0J38`Y|psDsg-o9qvF7Ur30- z)C<|u1^Sw&9+!-IG>%)y%?^JK5sB$CzeLN&3BFP2hCDTG`8G`Qa$ zVei|8nL3+HHZCqt*B%q+g`9p;{Y#bnuLb1n`Ct)Pu#PR#+Hv8cm#Rl|0mSW(Ge&of zse*~oB+8^*%j$rS6BiiBdjbgOzQSU=UJa-Wpl02?FEN(O8j|7U5fRiJ3aCC^75j`- z-g&N5#E*O+$H+*QrCK<1sfY5;hUxtYJs=!N_dy&c^X|xVY0&hEOp-3(j{F)>lbGlc z&NvHom{(sRqLmi^bQ5D5BY(z_i<{<>*3J-^9G51vx!Eyzbz0vcIXUw^$}|1^C$ z04)I`7>wc8JIkvb1(sHWtbZx4|E1B-wP!u5O%aAM==d|=gEm{*Zh^=hjE`_z=5vz= z?A@$%4_MvzLVW|TVyDw~V_AHGlNC5Y zbeXhtzsRTme%@;h_XC=(qdDxv2!|)9?Q@^!eFhhd3|@eJrJT#!zcJS>O{q0LG!-(s z8{JSx7AYKMOK!xmsM}y2i7QO%{gLq?t#O~y^;nR;lX0IGi7Z5R3;?^J>&Xg6@{5FE z?aFpBTZI;D30ZB(w02X-gS z^^~!JC^w2b_+6rTrTFhhg0qJcdiMY7=C04+Bj;yPGcL7Z1;=-Ng8in=gVp&hgWqXt zHR~TbJK>EQG=FQwq4Q>WzmHM)^aa1w1jZW-his3wq5~WUy=GJ`Sy=ED003n5sLC0b^mQkTx!K1V#WSjfL^+dpA<2AQX_hcwP0+Xvqt)}&ll>T;nGQNBu4nhX}&}oAjYd162G&kTvIoH+i7=i zqT{$NVb&rH9JR1N8cc#$C$r?{o~-Q>I0;C+8k_#r0e`#{HxezX7B?ZF<9rd>kAGov z+pO2-GU@Qw#?AE)i9R=yOPMM!Z*#X`xdaEKKlpv6K`~RX%5r&5$KV)_kIxjY#lK{pDfTmR0G-0v1=eGw_vrCGWw;iw#!O`QEfo5@jK| zz*b}V$H`nZ_nI+3wy2NV=k=p`U*gFcnYSc0zDvu8>2*H9a6k@9)J=Pu2+dEa@j>^W zD9`%BkjxdKChts9dtuSe!@fIdNf*M!ryf%&=VyFYFy_AaOY!%Qfc@oe0Xy)3;H-g1 z-e}kPSMuX--{WR^H~)aS(?GvPN%%$mx?{^m9OGz+6Tx&o2_m+|)t;Wnl_qeWqm zPNIu+^WSzAtGl}>R#me3#)2QKI6VXPkuy@mjL64G)!!3A-f;itVacni3*5%SBCa?3 zdoQppAcm};RmuqYA7kQ{eSxGpZvUPg4)U)2K#*7l2ulAF6P+x;8$nD*I5uYzJQis4 ztovJBj56~8_S?B@5i7@e9mYm!Mw!hE2E%&yFX;H}UXwUlX~6qUt*q0K`WTIuI_o+q zcuLj&fg{R7&X!v>772Z$8(j!S)Uo(-l7_>S%^u@1#ERDc+E^6KiF>^8vCeWY@H}`>GAD~eBIk54-!jbh zO3l~uj8rA-ONge@R>8M|gtJ6$Y1bY_|7VWIA7L2YijChB?mWZJ%VPnv{5XR&7hQty zo{CBm4Slf*nk${GXq*kcbmJ$4vB~FeZsCn0=64dIX;Qh0hyDTRu?-WTqq{bc@Rt6q zhQCnvAflow%DBx&d%PII*ruQMb6e(be94!8WSI=b5CuRA$F~ATcAXTVfR-SC70Ucw z`c33X4uI~E2tsp(o#}ubobz`sY2UuZsjQ>@kA7Hai-;yO!$mh#NIf8z9M1o#u^M9ZLC~}<*$p{Q zRv~(@nTb3w&V$yki&W%9lZL2EamOiA^Ng$LY`D)7xa6j3uk;r1#xlKWmWubqd<$)m z7>?QN-}*Le{K}`WR-FHIh&+ts(s^7!kQYklM@}Q1CGB!a(r+*zr*~AK2yjGyd7IR{VqZ`K!RAWq&c7o#(o#)*hscNEEGTWqd)^S`;)3 z{VwuZL~~N0=A|%uLZXDz)yR>d)ob+5(w~U|>{Oo#8-JmMTtAYm$olp}rb#Qra{l$W z4n4EOcKH2pe}L!nb~NV@^ZR~*FNCk3^mCnJWX~tSXVNq#ji$Nz)$GYqc(1j6Q_E=K z_f!NPTOAR2P)wUbA!!ueXwNmtiYm7gysCCzW(YH;Ohz_|ORAbi@D&QZL;XcT_v>jJ zd1BeV$8@w+P83R?AC+`^8!xd-_wai3dG^boI*4SF&{3ur%UAv(m?G_VQUlH^1*G@F%1MeKried@%mv@r=3sWZl z<0;>OFUA(!(fDzkq`#td&h38ORy>HZ+U`q#{32mX&8%?~l+;#6(mHr`M}e2 zbsIgVOpadZp)i~n(?~7#uE_sp$tZpBY3>`baXYR9(8 z^B)ZIBt9NBvI66*6DV3^_r=C5EC|Tu+3fe}-I$X_@8u4Yx?ED6vAW45x}AS{Y!+~% z#L9f=UM_?CNuq+c_SjkW6EUXUM-;0WC|3=Px*|ei>tR6gB9!Ole;n`^DcC{pi{pzg zE32L95uCj-GYW%BLVkYU)qmPotac9tIR73Kx~O;o zQ5YqB(4*e^La1V#a6yLfi_VnnEn-xU4by zti36=2zQ7W$<0a#qL%{0#xa$$*1utHEJr$|PRxT}$?z|Z1Kq@G!(^!RE(;~U_N*uT zL9;4&DsQ}NLmCB+J#)NI6wbWpGwhZmoRST{pDx**aDl1i^<3%t%d?SRb|csUMM9hI0n zl*kUQ)#1luGFtWjEdt1Yxcku4g&Gf5VfPK0(K00!%@a)rejBExI?6(9z3{vnjQqOb zK;@~78~+#&23sA&CxLh@^#?(J7;Pe6G5wQ>=b|Q?O-jXP&R_DK9Ab`EfZ9)L>Lh%*y3ac5B*v)F&1CT3A_#l$aQWr3rIK@y|^ zUdrx2;B-7~LlFlWHpJX+wYxHP*@Ldmg+cf(dN>2WG=iO`;?FU3nhvvP>m6 zKg)i^1*MMeZHzIzu&%(k_^C6auI>*)$pa{y&DZI_Prc)Z=Xa-;?M=4KRZY5D00 zc}!tWMb2gXv4_}~IEX^^xpaWl$)EL-d5&ir*&ioOnTmytHdPT%)5wKfvE}B5M(*E` z>t>Mp2Xw4mU(>f8H>1!Y2{vtRv#x%NO|mzk8Y{k6ojt)?5b$)go#p5>_P)>eH0vQb zx%t0D-V@W`cW=)SU4c5;f5n7vF-Z$R6AW#9X3L~){{-47*SzRde2! zOYqngS|TO3oHOprJGZRGBc)>cZrjTn~Oy3ZSglr1@v7Ip3#hgCRVF$qy5Eo{d7_`IN7e1_54QsMPaM5X6zajZ&ZKi8TPAUOkP_`V zfD=eVTI+OL6zFG;?GS~*d8cL@o{RdeU(cXn-mTyI+z@g)$QwxiKFT4N>Db>RvF%Se zzlz&tT1|llu&cJ}(Yg#Clei$C9aaGNfUwaLZT*MXc<~8Ir3-Q#=ZvsD51}DFW?YMp z`?60bW3*Ah=P-$BIbx>E_tE5gQvGQTihSU@UujJhx2;Y`P#&&p+pGsG*X8*@+2OMN zgVDUQy&yhqKhiv+ikANn(=4dBM1Fw6d)X%5riJX+HI7}R*MW%i5*jRH3|t}W0Tq}+ zTDA#7%yECMCu^_%1K3$#AN&%46gL0D0IvjIjk33^;@ewH81YjszCSI3Yup6T zootazTHXw^e!dCskK_&P<|8ZEQ99+!JAGGEC-(71>sy6Z9py^w?;o_YFh!s*r_cy zqtxRC2CFGz@gu2=M3z(HaIShkWbre*ic$;PNh~(!pMj71);=?*J-f8`1nZWbZGJ|0 zNAqD%VkBy<0D%jrkffiwFwiafFi2+l(5;UpUX!>F?3ldn<5-arFVH#WwX>*p``at? zPW;vTF%cu7^cC)r+o?iZ;zJGPq*Eo!?FUm7t9Ii zis@_y5GQ_n*Q2j!-!ZmrA^6K@jJGFqd!8-&1m}2wFz2RyMq!~E_3Wo&;OzxH?MjD# z-kj2&(GmHa3bX681}bBLa%9}*){l#nD%m`)$y=BhlH@>MFp?|c4eS_NC3}QMOQP)w zX@cVF82kh*h_*!V@krZ#g(}_Av=(tp2SaPQmX4E~D#^D*?nls{fAv3|((A5Z`EK2i zcCdUl>nk2BJsXg}8ZlJH-k5w4D?*WELA zWpb2xU*%yI2Mr;_8$m+PJmj&*@|UGM4Q5OR<2oA!5+6`#HEYwcfrlq9UPy~Shj)wJ zxFRzt$(D+?rGa06bkMJCkxclmP613=tDhl@wS{CDUYfSuPX9+7(CCY^H*R<&B7#ic zkne6mjn2zoKBj#_m@PZgfzxyYi$WX-Y?m+o)s@x%c`K#l$#sRr5%oy*BxdN^3$q10 z?k@GBrtHTvq01n+D79tY;_z3Sn}-4{__V~3UU!oMPi2wrl|4BM5tkL1moCMZ7_)FA$xn0@)$4M#e{@+Awc1j?sbJ z#|GoyV`i@Dq@qHd}uCrp` z6(*!C5=BxQmZ3wfTl84h73P)kso!VIe>}h-o54$!BcRgoe1gv*vil@$V{RDBu-b;* zd0~H#CQjDqlq0EwK0@vLnT3i($%Ncm0svkq8Iq%&o&vRb4%I(Q)6&0MHp0^mFq1$iVx;_L8ng^rAfA7VHoaO4_1xpmi$<#3Wp@rnYih^f`hOlj8 zh%*2aXcSa2!PuP&O|Yz@0Q75Ya{#}=kK_FPWz!#uZ$9h#Ly-G?iiK;N&NFMoOyD;oR}kL-ta&cQGFy|Qr?&OKCj}@liw_FQwbhM zJ;61ri|42gx%A)}3T8H^*A+kqb}PAZP&r9`c`uZbdjsUQ(q|joqW?-xoZFY^-U_V_ ze7ee6x|=(3l!FDXyyhJL9KBT)72M(pj*kWiYKV^11G`z&2BG!`?d+tDHjPSNn=$f= zhdUyEp3i}SJ$6dZ8kR!*NxR%?rLm&@z18L<*VrCl6<7CU-D6tVv3&(3>ciz8y&$NR z!Md9EbVM9*gfcnD*4pkV=>|KdSG-nRn=IXV6U?SdiG}2newXO1Tf0x^e!zUPC}-XA z)!M1jx^&-y^OFFAoW$0SE-{_5K@uRJkbw|P7qNT(h8u^rDf|a{w2v7#but+Xu5n+j zl;ovjyJQ+kZ?IGJ!gQSv8vci7WI*qk^BfewY7KVE<}bfeB|g8;QkNCkBJqYV%Vr>+ z_xydn{WnvjR1unk_v8pIT_K7GTjaJ5c49*OI?bm_I$TAk83qBBe<( z9FEBl#?wZ|H1M)R)>lAtP)1)uq6?t>Si=3pqpJhNXtESX%Op4BXJiZ9z0GaX6FSLZ zM9^N%<_>;1tu22m#_$ts(ayQ99Tg7Nks&})DhSkkoaU;IBGJCZ$%p%G_rI~>Ub1D1 zPY*_3IsKvdXv%y-m2~kr`JOLiQK4SHivA{N`Z&D`e?|ZON~tB~^EXA=RGdnpZ-Lge z7H@PAM{^Wl$EBdAAo%`1^pM0EWuh_P7J59m!N#T7x_uE;vWgNHSvz$&zG4&Je5b?+R=SogXFP99?Vlxyf)Y={-6ngUk z9LU*ro%|=FZ1cEC7Vecm6NrA*Pl#BP3&Yc;G_lF9|yF|_!*(?kYtnB#!kEJ zRzn7=I^PU$&w`U4$;5W!cA~-yVEl5ueBXxLuI9 zEs&MmEi-T-x=4Gc?qCIa?R$~lW}PI#3oDjZ)%lrWA9K%Rm=>}7qb1Hb$NNvB0>_Mw zwdJpT-*TnB&7uS@#pqCIj-leCIEV5Lt^H_5sJlOSA{F?#I!chqHb$x4A|2 zVpy_gwRtL8#lxYwnSWpEHn0ANEbqE=>{r_N2-;q;J&iQ3Ib?G#O66OY)g(5ib4jBF zPT~I;Uf+y*s2XYUN(!&zhb&>4e46-Re)VCvohi_{E-p+qa4sAB{H31`XYq3v((p35 za-l(DQpZ4dQxT-A>3Q%vbv`vpd)zyX`idI8^F9t?ZUqReJ8?%uFJ+p5X%brP0wg3p zcRIc0nbCseRZ)fPb4i=#M@}mFe)mWU>OSYStxypUyD2V8Rop?q%y={2QP|TtynTj~ zS{;QRL|B`;Yme7ygBd0TwV*&n6Y%L zb7GUiugvw7s%@Nr{FS+d|H<&M`h6}PRxt7Fx`uu5LDNGyX5LLK^aAT6eq984{Tab9bBQJh2ujhOmKV^w`acRE(eZu>!fHPwY8_IZqf5Kc+~_iGWD z`7^@>%x>CSjN*`ONraGAC2is~WV-f{*xaqz4eH|MyZ{YZ7)61CRzx>A4<^{1fACkn zI=y@K)x}!@efDEM+_0ZdlZU27-EzU(XgAIpPJw}pX8Z0BHjadX`>#!etk&v(lkK0;L!z<_ z0p{D)9uIWPnD;`GbW`7r=y1Ge?~)bhCtdcOyR2F7A~=UV$mAFg%~~-Rv{Vt_0z-|LiTPn%_cwlWv1r zN(7{A)#Wx+Z?1jXo2R0CJAtEHX?mw%ao%Qgx<;8?BK^syQVSl4J&pDwN;EX~{H*Qs zcMI%)w&LfE$^pN5#uE_sci30^&jOFTJB>UXqUb&iC|rV8ylTP{snn zvbgVbb|1eIgq+bW`1hPRr+@0kJ#}kOpR+$z%1WFySHtrw=4By&T)tQ!F^)^-jJceJ;vvnmJ4vylE~j5Q#}s6_i+eTZU76JoY%n4KAf;KA~x>r zlewF#T=03#<0TrM^S)a0p;BxU{^XDFTBx$oNhOMpq}9L@QZQJAK45f@UxhoxTYYgQ zY!#Tj4F~aE{v2(JzIA~ghW6e6jyr_eEJ*mTAmnRS1kefSk^h#3kwTqXPs$8>luq<_ z3r>clMrkt)w4{|ul(tP(m?#ks@d=c_HNHKZEKeuW>b6mTM_(PeGa_iU+PCSocq4jr zPrb4PK3zIYS08EJwEaV%mMSCoAgMOO)*K9IweL3>L~jI|3CkQb-2W{Dp^>Y2C;zAw zoves)pU7Ci12z>In@XrZWW3E*qhx+3!ShZK^X1p2Up^{C=g+zd2UIP?d3_A7bg1n$ zVhKJP*~w&mGgO_#9k}M;)?|7s$jg0UXMJJGWiWUKQyXf!!8DGNmQ%08cIC6CwGIit z)v*2px$Qt+Twn{0j9i_cfxu`7VPMcer_1amw7QAX=ISnn#s7ceb~i`c%aFYGBd7?jl8_%7yKhL->CL{N8zLWk%%Bx!Vt zBzs?t`wy9eMa2Wos2*ACpcpsCBNVOk0tgj?exHQJoT&QK5)u9$;tzXzqBikrL@q(h zj!L>zEhNyQykZ{zSi(m|L;*KzX5CvKCzY7a2c6Yq+SOne;3zz-0rp1~LEAfHbcM9K zrAdn9t>TAjb`P4CS;%h+FA*M9?4Y2^lb4a3qEs`t+li?-$o)x8@`^ww=TthQ9EYGPf2|S?QxG5EG!8$XnK{O1Bst0Sg{0%(TKe|6-9IZ{ZoB-6 zW8B|SreQUtd)t#x6}*4Q1k?=$o3bMkljJ%{w#+IYi}h)54eHEs*98+*~PiTA^hPVE&*i1w;h$D7P3lC(T4?_>r@^ep*kmeG!N zOOZ@+y72ekI-jGvCo~&Nx?7~f9G@AV0`#}=*`3(-FanNu$qcU_4lqFu1|-%QvggxX zoYccSpUqtPv-H73QpCme$JA85Kh(n=5o1{bsipk9;$h-ETeQ6mKoZsxq`mV!_tt3L z8R*5{Z+&T5W0FBCY`#Xa*aR9u$%0*F!7%6y+9}@@n|4IJ1X>BX*VUQ-YfaYw=ZW#> z@_1un#8TC~4VmvI6k6HSdSjYpue)@cX z&Wg#&Vrk{v(ixb}9%X5lx<&z*6A)?seLT!s?*ej-ph9@G$|*S zgOK05gY2p*{S9sOUgM@6{%^Yxt4~o+_*N>eM=Y*A=(G6TN0ZD^QLINHsSSYm{;8qU2UKd@$7*rS#box z&e<-TbT$t+>)r}gXutB1QLzi3ewpZO6y+uVX4ej@ma1Bhz1%h~GU5`Fz0}Urj$Lmd za5x}Bk|s}E*4v)lzSF+pnBDk=Tn`!5R)}?2h>s4a(}zFXNGQ+kPhjP25ANm zP`bOjk!~1}lm;oKk?xdk8R_l@>F$PS{J-1#-TNb4`8#8+W8L1K9hRfK-1y!~*up(q zZP@7710C@rCKtIUeXw|*duCtwBhLLRuJpU!X7xO{!0$#z&(W3cv2BC}c)8n8mx!`E$(C&VN{Vp7tPri~hxbpo9XJjA# z9+LsM7NTEwaGdg{mx|N5G_?pNIQNYm_)WHOhp=*K>Ar1s+`K3_RdCYqmOpy3j9zQt zyZhB|vnf;R8UdttV|7Jl%jXx`bB`lt=FvZldN_&EdT6;FOQ$0@t1A*%kQi)4ztxBQ z*tnr`<}%81*JmH}>gu2)9epR002ERiI{+()H5g&JkP6LLo{4P@%lV{{5*tX?((o{A zSG>{{d4eYwc_Q&Yd_J8CY5TJz`pey6^*<9V4Bnp!ECA)>dcxgGJ=1UG@jb2~A)4+! zbkJS=t^;wUYQ*e+$VX8684)CVaY6x84+=+YMtt6*gK#7jsw@R@eKzsnaHe`0od?pr z>b|TvBz+vFO&}ELBqlr-=r7D_`L1Xn)WLk9YoJVgC*aQudN55u7ocCmgTA`WiPvf| zyv;bIto%7DS5g3$EA-Vj0J8UEGs%9VC6;eihY0Ud&?ahV7`OP#d2-VVe-mDwXv~f@ z)S40ZJrUH9VaVpm_qjrdw3%yu{n_~C^mPiu&&y~h&_N4kOL;5wDA{_TumGlluYtk& z3t(#Zn45~{P7#yCe~%YnLLx+XPS@aY5CaOO*m#<`$02+3NNx3n^;{;jP z0$MK=t!)v$GU8=wlz{D?O{vniNBKvq_4K~bTdOhYsbdAY)_IeeesvM70(8HizBC)R z{6x0EkNM#=3r(M9mygv-$&@*fzA6NnzW0SSmWe63CrdXT7Dw$JI_0#GAula2)k9dp z>rL5T)B)Agyds__u4$t~{7aa)Z($!Ua=Tx_#shThOUHR~%hU0O~6E=)EwH)sQ zT-~xzf*|B3G7ctfoXfi1eY7osti+Q9ni}yLMtU*~?k~9$4!3BSH?aVuBGT$XW2(F( zA@XcCRe>lJ5I?ExVwJKIVYHj0d*muZ{PRMQjl?18RDR~4YbxXx#2X;9>s&iBrrzcn z(g|0K)`n}0%&YNVfBGire-;4E?arUnAmtQ_`d8uz`8W;KB*{JKc!2D8*qY<#FI=sd zRs(F6vY0eDeo0FDJtF-AE2O(n9Pnm$Yat$pgs1|VY7?R|SG8Y1I?MVHGPmZ_2#NkM zpTfa_8J|;Xsq`5qz-2#`eH@kR^UQ^c_}5)x>YYb(_3w;T_)HTcdS4rCa%eGD-kxJ8 zlCAwRLBI-E6;4r`DWR6Q5ogHRFiwcx8C?jYk<{{}=`YbHX#l5a>CYbtC5Z}hHYDHd zcT=x&)ywim{Zyhec@VC391q>~B%IAlTfVN3?*I44eEe|6ZK6uL8S|92PMzkV>)%D) z<)TXbj7uP`#ghgG?+ly-Yts$1AENSh^$HXKAa42*nhNK)#>o&pS8z<{^O&27rs4xifMTk1X$|$p%x2MM0^;@BP{noZ!MA)yJGZo!-$K*a z6=ogYJhtBh?}!k}+L$_6ce4fIj50U(G*xG1n!R4L*9*ktunJ|m|FPS5{vC>(N6egB z5{M!meKJI+iTM^5mefP*clMh`CT$?GbX;OujjtpVPPPT1PP`pKQ8EA+{e%e?2rYQR zlvb{8RcZRn-~BFj?G@EC8$E5C1s1MDr5MWvydl&vflxJF87ZA4(e|e?Udwpf1Fz6D zWAcy>7Pz_PdXp&q=cL7HieKh$S5r!I%E67zcX-0Pm`gG=Mz)qO?<~}Tw*+v|!2)=z zUSZ>`k#Wari9WcBAwFtG|KNttNDAwI@6a{-#%~u{eiO3d1XUO;|9FJGpie`||A@Gj zSq(N;;YV+wx>}$(Sprrb(b%tsT_R6-y7VaT)%V!Sl5oPzJ^hOHl~z@^260p+Ju?s@ zqDym^UbJh-v(Z={friCPt*fl;c%nG(6ue)*S0vN;IpQ||H1i=)|5h2#Gn?s4{%7T) z+Dsl$w?ttkk8-Du3JG7qw-=`n%!mBvi^iuNeVedKjyTHJf8&|w z*nB)eS22b2i6MKDe`L5-}hX@`oIezO2 zi#k2!s_yQ;1-P`R7JjD8P5;`PK;&O~*tKiMMa)_&YL?^Fl2%A-rNauy1iUfa%)%0M z9p}u06!gX?#Nj*ymmB3greAgS!aeQD2U)O|-l<8bgyyB##)3zV1=;2$-RLWK24|8J z^RP(MJhDn(!>NBy+oxx(NIW7gGb-QLf~MF-_Ou-DeV=IfP8Q=Dduz3jZIdK4r9t+2 zX`lNc^jYuW>CbhZ{@-;9{D3DGD1F3^$CmIYL|}gVfiN6Jh*3qD8Nl1>AS(!#L+P{x z+e6EE-l#7K0K$?VP`Bc=#CYK8^T6fDy5mfh0JsO#m|$FrYd>8ZKDTIM2{=@t($cF* zNy1Pw$qOdPunia@t#>w0`cq+}mLuaUBItsz$9OgciNN<(3yEyIXpf!p@B?c}FK0sWf*wS2rBk7NB{{{*Ci$0d7DQCau(u~3=kE)zd z=ULnt8XbwMvfpKCEBaA?X&(l3Yx99loFvhs)6c7f%cTO4MM1eGb5)Q4|6l|(hV@f;lpjvrN^Uf1xIEFbsA29mr5EPu*b`)v;JI!$yv+oEoL&-c|S`yzUMU($JHBEXw%QkiYW~pqd!kk z?_BeA#Ib^aoXa17Ep~wQ)ulERjFvnH$cxzq|_!sQ_?t(l#hI_Lb96Fd2i-A1;w0)lUagiI;~dt?bFHo@z*M`v_O`Z z6;Ag>zTxZTdE#Z9L{UWjD(_>d{N7&FZa6%>{f|(r{qg?#gk!o#8ni8PlFB>m7NQjf zZZd=qA_H9%4mji^@Y1tl!n@;9;58{l%$PG>L(Dj*YXK^HTAgo_UhWgH0?57xisS@j z@BJbq6W{X(H3YSfYX;N3|DpI=y}b~@4C!j);?8}#uiD{)_1jOMOtuo2Zhro?Eo$Km zRn5~cZeAbZPzm$9i;KI>t0U*#urys*WiHdpUzEbPnY5UCV&hwd-JLy=u`Xkm=wF}H zvWB8v^9&XH{(dvO&)M(VrWk?qWuSzdPEEq=p0c|VAUG50X3l+e`Qv#l^50nX=i%ce zoDk(m(aLyK&M&Ay?-;un(FP}>CiOKCLB|PENz0xppNM&k)O5S(aMpMToyM1S>e%^} z;U}}u`8vpfP~1^R)rxyW$0LV0EI)G5c@ixd-MpgRfnH~YM1x^z2#Wm4S>nNRKX^(INfoPs*&Y93_^y$8( zLp6S4lNM`bv?ad9e)agl;Ic%yt}K1KEV4p6>5Z4_$rtzg)~1df-gAB=|9EpZfTdKh zQ_{#co0g!Wjo}050j1}%aMyMSqxJenWTth~Ecr@BT8fVQY}UHk8d*7=*-P>fvjbQY zruh#a?)d2dLEXUmHLfO8)-C2cctK>6l>FH_#2YbsY%aC;h6cA-QUL^s!SiMtMG=PY zd^3gz)?Rqn0u(^s?tYGbaGIrPoX!3WXaZ4~5~tzCmOJ{`Gl{EvknCZPpdF;f9R9@8 ze@gHmjPGLkqR&L=e-ZcPW%Mz`dZ3^&8FE($efG-brC=!$+5!r{yt z)lPWa4uhfr`s@1cqcL=1G>zr(YgKinJ+)8WE=+74(_a@kgTk%7m!Q%nO;otoJmsEW zh&M^4K7Dme#N~Ww^%wjTkoT8!i=1^{#V-U^&+y7@wTSQDu#u(${HQ*3N4t{_Ba3O5 z5_+Y|wxm$PME#z=NX+cRv#=g8KJ-PBJiu2|w zM;yn91j)xJtsnX{${nWFF5rbSHh2Pk{>Wki18x3a$iwmW=}YAhdtAuJCv0)Nd_L(u zY--l1fh_Kb%b;Y(#gv)IcW^JGkZj+g#m?DW8OF*Mk`0-dzeg}I+#x*CC0k40oWhh) zSly-Jq7aG*T$(qx`ktYVtlpH_((aIzY^CI?TKb5LnwZgDtf+o*Uj6%PFU6GR1-+LN zc6UfGubug;CQ|lAYlFw@VVZsUew_&ll3toqr<^Wt%4S17y)v&UYXf>lQVvgXJ`KDv zYy9dtV3xuavLynYysl@+Zgm0YcL{*rWkMtm0GHMC&3@Q^hMVP^)kZ??2n(QjNc*{a zJ4@Z4Ma=tu7IPx!0zUAA?aQGC<{QHwxyydtVzqs8efcs+G1%EN^HVDFoNWi8c>1U+ zSpnL2H9CPQBR#voEF4_reh#^g_$h=@MEq**vc)HS^L(~;^?7!SrryfO-)$X-M6ox< zxKK<7v1d8El)+G{n%d$vMp~TR&*#tQBBu9$S}W#%K2h>V9bzy6wgU2d5J5C6Yr4cJ zKurDeC92_BEks(pXYwl$jkpLB7QDY4Pai3O&4S205NE17gh@#q$4bw)9~*Ni)g*a{%{&{G{n4Nx{jL2PMHVqxBludAqHY5*aV=w!5v`p-?*qO#!V)@orr};4>!7BWA6#Oq0 zKU5cTGE*^pMkq9dxD@CW`D%fH<+32Z|&W}LMl=*C&4S8 zdHs>+0G@(pjPRJR_a;Ip^17(}wpmY;xf8j^z2-!a)lM{`6M**M|@ z>-{h8-9Z;O;>!faK$6Z)3{e~+*nnR!U@e@i^7qntL-MN=_`o<3ie`=ZRZ2o+^CW?x zL(GFo8>RQZZp|bonV2)4_A&kl?D(UW0MitA3b?VfHUGB|fnBy2?p3_Zkz~_{Oz;^-LZS zjP0?L7lnl)IP;lod5BS-6n^<}(&i&#-D_r7FPu$Rxf6}|2m?fj80q4a?<51~dBdj& zUC?nm)KkL{!c^2`Auunr42DdAs>yQ`BE?72{^TRP1zW8)kLlZ}n(pQu&(Xts+{8ka zFMSdpj>pTY-O@eM_cHHQ2tEx=_^ML;o-NApfbGa++ zNR=7OUN7H1X;K{}d&GC{jV6gwMWD5IV`PBkCink$pyzcKj1WpVJEphhAxKZ&FsQmy3yU zchCR{N?Ni7wY|zt2EC1O67fwJ-xRIOwBF*n~u+6J3?PQn5Jy-De>bdkOd*1s3^<2)ckOAoNcxz+L=F}UsgZX z??L#Hz4Sin?Gd{wHiNtpMHF8Y`GA+Qnrb62aHcXlDl^hT;<3|xO=|U^>5fg2Kn0zQ zDN?l%53Z{%X?%$A?>-jj1aMxW+JD|)yXk4XU@sBi%O$5<11jWjHI24OFkch(D&n3z zQ-XU#Y({PtS(jOJtr_2rcxg62VahpT8)=a9VF@^WD=>y{&uvA?j_sK39RTj}aKEcUC18DX-xl(77_CZ?l9KOz|lmn!{i(b3nRZ(V!L1 zw(9fjPgg?;*1sHC(sjvJ&*9gF`bN{~Ju4aVmQ4u6gHX=+s^T+1mMY9htsD6Ser37k zR~KJ$ys}cS4W3#pT>t0h``eBMi-f^IJ=V7aX&s!{;@`Y?Mt&qZ1+zc2l_XgYI+F3IW=G9#t=!#Ly%_&f#4G$$#Bck@u)g3wGh^|#&@)CxWCMre z#=^h8QlbxCj^hV=06&Wp!b4m$ZL5<#?tJHD=m2)ZP%a;1|Fg4s$9(+I7=i5)Sk+)$wO1L;`9RHk)-h^*9GoE*a z2C5wtx)>_%wue@5Rrljh1hI9?5I0pgo`G`_*tXwAiI4fdFh~NVU#HNLhdrHHg~Iut zlmAb7{})y0e<9$$`g;ve7gjeYIa|;1!h+WkSxF5_Q5*1+KT3ekAcnH1L%Xhn7~0Xk zxg8Q$YogMykj`mr@irt;Q06&-mSR(ym;qJHiAM8C%UyM9+-N&emeRewZbixl*h<59 zvw)~4hChEhrQ{m`+86Pqrb$$mv{|5q`FNX7=*!NOIX&BFc0ynU(vDSP1AwS%agopm znB^{WPNlj5r!p499%QJ8uD}keC_O=sQa)J$7I4+SsXu{Fv7?6z30S!O3@V> zO}|1(m(-JDC+WPSAmTD=F_$4_qNB@~VJ%Ihzj!Ez^f{1bUcyUCaGHpuA-BLq5KUz3 z0j+?)Ydx*}wfR-i-^5wYe7+ok~ldg4uwLD>D2Q$|$NvhFhc%^|^;n3cT2OwIB=-g1E;f5m4I>g@Cca zSDhl(PFEcK=A%`cnMo|`Po>7=}#5R_D>c3{BT_#^kRG1Z#Syvg$H^N3MewsHM|B4EbqsR zim8KZkn)qh%M)wck-Sz!{B`;?bl(=?og4NtNZ&ui{bXUf7+VoRjg|Wz<#T8hFANI zjAWl{0!DXkQX_nV7$S&71vwPZG|kX4t|iivksHG(Mo^)s5>Oz_5rb+Xxb0R{oO}YI zRI-AM?a1iaPiN)OJ#6(i`-qvZ~j?!{slR+KBbaU zd~E2VjjU9GAev&FSNWB#cA_z-KeLBDREF0l zf({f$U;h&8*!3o}BnV#t?icWy)E8`sAG!nh52-X9Hrxg+X4g~FHU``je5t*QmcBv< zEpvG|=Gkk4y66X418qqQdIn54g^KDEpOA`{z25~x-ffa!Dk^WiVijbyTGp{pB8Q?Z zSCue&VldrgqLSZLDOm*RrHLmSuM_ackd2sO8RPF;Ip=I*+J4)(YT9svfy($>1Xz+o zT)7_}4O-Lh{%Bj+{}%AOE4!!AW%PRZSq9v$>mM>@gtedMA!9&p_(6~u{YflqD7#2o zw9Is4%oJTy|7(7pn#i#$5TT+5;A0K+5 zF9|l)@_N^|P4mzx4xJCy>9?Qu9}8IPwKQx!O;n_V$bUjR`|=MuT0A^Y35r!|7EIws z8Y5}hriIiM=18xbH!fi*Aj?&Dq=?-Up$Ib(YcbEa|C##v?~cG=yCus{F(P{c&k(e) zzdOqSdXz+XFPVZ0g=01^(GiJQw;G)>EYz_eWX~cywVnNVr6cW9`ihZK^ARKdikDI7ERVK$$;ugMR;JTXyGM6V zhMreEMO?w5ZyWdaLwJ$;La(sG^5Lg#otah%+xoG0Cmx~~Y#|(L&LVSp`jPOS`1Gu< z{GZF?t7Qy>J?Hv5UcLHeG$qYx#wSphXlE@};9RLNKg?UQSRZY74Y6>CFu4c{ahKY3 zuiQyFlm1)jnEa&YMUSDW(GAmlfkqdm&tv$R1w*11P~Ns3Bxk7so3NtA0xVV=<^$SD zVRwK>EWD|pIw%sp5Z+SCA~Wc zQ83%7SSdS67Z)I{GVg*RX}#sTuIJX&#I8&jq8?iGh5GL zaxL{M_0*S0m^}d3%Vi8Gy_%MwG>&Sbd!cp)ct`)@u9_U!lv!aynt=(wDJXZcH9L6Y zg7{TXGJlMC`NlNFHhoR(jAJG|(3_`D`nkyQoMiLh&^$T`$7y!I`t$|MW*& zUhkjthU=g6#^B+)m;BU+@U#D7U4X>rpD&$Z?XOfY5kB!6h`FF1r|mXS4dEM{C`yV4 zBV_m>K_6%gr0b8Nxkde=SP`X&#}wTHH(JofL@~1j%zLIZ$j0O+7Y72kSSk=jzXD=2 z^BYX(6!3}$jUxL6`sS1#SiqU{ZtukOaWFD=>kMek;F3(pZ^wo`!tDt-9f%>9%f!Fh zS-?_=6}#5}F3W^&0vg$Yz7&Z9U^lR*j6JgN^{f{Au{DQC(+HX%G+$V7g=(14dokD7 z{lL~nX=Mm9RjEsqWFzCDZ<*QtWFY@02=btkSsaKb0Zg!f)LKSAmXc1?*~plz^xost3KAY04?nx7RK z6L_#??@bcXajVaqbK*;JlNQ%>2ygqohm-E{`$H@gr`&dWPU%UTqVrE4krH0NHBmp> zkf?Qi5YUh3dMX^!@D6Co`7-4-5SrxLwU1rDHc)}-g8xxIhg#j0_1X+iC?Md}z0F&ugYwyii80zA7OycTaW-GuOJ!FerQO7P*hp_`igJ8zRtMRZ>8^GvJ36`A z9hBw5LY{T|ueFf(5Jk>U(Ha9=5*9+3oN zG$AA3I5Z?0u+@%|bvaJpnv~+lB}0L~I{oyr1LewO@Doy0!sqD?6tKm5`5>2l)tZ14 zPx`Bc->!_l(t@&l!zz6@@xt-e8bF(^BFcG3(=R3&$<_#2xrUb>7K9{+CHqrvdh6PE zsn6<4GVd&1TkxYMr#RR3qgEo)bdP}jZP4TXqf;&u5g-@xvBgcu1B_zw*1M8GlM-8e`5Eth{O|%hX8^jDyGd6xI8b8he)=9^MZ1T`Eha68qv@27tN zEa}iuvj(Lo%Lq%)x^Yduc=e4naD7WY<=rP-rv^4*u2WlU!Mx4Ze(0TG(zlZ2FFl>j zq=GpjL7^3JVFUV8#A%5Nci-;lcO{~-9SGaCW`A(1conD8zXCG~)H~h73rO{~K#3PN zrMd36W`DqpYb(Caw%#5I?mZDjRMel=Sk}#BJhn#@(}_oob_{PYO-eggl52q)7n>ilmiUKD2JR2-Ps`3#!+#p#5C1g6SiKFmT1nDDJI3BO=0ZrQ!J#TmtUp-4 zY`+@i;Z5N%tY)(W<+3K%cJLubLW$c$MULta#G81^^E3VY?YAz!qb$QdVg}a1oIE7= zusWoQQSQ+NAaFP>khwal9(oTa&gwwIE3y^o8q!TM>Xt4+_)~&v*>A}~K)-F_)cvXN za26J!u0kgH_tGEdZZ0o57cDR0Vxw<#?1Knm2^R#I-n86fbum=kC7%~2tyRTW`;y;L z$C8#rO5Ish(B&wKsqIn;OVMB~B7gc6U7kDmO%DS>YW4f7;BruN;ct>pDC3Sbl`_|`TSg4@S+Iir~aW20Q z>KMV7N>&{FgP`CfM-cy@Cdarx*I{JV!cqc#USd7cV7b|3KRW#w^*|`2+6B<6gcM>{ z*aVZ@R_y{{evN^NhGMBtb%-!%36bIZMAgq8F~~TLt}TAeYZE`*A09<~okRbOmqq_p zr>TH4k)vn`yUKge1xZtftQpV{{N4)AG~|oP+c^bkKJ}eX0bnmvqAv0U@Rzbdq=*>x zdB`|Qz_?5^nj2b&$qxpgLEO5}2ezP9R~8?FMPB&*OmXVpofT8o31Dh!a7oqpa5JFH zffbP#=(4q;Nh=@mDxFoxdcD%pUFhU-LZu;)JU1V6ClTnt4|4}dWrP`Oxpi>jd8%>(j> zEl=Q>d007k2L)Q77AvF+!^cqri%a}RtfUp0JS{%nP?5Ru|EbmfHj@TVnWQMaC?=At zPBiM3uLZV3S6$a@-U9R*m?&Qdr&=rU-Rec)vu4&{^C9cGqR+DFo4errk|^tLVAJ0+ zo_fePVHb=Vtcd?$_R(U*ElD7;k2_Olj>MeMVXwH?c9w;*oIZUC`$?HYIHf?MQJcAf zb5_5xZ3vX(Sl#$e-yspn(wzo(Y3WwkoS}jSQ~X(RkgsjrgfI)EphydTRRv)pD5yjS zIVk-R9_(D*b8*9ahv{)V*Y;^c-xyd!v)q+!Zg6RD-vR4y4!K(8Icode=pJ((9S%!)ci18wNTUviOf+!~fwpVlw1l z8y^3Kt?FykN>X-Q6axfwoZ*xL#xvUt8o-R+qv-@=k$~ypKHQ83gB7$GFwbX9E zh&Lf%>i?Cmx3RymDBhTj1^qS?c5TtjRa;`DMKn(&(_dGYS1`9@m9*VL*!`jQ4oxz$ z-b<&U%^6VJ34_3PHMa;IH;5d=z?Y8RFhc&%frtgNk^tLlGMTMZV1(SC3NgU!|FeVo z!?v@25dw(RIgl6%wh5?_IrTQ4rXXBxn@zJg2tadoz(C_s-eQ^0gKMuW*nXDuxvvnx zIoFXYtPv}{#tQ$C7v!?Hlv{yX73j+Y^^=ihH|u+KHj5uHB5J92n)8jC^g0qc#0<+1 z>ZXX?WwEHpdjSk&S9Ht%{s^D2x>(5YJBSULLOq<93953rw43d|gtb?J9}_@3*qmH| z2Qn(JYr(njoC77HKshA6GPxZM>C~no#fKy84%&NuuwL*R5GVaSGeJ9M5`GtMvpPH-sc&zQgoiQ^k3v~c#wV7f5;NrKMZsL7no;I|w0!Fjv5;({3t zIZBNBP}R$0co|PpHHpgd`aF{>hGuN^nn-~p{yyy0y_Q->#V6HRYl{V<=67zYO&18Q z`Gg#zkY$-~ASI6;#%~GuR$QGmH191YZmTo9loz2#K5C0n4{nQ64$yCuTtzFEIAp8< z#P?FhWh`Mylj&S|Ap!ZxkG;R)K(H=|8SSl>5nnOl$Z4;ufk)`iLf6h?31OIFP8-uiGxj)X1 zPrpX|q$vv9f8sNtov;P0$%^2acXdaK?ZZa3rmWj4tBz>bNb_o?@2{~GPldFU>@^67$fu(u_)$Hv|rSDD_L+=;PkwWz?@Ir-SaKef+4@~iK$Rki4(9^K(t4_me z^!F6&N7UonY@F3wx`AUp?6EjysErh0;()|7j4zcGp3^iD>*<7WhqVJ@$4%;iN=$3-;B%Br+m z>s$7v#4fO&p#&+k_4iK}Y!3pu7$)1stS@o`LdSebX)YuI69n}q<#Mxq0_b-~j!{cx zWR?{3u9nWRqf@Q2vETiJB}TztcJ?jNM0QyVxdVM8EnRkA?QkS?~0b^hyaC81+BbP23n3c~DddKx|ZOy|C-5N%s2A6;8ZDEs`zONPw z#2g&j-+>A-U1Spa7VPX&=}xY%A*y|ulVPY7Dy)gZ8{pZYyrrCcd~5MpU(T`=FH6Rs zJO6T2gY?JhuAmY9Hbwtje~incdXA8xUhZo@tZbBqv}gXR$DbUW+y_Ik z4KQ`ZqS0tB!Eb(V!1LaZ&zC=dvWYon>EWb0ptrJdPMer@duYY>_3kH_)ZI{$D$>0% zqrz(~E%rD|7kIUN%dwiCO|)PGeT30q?Vu4!Ik5c=(2ZSJg!$%X?(;qrMtSQro02Bg z#di=S=ubHwX}`g%`@@UR{mZ|3(y@3)1~I0Cz><9y(d;O|J<>lfw9#DT0dI-~;fUFD z^jmV&K&F!Gjjf-k%U;xK@?^z8TT7XA?`rqL^L`@|5-9}eI!yyCFZqh0RZ%_G8##>U zl0$$dUi&x36H8XPFEc(S9di$%Jnc8QW?(*G&n;EqVO1c;oyh43M6(`A7>rrY zLr!*!-^bZ?A;!I+&=tH?PKKZ?Cw)$=Z$e+Ua#9|0tLM{vd)V#L-SEnbJ$ZEw7N@i9 zsFBj^Z0mCdivd6MXoWfWJkHh;nUh1%ght4PnHvP(oQ~&o6=Gh~+DZAg-L1j@dlIN4 zVslZO&ha~y`9t)JYb$uXMs(v{Xh^(;k^`QQo zoNK|2WoHC)eqahcAj@tokZ~ah18Bp~;^M<&7Bhb+aI`*9mNGlneswZ@)v39aeMOK- zD-2RFZy9S2^A3J`FQed_0Tr@ajlsOx+R?GCdAu7xJ!{(77*=MwtEKmHpMzAciSEazY9ndJ;5dbYQ)wGvAn zj%Yy6|DGw-Wbxu1P)VUOzC-!f;PR<@KJJ}M*hjJ72qRHEDHO=cW12SCGjJ}X3R}-a zMaAk%R{d|Y(ZE(J#XE#;5*hvmLegEY{Y{;Z0WKt&v~oX_JPkYws~m@{3Q^P<8KF{g zv&d6y_-wmQUt_;8rmk9-f=|}?HNh+qSTS|@3s=aVzv@%deA&h{4QzxgEc*mbpFoz^ zv&eZX4K`Wo)3c;M%5pisci)=kQqh9<^I*|icsxlqvZlo1a!r|0ec?7ljDoWwK6fhk zf6@d0@AW?09E(a}Q|$mENMnM(OVh18w$N-{KgIpJD`@-j#X8MMYEvFkaK_EYw7bax z(sB2~kReyDPJXqGOZ$Q!{V_zUwZ-GshT1iL=0Z2T-;5np(9iE3Z^1RJU?TM4w_~8< zfefaZag`EhN(M5Rls*Rg!>gxZ7c(20c(_rWmJ@mhPcYL)`Xz4ed7H9(fj58vwP1OY zy?m2C?MLvQmWvl#9Ag@f0QY3NgiH$tqmzQr*q zvgKvfBc(G*li(oDl7gD`Va@fi95k#SMT9PF;zzuIkPoAcsw7$e;>o8m1<3;`y8_~F~T`Wwj zs5fV};~FH__w7USbjCEV#~ZE{>Det$YGsFc(b(g&N#!$G=y>vUNh(5?9ib7Sr1#rg zQeIx6fZI0jn(Hvnw$`f?{`P~N+EXVh%NZEVv=q(2g?W^W@{Qwix&Y&m$$;zI=uYF4 z-uue7_YJ=1D;D1W*4t?qw7?nsT)5jxZuX*&`2OQ)2H;Y!mc?Qe8cW^Rov?kK!WSL& z&Yb4pw_-^evLJ$dV4mW@+Wjau*fEHVI+P*vko2XryF~+r2kW~*hwC3?JGEL~Syou} z20-mgOcQ)v4LshkTy@#!OytqQunA`9v2tlS$xCcmESJVa%{B~)A zC%h75+1zsq4NOc&Dw#DD8}3AkH-N!%?%wQOT6#)UV$G}(F{Ds_s)gQAS}LmHTZ<1j ze_ch|cAL<{-JOBMg)l=4CGxo*l`pF%+A3qXkFA5owruAJ@C z$tFopp!4tu^u0#bVwmZDfxS?;1KUtdHFz`2Y7o#AGi4;m=R1@l?a=HSRdx!={jiYgQF_EzOHyzDPT_$ijZuC)fK$L zl%8T-^x{h{=AN*c8TL3Vu5Da>X!t4_gj^Zf&;a&1q!m~88+runX|^uaMb5+4yad>a zDImKwb1Q)k<~B)`;QpydvqkEgY(NHK_}B90a}o%QZT8bUov9Z3T$b_7x;Pn=$&n5@Z;~oA~Lo!^Q5Mnv>AywvyA~!&V)U!0+j@^GUGx&uNH=KGEbGQ zFBnK&hj82Cdbd5A_L4@)^eWP4E_qD;po;&h+#P)RJU~7!=z;xO);@cLSz^QXlASoP z@33=R3zMwDX&v;cKA8_x$QV-fd+GT-B#Cq~nOf}!@0e$=1bMUP3`}ZD`Y35e1t#Ca zJt-B(W+n@2>L1X>g8?(v*=fyOJ#@E0qhyY_R_;hpFI$dF{sh1z@}~T{H@hqZtX?UcK3$~OLyjvZQ;~N2J34@pRXw-yM_`Ei zyBi4~fOswj94 zlz&>2S0a(^b0`#>O1IwetFN&Oksk1o4B4Dt_5i{L`@}+pZFD5FiZcwSG{lNXDt|#w z$c$b_*`)%TTM^!Z$z*rm1E{}$!!qV^`^K7(4!9F?aEh*)m5hC5hx<5ZZ-TIiOaP-g z%grXYBAaMQHQ_Jtd8C(lxDm<&fO^0Oe(X9UGZM*5?jTw{C8WXXZ1j(qG)8f~ZoH~( z2T;5ZUR(tA3>)md80RE;&t3|IlA1CrT?-FR3#VQ&$JU!<-d*R{%Kj5>^Jal&T)8>IS8xl42 z15YD(S~Gys>CpybF{x6gkBBU37xKfRF3hoRWN0r{+}V!30Zk{$=qr-Oku@HK5y|&a z@!Q{3n&lU!IkfLeaY=d)< zp2%DCGK=*=^X--l2@bKH0*iA4fQzAM1=t6u>#{3N8_NQ1j|u;T%$;dGy=}kwKMu_) z;d9Oelg_4#mn;(?tNr%UL4*x;KL$3q2fi=BdnLX3i*z?UiN!MN^NUY=v+jn+i=wgQ zWz8gP)|Qq#-h$;Z4Kwr`%vimE{hur*+QKr)Eb>CSt~W;fpQAX+{IFwIF?@{5VKQuG zudT$k3%erkoo^-u(I^GVg&j@9F^006G)+8=?uZ}tvN+~`jehgtN;&Pd*f_j zvV?0FsStPw0gFs`9XE5?+NCQLMmJuzh?2Qvzk3_v18Hjh`L*-AyDvsZ!f0;BJJqu? z2rhFkxd|o;DRO*Nlja!6lM_daw=A(5?>3I(l z#aXk`w;2a)E)<>?{JG};v~uEqTe-V#F%r5lNu2m@RxgI5M8rD?O`d1$a&}uHfB&mK zI<}M0y+*go@? zaJ3By>r-Su-O5tt4v>2c)61kF7Tn!6 zxI=Jvch}&-2@u@fB@p!WxhHpg_x5(!a9Er1#p+U@1lJJX0`XmHVZ}ZZz2+9eg`=; zC8tH4qt;WPEquHyMi0Rf)_uef=dorm*DrSXh1_ZQD^BXW2t+ z*WD-WS>Hbf9%ihMogh+BJL15(GiSR5t@*u<>I2LGclJW)IHWp=F7=jEq!@{Gk>RAJSz4#Y94{+K5G7>TTt1@*ltd83V`WIEQAlnwp) z3SzvR|M?Fg_}?o&8>Wbm<7~UG_E249w1i%YQQ&D!5X?(K6ZR5uy8vC;ia*!fEu|^% zRB4n6_VMG@UYK+5pf}5S^d>Hs-8$FF_}r}P4&YMEmY}SOoh&6zZpL`OnMaB5r+wj%`9>k z!QBhPX;x=lQ!K3Cu)Yx;b$;rmIpSUl?8l}+ZnF-K3t*y5cHe@#>KDSskhy~-CBH$} zbYAsNR0m=+!D2H7qZV72*vxuF{uqf0$2rLK(RPYiC&4&-^0Wh2w*6kG-`+JXern-a z%yf$K1%l7+PHY<2+i@%eql|!z0bg$|YqHG`%i#oR5#QEDK<4k7HitO?4#6g>f`PKX z(MD>QGBL?C=Bs$r5LnMkZw>V$`UoPYU5BZb&H;NqZ}Q;cQSlUjpmvi8dZFWXNpBSl zILxp=dARTNJYGMz?t+t~*jip4o{+>OFN={WLQpSZPtO!fYMjBL5kBYGn*xefmTw!nA<) zeS6f^;o0wX#_qS1s;X*B5yS|h%2#RlaFnZL{ux=D5N^KCDjR*D4XJb)(0T4id7#PU zAHf!AgFw-x2H#(lr;6h-=w1(V60^Cj2d|)-Y2cPr?0AH2geazQPC?)hA6A4BOjfHO zSWr-(Ok_P~&xkcTJDk3G7~T#|4g;TsvdeAFN`NG;Q(llNj@B8$)`nV(Bs5+p{edjE zOd3$N6L=^|;)-|Ekh>`8ZU}WakcKBt%@zOzEF%+S>X05zXCbdghvVNEw+gos6*%xK zldT#Hov#tIzDvH#AWBhvklx5bKEFU-;MtatHm7PJXb!vY;p#abO_L|27v@+uUBzA# zDZtImB-AhXt{Ojx{G^cRG`}(%X$+uBTwXz=DL* zH~r&M`cAO4kCf}0HcN?+FuK zrWUT!^adr^3%mLA;vMNMkk;}U%P{vGLKnt;7j)#M!d>h2TUf_=-oL2CTSrB@3hmug zxITcpD5A`IZ++t}XfMpATr%ZQ!xcJ7&%%KsHM})jZG@9P&qwD2m4V+d2s743K9~b; zYiFqx_ytvuJ?pX`xGoZ-;8wtle`Fi*4l~>R_?0mXJTZc(DB}XC?Z=uaAb&hMCrd3|P=<*`ks*W4cHr)OidFc*FPl z8P-|~0mkUO7zFYDHW+}T$p+&;@67B;D33Xl;DTe}e?LB)d)B>{QuZS3I_;5ZSnC*o z&)NIG(e}^hcL=k_sMtka`OiDpcOtY#JA`w9*xuWiCZMl;ZP~hZXOBGT|N52enyRCe z#$W0_&B$Fyqw-@R+F zR-KEG458kmY>fkRl=BM|#i%aQE!2V~i}*aGDBVW$yc(WfB)~=NC+IN(7)4>bp%P$Y z91LgINk3uL&raKD(FI+|RqL0JE`u4VB%->n{KOnQJT8!%M?`pB1|CD~*Z@GbAipI9 z+OJ6rSv!B8Wq|U6oAlXDy3p6zQYj|dySQtVMJrD+G>Bl@$)IctCj23!NmWvlolt7E z_s}RUXy&J;#@*D!M~!jk?IU&JuV*Ll{py9OMR_Jr#027QQ7BtqKa31gS0g5mU0gNx zbyN59(BC-!;m!jL>)I%@CcymOjus$N#E9UF#`5_NcOsQR*LSXomcitn;gQ%Ae*=?o6ZE7 zK5m-Z23Ln-u3)i8rtvoB(Jx8omS<|MxC37^8opm>d)t!ZUo{JKLRWDbd6Ff9Y=~7` zmZY91P9pef-YwYqWrvx3`Encz(M}-0cTQqt#;lKQ4!@;oDehFsUJ-2s8Qo7n$(445 zN0j~v$vifAEbQ^WT~Aa}8_4OFVVvEzWL^gZveL&z%R5D}4t@K;l-lR{t2)ofAc7LZ zma$KCf&7RQlM{ljxfNGdGx&Yx1D6fzoNWNa%q)*sfK4t}+Z-?cp<-!`x3nHL zl=Fq%Ie}JjH4g@v{<{cU_!uy-B_4LVE6$di_uGX-r-$>pyPd>haE{zpQG%ky>ZpmW zrmd}2=&^l4@{#?Eez z2dF``1C+e%iy7PYboNR^n>rGcifEj`(45zC4C}%9`S~hK=-c^uw38Jvyre=y6LFoe zB(i6CZx=0a@o6!j>pGczhuRx0~JupeGrCbI8Sb+jX$x@nDD%H z-U2JtBQx;Cly9!rmDo_;Lt#rAiT_h1*81E3=YW6@>%D7)iiXg0qNZFvOi9e zFXoY;3uIbqXTCmdrS6VG0-St|=kWBP)#qw^uqW;1&>-3QDB&0sU?CuT2+Dl=4n2<- zT?Ss2Gg^Ut?%buun7j2nY4vS_q`o!oFR{WZOK^Gnp*7CP8Vg%k^yOG3X2mb?mwgNa z=;X2t=EV3CFF;qy1()d}8?m^4TV+MNTeV-$TyT&ULD-c>{GgNl~*c|L-Q(ljI?cqqmQVU zWqWP?QsFw308uF$yE_vMtN^h5J>5*~I%zHTK}25EFWvV)8Ft+AW=+Lx4Asc|Gr<&7ohvOj7E7Oh*4{;~t`0pFCG@(XlDksH z8qJaW&L0VOdO2<|(a(v=)(v!)!h=h=I0RLx31~lIM+c0bz93f!!%iPr!m%TB8#IU_ zMGS?Rro8qwT|1EoQ4Z|}-d{l{6*=eZdHcDI*H=z9zJ58Kr~64ZJWvi4ouJ;$Ud_!V zV~fnwC-$~-cemgdDvYa9+|67SnAf(7aW52_(d4N`6LI<&W7T&XZTp5MP-Kw z7hk*{r(wSZOJHKgL#3HhE@||v(hiqC{L9m6)6sTmU9Ho%)cvJ+`+B-opKuNQm4Q4LYfAt3Yw~?92?Xh*49kL&Ir7B;jWX!~l-m#1(CfC}Xjb8qKcjH> zkj!Cez%mK*csrO9&9CFZl0r42=+x)1Zg2Ka8;JnNVI4Xe>cq`p969z`RLBYPjs%JG^^-R{9i9_4 zQPT=5Xd`>(9;-)4$3Gm6xh>9Kdu0%biJq`uGLunUD_YBVkZ^~)scx;%aqG@Lf z@DexFB9BkdBD3;(-xTDxy2auIuVR3QvO|W!+r3^fzVk0B+p4G=qz7T4e0IE@z83B- zwiddlQEk5s(a!`>*%#Gtf$yWQ`l9=fhS=M2 z&>W?Z)a1>?0NiQ3V-|HtsN+HeQ5{>9wkLlxaPeaB%Sm1EMet1p>%QT=M~Q?k&ZiaTB&*mI2K3wN;Wz`&jwH0Q#L6z**}MQAx<( z_jx19DG?Ll9r)2?;J5|M9D{&Z)n$!O7ANUWjr!Y{My`wZ8&sb*<&IiBpq-%nMo|ez+>4 z?#p@U>b)@A?FpFGy|_t>_5Dj$$|K=2$M5P1TTh##_QGal6a9^>86N9i5r1PmF~0e* z&?;U%UTKz49nx{g(i)zyE=qRQmPS2^p~B=WXcvhT^nbJ8n*@L!*O3|r&3qMl>abeIg&M?uakHn}0 zA^6~9!T9(j=W}VI0|-DLdU9D&r%LsmVDHo>HK8M>yxo<>M8Lv(X6abZ*Y4ISluI@O z&7UkW^?@9W={qzD?;gQFSHm?`5zX<7@Ibxo>UH+a4uG$nqpfKbV*|sQy2MkPO|nd@ zk)BRu&$(0<47~YduZcQ^opfIUGczcvWp;D~zn$)PkFl?@4uOv4f1%^E#?dCRUqzeD zRKT7s#&pOz7Icz-{0K~cUZs0|{@o!_eqsecf%ZDVbjE^Z-qQ36)>(TkEG3TN$mRwljpfcx7OFTyx<(8Ke8L&Sa!6`q#ufAIB3Or1!p6a#@8^!33y?$M;U@e@mU~Y@H*fMK< zA1wFLh8%oW_fY+W3d~MB6y+A-xpLU~t~H1-_%p`L0eZ-a1#j*Cx}=!uz5Zw02_y&} z4AWxJvI;KMy}-{rM_EWT_GrHSxM0$YbST8!4n>mP+QKi81oz_R=l9RhR`uo2ir&s4GSy|c2^dbbg@9_lj?|u+vHecU{3t%t?eQ6Gj>~1P=c;AGJ<0k zFFJ;tb91)cs%NrtIle$O5x7M4Tx}%4qNUj^v>0DQMvn$cB1t~c+GPji_+4p_i9j%r zTsrF488nq#Pmuy0amgA z&j%Q`0g;YS>PC1HL@!7`G5eM>YwIR!urHhlCY5n_#d_8$4WBzNC0O9`6kIT`VX2i= z=F{FO{juiAbxajcR#&2ib8`*zmL8sOD;tt< ze2?KWqGijKp7!B2+^X!FYFre0Je_$8euX8XlJNCMyzlMLTL4J;xLs_R|M#FLDO;gF zS2P707eA0ot6=H|pQJFetzgsCs#aB88|}UXZYn$ZLFAK&k4&iUXe)3h?8f)dMvmfb z?LradKgZ(ViJrh$a76qWx-aB8yp6CX2*U$<=cBv7v*GvV)E53yWm6CHewjEBi})sh zS;8xfsoPU$Ux8wUV6jVbw}dSB?E9GB9+^Hcp-G<;R)*?{BPf|sT#UE3v_sOpp10nI zC|5ms=3qbw6l>y@z5`Wu@3rAtLK0g2ZU_@KO`g7!){U&cZY=rHT_5HUwv@xRfb(@Jii;2W4(W#v+NNK19=`|M4XPP6wgf0|__y=0l3JH0 zE13b7MwK-NEE)N$j918auq}yCmY}$Y`_+L{R`C@?mupA;96T-!e=)F}7#={RHv}_2 zo27#xczX+W8Y*Fo3N!*x!++eMQbD7&I#Yd%|6Ch?8@{q+Hhl+xZuhx9i3ogJlupqF z?&*GQl&$g|F)g}}Br+|#C@T5g+FkOv$GbHd&BN}x+5tb^aRv7CiWgq5=yW{GeKjjq z_z0J=^VF9Wh6DVd`qe8~k?NqCD>sP@aFU?Y`9w-QM)ZeFrxQ!LHau6cTD zXQ?f2FbviTd$e57nM;kVR4UQp_Yl^1HmzCKsAa>%13<6nQug|!`;GW{fDjXzhngq>1;YK!M zdZy7;R=MWKgv6xQGAS+cJd4RnT2Cw{Yp-l)!SG-)U+IeefP7~Snx^Uxq6e-*4Rv`#~SI{ z3Jv~N!u0e?V+~E&w+F(wo!Z(>ZUxi&<45so=W;dZexKI}^C5iN=?HOYZ&6<`)c7?3 z&H3sKe|SE$8y>AF`+gZ9$t3lBtde?;7Tree>mdkAyeS|fM{&1wNG18`Gz@(1Lk08k zxK#Xo*^_*D$M2}j4r2weOAb|9Uk~MAa%L|;AllKv!Mm=#2t6QRplCZrXU-69^RTok9(Py*BY|Q z%eV`g`%wSa0OHj3=tKnl9dfYVIo**bvtDeig>emxjni`<@Za|?@~F!RDR^G>=mPoK z-kdqHY|!a|r57vGj!!8R2s`mS_N5uWT)OYv`d{-pEl7Z=H48q9HC@&p*=$=?9wMd$ z6(e)H=dd$TXUd?$e82GarfzyIp08fKOrH<&`mvcYglkS_(*uRvMVsY_=Hn&Bc+eLO zT;1=$T{cQB9eg1h_h*i*uRCHpR;#pt&L@@%jJ8af96BBRJ$(KME?fjd7m}K0f#t!O z$+};ouCCVR!+%!oeJxsrx%DPlx=)q_OoR-ZL*-ob(!mf~Pmxa%-wMYYM)$_uqqAI^ zoNpccVi=V-#GNY;;N+6Iq1O55d6w-2G7X+t>imZV-1uWg>COLR0NYv$h2yGd6q$)# zGJKlfWDPJ!Z6LHmdTdYv)zFG-6G*FRCLz&U{7`G6Y5onwGTb2cq{V#G< z2K2EmD5cm}Yc8i_Zx+{nv>9Ym#W|D#%HHVjOdl*R)<`m0S#+$wp&)4~1f?zSGixnM z>L`V0R$7m$xG_i&)Co+E@ z$HqxW$!6z&ienqE|8B;lgGz)`$c+xqzvg~;O==@3WZ>u9mjTqb_qZBhu!c;B`+ujy zn+=^2hAaARBPB^=%9x&q?8>iMnV%_H9e!8`mj^A$Fnu3nOQ)$-EdkDv!9!R&U8o_7Dp3l%9 z|M)m*|6$uq(wXR}TE=lMeA@(C%Rjl6%wOK$Y{N6O|3r%{H7qo25syu*Yco=5%Kf#$ z(B8Qi!Wb+3%NX}uHe7=gWT$71BLLJgGai4o#$>G@!Ag$P`7A{>-l@3i6hsj!MiwYQ zyP&N#1}ACbU-(~VG+-3r_E?`4QAl=qTw#zvb+-Cy&O!QWh~1I8F@~PxG~pAMsrd4N zV7TT*cKqP4x!bpdTH-b>6kGxa(9h5mEYBwtnaS<*OH#>q8%6)r2($>zNlq@iTy9>^iL4V|F3u7p2MH=fIbV7X3K)zEut5S{ zN!}ujuZYZjS=NAAfbMv=wIYu&->mL#Q@15mw_t zjwE!PlTaFtn(6?ez0C`sk{x#Pv8Gj8%uPHuAm%zSFJf{ALgE*;mJIl7z)b6wA1)HZ z<~5r>hVXlEsQ-i#cIg17Ui05xjU}=Lvb+DV#`xp$gWDLX;-+q4Ag#FW2cy^MY4~#- z(I50l8J?=BZq{YWPv9*^R)MXxhbOEabCqK1)x<~q{Z4|t{+*u=zWP^#<^AwJ?2a**D;}bn7zd3Lb17#=JGoFHMDPMwV9$D!$_W7zP32J)4 ziXT0A@Ci|SCU=qse*V)Yib=c?2Y;4QOI4l?)bt5<(sp1W>|CG)OPp>*UJ|t2?SA;$ z9qw5`bO7ymHRBird#?HN#Eikn;cFDBFRB-n^eI?obr{Q)8-5{vS`CM77@V$29O`fT zj6qRr0A-=wAl=U}?2<`mkjzMNrf-yP-6Vai1H_2t>p58iz3mG7sq`SWm{^{?Ctj?0 zQVhD3yPNB z3OczZ#%qxq7|4hK`VenEUlwoak@)`BT)%Dphnq?HFE?X_PvbywIEf!T1Sk^uLHFuT z19clJ(^}kEU!L5_A1~(V@k5FAWCKn*Wi<=0s30laVv~gmZ~oX~6q+oT2f+NuWmFOu zvtYu2ax$i|w>$R*@gAp(AZ2X@B~brD7o>Y`NU&z~sEL|;TBel(`1CsFiPxlZ_L)J% zJ_`1iv_HC>_53zsjuBKNUW|%j>f-_d8IwwO?xmVtko1n1->3ULXL4XZhWx%m9hw(k z`Z-krK@MpezNO=3#^cn<9L~O{$I>k&&&5*CRU=I_+6j`snU|hJfu(@?>7fSM%HT{h zeqCWpYYCHnvb>AV!>5{(L!~t;!4U$;F?n?PP{omw^E`iGeFW(^|E0!-fY*y|>~NVX z@YCW{zR2isctVl8G7D2}z3*(8p)p1nBQ02C7-R82S>|bOkV>XpG$Pg@3gf^E`A1)# zhC9i9l|BhUY4&{L+N2Us@YZ?4aDHdwPczp?C0c_9n!^8-Y!lxaWE5&H-MdchPj1)& z*Tf!Fne9W04yfWt{oV$Z@;tpZFD(Jnr+>r9C52(^P-ZMmfQDDVdy7*>w&@^7swv>1 zII|--3>frSOBzcWH=i#mKa{)ImaIc0E~*xoYcrp=^cD@8S;?kDJ+ZXvIa&X)g6T(tfjrtF{CoLvj$bzqXDndN;!qj?EEg6$5YGK51JKuTZf-GqXi5vd+4<84lFo!4WTahW*U;j{?ph_i({S?@YZKm16R+-EdL= z`+uHAjh|OE#@FDQz90_YnxKvbW8qJBF-t!rJhVY_rqID$;s^?90@b!o7@I6n`CCv5 zin%eKu!q*k7c1x#dVHMLSD75B>AS*5!9b`l^i(dH$AAG}T-Z1_P246;bzm+(K{Jd6 zo!T0-J_QJwm^;d;IGEz$K7U8+b%Cq6f%-!xmmEj-+}*JcbX8$cE;Sm)ohUuPrKv}g z&Em)RETg1h$0yHvHN#Yxb5tR7hXvW&BEr+Id55wij7oZ-GtB!%lKTMSK_ZGqtoNCU8M2t9t4+0$zL~*QWXUvex(+C&pAyGT>_I2#;S#-6BPqao z(F#_jArmOy%y6a2Yo-9zgRIwzSSUeN<5CCBwrtpX{1|8vwxsb!H^M{%Kf#5*Z@~WT zZ%R?ISHzdeC$s#!b>dTVVZ1IT5BBeZjI|1)ITEOq@}Kk!E@ZxsxyD$oj}&X#H_jeV zVc1OCs6V;%_tmp+t}~yr%<+>#Ehq8jTaXrgT<6avAV6i}<<1XEIVaiSx5!s-sRc

2pdHd!WM2tZ2ACls`mq$ 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 literal 0 HcmV?d00001 diff --git a/Unicolour.Readme/docs/pigments-magenta-white-comparison.png b/Unicolour.Readme/docs/pigments-magenta-white-comparison.png new file mode 100644 index 0000000000000000000000000000000000000000..ed40ffc6c1e751fee65a8a193d9aa794236cf4c5 GIT binary patch literal 226301 zcmYg%RZyF4*DhMzi$m}hcXziIEgBq(YjJnC;85JHNO53aSQ#@@xeE_8ZATR@(^*3cc^|2YS%H^eYt9pCUO)F*SGnlb4k$YPl4e z@Jc3pbq;~SH7Y8Gx>nw_5AVG9z9d5R&o*D3Q|V`VgWctr{Gj)PmjmyPJn^`_Y9)iyof`MqM`BA}DF%eO!C`1Rf_RBKgf z7T%x-1mTou!sFuNidK5#hU?c=cN86(rwyngOCnpr%bOAfuvS8ePOIViOOTG3XKA>S z$~!|XO55srndSj~t>Xju8jN%IzMkc~geMD|rLyG|QC0-|4yeYOhesk~K}-6V!{%$I ztxjA7b|+Yk{<1o|(N6cV1;eE51RvSjxkq;#9RBpKc2ZNe7Lz(F0^fB6H(>R>x6sSK zo8e6*Jq`5-;S|pzrTX0mj^_CG9^Jr~EZ~bS7N?_F4G*>C7s4b30vY5hON(+-0#zfy zTjYx56L)wT>*g*Ng^0?0sHNb6ZzoclznpA-LHEu`we>t|SD9J7jO$3tA<@_mSxOAU z7pW!HQ&uxrjnL|dG2sps#bg~eq--BLoiBx0|WqQer~3yn~&fw{492+KZBnP;y^n zW6($*$I}3(N-JPL{Irz05(a0vwEzht`IBXjr*5tX=5= z);UYC>nGmqCMTbGV+%f)__~~h!P)_*T&7O5xpcle3{9PttnNX7kL+*09z73^1DpyD zJ#@p&{wYQl4M?GcE>>Hnf1D z59bZPI%n%u!eaIW&XOTs`F?YG3lQ@@v0MxicjLLE2Fo&1mc%wS37eqo$^!!33qoN@Wh(aYUxQpR?i

6vBGE3{#1jOCTT)V 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⁣L#(>y<2sZ2!p^{Q--f>p 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

DB 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%0DT|p#gPBKJ6r%re5d|OpX)_{L;tFCYU(_gWmjO1 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 literal 0 HcmV?d00001 diff --git a/Unicolour.Readme/docs/pigments-magenta-white-ref-real.png b/Unicolour.Readme/docs/pigments-magenta-white-ref-real.png new file mode 100644 index 0000000000000000000000000000000000000000..720f0ba02b81f1a7dde79fd82f4b1927899920d8 GIT binary patch literal 206675 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�bR_9})v@l#YqJcF|!Fj0-G0D;U2UzQkP#uwg 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 aA^tN?z~i6S=9R$a6N9I#pUXO@geCyD--U4i literal 0 HcmV?d00001 diff --git a/Unicolour.Tests/ChromaticityTests.cs b/Unicolour.Tests/ChromaticityTests.cs index 5bdd12b6..19c6edc3 100644 --- a/Unicolour.Tests/ChromaticityTests.cs +++ b/Unicolour.Tests/ChromaticityTests.cs @@ -61,7 +61,7 @@ public void DaylightCct(double cct, string illuminantName, double x, double y) var illuminant = TestUtils.Illuminants[illuminantName]; var daylightChromaticity = Daylight.GetChromaticity(cct * 1.4388 / 1.4380); // adjust for change in c2 constant - var config = new Configuration(xyzConfiguration: new XyzConfiguration(illuminant, Observer.Degree2)); + var config = new Configuration(xyzConfig: new XyzConfiguration(illuminant, Observer.Degree2)); var white = new Unicolour(config, ColourSpace.Rgb, 1, 1, 1); var whiteChromaticity = white.Chromaticity; diff --git a/Unicolour.Tests/ColourTripletTests.cs b/Unicolour.Tests/ColourTripletTests.cs index dda01840..e0e32c47 100644 --- a/Unicolour.Tests/ColourTripletTests.cs +++ b/Unicolour.Tests/ColourTripletTests.cs @@ -42,10 +42,10 @@ public void AsArray(double first, double second, double third) private static readonly List GetHueTestData = [ - new TestCaseData(new ColourTriplet(7.7, 8.8, 9.9, null), null), - new TestCaseData(new ColourTriplet(7.7, 8.8, 9.9, 0), 7.7), - new TestCaseData(new ColourTriplet(7.7, 8.8, 9.9, 1), null), - new TestCaseData(new ColourTriplet(7.7, 8.8, 9.9, 2), 9.9) + new(new ColourTriplet(7.7, 8.8, 9.9, null), null), + new(new ColourTriplet(7.7, 8.8, 9.9, 0), 7.7), + new(new ColourTriplet(7.7, 8.8, 9.9, 1), null), + new(new ColourTriplet(7.7, 8.8, 9.9, 2), 9.9) ]; [TestCaseSource(nameof(GetHueTestData))] @@ -64,10 +64,10 @@ public void GetHue(ColourTriplet triplet, double? expectedHue) private static readonly List OverrideHueTestData = [ - new TestCaseData(new ColourTriplet(7.7, 8.8, 9.9, null), 6.6, null), - new TestCaseData(new ColourTriplet(7.7, 8.8, 9.9, 0), 6.6, new ColourTriplet(6.6, 8.8, 9.9, 0)), - new TestCaseData(new ColourTriplet(7.7, 8.8, 9.9, 1), 6.6, null), - new TestCaseData(new ColourTriplet(7.7, 8.8, 9.9, 2), 6.6, new ColourTriplet(7.7, 8.8, 6.6, 2)) + new(new ColourTriplet(7.7, 8.8, 9.9, null), 6.6, null), + new(new ColourTriplet(7.7, 8.8, 9.9, 0), 6.6, new ColourTriplet(6.6, 8.8, 9.9, 0)), + new(new ColourTriplet(7.7, 8.8, 9.9, 1), 6.6, null), + new(new ColourTriplet(7.7, 8.8, 9.9, 2), 6.6, new ColourTriplet(7.7, 8.8, 6.6, 2)) ]; [TestCaseSource(nameof(OverrideHueTestData))] @@ -87,14 +87,14 @@ public void OverrideHue(ColourTriplet triplet, double hueOverride, ColourTriplet private static readonly List DegreeMapTestData = [ - new TestCaseData(new ColourTriplet(7.7, 8.8, 9.9, null), new Func(x => x - 6.6), new ColourTriplet(7.7, 8.8, 9.9, null)), - new TestCaseData(new ColourTriplet(7.7, 8.8, 9.9, 0), new Func(x => x - 6.6), new ColourTriplet(1.1, 8.8, 9.9, 0)), - new TestCaseData(new ColourTriplet(7.7, 8.8, 9.9, 1), new Func(x => x - 6.6), null), - new TestCaseData(new ColourTriplet(7.7, 8.8, 9.9, 2), new Func(x => x - 6.6), new ColourTriplet(7.7, 8.8, 3.3, 2)), - new TestCaseData(new ColourTriplet(7.7, 8.8, 9.9, null), new Func(x => x * 10), new ColourTriplet(7.7, 8.8, 9.9, null)), - new TestCaseData(new ColourTriplet(7.7, 8.8, 9.9, 0), new Func(x => x * 10), new ColourTriplet(77.0, 8.8, 9.9, 0)), - new TestCaseData(new ColourTriplet(7.7, 8.8, 9.9, 1), new Func(x => x * 10), null), - new TestCaseData(new ColourTriplet(7.7, 8.8, 9.9, 2), new Func(x => x * 10), new ColourTriplet(7.7, 8.8, 99.0, 2)) + new(new ColourTriplet(7.7, 8.8, 9.9, null), new Func(x => x - 6.6), new ColourTriplet(7.7, 8.8, 9.9, null)), + new(new ColourTriplet(7.7, 8.8, 9.9, 0), new Func(x => x - 6.6), new ColourTriplet(1.1, 8.8, 9.9, 0)), + new(new ColourTriplet(7.7, 8.8, 9.9, 1), new Func(x => x - 6.6), null), + new(new ColourTriplet(7.7, 8.8, 9.9, 2), new Func(x => x - 6.6), new ColourTriplet(7.7, 8.8, 3.3, 2)), + new(new ColourTriplet(7.7, 8.8, 9.9, null), new Func(x => x * 10), new ColourTriplet(7.7, 8.8, 9.9, null)), + new(new ColourTriplet(7.7, 8.8, 9.9, 0), new Func(x => x * 10), new ColourTriplet(77.0, 8.8, 9.9, 0)), + new(new ColourTriplet(7.7, 8.8, 9.9, 1), new Func(x => x * 10), null), + new(new ColourTriplet(7.7, 8.8, 9.9, 2), new Func(x => x * 10), new ColourTriplet(7.7, 8.8, 99.0, 2)) ]; [TestCaseSource(nameof(DegreeMapTestData))] @@ -113,10 +113,10 @@ public void DegreeMap(ColourTriplet triplet, Func degreeMap, Col private static readonly List ModuloHueTestData = [ - new TestCaseData(new ColourTriplet(-270, 450, 810, null), new ColourTriplet(-270, 450, 810, null)), - new TestCaseData(new ColourTriplet(-270, 450, 810, 0), new ColourTriplet(90, 450, 810, 0)), - new TestCaseData(new ColourTriplet(-270, 450, 810, 1), null), - new TestCaseData(new ColourTriplet(-270, 450, 810, 2), new ColourTriplet(-270, 450, 90, 2)) + new(new ColourTriplet(-270, 450, 810, null), new ColourTriplet(-270, 450, 810, null)), + new(new ColourTriplet(-270, 450, 810, 0), new ColourTriplet(90, 450, 810, 0)), + new(new ColourTriplet(-270, 450, 810, 1), null), + new(new ColourTriplet(-270, 450, 810, 2), new ColourTriplet(-270, 450, 90, 2)) ]; [TestCaseSource(nameof(ModuloHueTestData))] @@ -161,10 +161,10 @@ public void ModuloHue360(ColourTriplet triplet, bool allow360, ColourTriplet exp private static readonly List PremultipliedAlphaTestData = [ - new TestCaseData(new ColourTriplet(2, 10, -8.8, null), 0.5, new ColourTriplet(1, 5, -4.4, null)), - new TestCaseData(new ColourTriplet(2, 10, -8.8, 0), 0.5, new ColourTriplet(2, 5, -4.4, 0)), - new TestCaseData(new ColourTriplet(2, 10, -8.8, 1), 0.5, null), - new TestCaseData(new ColourTriplet(2, 10, -8.8, 2), 0.5, new ColourTriplet(1, 5, -8.8, 2)) + new(new ColourTriplet(2, 10, -8.8, null), 0.5, new ColourTriplet(1, 5, -4.4, null)), + new(new ColourTriplet(2, 10, -8.8, 0), 0.5, new ColourTriplet(2, 5, -4.4, 0)), + new(new ColourTriplet(2, 10, -8.8, 1), 0.5, null), + new(new ColourTriplet(2, 10, -8.8, 2), 0.5, new ColourTriplet(1, 5, -8.8, 2)) ]; [TestCaseSource(nameof(PremultipliedAlphaTestData))] @@ -183,18 +183,18 @@ public void PremultipliedAlpha(ColourTriplet triplet, double alpha, ColourTriple private static readonly List UnpremultipliedAlphaTestData = [ - new TestCaseData(new ColourTriplet(1, 5, -4.4, null), 0.5, new ColourTriplet(2, 10, -8.8, null)), - new TestCaseData(new ColourTriplet(1, 5, -4.4, 0), 0.5, new ColourTriplet(1, 10, -8.8, 0)), - new TestCaseData(new ColourTriplet(1, 5, -4.4, 1), 0.5, null), - new TestCaseData(new ColourTriplet(1, 5, -4.4, 2), 0.5, new ColourTriplet(2, 10, -4.4, 2)) + new(new ColourTriplet(1, 5, -4.4, null), 0.5, new ColourTriplet(2, 10, -8.8, null)), + new(new ColourTriplet(1, 5, -4.4, 0), 0.5, new ColourTriplet(1, 10, -8.8, 0)), + new(new ColourTriplet(1, 5, -4.4, 1), 0.5, null), + new(new ColourTriplet(1, 5, -4.4, 2), 0.5, new ColourTriplet(2, 10, -4.4, 2)) ]; private static readonly List UnpremultipliedZeroAlphaTestData = [ - new TestCaseData(new ColourTriplet(1, 5, -4.4, null), 0.0, new ColourTriplet(1, 5, -4.4, null)), - new TestCaseData(new ColourTriplet(1, 5, -4.4, 0), 0.0, new ColourTriplet(1, 5, -4.4, 0)), - new TestCaseData(new ColourTriplet(1, 5, -4.4, 1), 0.0, null), - new TestCaseData(new ColourTriplet(1, 5, -4.4, 2), 0.0, new ColourTriplet(1, 5, -4.4, 2)) + new(new ColourTriplet(1, 5, -4.4, null), 0.0, new ColourTriplet(1, 5, -4.4, null)), + new(new ColourTriplet(1, 5, -4.4, 0), 0.0, new ColourTriplet(1, 5, -4.4, 0)), + new(new ColourTriplet(1, 5, -4.4, 1), 0.0, null), + new(new ColourTriplet(1, 5, -4.4, 2), 0.0, new ColourTriplet(1, 5, -4.4, 2)) ]; [TestCaseSource(nameof(UnpremultipliedAlphaTestData))] diff --git a/Unicolour.Tests/ConfigureIccTests.cs b/Unicolour.Tests/ConfigureIccTests.cs index 73e83195..a0c7b032 100644 --- a/Unicolour.Tests/ConfigureIccTests.cs +++ b/Unicolour.Tests/ConfigureIccTests.cs @@ -14,7 +14,7 @@ public void ConvertBetweenIccProfiles(string sourceFileName, string destinationF { var sourceFile = IccFile.Lookup[sourceFileName]; var sourceIccConfig = new IccConfiguration(sourceFile.Path, Intent.Unspecified, "source"); - var sourceConfig = new Configuration(iccConfiguration: sourceIccConfig); + var sourceConfig = new Configuration(iccConfig: sourceIccConfig); var sourceDeviceChannels = IccFile.GetDeviceChannels(sourceFile); var sourceCmyk = new double[sourceDeviceChannels]; for (var i = 0; i < sourceDeviceChannels; i++) @@ -28,7 +28,7 @@ public void ConvertBetweenIccProfiles(string sourceFileName, string destinationF var destinationFile = IccFile.Lookup[destinationFileName]; var destinationIccConfig = new IccConfiguration(destinationFile.Path, Intent.Unspecified, "destination"); - var destinationConfig = new Configuration(iccConfiguration: destinationIccConfig); + var destinationConfig = new Configuration(iccConfig: destinationIccConfig); var destinationUnicolour = new Unicolour(destinationConfig, ColourSpace.Rgb, connectingRgb.Triplet.Tuple); var destinationCmyk = destinationUnicolour.Icc; diff --git a/Unicolour.Tests/ContrastTests.cs b/Unicolour.Tests/ContrastTests.cs index fc7a4456..d1f58367 100644 --- a/Unicolour.Tests/ContrastTests.cs +++ b/Unicolour.Tests/ContrastTests.cs @@ -14,7 +14,6 @@ public void KnownContrast(string colour1Name, string colour2Name, double expecte var colour1 = StandardRgb.Lookup[colour1Name]; var colour2 = StandardRgb.Lookup[colour2Name]; AssertKnownContrast(colour1, colour2, expected); - } [Test] @@ -24,6 +23,14 @@ public void RandomColourContrast() AssertKnownContrast(random, random, 1); } + [Test] + public void DifferentConfigs() + { + var redD65 = new Unicolour(new Configuration(xyzConfig: XyzConfiguration.D65), ColourSpace.Rgb, 1, 0, 0); + var redD50 = new Unicolour(new Configuration(xyzConfig: XyzConfiguration.D50), ColourSpace.Rgb, 1, 0, 0); + AssertKnownContrast(redD65, redD50, 1); + } + [Test] public void NaNContrast() { @@ -54,7 +61,7 @@ public void BeyondMaxRgbLuminance() } [Test] - public void DifferentConfigInGamutLuminance() + public void InGamutLuminance() { var standardRgb = new Unicolour(new Configuration(RgbConfiguration.StandardRgb), ColourSpace.Rgb, 1, 1, 0); var displayP3 = standardRgb.ConvertToConfiguration(new Configuration(RgbConfiguration.DisplayP3)); @@ -62,7 +69,7 @@ public void DifferentConfigInGamutLuminance() } [Test] - public void DifferentConfigOutOfGamutLuminance() + public void OutOfGamutLuminance() { var displayP3 = new Unicolour(new Configuration(RgbConfiguration.DisplayP3), ColourSpace.Rgb, 1, 1, 0); var standardRgb = displayP3.ConvertToConfiguration(new Configuration(RgbConfiguration.StandardRgb)); @@ -83,6 +90,13 @@ private static void AssertKnownContrast(Unicolour colour1, Unicolour colour2, do private static void AssertRelativeLuminance(Unicolour unicolour) { // WCAG relative luminance is defined according to sRGB https://www.w3.org/TR/WCAG21/#dfn-relative-luminance + // which should match XYZ.Y under D65 + // so need to ensure colour is using the correct configuration for the formula to work + if (unicolour.Configuration != Configuration.Default) + { + unicolour = unicolour.ConvertToConfiguration(Configuration.Default); + } + var (r, g, b) = unicolour.RgbLinear.Triplet; var expected = 0.2126 * r + 0.7152 * g + 0.0722 * b; Assert.That(unicolour.RelativeLuminance, Is.EqualTo(expected).Within(0.0005)); diff --git a/Unicolour.Tests/DatasetArtistPaintTests.cs b/Unicolour.Tests/DatasetArtistPaintTests.cs new file mode 100644 index 00000000..d9e3d6b7 --- /dev/null +++ b/Unicolour.Tests/DatasetArtistPaintTests.cs @@ -0,0 +1,20 @@ +using System.Linq; +using NUnit.Framework; +using Wacton.Unicolour.Datasets; + +namespace Wacton.Unicolour.Tests; + +public class DatasetArtistPaintTests +{ + [Test] + public void All() + { + Assert.That(ArtistPaint.All.Count(), Is.EqualTo(19)); + Assert.That(ArtistPaint.All.Distinct().Count(), Is.EqualTo(19)); + + foreach (var pigment in ArtistPaint.All) + { + Assert.That(pigment.ToString(), Does.Contain(pigment.Name)); + } + } +} \ No newline at end of file diff --git a/Unicolour.Tests/DatasetCssTests.cs b/Unicolour.Tests/DatasetCssTests.cs index 9758db6b..0e3b169a 100644 --- a/Unicolour.Tests/DatasetCssTests.cs +++ b/Unicolour.Tests/DatasetCssTests.cs @@ -165,155 +165,155 @@ public class DatasetCssTests private static readonly List Rgb255TestData = [ - new TestCaseData("aliceblue", AliceBlue), - new TestCaseData("antiquewhite", AntiqueWhite), - new TestCaseData("aqua", Aqua), - new TestCaseData("aquamarine", Aquamarine), - new TestCaseData("azure", Azure), - new TestCaseData("beige", Beige), - new TestCaseData("bisque", Bisque), - new TestCaseData("black", Black), - new TestCaseData("blanchedalmond", BlanchedAlmond), - new TestCaseData("blue", Blue), - new TestCaseData("blueviolet", BlueViolet), - new TestCaseData("brown", Brown), - new TestCaseData("burlywood", Burlywood), - new TestCaseData("cadetblue", CadetBlue), - new TestCaseData("chartreuse", Chartreuse), - new TestCaseData("chocolate", Chocolate), - new TestCaseData("coral", Coral), - new TestCaseData("cornflowerblue", CornflowerBlue), - new TestCaseData("cornsilk", Cornsilk), - new TestCaseData("crimson", Crimson), - new TestCaseData("cyan", Cyan), - new TestCaseData("darkblue", DarkBlue), - new TestCaseData("darkcyan", DarkCyan), - new TestCaseData("darkgoldenrod", DarkGoldenrod), - new TestCaseData("darkgray", DarkGray), - new TestCaseData("darkgreen", DarkGreen), - new TestCaseData("darkgrey", DarkGrey), - new TestCaseData("darkkhaki", DarkKhaki), - new TestCaseData("darkmagenta", DarkMagenta), - new TestCaseData("darkolivegreen", DarkOliveGreen), - new TestCaseData("darkorange", DarkOrange), - new TestCaseData("darkorchid", DarkOrchid), - new TestCaseData("darkred", DarkRed), - new TestCaseData("darksalmon", DarkSalmon), - new TestCaseData("darkseagreen", DarkSeaGreen), - new TestCaseData("darkslateblue", DarkSlateBlue), - new TestCaseData("darkslategray", DarkSlateGray), - new TestCaseData("darkslategrey", DarkSlateGrey), - new TestCaseData("darkturquoise", DarkTurquoise), - new TestCaseData("darkviolet", DarkViolet), - new TestCaseData("deeppink", DeepPink), - new TestCaseData("deepskyblue", DeepSkyBlue), - new TestCaseData("dimgray", DimGray), - new TestCaseData("dimgrey", DimGrey), - new TestCaseData("dodgerblue", DodgerBlue), - new TestCaseData("firebrick", FireBrick), - new TestCaseData("floralwhite", FloralWhite), - new TestCaseData("forestgreen", ForestGreen), - new TestCaseData("fuchsia", Fuchsia), - new TestCaseData("gainsboro", Gainsboro), - new TestCaseData("ghostwhite", GhostWhite), - new TestCaseData("gold", Gold), - new TestCaseData("goldenrod", Goldenrod), - new TestCaseData("gray", Gray), - new TestCaseData("green", Green), - new TestCaseData("greenyellow", GreenYellow), - new TestCaseData("grey", Grey), - new TestCaseData("honeydew", Honeydew), - new TestCaseData("hotpink", HotPink), - new TestCaseData("indianred", IndianRed), - new TestCaseData("indigo", Indigo), - new TestCaseData("ivory", Ivory), - new TestCaseData("khaki", Khaki), - new TestCaseData("lavender", Lavender), - new TestCaseData("lavenderblush", LavenderBlush), - new TestCaseData("lawngreen", LawnGreen), - new TestCaseData("lemonchiffon", LemonChiffon), - new TestCaseData("lightblue", LightBlue), - new TestCaseData("lightcoral", LightCoral), - new TestCaseData("lightcyan", LightCyan), - new TestCaseData("lightgoldenrodyellow", LightGoldenrodYellow), - new TestCaseData("lightgray", LightGray), - new TestCaseData("lightgreen", LightGreen), - new TestCaseData("lightgrey", LightGrey), - new TestCaseData("lightpink", LightPink), - new TestCaseData("lightsalmon", LightSalmon), - new TestCaseData("lightseagreen", LightSeaGreen), - new TestCaseData("lightskyblue", LightSkyBlue), - new TestCaseData("lightslategray", LightSlateGray), - new TestCaseData("lightslategrey", LightSlateGrey), - new TestCaseData("lightsteelblue", LightSteelBlue), - new TestCaseData("lightyellow", LightYellow), - new TestCaseData("lime", Lime), - new TestCaseData("limegreen", LimeGreen), - new TestCaseData("linen", Linen), - new TestCaseData("magenta", Magenta), - new TestCaseData("maroon", Maroon), - new TestCaseData("mediumaquamarine", MediumAquamarine), - new TestCaseData("mediumblue", MediumBlue), - new TestCaseData("mediumorchid", MediumOrchid), - new TestCaseData("mediumpurple", MediumPurple), - new TestCaseData("mediumseagreen", MediumSeaGreen), - new TestCaseData("mediumslateblue", MediumSlateBlue), - new TestCaseData("mediumspringgreen", MediumSpringGreen), - new TestCaseData("mediumturquoise", MediumTurquoise), - new TestCaseData("mediumvioletred", MediumVioletRed), - new TestCaseData("midnightblue", MidnightBlue), - new TestCaseData("mintcream", MintCream), - new TestCaseData("mistyrose", MistyRose), - new TestCaseData("moccasin", Moccasin), - new TestCaseData("navajowhite", NavajoWhite), - new TestCaseData("navy", Navy), - new TestCaseData("oldlace", OldLace), - new TestCaseData("olive", Olive), - new TestCaseData("olivedrab", OliveDrab), - new TestCaseData("orange", Orange), - new TestCaseData("orangered", OrangeRed), - new TestCaseData("orchid", Orchid), - new TestCaseData("palegoldenrod", PaleGoldenrod), - new TestCaseData("palegreen", PaleGreen), - new TestCaseData("paleturquoise", PaleTurquoise), - new TestCaseData("palevioletred", PaleVioletRed), - new TestCaseData("papayawhip", PapayaWhip), - new TestCaseData("peachpuff", PeachPuff), - new TestCaseData("peru", Peru), - new TestCaseData("pink", Pink), - new TestCaseData("plum", Plum), - new TestCaseData("powderblue", PowderBlue), - new TestCaseData("purple", Purple), - new TestCaseData("rebeccapurple", RebeccaPurple), - new TestCaseData("red", Red), - new TestCaseData("rosybrown", RosyBrown), - new TestCaseData("royalblue", RoyalBlue), - new TestCaseData("saddlebrown", SaddleBrown), - new TestCaseData("salmon", Salmon), - new TestCaseData("sandybrown", SandyBrown), - new TestCaseData("seagreen", SeaGreen), - new TestCaseData("seashell", Seashell), - new TestCaseData("sienna", Sienna), - new TestCaseData("silver", Silver), - new TestCaseData("skyblue", SkyBlue), - new TestCaseData("slateblue", SlateBlue), - new TestCaseData("slategray", SlateGray), - new TestCaseData("slategrey", SlateGrey), - new TestCaseData("snow", Snow), - new TestCaseData("springgreen", SpringGreen), - new TestCaseData("steelblue", SteelBlue), - new TestCaseData("tan", Tan), - new TestCaseData("teal", Teal), - new TestCaseData("thistle", Thistle), - new TestCaseData("tomato", Tomato), - new TestCaseData("turquoise", Turquoise), - new TestCaseData("violet", Violet), - new TestCaseData("wheat", Wheat), - new TestCaseData("white", White), - new TestCaseData("whitesmoke", WhiteSmoke), - new TestCaseData("yellow", Yellow), - new TestCaseData("yellowgreen", YellowGreen), - new TestCaseData("transparent", Css.Transparent) + new("aliceblue", AliceBlue), + new("antiquewhite", AntiqueWhite), + new("aqua", Aqua), + new("aquamarine", Aquamarine), + new("azure", Azure), + new("beige", Beige), + new("bisque", Bisque), + new("black", Black), + new("blanchedalmond", BlanchedAlmond), + new("blue", Blue), + new("blueviolet", BlueViolet), + new("brown", Brown), + new("burlywood", Burlywood), + new("cadetblue", CadetBlue), + new("chartreuse", Chartreuse), + new("chocolate", Chocolate), + new("coral", Coral), + new("cornflowerblue", CornflowerBlue), + new("cornsilk", Cornsilk), + new("crimson", Crimson), + new("cyan", Cyan), + new("darkblue", DarkBlue), + new("darkcyan", DarkCyan), + new("darkgoldenrod", DarkGoldenrod), + new("darkgray", DarkGray), + new("darkgreen", DarkGreen), + new("darkgrey", DarkGrey), + new("darkkhaki", DarkKhaki), + new("darkmagenta", DarkMagenta), + new("darkolivegreen", DarkOliveGreen), + new("darkorange", DarkOrange), + new("darkorchid", DarkOrchid), + new("darkred", DarkRed), + new("darksalmon", DarkSalmon), + new("darkseagreen", DarkSeaGreen), + new("darkslateblue", DarkSlateBlue), + new("darkslategray", DarkSlateGray), + new("darkslategrey", DarkSlateGrey), + new("darkturquoise", DarkTurquoise), + new("darkviolet", DarkViolet), + new("deeppink", DeepPink), + new("deepskyblue", DeepSkyBlue), + new("dimgray", DimGray), + new("dimgrey", DimGrey), + new("dodgerblue", DodgerBlue), + new("firebrick", FireBrick), + new("floralwhite", FloralWhite), + new("forestgreen", ForestGreen), + new("fuchsia", Fuchsia), + new("gainsboro", Gainsboro), + new("ghostwhite", GhostWhite), + new("gold", Gold), + new("goldenrod", Goldenrod), + new("gray", Gray), + new("green", Green), + new("greenyellow", GreenYellow), + new("grey", Grey), + new("honeydew", Honeydew), + new("hotpink", HotPink), + new("indianred", IndianRed), + new("indigo", Indigo), + new("ivory", Ivory), + new("khaki", Khaki), + new("lavender", Lavender), + new("lavenderblush", LavenderBlush), + new("lawngreen", LawnGreen), + new("lemonchiffon", LemonChiffon), + new("lightblue", LightBlue), + new("lightcoral", LightCoral), + new("lightcyan", LightCyan), + new("lightgoldenrodyellow", LightGoldenrodYellow), + new("lightgray", LightGray), + new("lightgreen", LightGreen), + new("lightgrey", LightGrey), + new("lightpink", LightPink), + new("lightsalmon", LightSalmon), + new("lightseagreen", LightSeaGreen), + new("lightskyblue", LightSkyBlue), + new("lightslategray", LightSlateGray), + new("lightslategrey", LightSlateGrey), + new("lightsteelblue", LightSteelBlue), + new("lightyellow", LightYellow), + new("lime", Lime), + new("limegreen", LimeGreen), + new("linen", Linen), + new("magenta", Magenta), + new("maroon", Maroon), + new("mediumaquamarine", MediumAquamarine), + new("mediumblue", MediumBlue), + new("mediumorchid", MediumOrchid), + new("mediumpurple", MediumPurple), + new("mediumseagreen", MediumSeaGreen), + new("mediumslateblue", MediumSlateBlue), + new("mediumspringgreen", MediumSpringGreen), + new("mediumturquoise", MediumTurquoise), + new("mediumvioletred", MediumVioletRed), + new("midnightblue", MidnightBlue), + new("mintcream", MintCream), + new("mistyrose", MistyRose), + new("moccasin", Moccasin), + new("navajowhite", NavajoWhite), + new("navy", Navy), + new("oldlace", OldLace), + new("olive", Olive), + new("olivedrab", OliveDrab), + new("orange", Orange), + new("orangered", OrangeRed), + new("orchid", Orchid), + new("palegoldenrod", PaleGoldenrod), + new("palegreen", PaleGreen), + new("paleturquoise", PaleTurquoise), + new("palevioletred", PaleVioletRed), + new("papayawhip", PapayaWhip), + new("peachpuff", PeachPuff), + new("peru", Peru), + new("pink", Pink), + new("plum", Plum), + new("powderblue", PowderBlue), + new("purple", Purple), + new("rebeccapurple", RebeccaPurple), + new("red", Red), + new("rosybrown", RosyBrown), + new("royalblue", RoyalBlue), + new("saddlebrown", SaddleBrown), + new("salmon", Salmon), + new("sandybrown", SandyBrown), + new("seagreen", SeaGreen), + new("seashell", Seashell), + new("sienna", Sienna), + new("silver", Silver), + new("skyblue", SkyBlue), + new("slateblue", SlateBlue), + new("slategray", SlateGray), + new("slategrey", SlateGrey), + new("snow", Snow), + new("springgreen", SpringGreen), + new("steelblue", SteelBlue), + new("tan", Tan), + new("teal", Teal), + new("thistle", Thistle), + new("tomato", Tomato), + new("turquoise", Turquoise), + new("violet", Violet), + new("wheat", Wheat), + new("white", White), + new("whitesmoke", WhiteSmoke), + new("yellow", Yellow), + new("yellowgreen", YellowGreen), + new("transparent", Css.Transparent) ]; [TestCaseSource(nameof(Rgb255TestData))] diff --git a/Unicolour.Tests/DatasetMacbethTests.cs b/Unicolour.Tests/DatasetMacbethTests.cs index 09ce596f..490953ce 100644 --- a/Unicolour.Tests/DatasetMacbethTests.cs +++ b/Unicolour.Tests/DatasetMacbethTests.cs @@ -9,7 +9,7 @@ namespace Wacton.Unicolour.Tests; public class DatasetMacbethTests { - private static readonly Configuration ConfigIlluminantC = new(xyzConfiguration: new XyzConfiguration(Illuminant.C, Observer.Degree2)); + private static readonly Configuration ConfigIlluminantC = new(xyzConfig: new XyzConfiguration(Illuminant.C, Observer.Degree2)); // https://poynton.ca/notes/color/GretagMacbeth-ColorChecker.html private static readonly List XyyTestData = diff --git a/Unicolour.Tests/DatasetXkcdTests.cs b/Unicolour.Tests/DatasetXkcdTests.cs index 5d3bd74e..8cef32df 100644 --- a/Unicolour.Tests/DatasetXkcdTests.cs +++ b/Unicolour.Tests/DatasetXkcdTests.cs @@ -964,955 +964,955 @@ public class DatasetXkcdTests private static readonly List HexTestData = [ - new TestCaseData("acid green", AcidGreen), - new TestCaseData("adobe", Adobe), - new TestCaseData("algae green", AlgaeGreen), - new TestCaseData("algae", Algae), - new TestCaseData("almost black", AlmostBlack), - new TestCaseData("amber", Amber), - new TestCaseData("amethyst", Amethyst), - new TestCaseData("apple green", AppleGreen), - new TestCaseData("apple", Apple), - new TestCaseData("apricot", Apricot), - new TestCaseData("aqua blue", AquaBlue), - new TestCaseData("aqua green", AquaGreen), - new TestCaseData("aqua marine", AquaMarine), - new TestCaseData("aqua", Aqua), - new TestCaseData("aquamarine", Aquamarine), - new TestCaseData("army green", ArmyGreen), - new TestCaseData("asparagus", Asparagus), - new TestCaseData("aubergine", Aubergine), - new TestCaseData("auburn", Auburn), - new TestCaseData("avocado green", AvocadoGreen), - new TestCaseData("avocado", Avocado), - new TestCaseData("azul", Azul), - new TestCaseData("azure", Azure), - new TestCaseData("baby blue", BabyBlue), - new TestCaseData("baby green", BabyGreen), - new TestCaseData("baby pink", BabyPink), - new TestCaseData("baby poo", BabyPoo), - new TestCaseData("baby poop green", BabyPoopGreen), - new TestCaseData("baby poop", BabyPoop), - new TestCaseData("baby puke green", BabyPukeGreen), - new TestCaseData("baby purple", BabyPurple), - new TestCaseData("baby shit brown", BabyShitBrown), - new TestCaseData("baby shit green", BabyShitGreen), - new TestCaseData("banana yellow", BananaYellow), - new TestCaseData("banana", Banana), - new TestCaseData("barbie pink", BarbiePink), - new TestCaseData("barf green", BarfGreen), - new TestCaseData("barney purple", BarneyPurple), - new TestCaseData("barney", Barney), - new TestCaseData("battleship grey", BattleshipGrey), - new TestCaseData("beige", Beige), - new TestCaseData("berry", Berry), - new TestCaseData("bile", Bile), - new TestCaseData("black", Black), - new TestCaseData("bland", Bland), - new TestCaseData("blood orange", BloodOrange), - new TestCaseData("blood red", BloodRed), - new TestCaseData("blood", Blood), - new TestCaseData("blue blue", BlueBlue), - new TestCaseData("blue green", BlueGreen), - new TestCaseData("blue grey", BlueGrey), - new TestCaseData("blue purple", BluePurple), - new TestCaseData("blue violet", BlueViolet), - new TestCaseData("blue with a hint of purple", BlueWithAHintOfPurple), - new TestCaseData("blue", Blue), - new TestCaseData("blue/green", Blue_Green), - new TestCaseData("blue/grey", Blue_Grey), - new TestCaseData("blue/purple", Blue_Purple), - new TestCaseData("blueberry", Blueberry), - new TestCaseData("bluegreen", Bluegreen), - new TestCaseData("bluegrey", Bluegrey), - new TestCaseData("bluey green", BlueyGreen), - new TestCaseData("bluey grey", BlueyGrey), - new TestCaseData("bluey purple", BlueyPurple), - new TestCaseData("bluish green", BluishGreen), - new TestCaseData("bluish grey", BluishGrey), - new TestCaseData("bluish purple", BluishPurple), - new TestCaseData("bluish", Bluish), - new TestCaseData("blurple", Blurple), - new TestCaseData("blush pink", BlushPink), - new TestCaseData("blush", Blush), - new TestCaseData("booger green", BoogerGreen), - new TestCaseData("booger", Booger), - new TestCaseData("bordeaux", Bordeaux), - new TestCaseData("boring green", BoringGreen), - new TestCaseData("bottle green", BottleGreen), - new TestCaseData("brick orange", BrickOrange), - new TestCaseData("brick red", BrickRed), - new TestCaseData("brick", Brick), - new TestCaseData("bright aqua", BrightAqua), - new TestCaseData("bright blue", BrightBlue), - new TestCaseData("bright cyan", BrightCyan), - new TestCaseData("bright green", BrightGreen), - new TestCaseData("bright lavender", BrightLavender), - new TestCaseData("bright light blue", BrightLightBlue), - new TestCaseData("bright light green", BrightLightGreen), - new TestCaseData("bright lilac", BrightLilac), - new TestCaseData("bright lime green", BrightLimeGreen), - new TestCaseData("bright lime", BrightLime), - new TestCaseData("bright magenta", BrightMagenta), - new TestCaseData("bright olive", BrightOlive), - new TestCaseData("bright orange", BrightOrange), - new TestCaseData("bright pink", BrightPink), - new TestCaseData("bright purple", BrightPurple), - new TestCaseData("bright red", BrightRed), - new TestCaseData("bright sea green", BrightSeaGreen), - new TestCaseData("bright sky blue", BrightSkyBlue), - new TestCaseData("bright teal", BrightTeal), - new TestCaseData("bright turquoise", BrightTurquoise), - new TestCaseData("bright violet", BrightViolet), - new TestCaseData("bright yellow green", BrightYellowGreen), - new TestCaseData("bright yellow", BrightYellow), - new TestCaseData("british racing green", BritishRacingGreen), - new TestCaseData("bronze", Bronze), - new TestCaseData("brown green", BrownGreen), - new TestCaseData("brown grey", BrownGrey), - new TestCaseData("brown orange", BrownOrange), - new TestCaseData("brown red", BrownRed), - new TestCaseData("brown yellow", BrownYellow), - new TestCaseData("brown", Brown), - new TestCaseData("brownish green", BrownishGreen), - new TestCaseData("brownish grey", BrownishGrey), - new TestCaseData("brownish orange", BrownishOrange), - new TestCaseData("brownish pink", BrownishPink), - new TestCaseData("brownish purple", BrownishPurple), - new TestCaseData("brownish red", BrownishRed), - new TestCaseData("brownish yellow", BrownishYellow), - new TestCaseData("brownish", Brownish), - new TestCaseData("browny green", BrownyGreen), - new TestCaseData("browny orange", BrownyOrange), - new TestCaseData("bruise", Bruise), - new TestCaseData("bubble gum pink", BubbleGumPink), - new TestCaseData("bubblegum pink", BubblegumPink), - new TestCaseData("bubblegum", Bubblegum), - new TestCaseData("buff", Buff), - new TestCaseData("burgundy", Burgundy), - new TestCaseData("burnt orange", BurntOrange), - new TestCaseData("burnt red", BurntRed), - new TestCaseData("burnt siena", BurntSiena), - new TestCaseData("burnt sienna", BurntSienna), - new TestCaseData("burnt umber", BurntUmber), - new TestCaseData("burnt yellow", BurntYellow), - new TestCaseData("burple", Burple), - new TestCaseData("butter yellow", ButterYellow), - new TestCaseData("butter", Butter), - new TestCaseData("butterscotch", Butterscotch), - new TestCaseData("cadet blue", CadetBlue), - new TestCaseData("camel", Camel), - new TestCaseData("camo green", CamoGreen), - new TestCaseData("camo", Camo), - new TestCaseData("camouflage green", CamouflageGreen), - new TestCaseData("canary yellow", CanaryYellow), - new TestCaseData("canary", Canary), - new TestCaseData("candy pink", CandyPink), - new TestCaseData("caramel", Caramel), - new TestCaseData("carmine", Carmine), - new TestCaseData("carnation pink", CarnationPink), - new TestCaseData("carnation", Carnation), - new TestCaseData("carolina blue", CarolinaBlue), - new TestCaseData("celadon", Celadon), - new TestCaseData("celery", Celery), - new TestCaseData("cement", Cement), - new TestCaseData("cerise", Cerise), - new TestCaseData("cerulean blue", CeruleanBlue), - new TestCaseData("cerulean", Cerulean), - new TestCaseData("charcoal grey", CharcoalGrey), - new TestCaseData("charcoal", Charcoal), - new TestCaseData("chartreuse", Chartreuse), - new TestCaseData("cherry red", CherryRed), - new TestCaseData("cherry", Cherry), - new TestCaseData("chestnut", Chestnut), - new TestCaseData("chocolate brown", ChocolateBrown), - new TestCaseData("chocolate", Chocolate), - new TestCaseData("cinnamon", Cinnamon), - new TestCaseData("claret", Claret), - new TestCaseData("clay brown", ClayBrown), - new TestCaseData("clay", Clay), - new TestCaseData("clear blue", ClearBlue), - new TestCaseData("cloudy blue", CloudyBlue), - new TestCaseData("cobalt blue", CobaltBlue), - new TestCaseData("cobalt", Cobalt), - new TestCaseData("cocoa", Cocoa), - new TestCaseData("coffee", Coffee), - new TestCaseData("cool blue", CoolBlue), - new TestCaseData("cool green", CoolGreen), - new TestCaseData("cool grey", CoolGrey), - new TestCaseData("copper", Copper), - new TestCaseData("coral pink", CoralPink), - new TestCaseData("coral", Coral), - new TestCaseData("cornflower blue", CornflowerBlue), - new TestCaseData("cornflower", Cornflower), - new TestCaseData("cranberry", Cranberry), - new TestCaseData("cream", Cream), - new TestCaseData("creme", Creme), - new TestCaseData("crimson", Crimson), - new TestCaseData("custard", Custard), - new TestCaseData("cyan", Cyan), - new TestCaseData("dandelion", Dandelion), - new TestCaseData("dark aqua", DarkAqua), - new TestCaseData("dark aquamarine", DarkAquamarine), - new TestCaseData("dark beige", DarkBeige), - new TestCaseData("dark blue green", DarkBlueGreen), - new TestCaseData("dark blue grey", DarkBlueGrey), - new TestCaseData("dark blue", DarkBlue), - new TestCaseData("dark brown", DarkBrown), - new TestCaseData("dark coral", DarkCoral), - new TestCaseData("dark cream", DarkCream), - new TestCaseData("dark cyan", DarkCyan), - new TestCaseData("dark forest green", DarkForestGreen), - new TestCaseData("dark fuchsia", DarkFuchsia), - new TestCaseData("dark gold", DarkGold), - new TestCaseData("dark grass green", DarkGrassGreen), - new TestCaseData("dark green blue", DarkGreenBlue), - new TestCaseData("dark green", DarkGreen), - new TestCaseData("dark grey blue", DarkGreyBlue), - new TestCaseData("dark grey", DarkGrey), - new TestCaseData("dark hot pink", DarkHotPink), - new TestCaseData("dark indigo", DarkIndigo), - new TestCaseData("dark khaki", DarkKhaki), - new TestCaseData("dark lavender", DarkLavender), - new TestCaseData("dark lilac", DarkLilac), - new TestCaseData("dark lime green", DarkLimeGreen), - new TestCaseData("dark lime", DarkLime), - new TestCaseData("dark magenta", DarkMagenta), - new TestCaseData("dark maroon", DarkMaroon), - new TestCaseData("dark mauve", DarkMauve), - new TestCaseData("dark mint green", DarkMintGreen), - new TestCaseData("dark mint", DarkMint), - new TestCaseData("dark mustard", DarkMustard), - new TestCaseData("dark navy blue", DarkNavyBlue), - new TestCaseData("dark navy", DarkNavy), - new TestCaseData("dark olive green", DarkOliveGreen), - new TestCaseData("dark olive", DarkOlive), - new TestCaseData("dark orange", DarkOrange), - new TestCaseData("dark pastel green", DarkPastelGreen), - new TestCaseData("dark peach", DarkPeach), - new TestCaseData("dark periwinkle", DarkPeriwinkle), - new TestCaseData("dark pink", DarkPink), - new TestCaseData("dark plum", DarkPlum), - new TestCaseData("dark purple", DarkPurple), - new TestCaseData("dark red", DarkRed), - new TestCaseData("dark rose", DarkRose), - new TestCaseData("dark royal blue", DarkRoyalBlue), - new TestCaseData("dark sage", DarkSage), - new TestCaseData("dark salmon", DarkSalmon), - new TestCaseData("dark sand", DarkSand), - new TestCaseData("dark sea green", DarkSeaGreen), - new TestCaseData("dark seafoam green", DarkSeafoamGreen), - new TestCaseData("dark seafoam", DarkSeafoam), - new TestCaseData("dark sky blue", DarkSkyBlue), - new TestCaseData("dark slate blue", DarkSlateBlue), - new TestCaseData("dark tan", DarkTan), - new TestCaseData("dark taupe", DarkTaupe), - new TestCaseData("dark teal", DarkTeal), - new TestCaseData("dark turquoise", DarkTurquoise), - new TestCaseData("dark violet", DarkViolet), - new TestCaseData("dark yellow green", DarkYellowGreen), - new TestCaseData("dark yellow", DarkYellow), - new TestCaseData("dark", Dark), - new TestCaseData("darkblue", Darkblue), - new TestCaseData("darkgreen", Darkgreen), - new TestCaseData("darkish blue", DarkishBlue), - new TestCaseData("darkish green", DarkishGreen), - new TestCaseData("darkish pink", DarkishPink), - new TestCaseData("darkish purple", DarkishPurple), - new TestCaseData("darkish red", DarkishRed), - new TestCaseData("deep aqua", DeepAqua), - new TestCaseData("deep blue", DeepBlue), - new TestCaseData("deep brown", DeepBrown), - new TestCaseData("deep green", DeepGreen), - new TestCaseData("deep lavender", DeepLavender), - new TestCaseData("deep lilac", DeepLilac), - new TestCaseData("deep magenta", DeepMagenta), - new TestCaseData("deep orange", DeepOrange), - new TestCaseData("deep pink", DeepPink), - new TestCaseData("deep purple", DeepPurple), - new TestCaseData("deep red", DeepRed), - new TestCaseData("deep rose", DeepRose), - new TestCaseData("deep sea blue", DeepSeaBlue), - new TestCaseData("deep sky blue", DeepSkyBlue), - new TestCaseData("deep teal", DeepTeal), - new TestCaseData("deep turquoise", DeepTurquoise), - new TestCaseData("deep violet", DeepViolet), - new TestCaseData("denim blue", DenimBlue), - new TestCaseData("denim", Denim), - new TestCaseData("desert", Desert), - new TestCaseData("diarrhea", Diarrhea), - new TestCaseData("dirt brown", DirtBrown), - new TestCaseData("dirt", Dirt), - new TestCaseData("dirty blue", DirtyBlue), - new TestCaseData("dirty green", DirtyGreen), - new TestCaseData("dirty orange", DirtyOrange), - new TestCaseData("dirty pink", DirtyPink), - new TestCaseData("dirty purple", DirtyPurple), - new TestCaseData("dirty yellow", DirtyYellow), - new TestCaseData("dodger blue", DodgerBlue), - new TestCaseData("drab green", DrabGreen), - new TestCaseData("drab", Drab), - new TestCaseData("dried blood", DriedBlood), - new TestCaseData("duck egg blue", DuckEggBlue), - new TestCaseData("dull blue", DullBlue), - new TestCaseData("dull brown", DullBrown), - new TestCaseData("dull green", DullGreen), - new TestCaseData("dull orange", DullOrange), - new TestCaseData("dull pink", DullPink), - new TestCaseData("dull purple", DullPurple), - new TestCaseData("dull red", DullRed), - new TestCaseData("dull teal", DullTeal), - new TestCaseData("dull yellow", DullYellow), - new TestCaseData("dusk blue", DuskBlue), - new TestCaseData("dusk", Dusk), - new TestCaseData("dusky blue", DuskyBlue), - new TestCaseData("dusky pink", DuskyPink), - new TestCaseData("dusky purple", DuskyPurple), - new TestCaseData("dusky rose", DuskyRose), - new TestCaseData("dust", Dust), - new TestCaseData("dusty blue", DustyBlue), - new TestCaseData("dusty green", DustyGreen), - new TestCaseData("dusty lavender", DustyLavender), - new TestCaseData("dusty orange", DustyOrange), - new TestCaseData("dusty pink", DustyPink), - new TestCaseData("dusty purple", DustyPurple), - new TestCaseData("dusty red", DustyRed), - new TestCaseData("dusty rose", DustyRose), - new TestCaseData("dusty teal", DustyTeal), - new TestCaseData("earth", Earth), - new TestCaseData("easter green", EasterGreen), - new TestCaseData("easter purple", EasterPurple), - new TestCaseData("ecru", Ecru), - new TestCaseData("egg shell", EggShell), - new TestCaseData("eggplant purple", EggplantPurple), - new TestCaseData("eggplant", Eggplant), - new TestCaseData("eggshell blue", EggshellBlue), - new TestCaseData("eggshell", Eggshell), - new TestCaseData("electric blue", ElectricBlue), - new TestCaseData("electric green", ElectricGreen), - new TestCaseData("electric lime", ElectricLime), - new TestCaseData("electric pink", ElectricPink), - new TestCaseData("electric purple", ElectricPurple), - new TestCaseData("emerald green", EmeraldGreen), - new TestCaseData("emerald", Emerald), - new TestCaseData("evergreen", Evergreen), - new TestCaseData("faded blue", FadedBlue), - new TestCaseData("faded green", FadedGreen), - new TestCaseData("faded orange", FadedOrange), - new TestCaseData("faded pink", FadedPink), - new TestCaseData("faded purple", FadedPurple), - new TestCaseData("faded red", FadedRed), - new TestCaseData("faded yellow", FadedYellow), - new TestCaseData("fawn", Fawn), - new TestCaseData("fern green", FernGreen), - new TestCaseData("fern", Fern), - new TestCaseData("fire engine red", FireEngineRed), - new TestCaseData("flat blue", FlatBlue), - new TestCaseData("flat green", FlatGreen), - new TestCaseData("fluorescent green", FluorescentGreen), - new TestCaseData("fluro green", FluroGreen), - new TestCaseData("foam green", FoamGreen), - new TestCaseData("forest green", ForestGreen), - new TestCaseData("forest", Forest), - new TestCaseData("forrest green", ForrestGreen), - new TestCaseData("french blue", FrenchBlue), - new TestCaseData("fresh green", FreshGreen), - new TestCaseData("frog green", FrogGreen), - new TestCaseData("fuchsia", Fuchsia), - new TestCaseData("gold", Gold), - new TestCaseData("golden brown", GoldenBrown), - new TestCaseData("golden rod", GoldenRod), - new TestCaseData("golden yellow", GoldenYellow), - new TestCaseData("golden", Golden), - new TestCaseData("goldenrod", Goldenrod), - new TestCaseData("grape purple", GrapePurple), - new TestCaseData("grape", Grape), - new TestCaseData("grapefruit", Grapefruit), - new TestCaseData("grass green", GrassGreen), - new TestCaseData("grass", Grass), - new TestCaseData("grassy green", GrassyGreen), - new TestCaseData("green apple", GreenApple), - new TestCaseData("green blue", GreenBlue), - new TestCaseData("green brown", GreenBrown), - new TestCaseData("green grey", GreenGrey), - new TestCaseData("green teal", GreenTeal), - new TestCaseData("green yellow", GreenYellow), - new TestCaseData("green", Green), - new TestCaseData("green/blue", Green_Blue), - new TestCaseData("green/yellow", Green_Yellow), - new TestCaseData("greenblue", Greenblue), - new TestCaseData("greenish beige", GreenishBeige), - new TestCaseData("greenish blue", GreenishBlue), - new TestCaseData("greenish brown", GreenishBrown), - new TestCaseData("greenish cyan", GreenishCyan), - new TestCaseData("greenish grey", GreenishGrey), - new TestCaseData("greenish tan", GreenishTan), - new TestCaseData("greenish teal", GreenishTeal), - new TestCaseData("greenish turquoise", GreenishTurquoise), - new TestCaseData("greenish yellow", GreenishYellow), - new TestCaseData("greenish", Greenish), - new TestCaseData("greeny blue", GreenyBlue), - new TestCaseData("greeny brown", GreenyBrown), - new TestCaseData("greeny grey", GreenyGrey), - new TestCaseData("greeny yellow", GreenyYellow), - new TestCaseData("grey blue", GreyBlue), - new TestCaseData("grey brown", GreyBrown), - new TestCaseData("grey green", GreyGreen), - new TestCaseData("grey pink", GreyPink), - new TestCaseData("grey purple", GreyPurple), - new TestCaseData("grey teal", GreyTeal), - new TestCaseData("grey", Grey), - new TestCaseData("grey/blue", Grey_Blue), - new TestCaseData("grey/green", Grey_Green), - new TestCaseData("greyblue", Greyblue), - new TestCaseData("greyish blue", GreyishBlue), - new TestCaseData("greyish brown", GreyishBrown), - new TestCaseData("greyish green", GreyishGreen), - new TestCaseData("greyish pink", GreyishPink), - new TestCaseData("greyish purple", GreyishPurple), - new TestCaseData("greyish teal", GreyishTeal), - new TestCaseData("greyish", Greyish), - new TestCaseData("gross green", GrossGreen), - new TestCaseData("gunmetal", Gunmetal), - new TestCaseData("hazel", Hazel), - new TestCaseData("heather", Heather), - new TestCaseData("heliotrope", Heliotrope), - new TestCaseData("highlighter green", HighlighterGreen), - new TestCaseData("hospital green", HospitalGreen), - new TestCaseData("hot green", HotGreen), - new TestCaseData("hot magenta", HotMagenta), - new TestCaseData("hot pink", HotPink), - new TestCaseData("hot purple", HotPurple), - new TestCaseData("hunter green", HunterGreen), - new TestCaseData("ice blue", IceBlue), - new TestCaseData("ice", Ice), - new TestCaseData("icky green", IckyGreen), - new TestCaseData("indian red", IndianRed), - new TestCaseData("indigo blue", IndigoBlue), - new TestCaseData("indigo", Indigo), - new TestCaseData("iris", Iris), - new TestCaseData("irish green", IrishGreen), - new TestCaseData("ivory", Ivory), - new TestCaseData("jade green", JadeGreen), - new TestCaseData("jade", Jade), - new TestCaseData("jungle green", JungleGreen), - new TestCaseData("kelley green", KelleyGreen), - new TestCaseData("kelly green", KellyGreen), - new TestCaseData("kermit green", KermitGreen), - new TestCaseData("key lime", KeyLime), - new TestCaseData("khaki green", KhakiGreen), - new TestCaseData("khaki", Khaki), - new TestCaseData("kiwi green", KiwiGreen), - new TestCaseData("kiwi", Kiwi), - new TestCaseData("lavender blue", LavenderBlue), - new TestCaseData("lavender pink", LavenderPink), - new TestCaseData("lavender", Lavender), - new TestCaseData("lawn green", LawnGreen), - new TestCaseData("leaf green", LeafGreen), - new TestCaseData("leaf", Leaf), - new TestCaseData("leafy green", LeafyGreen), - new TestCaseData("leather", Leather), - new TestCaseData("lemon green", LemonGreen), - new TestCaseData("lemon lime", LemonLime), - new TestCaseData("lemon yellow", LemonYellow), - new TestCaseData("lemon", Lemon), - new TestCaseData("lichen", Lichen), - new TestCaseData("light aqua", LightAqua), - new TestCaseData("light aquamarine", LightAquamarine), - new TestCaseData("light beige", LightBeige), - new TestCaseData("light blue green", LightBlueGreen), - new TestCaseData("light blue grey", LightBlueGrey), - new TestCaseData("light blue", LightBlue), - new TestCaseData("light bluish green", LightBluishGreen), - new TestCaseData("light bright green", LightBrightGreen), - new TestCaseData("light brown", LightBrown), - new TestCaseData("light burgundy", LightBurgundy), - new TestCaseData("light cyan", LightCyan), - new TestCaseData("light eggplant", LightEggplant), - new TestCaseData("light forest green", LightForestGreen), - new TestCaseData("light gold", LightGold), - new TestCaseData("light grass green", LightGrassGreen), - new TestCaseData("light green blue", LightGreenBlue), - new TestCaseData("light green", LightGreen), - new TestCaseData("light greenish blue", LightGreenishBlue), - new TestCaseData("light grey blue", LightGreyBlue), - new TestCaseData("light grey green", LightGreyGreen), - new TestCaseData("light grey", LightGrey), - new TestCaseData("light indigo", LightIndigo), - new TestCaseData("light khaki", LightKhaki), - new TestCaseData("light lavendar", LightLavendar), - new TestCaseData("light lavender", LightLavender), - new TestCaseData("light light blue", LightLightBlue), - new TestCaseData("light light green", LightLightGreen), - new TestCaseData("light lilac", LightLilac), - new TestCaseData("light lime green", LightLimeGreen), - new TestCaseData("light lime", LightLime), - new TestCaseData("light magenta", LightMagenta), - new TestCaseData("light maroon", LightMaroon), - new TestCaseData("light mauve", LightMauve), - new TestCaseData("light mint green", LightMintGreen), - new TestCaseData("light mint", LightMint), - new TestCaseData("light moss green", LightMossGreen), - new TestCaseData("light mustard", LightMustard), - new TestCaseData("light navy blue", LightNavyBlue), - new TestCaseData("light navy", LightNavy), - new TestCaseData("light neon green", LightNeonGreen), - new TestCaseData("light olive green", LightOliveGreen), - new TestCaseData("light olive", LightOlive), - new TestCaseData("light orange", LightOrange), - new TestCaseData("light pastel green", LightPastelGreen), - new TestCaseData("light pea green", LightPeaGreen), - new TestCaseData("light peach", LightPeach), - new TestCaseData("light periwinkle", LightPeriwinkle), - new TestCaseData("light pink", LightPink), - new TestCaseData("light plum", LightPlum), - new TestCaseData("light purple", LightPurple), - new TestCaseData("light red", LightRed), - new TestCaseData("light rose", LightRose), - new TestCaseData("light royal blue", LightRoyalBlue), - new TestCaseData("light sage", LightSage), - new TestCaseData("light salmon", LightSalmon), - new TestCaseData("light sea green", LightSeaGreen), - new TestCaseData("light seafoam green", LightSeafoamGreen), - new TestCaseData("light seafoam", LightSeafoam), - new TestCaseData("light sky blue", LightSkyBlue), - new TestCaseData("light tan", LightTan), - new TestCaseData("light teal", LightTeal), - new TestCaseData("light turquoise", LightTurquoise), - new TestCaseData("light urple", LightUrple), - new TestCaseData("light violet", LightViolet), - new TestCaseData("light yellow green", LightYellowGreen), - new TestCaseData("light yellow", LightYellow), - new TestCaseData("light yellowish green", LightYellowishGreen), - new TestCaseData("lightblue", Lightblue), - new TestCaseData("lighter green", LighterGreen), - new TestCaseData("lighter purple", LighterPurple), - new TestCaseData("lightgreen", Lightgreen), - new TestCaseData("lightish blue", LightishBlue), - new TestCaseData("lightish green", LightishGreen), - new TestCaseData("lightish purple", LightishPurple), - new TestCaseData("lightish red", LightishRed), - new TestCaseData("lilac", Lilac), - new TestCaseData("liliac", Liliac), - new TestCaseData("lime green", LimeGreen), - new TestCaseData("lime yellow", LimeYellow), - new TestCaseData("lime", Lime), - new TestCaseData("lipstick red", LipstickRed), - new TestCaseData("lipstick", Lipstick), - new TestCaseData("macaroni and cheese", MacaroniAndCheese), - new TestCaseData("magenta", Magenta), - new TestCaseData("mahogany", Mahogany), - new TestCaseData("maize", Maize), - new TestCaseData("mango", Mango), - new TestCaseData("manilla", Manilla), - new TestCaseData("marigold", Marigold), - new TestCaseData("marine blue", MarineBlue), - new TestCaseData("marine", Marine), - new TestCaseData("maroon", Maroon), - new TestCaseData("mauve", Mauve), - new TestCaseData("medium blue", MediumBlue), - new TestCaseData("medium brown", MediumBrown), - new TestCaseData("medium green", MediumGreen), - new TestCaseData("medium grey", MediumGrey), - new TestCaseData("medium pink", MediumPink), - new TestCaseData("medium purple", MediumPurple), - new TestCaseData("melon", Melon), - new TestCaseData("merlot", Merlot), - new TestCaseData("metallic blue", MetallicBlue), - new TestCaseData("mid blue", MidBlue), - new TestCaseData("mid green", MidGreen), - new TestCaseData("midnight blue", MidnightBlue), - new TestCaseData("midnight purple", MidnightPurple), - new TestCaseData("midnight", Midnight), - new TestCaseData("military green", MilitaryGreen), - new TestCaseData("milk chocolate", MilkChocolate), - new TestCaseData("mint green", MintGreen), - new TestCaseData("mint", Mint), - new TestCaseData("minty green", MintyGreen), - new TestCaseData("mocha", Mocha), - new TestCaseData("moss green", MossGreen), - new TestCaseData("moss", Moss), - new TestCaseData("mossy green", MossyGreen), - new TestCaseData("mud brown", MudBrown), - new TestCaseData("mud green", MudGreen), - new TestCaseData("mud", Mud), - new TestCaseData("muddy brown", MuddyBrown), - new TestCaseData("muddy green", MuddyGreen), - new TestCaseData("muddy yellow", MuddyYellow), - new TestCaseData("mulberry", Mulberry), - new TestCaseData("murky green", MurkyGreen), - new TestCaseData("mushroom", Mushroom), - new TestCaseData("mustard brown", MustardBrown), - new TestCaseData("mustard green", MustardGreen), - new TestCaseData("mustard yellow", MustardYellow), - new TestCaseData("mustard", Mustard), - new TestCaseData("muted blue", MutedBlue), - new TestCaseData("muted green", MutedGreen), - new TestCaseData("muted pink", MutedPink), - new TestCaseData("muted purple", MutedPurple), - new TestCaseData("nasty green", NastyGreen), - new TestCaseData("navy blue", NavyBlue), - new TestCaseData("navy green", NavyGreen), - new TestCaseData("navy", Navy), - new TestCaseData("neon blue", NeonBlue), - new TestCaseData("neon green", NeonGreen), - new TestCaseData("neon pink", NeonPink), - new TestCaseData("neon purple", NeonPurple), - new TestCaseData("neon red", NeonRed), - new TestCaseData("neon yellow", NeonYellow), - new TestCaseData("nice blue", NiceBlue), - new TestCaseData("night blue", NightBlue), - new TestCaseData("ocean blue", OceanBlue), - new TestCaseData("ocean green", OceanGreen), - new TestCaseData("ocean", Ocean), - new TestCaseData("ocher", Ocher), - new TestCaseData("ochre", Ochre), - new TestCaseData("ocre", Ocre), - new TestCaseData("off blue", OffBlue), - new TestCaseData("off green", OffGreen), - new TestCaseData("off white", OffWhite), - new TestCaseData("off yellow", OffYellow), - new TestCaseData("old pink", OldPink), - new TestCaseData("old rose", OldRose), - new TestCaseData("olive brown", OliveBrown), - new TestCaseData("olive drab", OliveDrab), - new TestCaseData("olive green", OliveGreen), - new TestCaseData("olive yellow", OliveYellow), - new TestCaseData("olive", Olive), - new TestCaseData("orange brown", OrangeBrown), - new TestCaseData("orange pink", OrangePink), - new TestCaseData("orange red", OrangeRed), - new TestCaseData("orange yellow", OrangeYellow), - new TestCaseData("orange", Orange), - new TestCaseData("orangeish", Orangeish), - new TestCaseData("orangered", Orangered), - new TestCaseData("orangey brown", OrangeyBrown), - new TestCaseData("orangey red", OrangeyRed), - new TestCaseData("orangey yellow", OrangeyYellow), - new TestCaseData("orangish brown", OrangishBrown), - new TestCaseData("orangish red", OrangishRed), - new TestCaseData("orangish", Orangish), - new TestCaseData("orchid", Orchid), - new TestCaseData("pale aqua", PaleAqua), - new TestCaseData("pale blue", PaleBlue), - new TestCaseData("pale brown", PaleBrown), - new TestCaseData("pale cyan", PaleCyan), - new TestCaseData("pale gold", PaleGold), - new TestCaseData("pale green", PaleGreen), - new TestCaseData("pale grey", PaleGrey), - new TestCaseData("pale lavender", PaleLavender), - new TestCaseData("pale light green", PaleLightGreen), - new TestCaseData("pale lilac", PaleLilac), - new TestCaseData("pale lime green", PaleLimeGreen), - new TestCaseData("pale lime", PaleLime), - new TestCaseData("pale magenta", PaleMagenta), - new TestCaseData("pale mauve", PaleMauve), - new TestCaseData("pale olive green", PaleOliveGreen), - new TestCaseData("pale olive", PaleOlive), - new TestCaseData("pale orange", PaleOrange), - new TestCaseData("pale peach", PalePeach), - new TestCaseData("pale pink", PalePink), - new TestCaseData("pale purple", PalePurple), - new TestCaseData("pale red", PaleRed), - new TestCaseData("pale rose", PaleRose), - new TestCaseData("pale salmon", PaleSalmon), - new TestCaseData("pale sky blue", PaleSkyBlue), - new TestCaseData("pale teal", PaleTeal), - new TestCaseData("pale turquoise", PaleTurquoise), - new TestCaseData("pale violet", PaleViolet), - new TestCaseData("pale yellow", PaleYellow), - new TestCaseData("pale", Pale), - new TestCaseData("parchment", Parchment), - new TestCaseData("pastel blue", PastelBlue), - new TestCaseData("pastel green", PastelGreen), - new TestCaseData("pastel orange", PastelOrange), - new TestCaseData("pastel pink", PastelPink), - new TestCaseData("pastel purple", PastelPurple), - new TestCaseData("pastel red", PastelRed), - new TestCaseData("pastel yellow", PastelYellow), - new TestCaseData("pea green", PeaGreen), - new TestCaseData("pea soup green", PeaSoupGreen), - new TestCaseData("pea soup", PeaSoup), - new TestCaseData("pea", Pea), - new TestCaseData("peach", Peach), - new TestCaseData("peachy pink", PeachyPink), - new TestCaseData("peacock blue", PeacockBlue), - new TestCaseData("pear", Pear), - new TestCaseData("periwinkle blue", PeriwinkleBlue), - new TestCaseData("periwinkle", Periwinkle), - new TestCaseData("perrywinkle", Perrywinkle), - new TestCaseData("petrol", Petrol), - new TestCaseData("pig pink", PigPink), - new TestCaseData("pine green", PineGreen), - new TestCaseData("pine", Pine), - new TestCaseData("pink purple", PinkPurple), - new TestCaseData("pink red", PinkRed), - new TestCaseData("pink", Pink), - new TestCaseData("pink/purple", Pink_Purple), - new TestCaseData("pinkish brown", PinkishBrown), - new TestCaseData("pinkish grey", PinkishGrey), - new TestCaseData("pinkish orange", PinkishOrange), - new TestCaseData("pinkish purple", PinkishPurple), - new TestCaseData("pinkish red", PinkishRed), - new TestCaseData("pinkish tan", PinkishTan), - new TestCaseData("pinkish", Pinkish), - new TestCaseData("pinky purple", PinkyPurple), - new TestCaseData("pinky red", PinkyRed), - new TestCaseData("pinky", Pinky), - new TestCaseData("piss yellow", PissYellow), - new TestCaseData("pistachio", Pistachio), - new TestCaseData("plum purple", PlumPurple), - new TestCaseData("plum", Plum), - new TestCaseData("poison green", PoisonGreen), - new TestCaseData("poo brown", PooBrown), - new TestCaseData("poo", Poo), - new TestCaseData("poop brown", PoopBrown), - new TestCaseData("poop green", PoopGreen), - new TestCaseData("poop", Poop), - new TestCaseData("powder blue", PowderBlue), - new TestCaseData("powder pink", PowderPink), - new TestCaseData("primary blue", PrimaryBlue), - new TestCaseData("prussian blue", PrussianBlue), - new TestCaseData("puce", Puce), - new TestCaseData("puke brown", PukeBrown), - new TestCaseData("puke green", PukeGreen), - new TestCaseData("puke yellow", PukeYellow), - new TestCaseData("puke", Puke), - new TestCaseData("pumpkin orange", PumpkinOrange), - new TestCaseData("pumpkin", Pumpkin), - new TestCaseData("pure blue", PureBlue), - new TestCaseData("purple blue", PurpleBlue), - new TestCaseData("purple brown", PurpleBrown), - new TestCaseData("purple grey", PurpleGrey), - new TestCaseData("purple pink", PurplePink), - new TestCaseData("purple red", PurpleRed), - new TestCaseData("purple", Purple), - new TestCaseData("purple/blue", Purple_Blue), - new TestCaseData("purple/pink", Purple_Pink), - new TestCaseData("purpleish blue", PurpleishBlue), - new TestCaseData("purpleish pink", PurpleishPink), - new TestCaseData("purpleish", Purpleish), - new TestCaseData("purpley blue", PurpleyBlue), - new TestCaseData("purpley grey", PurpleyGrey), - new TestCaseData("purpley pink", PurpleyPink), - new TestCaseData("purpley", Purpley), - new TestCaseData("purplish blue", PurplishBlue), - new TestCaseData("purplish brown", PurplishBrown), - new TestCaseData("purplish grey", PurplishGrey), - new TestCaseData("purplish pink", PurplishPink), - new TestCaseData("purplish red", PurplishRed), - new TestCaseData("purplish", Purplish), - new TestCaseData("purply blue", PurplyBlue), - new TestCaseData("purply pink", PurplyPink), - new TestCaseData("purply", Purply), - new TestCaseData("putty", Putty), - new TestCaseData("racing green", RacingGreen), - new TestCaseData("radioactive green", RadioactiveGreen), - new TestCaseData("raspberry", Raspberry), - new TestCaseData("raw sienna", RawSienna), - new TestCaseData("raw umber", RawUmber), - new TestCaseData("really light blue", ReallyLightBlue), - new TestCaseData("red brown", RedBrown), - new TestCaseData("red orange", RedOrange), - new TestCaseData("red pink", RedPink), - new TestCaseData("red purple", RedPurple), - new TestCaseData("red violet", RedViolet), - new TestCaseData("red wine", RedWine), - new TestCaseData("red", Red), - new TestCaseData("reddish brown", ReddishBrown), - new TestCaseData("reddish grey", ReddishGrey), - new TestCaseData("reddish orange", ReddishOrange), - new TestCaseData("reddish pink", ReddishPink), - new TestCaseData("reddish purple", ReddishPurple), - new TestCaseData("reddish", Reddish), - new TestCaseData("reddy brown", ReddyBrown), - new TestCaseData("rich blue", RichBlue), - new TestCaseData("rich purple", RichPurple), - new TestCaseData("robin egg blue", RobinEggBlue), - new TestCaseData("robin's egg blue", RobinsEggBlue), - new TestCaseData("robin's egg", RobinsEgg), - new TestCaseData("rosa", Rosa), - new TestCaseData("rose pink", RosePink), - new TestCaseData("rose red", RoseRed), - new TestCaseData("rose", Rose), - new TestCaseData("rosy pink", RosyPink), - new TestCaseData("rouge", Rouge), - new TestCaseData("royal blue", RoyalBlue), - new TestCaseData("royal purple", RoyalPurple), - new TestCaseData("royal", Royal), - new TestCaseData("ruby", Ruby), - new TestCaseData("russet", Russet), - new TestCaseData("rust brown", RustBrown), - new TestCaseData("rust orange", RustOrange), - new TestCaseData("rust red", RustRed), - new TestCaseData("rust", Rust), - new TestCaseData("rusty orange", RustyOrange), - new TestCaseData("rusty red", RustyRed), - new TestCaseData("saffron", Saffron), - new TestCaseData("sage green", SageGreen), - new TestCaseData("sage", Sage), - new TestCaseData("salmon pink", SalmonPink), - new TestCaseData("salmon", Salmon), - new TestCaseData("sand brown", SandBrown), - new TestCaseData("sand yellow", SandYellow), - new TestCaseData("sand", Sand), - new TestCaseData("sandstone", Sandstone), - new TestCaseData("sandy brown", SandyBrown), - new TestCaseData("sandy yellow", SandyYellow), - new TestCaseData("sandy", Sandy), - new TestCaseData("sap green", SapGreen), - new TestCaseData("sapphire", Sapphire), - new TestCaseData("scarlet", Scarlet), - new TestCaseData("sea blue", SeaBlue), - new TestCaseData("sea green", SeaGreen), - new TestCaseData("sea", Sea), - new TestCaseData("seafoam blue", SeafoamBlue), - new TestCaseData("seafoam green", SeafoamGreen), - new TestCaseData("seafoam", Seafoam), - new TestCaseData("seaweed green", SeaweedGreen), - new TestCaseData("seaweed", Seaweed), - new TestCaseData("sepia", Sepia), - new TestCaseData("shamrock green", ShamrockGreen), - new TestCaseData("shamrock", Shamrock), - new TestCaseData("shit brown", ShitBrown), - new TestCaseData("shit green", ShitGreen), - new TestCaseData("shit", Shit), - new TestCaseData("shocking pink", ShockingPink), - new TestCaseData("sick green", SickGreen), - new TestCaseData("sickly green", SicklyGreen), - new TestCaseData("sickly yellow", SicklyYellow), - new TestCaseData("sienna", Sienna), - new TestCaseData("silver", Silver), - new TestCaseData("sky blue", SkyBlue), - new TestCaseData("sky", Sky), - new TestCaseData("slate blue", SlateBlue), - new TestCaseData("slate green", SlateGreen), - new TestCaseData("slate grey", SlateGrey), - new TestCaseData("slate", Slate), - new TestCaseData("slime green", SlimeGreen), - new TestCaseData("snot green", SnotGreen), - new TestCaseData("snot", Snot), - new TestCaseData("soft blue", SoftBlue), - new TestCaseData("soft green", SoftGreen), - new TestCaseData("soft pink", SoftPink), - new TestCaseData("soft purple", SoftPurple), - new TestCaseData("spearmint", Spearmint), - new TestCaseData("spring green", SpringGreen), - new TestCaseData("spruce", Spruce), - new TestCaseData("squash", Squash), - new TestCaseData("steel blue", SteelBlue), - new TestCaseData("steel grey", SteelGrey), - new TestCaseData("steel", Steel), - new TestCaseData("stone", Stone), - new TestCaseData("stormy blue", StormyBlue), - new TestCaseData("straw", Straw), - new TestCaseData("strawberry", Strawberry), - new TestCaseData("strong blue", StrongBlue), - new TestCaseData("strong pink", StrongPink), - new TestCaseData("sun yellow", SunYellow), - new TestCaseData("sunflower yellow", SunflowerYellow), - new TestCaseData("sunflower", Sunflower), - new TestCaseData("sunny yellow", SunnyYellow), - new TestCaseData("sunshine yellow", SunshineYellow), - new TestCaseData("swamp green", SwampGreen), - new TestCaseData("swamp", Swamp), - new TestCaseData("tan brown", TanBrown), - new TestCaseData("tan green", TanGreen), - new TestCaseData("tan", Tan), - new TestCaseData("tangerine", Tangerine), - new TestCaseData("taupe", Taupe), - new TestCaseData("tea green", TeaGreen), - new TestCaseData("tea", Tea), - new TestCaseData("teal blue", TealBlue), - new TestCaseData("teal green", TealGreen), - new TestCaseData("teal", Teal), - new TestCaseData("tealish green", TealishGreen), - new TestCaseData("tealish", Tealish), - new TestCaseData("terra cotta", TerraCotta), - new TestCaseData("terracota", Terracota), - new TestCaseData("terracotta", Terracotta), - new TestCaseData("tiffany blue", TiffanyBlue), - new TestCaseData("tomato red", TomatoRed), - new TestCaseData("tomato", Tomato), - new TestCaseData("topaz", Topaz), - new TestCaseData("toupe", Toupe), - new TestCaseData("toxic green", ToxicGreen), - new TestCaseData("tree green", TreeGreen), - new TestCaseData("true blue", TrueBlue), - new TestCaseData("true green", TrueGreen), - new TestCaseData("turquoise blue", TurquoiseBlue), - new TestCaseData("turquoise green", TurquoiseGreen), - new TestCaseData("turquoise", Turquoise), - new TestCaseData("turtle green", TurtleGreen), - new TestCaseData("twilight blue", TwilightBlue), - new TestCaseData("twilight", Xkcd.Twilight), - new TestCaseData("ugly blue", UglyBlue), - new TestCaseData("ugly brown", UglyBrown), - new TestCaseData("ugly green", UglyGreen), - new TestCaseData("ugly pink", UglyPink), - new TestCaseData("ugly purple", UglyPurple), - new TestCaseData("ugly yellow", UglyYellow), - new TestCaseData("ultramarine blue", UltramarineBlue), - new TestCaseData("ultramarine", Ultramarine), - new TestCaseData("umber", Umber), - new TestCaseData("velvet", Velvet), - new TestCaseData("vermillion", Vermillion), - new TestCaseData("very dark blue", VeryDarkBlue), - new TestCaseData("very dark brown", VeryDarkBrown), - new TestCaseData("very dark green", VeryDarkGreen), - new TestCaseData("very dark purple", VeryDarkPurple), - new TestCaseData("very light blue", VeryLightBlue), - new TestCaseData("very light brown", VeryLightBrown), - new TestCaseData("very light green", VeryLightGreen), - new TestCaseData("very light pink", VeryLightPink), - new TestCaseData("very light purple", VeryLightPurple), - new TestCaseData("very pale blue", VeryPaleBlue), - new TestCaseData("very pale green", VeryPaleGreen), - new TestCaseData("vibrant blue", VibrantBlue), - new TestCaseData("vibrant green", VibrantGreen), - new TestCaseData("vibrant purple", VibrantPurple), - new TestCaseData("violet blue", VioletBlue), - new TestCaseData("violet pink", VioletPink), - new TestCaseData("violet red", VioletRed), - new TestCaseData("violet", Violet), - new TestCaseData("viridian", Viridian), - new TestCaseData("vivid blue", VividBlue), - new TestCaseData("vivid green", VividGreen), - new TestCaseData("vivid purple", VividPurple), - new TestCaseData("vomit green", VomitGreen), - new TestCaseData("vomit yellow", VomitYellow), - new TestCaseData("vomit", Vomit), - new TestCaseData("warm blue", WarmBlue), - new TestCaseData("warm brown", WarmBrown), - new TestCaseData("warm grey", WarmGrey), - new TestCaseData("warm pink", WarmPink), - new TestCaseData("warm purple", WarmPurple), - new TestCaseData("washed out green", WashedOutGreen), - new TestCaseData("water blue", WaterBlue), - new TestCaseData("watermelon", Watermelon), - new TestCaseData("weird green", WeirdGreen), - new TestCaseData("wheat", Wheat), - new TestCaseData("white", White), - new TestCaseData("windows blue", WindowsBlue), - new TestCaseData("wine red", WineRed), - new TestCaseData("wine", Wine), - new TestCaseData("wintergreen", Wintergreen), - new TestCaseData("wisteria", Wisteria), - new TestCaseData("yellow brown", YellowBrown), - new TestCaseData("yellow green", YellowGreen), - new TestCaseData("yellow ochre", YellowOchre), - new TestCaseData("yellow orange", YellowOrange), - new TestCaseData("yellow tan", YellowTan), - new TestCaseData("yellow", Yellow), - new TestCaseData("yellow/green", Yellow_Green), - new TestCaseData("yellowgreen", Yellowgreen), - new TestCaseData("yellowish brown", YellowishBrown), - new TestCaseData("yellowish green", YellowishGreen), - new TestCaseData("yellowish orange", YellowishOrange), - new TestCaseData("yellowish tan", YellowishTan), - new TestCaseData("yellowish", Yellowish), - new TestCaseData("yellowy brown", YellowyBrown), - new TestCaseData("yellowy green", YellowyGreen) + new("acid green", AcidGreen), + new("adobe", Adobe), + new("algae green", AlgaeGreen), + new("algae", Algae), + new("almost black", AlmostBlack), + new("amber", Amber), + new("amethyst", Amethyst), + new("apple green", AppleGreen), + new("apple", Apple), + new("apricot", Apricot), + new("aqua blue", AquaBlue), + new("aqua green", AquaGreen), + new("aqua marine", AquaMarine), + new("aqua", Aqua), + new("aquamarine", Aquamarine), + new("army green", ArmyGreen), + new("asparagus", Asparagus), + new("aubergine", Aubergine), + new("auburn", Auburn), + new("avocado green", AvocadoGreen), + new("avocado", Avocado), + new("azul", Azul), + new("azure", Azure), + new("baby blue", BabyBlue), + new("baby green", BabyGreen), + new("baby pink", BabyPink), + new("baby poo", BabyPoo), + new("baby poop green", BabyPoopGreen), + new("baby poop", BabyPoop), + new("baby puke green", BabyPukeGreen), + new("baby purple", BabyPurple), + new("baby shit brown", BabyShitBrown), + new("baby shit green", BabyShitGreen), + new("banana yellow", BananaYellow), + new("banana", Banana), + new("barbie pink", BarbiePink), + new("barf green", BarfGreen), + new("barney purple", BarneyPurple), + new("barney", Barney), + new("battleship grey", BattleshipGrey), + new("beige", Beige), + new("berry", Berry), + new("bile", Bile), + new("black", Black), + new("bland", Bland), + new("blood orange", BloodOrange), + new("blood red", BloodRed), + new("blood", Blood), + new("blue blue", BlueBlue), + new("blue green", BlueGreen), + new("blue grey", BlueGrey), + new("blue purple", BluePurple), + new("blue violet", BlueViolet), + new("blue with a hint of purple", BlueWithAHintOfPurple), + new("blue", Blue), + new("blue/green", Blue_Green), + new("blue/grey", Blue_Grey), + new("blue/purple", Blue_Purple), + new("blueberry", Blueberry), + new("bluegreen", Bluegreen), + new("bluegrey", Bluegrey), + new("bluey green", BlueyGreen), + new("bluey grey", BlueyGrey), + new("bluey purple", BlueyPurple), + new("bluish green", BluishGreen), + new("bluish grey", BluishGrey), + new("bluish purple", BluishPurple), + new("bluish", Bluish), + new("blurple", Blurple), + new("blush pink", BlushPink), + new("blush", Blush), + new("booger green", BoogerGreen), + new("booger", Booger), + new("bordeaux", Bordeaux), + new("boring green", BoringGreen), + new("bottle green", BottleGreen), + new("brick orange", BrickOrange), + new("brick red", BrickRed), + new("brick", Brick), + new("bright aqua", BrightAqua), + new("bright blue", BrightBlue), + new("bright cyan", BrightCyan), + new("bright green", BrightGreen), + new("bright lavender", BrightLavender), + new("bright light blue", BrightLightBlue), + new("bright light green", BrightLightGreen), + new("bright lilac", BrightLilac), + new("bright lime green", BrightLimeGreen), + new("bright lime", BrightLime), + new("bright magenta", BrightMagenta), + new("bright olive", BrightOlive), + new("bright orange", BrightOrange), + new("bright pink", BrightPink), + new("bright purple", BrightPurple), + new("bright red", BrightRed), + new("bright sea green", BrightSeaGreen), + new("bright sky blue", BrightSkyBlue), + new("bright teal", BrightTeal), + new("bright turquoise", BrightTurquoise), + new("bright violet", BrightViolet), + new("bright yellow green", BrightYellowGreen), + new("bright yellow", BrightYellow), + new("british racing green", BritishRacingGreen), + new("bronze", Bronze), + new("brown green", BrownGreen), + new("brown grey", BrownGrey), + new("brown orange", BrownOrange), + new("brown red", BrownRed), + new("brown yellow", BrownYellow), + new("brown", Brown), + new("brownish green", BrownishGreen), + new("brownish grey", BrownishGrey), + new("brownish orange", BrownishOrange), + new("brownish pink", BrownishPink), + new("brownish purple", BrownishPurple), + new("brownish red", BrownishRed), + new("brownish yellow", BrownishYellow), + new("brownish", Brownish), + new("browny green", BrownyGreen), + new("browny orange", BrownyOrange), + new("bruise", Bruise), + new("bubble gum pink", BubbleGumPink), + new("bubblegum pink", BubblegumPink), + new("bubblegum", Bubblegum), + new("buff", Buff), + new("burgundy", Burgundy), + new("burnt orange", BurntOrange), + new("burnt red", BurntRed), + new("burnt siena", BurntSiena), + new("burnt sienna", BurntSienna), + new("burnt umber", BurntUmber), + new("burnt yellow", BurntYellow), + new("burple", Burple), + new("butter yellow", ButterYellow), + new("butter", Butter), + new("butterscotch", Butterscotch), + new("cadet blue", CadetBlue), + new("camel", Camel), + new("camo green", CamoGreen), + new("camo", Camo), + new("camouflage green", CamouflageGreen), + new("canary yellow", CanaryYellow), + new("canary", Canary), + new("candy pink", CandyPink), + new("caramel", Caramel), + new("carmine", Carmine), + new("carnation pink", CarnationPink), + new("carnation", Carnation), + new("carolina blue", CarolinaBlue), + new("celadon", Celadon), + new("celery", Celery), + new("cement", Cement), + new("cerise", Cerise), + new("cerulean blue", CeruleanBlue), + new("cerulean", Cerulean), + new("charcoal grey", CharcoalGrey), + new("charcoal", Charcoal), + new("chartreuse", Chartreuse), + new("cherry red", CherryRed), + new("cherry", Cherry), + new("chestnut", Chestnut), + new("chocolate brown", ChocolateBrown), + new("chocolate", Chocolate), + new("cinnamon", Cinnamon), + new("claret", Claret), + new("clay brown", ClayBrown), + new("clay", Clay), + new("clear blue", ClearBlue), + new("cloudy blue", CloudyBlue), + new("cobalt blue", CobaltBlue), + new("cobalt", Cobalt), + new("cocoa", Cocoa), + new("coffee", Coffee), + new("cool blue", CoolBlue), + new("cool green", CoolGreen), + new("cool grey", CoolGrey), + new("copper", Copper), + new("coral pink", CoralPink), + new("coral", Coral), + new("cornflower blue", CornflowerBlue), + new("cornflower", Cornflower), + new("cranberry", Cranberry), + new("cream", Cream), + new("creme", Creme), + new("crimson", Crimson), + new("custard", Custard), + new("cyan", Cyan), + new("dandelion", Dandelion), + new("dark aqua", DarkAqua), + new("dark aquamarine", DarkAquamarine), + new("dark beige", DarkBeige), + new("dark blue green", DarkBlueGreen), + new("dark blue grey", DarkBlueGrey), + new("dark blue", DarkBlue), + new("dark brown", DarkBrown), + new("dark coral", DarkCoral), + new("dark cream", DarkCream), + new("dark cyan", DarkCyan), + new("dark forest green", DarkForestGreen), + new("dark fuchsia", DarkFuchsia), + new("dark gold", DarkGold), + new("dark grass green", DarkGrassGreen), + new("dark green blue", DarkGreenBlue), + new("dark green", DarkGreen), + new("dark grey blue", DarkGreyBlue), + new("dark grey", DarkGrey), + new("dark hot pink", DarkHotPink), + new("dark indigo", DarkIndigo), + new("dark khaki", DarkKhaki), + new("dark lavender", DarkLavender), + new("dark lilac", DarkLilac), + new("dark lime green", DarkLimeGreen), + new("dark lime", DarkLime), + new("dark magenta", DarkMagenta), + new("dark maroon", DarkMaroon), + new("dark mauve", DarkMauve), + new("dark mint green", DarkMintGreen), + new("dark mint", DarkMint), + new("dark mustard", DarkMustard), + new("dark navy blue", DarkNavyBlue), + new("dark navy", DarkNavy), + new("dark olive green", DarkOliveGreen), + new("dark olive", DarkOlive), + new("dark orange", DarkOrange), + new("dark pastel green", DarkPastelGreen), + new("dark peach", DarkPeach), + new("dark periwinkle", DarkPeriwinkle), + new("dark pink", DarkPink), + new("dark plum", DarkPlum), + new("dark purple", DarkPurple), + new("dark red", DarkRed), + new("dark rose", DarkRose), + new("dark royal blue", DarkRoyalBlue), + new("dark sage", DarkSage), + new("dark salmon", DarkSalmon), + new("dark sand", DarkSand), + new("dark sea green", DarkSeaGreen), + new("dark seafoam green", DarkSeafoamGreen), + new("dark seafoam", DarkSeafoam), + new("dark sky blue", DarkSkyBlue), + new("dark slate blue", DarkSlateBlue), + new("dark tan", DarkTan), + new("dark taupe", DarkTaupe), + new("dark teal", DarkTeal), + new("dark turquoise", DarkTurquoise), + new("dark violet", DarkViolet), + new("dark yellow green", DarkYellowGreen), + new("dark yellow", DarkYellow), + new("dark", Dark), + new("darkblue", Darkblue), + new("darkgreen", Darkgreen), + new("darkish blue", DarkishBlue), + new("darkish green", DarkishGreen), + new("darkish pink", DarkishPink), + new("darkish purple", DarkishPurple), + new("darkish red", DarkishRed), + new("deep aqua", DeepAqua), + new("deep blue", DeepBlue), + new("deep brown", DeepBrown), + new("deep green", DeepGreen), + new("deep lavender", DeepLavender), + new("deep lilac", DeepLilac), + new("deep magenta", DeepMagenta), + new("deep orange", DeepOrange), + new("deep pink", DeepPink), + new("deep purple", DeepPurple), + new("deep red", DeepRed), + new("deep rose", DeepRose), + new("deep sea blue", DeepSeaBlue), + new("deep sky blue", DeepSkyBlue), + new("deep teal", DeepTeal), + new("deep turquoise", DeepTurquoise), + new("deep violet", DeepViolet), + new("denim blue", DenimBlue), + new("denim", Denim), + new("desert", Desert), + new("diarrhea", Diarrhea), + new("dirt brown", DirtBrown), + new("dirt", Dirt), + new("dirty blue", DirtyBlue), + new("dirty green", DirtyGreen), + new("dirty orange", DirtyOrange), + new("dirty pink", DirtyPink), + new("dirty purple", DirtyPurple), + new("dirty yellow", DirtyYellow), + new("dodger blue", DodgerBlue), + new("drab green", DrabGreen), + new("drab", Drab), + new("dried blood", DriedBlood), + new("duck egg blue", DuckEggBlue), + new("dull blue", DullBlue), + new("dull brown", DullBrown), + new("dull green", DullGreen), + new("dull orange", DullOrange), + new("dull pink", DullPink), + new("dull purple", DullPurple), + new("dull red", DullRed), + new("dull teal", DullTeal), + new("dull yellow", DullYellow), + new("dusk blue", DuskBlue), + new("dusk", Dusk), + new("dusky blue", DuskyBlue), + new("dusky pink", DuskyPink), + new("dusky purple", DuskyPurple), + new("dusky rose", DuskyRose), + new("dust", Dust), + new("dusty blue", DustyBlue), + new("dusty green", DustyGreen), + new("dusty lavender", DustyLavender), + new("dusty orange", DustyOrange), + new("dusty pink", DustyPink), + new("dusty purple", DustyPurple), + new("dusty red", DustyRed), + new("dusty rose", DustyRose), + new("dusty teal", DustyTeal), + new("earth", Earth), + new("easter green", EasterGreen), + new("easter purple", EasterPurple), + new("ecru", Ecru), + new("egg shell", EggShell), + new("eggplant purple", EggplantPurple), + new("eggplant", Eggplant), + new("eggshell blue", EggshellBlue), + new("eggshell", Eggshell), + new("electric blue", ElectricBlue), + new("electric green", ElectricGreen), + new("electric lime", ElectricLime), + new("electric pink", ElectricPink), + new("electric purple", ElectricPurple), + new("emerald green", EmeraldGreen), + new("emerald", Emerald), + new("evergreen", Evergreen), + new("faded blue", FadedBlue), + new("faded green", FadedGreen), + new("faded orange", FadedOrange), + new("faded pink", FadedPink), + new("faded purple", FadedPurple), + new("faded red", FadedRed), + new("faded yellow", FadedYellow), + new("fawn", Fawn), + new("fern green", FernGreen), + new("fern", Fern), + new("fire engine red", FireEngineRed), + new("flat blue", FlatBlue), + new("flat green", FlatGreen), + new("fluorescent green", FluorescentGreen), + new("fluro green", FluroGreen), + new("foam green", FoamGreen), + new("forest green", ForestGreen), + new("forest", Forest), + new("forrest green", ForrestGreen), + new("french blue", FrenchBlue), + new("fresh green", FreshGreen), + new("frog green", FrogGreen), + new("fuchsia", Fuchsia), + new("gold", Gold), + new("golden brown", GoldenBrown), + new("golden rod", GoldenRod), + new("golden yellow", GoldenYellow), + new("golden", Golden), + new("goldenrod", Goldenrod), + new("grape purple", GrapePurple), + new("grape", Grape), + new("grapefruit", Grapefruit), + new("grass green", GrassGreen), + new("grass", Grass), + new("grassy green", GrassyGreen), + new("green apple", GreenApple), + new("green blue", GreenBlue), + new("green brown", GreenBrown), + new("green grey", GreenGrey), + new("green teal", GreenTeal), + new("green yellow", GreenYellow), + new("green", Green), + new("green/blue", Green_Blue), + new("green/yellow", Green_Yellow), + new("greenblue", Greenblue), + new("greenish beige", GreenishBeige), + new("greenish blue", GreenishBlue), + new("greenish brown", GreenishBrown), + new("greenish cyan", GreenishCyan), + new("greenish grey", GreenishGrey), + new("greenish tan", GreenishTan), + new("greenish teal", GreenishTeal), + new("greenish turquoise", GreenishTurquoise), + new("greenish yellow", GreenishYellow), + new("greenish", Greenish), + new("greeny blue", GreenyBlue), + new("greeny brown", GreenyBrown), + new("greeny grey", GreenyGrey), + new("greeny yellow", GreenyYellow), + new("grey blue", GreyBlue), + new("grey brown", GreyBrown), + new("grey green", GreyGreen), + new("grey pink", GreyPink), + new("grey purple", GreyPurple), + new("grey teal", GreyTeal), + new("grey", Grey), + new("grey/blue", Grey_Blue), + new("grey/green", Grey_Green), + new("greyblue", Greyblue), + new("greyish blue", GreyishBlue), + new("greyish brown", GreyishBrown), + new("greyish green", GreyishGreen), + new("greyish pink", GreyishPink), + new("greyish purple", GreyishPurple), + new("greyish teal", GreyishTeal), + new("greyish", Greyish), + new("gross green", GrossGreen), + new("gunmetal", Gunmetal), + new("hazel", Hazel), + new("heather", Heather), + new("heliotrope", Heliotrope), + new("highlighter green", HighlighterGreen), + new("hospital green", HospitalGreen), + new("hot green", HotGreen), + new("hot magenta", HotMagenta), + new("hot pink", HotPink), + new("hot purple", HotPurple), + new("hunter green", HunterGreen), + new("ice blue", IceBlue), + new("ice", Ice), + new("icky green", IckyGreen), + new("indian red", IndianRed), + new("indigo blue", IndigoBlue), + new("indigo", Indigo), + new("iris", Iris), + new("irish green", IrishGreen), + new("ivory", Ivory), + new("jade green", JadeGreen), + new("jade", Jade), + new("jungle green", JungleGreen), + new("kelley green", KelleyGreen), + new("kelly green", KellyGreen), + new("kermit green", KermitGreen), + new("key lime", KeyLime), + new("khaki green", KhakiGreen), + new("khaki", Khaki), + new("kiwi green", KiwiGreen), + new("kiwi", Kiwi), + new("lavender blue", LavenderBlue), + new("lavender pink", LavenderPink), + new("lavender", Lavender), + new("lawn green", LawnGreen), + new("leaf green", LeafGreen), + new("leaf", Leaf), + new("leafy green", LeafyGreen), + new("leather", Leather), + new("lemon green", LemonGreen), + new("lemon lime", LemonLime), + new("lemon yellow", LemonYellow), + new("lemon", Lemon), + new("lichen", Lichen), + new("light aqua", LightAqua), + new("light aquamarine", LightAquamarine), + new("light beige", LightBeige), + new("light blue green", LightBlueGreen), + new("light blue grey", LightBlueGrey), + new("light blue", LightBlue), + new("light bluish green", LightBluishGreen), + new("light bright green", LightBrightGreen), + new("light brown", LightBrown), + new("light burgundy", LightBurgundy), + new("light cyan", LightCyan), + new("light eggplant", LightEggplant), + new("light forest green", LightForestGreen), + new("light gold", LightGold), + new("light grass green", LightGrassGreen), + new("light green blue", LightGreenBlue), + new("light green", LightGreen), + new("light greenish blue", LightGreenishBlue), + new("light grey blue", LightGreyBlue), + new("light grey green", LightGreyGreen), + new("light grey", LightGrey), + new("light indigo", LightIndigo), + new("light khaki", LightKhaki), + new("light lavendar", LightLavendar), + new("light lavender", LightLavender), + new("light light blue", LightLightBlue), + new("light light green", LightLightGreen), + new("light lilac", LightLilac), + new("light lime green", LightLimeGreen), + new("light lime", LightLime), + new("light magenta", LightMagenta), + new("light maroon", LightMaroon), + new("light mauve", LightMauve), + new("light mint green", LightMintGreen), + new("light mint", LightMint), + new("light moss green", LightMossGreen), + new("light mustard", LightMustard), + new("light navy blue", LightNavyBlue), + new("light navy", LightNavy), + new("light neon green", LightNeonGreen), + new("light olive green", LightOliveGreen), + new("light olive", LightOlive), + new("light orange", LightOrange), + new("light pastel green", LightPastelGreen), + new("light pea green", LightPeaGreen), + new("light peach", LightPeach), + new("light periwinkle", LightPeriwinkle), + new("light pink", LightPink), + new("light plum", LightPlum), + new("light purple", LightPurple), + new("light red", LightRed), + new("light rose", LightRose), + new("light royal blue", LightRoyalBlue), + new("light sage", LightSage), + new("light salmon", LightSalmon), + new("light sea green", LightSeaGreen), + new("light seafoam green", LightSeafoamGreen), + new("light seafoam", LightSeafoam), + new("light sky blue", LightSkyBlue), + new("light tan", LightTan), + new("light teal", LightTeal), + new("light turquoise", LightTurquoise), + new("light urple", LightUrple), + new("light violet", LightViolet), + new("light yellow green", LightYellowGreen), + new("light yellow", LightYellow), + new("light yellowish green", LightYellowishGreen), + new("lightblue", Lightblue), + new("lighter green", LighterGreen), + new("lighter purple", LighterPurple), + new("lightgreen", Lightgreen), + new("lightish blue", LightishBlue), + new("lightish green", LightishGreen), + new("lightish purple", LightishPurple), + new("lightish red", LightishRed), + new("lilac", Lilac), + new("liliac", Liliac), + new("lime green", LimeGreen), + new("lime yellow", LimeYellow), + new("lime", Lime), + new("lipstick red", LipstickRed), + new("lipstick", Lipstick), + new("macaroni and cheese", MacaroniAndCheese), + new("magenta", Magenta), + new("mahogany", Mahogany), + new("maize", Maize), + new("mango", Mango), + new("manilla", Manilla), + new("marigold", Marigold), + new("marine blue", MarineBlue), + new("marine", Marine), + new("maroon", Maroon), + new("mauve", Mauve), + new("medium blue", MediumBlue), + new("medium brown", MediumBrown), + new("medium green", MediumGreen), + new("medium grey", MediumGrey), + new("medium pink", MediumPink), + new("medium purple", MediumPurple), + new("melon", Melon), + new("merlot", Merlot), + new("metallic blue", MetallicBlue), + new("mid blue", MidBlue), + new("mid green", MidGreen), + new("midnight blue", MidnightBlue), + new("midnight purple", MidnightPurple), + new("midnight", Midnight), + new("military green", MilitaryGreen), + new("milk chocolate", MilkChocolate), + new("mint green", MintGreen), + new("mint", Mint), + new("minty green", MintyGreen), + new("mocha", Mocha), + new("moss green", MossGreen), + new("moss", Moss), + new("mossy green", MossyGreen), + new("mud brown", MudBrown), + new("mud green", MudGreen), + new("mud", Mud), + new("muddy brown", MuddyBrown), + new("muddy green", MuddyGreen), + new("muddy yellow", MuddyYellow), + new("mulberry", Mulberry), + new("murky green", MurkyGreen), + new("mushroom", Mushroom), + new("mustard brown", MustardBrown), + new("mustard green", MustardGreen), + new("mustard yellow", MustardYellow), + new("mustard", Mustard), + new("muted blue", MutedBlue), + new("muted green", MutedGreen), + new("muted pink", MutedPink), + new("muted purple", MutedPurple), + new("nasty green", NastyGreen), + new("navy blue", NavyBlue), + new("navy green", NavyGreen), + new("navy", Navy), + new("neon blue", NeonBlue), + new("neon green", NeonGreen), + new("neon pink", NeonPink), + new("neon purple", NeonPurple), + new("neon red", NeonRed), + new("neon yellow", NeonYellow), + new("nice blue", NiceBlue), + new("night blue", NightBlue), + new("ocean blue", OceanBlue), + new("ocean green", OceanGreen), + new("ocean", Ocean), + new("ocher", Ocher), + new("ochre", Ochre), + new("ocre", Ocre), + new("off blue", OffBlue), + new("off green", OffGreen), + new("off white", OffWhite), + new("off yellow", OffYellow), + new("old pink", OldPink), + new("old rose", OldRose), + new("olive brown", OliveBrown), + new("olive drab", OliveDrab), + new("olive green", OliveGreen), + new("olive yellow", OliveYellow), + new("olive", Olive), + new("orange brown", OrangeBrown), + new("orange pink", OrangePink), + new("orange red", OrangeRed), + new("orange yellow", OrangeYellow), + new("orange", Orange), + new("orangeish", Orangeish), + new("orangered", Orangered), + new("orangey brown", OrangeyBrown), + new("orangey red", OrangeyRed), + new("orangey yellow", OrangeyYellow), + new("orangish brown", OrangishBrown), + new("orangish red", OrangishRed), + new("orangish", Orangish), + new("orchid", Orchid), + new("pale aqua", PaleAqua), + new("pale blue", PaleBlue), + new("pale brown", PaleBrown), + new("pale cyan", PaleCyan), + new("pale gold", PaleGold), + new("pale green", PaleGreen), + new("pale grey", PaleGrey), + new("pale lavender", PaleLavender), + new("pale light green", PaleLightGreen), + new("pale lilac", PaleLilac), + new("pale lime green", PaleLimeGreen), + new("pale lime", PaleLime), + new("pale magenta", PaleMagenta), + new("pale mauve", PaleMauve), + new("pale olive green", PaleOliveGreen), + new("pale olive", PaleOlive), + new("pale orange", PaleOrange), + new("pale peach", PalePeach), + new("pale pink", PalePink), + new("pale purple", PalePurple), + new("pale red", PaleRed), + new("pale rose", PaleRose), + new("pale salmon", PaleSalmon), + new("pale sky blue", PaleSkyBlue), + new("pale teal", PaleTeal), + new("pale turquoise", PaleTurquoise), + new("pale violet", PaleViolet), + new("pale yellow", PaleYellow), + new("pale", Pale), + new("parchment", Parchment), + new("pastel blue", PastelBlue), + new("pastel green", PastelGreen), + new("pastel orange", PastelOrange), + new("pastel pink", PastelPink), + new("pastel purple", PastelPurple), + new("pastel red", PastelRed), + new("pastel yellow", PastelYellow), + new("pea green", PeaGreen), + new("pea soup green", PeaSoupGreen), + new("pea soup", PeaSoup), + new("pea", Pea), + new("peach", Peach), + new("peachy pink", PeachyPink), + new("peacock blue", PeacockBlue), + new("pear", Pear), + new("periwinkle blue", PeriwinkleBlue), + new("periwinkle", Periwinkle), + new("perrywinkle", Perrywinkle), + new("petrol", Petrol), + new("pig pink", PigPink), + new("pine green", PineGreen), + new("pine", Pine), + new("pink purple", PinkPurple), + new("pink red", PinkRed), + new("pink", Pink), + new("pink/purple", Pink_Purple), + new("pinkish brown", PinkishBrown), + new("pinkish grey", PinkishGrey), + new("pinkish orange", PinkishOrange), + new("pinkish purple", PinkishPurple), + new("pinkish red", PinkishRed), + new("pinkish tan", PinkishTan), + new("pinkish", Pinkish), + new("pinky purple", PinkyPurple), + new("pinky red", PinkyRed), + new("pinky", Pinky), + new("piss yellow", PissYellow), + new("pistachio", Pistachio), + new("plum purple", PlumPurple), + new("plum", Plum), + new("poison green", PoisonGreen), + new("poo brown", PooBrown), + new("poo", Poo), + new("poop brown", PoopBrown), + new("poop green", PoopGreen), + new("poop", Poop), + new("powder blue", PowderBlue), + new("powder pink", PowderPink), + new("primary blue", PrimaryBlue), + new("prussian blue", PrussianBlue), + new("puce", Puce), + new("puke brown", PukeBrown), + new("puke green", PukeGreen), + new("puke yellow", PukeYellow), + new("puke", Puke), + new("pumpkin orange", PumpkinOrange), + new("pumpkin", Pumpkin), + new("pure blue", PureBlue), + new("purple blue", PurpleBlue), + new("purple brown", PurpleBrown), + new("purple grey", PurpleGrey), + new("purple pink", PurplePink), + new("purple red", PurpleRed), + new("purple", Purple), + new("purple/blue", Purple_Blue), + new("purple/pink", Purple_Pink), + new("purpleish blue", PurpleishBlue), + new("purpleish pink", PurpleishPink), + new("purpleish", Purpleish), + new("purpley blue", PurpleyBlue), + new("purpley grey", PurpleyGrey), + new("purpley pink", PurpleyPink), + new("purpley", Purpley), + new("purplish blue", PurplishBlue), + new("purplish brown", PurplishBrown), + new("purplish grey", PurplishGrey), + new("purplish pink", PurplishPink), + new("purplish red", PurplishRed), + new("purplish", Purplish), + new("purply blue", PurplyBlue), + new("purply pink", PurplyPink), + new("purply", Purply), + new("putty", Putty), + new("racing green", RacingGreen), + new("radioactive green", RadioactiveGreen), + new("raspberry", Raspberry), + new("raw sienna", RawSienna), + new("raw umber", RawUmber), + new("really light blue", ReallyLightBlue), + new("red brown", RedBrown), + new("red orange", RedOrange), + new("red pink", RedPink), + new("red purple", RedPurple), + new("red violet", RedViolet), + new("red wine", RedWine), + new("red", Red), + new("reddish brown", ReddishBrown), + new("reddish grey", ReddishGrey), + new("reddish orange", ReddishOrange), + new("reddish pink", ReddishPink), + new("reddish purple", ReddishPurple), + new("reddish", Reddish), + new("reddy brown", ReddyBrown), + new("rich blue", RichBlue), + new("rich purple", RichPurple), + new("robin egg blue", RobinEggBlue), + new("robin's egg blue", RobinsEggBlue), + new("robin's egg", RobinsEgg), + new("rosa", Rosa), + new("rose pink", RosePink), + new("rose red", RoseRed), + new("rose", Rose), + new("rosy pink", RosyPink), + new("rouge", Rouge), + new("royal blue", RoyalBlue), + new("royal purple", RoyalPurple), + new("royal", Royal), + new("ruby", Ruby), + new("russet", Russet), + new("rust brown", RustBrown), + new("rust orange", RustOrange), + new("rust red", RustRed), + new("rust", Rust), + new("rusty orange", RustyOrange), + new("rusty red", RustyRed), + new("saffron", Saffron), + new("sage green", SageGreen), + new("sage", Sage), + new("salmon pink", SalmonPink), + new("salmon", Salmon), + new("sand brown", SandBrown), + new("sand yellow", SandYellow), + new("sand", Sand), + new("sandstone", Sandstone), + new("sandy brown", SandyBrown), + new("sandy yellow", SandyYellow), + new("sandy", Sandy), + new("sap green", SapGreen), + new("sapphire", Sapphire), + new("scarlet", Scarlet), + new("sea blue", SeaBlue), + new("sea green", SeaGreen), + new("sea", Sea), + new("seafoam blue", SeafoamBlue), + new("seafoam green", SeafoamGreen), + new("seafoam", Seafoam), + new("seaweed green", SeaweedGreen), + new("seaweed", Seaweed), + new("sepia", Sepia), + new("shamrock green", ShamrockGreen), + new("shamrock", Shamrock), + new("shit brown", ShitBrown), + new("shit green", ShitGreen), + new("shit", Shit), + new("shocking pink", ShockingPink), + new("sick green", SickGreen), + new("sickly green", SicklyGreen), + new("sickly yellow", SicklyYellow), + new("sienna", Sienna), + new("silver", Silver), + new("sky blue", SkyBlue), + new("sky", Sky), + new("slate blue", SlateBlue), + new("slate green", SlateGreen), + new("slate grey", SlateGrey), + new("slate", Slate), + new("slime green", SlimeGreen), + new("snot green", SnotGreen), + new("snot", Snot), + new("soft blue", SoftBlue), + new("soft green", SoftGreen), + new("soft pink", SoftPink), + new("soft purple", SoftPurple), + new("spearmint", Spearmint), + new("spring green", SpringGreen), + new("spruce", Spruce), + new("squash", Squash), + new("steel blue", SteelBlue), + new("steel grey", SteelGrey), + new("steel", Steel), + new("stone", Stone), + new("stormy blue", StormyBlue), + new("straw", Straw), + new("strawberry", Strawberry), + new("strong blue", StrongBlue), + new("strong pink", StrongPink), + new("sun yellow", SunYellow), + new("sunflower yellow", SunflowerYellow), + new("sunflower", Sunflower), + new("sunny yellow", SunnyYellow), + new("sunshine yellow", SunshineYellow), + new("swamp green", SwampGreen), + new("swamp", Swamp), + new("tan brown", TanBrown), + new("tan green", TanGreen), + new("tan", Tan), + new("tangerine", Tangerine), + new("taupe", Taupe), + new("tea green", TeaGreen), + new("tea", Tea), + new("teal blue", TealBlue), + new("teal green", TealGreen), + new("teal", Teal), + new("tealish green", TealishGreen), + new("tealish", Tealish), + new("terra cotta", TerraCotta), + new("terracota", Terracota), + new("terracotta", Terracotta), + new("tiffany blue", TiffanyBlue), + new("tomato red", TomatoRed), + new("tomato", Tomato), + new("topaz", Topaz), + new("toupe", Toupe), + new("toxic green", ToxicGreen), + new("tree green", TreeGreen), + new("true blue", TrueBlue), + new("true green", TrueGreen), + new("turquoise blue", TurquoiseBlue), + new("turquoise green", TurquoiseGreen), + new("turquoise", Turquoise), + new("turtle green", TurtleGreen), + new("twilight blue", TwilightBlue), + new("twilight", Xkcd.Twilight), + new("ugly blue", UglyBlue), + new("ugly brown", UglyBrown), + new("ugly green", UglyGreen), + new("ugly pink", UglyPink), + new("ugly purple", UglyPurple), + new("ugly yellow", UglyYellow), + new("ultramarine blue", UltramarineBlue), + new("ultramarine", Ultramarine), + new("umber", Umber), + new("velvet", Velvet), + new("vermillion", Vermillion), + new("very dark blue", VeryDarkBlue), + new("very dark brown", VeryDarkBrown), + new("very dark green", VeryDarkGreen), + new("very dark purple", VeryDarkPurple), + new("very light blue", VeryLightBlue), + new("very light brown", VeryLightBrown), + new("very light green", VeryLightGreen), + new("very light pink", VeryLightPink), + new("very light purple", VeryLightPurple), + new("very pale blue", VeryPaleBlue), + new("very pale green", VeryPaleGreen), + new("vibrant blue", VibrantBlue), + new("vibrant green", VibrantGreen), + new("vibrant purple", VibrantPurple), + new("violet blue", VioletBlue), + new("violet pink", VioletPink), + new("violet red", VioletRed), + new("violet", Violet), + new("viridian", Viridian), + new("vivid blue", VividBlue), + new("vivid green", VividGreen), + new("vivid purple", VividPurple), + new("vomit green", VomitGreen), + new("vomit yellow", VomitYellow), + new("vomit", Vomit), + new("warm blue", WarmBlue), + new("warm brown", WarmBrown), + new("warm grey", WarmGrey), + new("warm pink", WarmPink), + new("warm purple", WarmPurple), + new("washed out green", WashedOutGreen), + new("water blue", WaterBlue), + new("watermelon", Watermelon), + new("weird green", WeirdGreen), + new("wheat", Wheat), + new("white", White), + new("windows blue", WindowsBlue), + new("wine red", WineRed), + new("wine", Wine), + new("wintergreen", Wintergreen), + new("wisteria", Wisteria), + new("yellow brown", YellowBrown), + new("yellow green", YellowGreen), + new("yellow ochre", YellowOchre), + new("yellow orange", YellowOrange), + new("yellow tan", YellowTan), + new("yellow", Yellow), + new("yellow/green", Yellow_Green), + new("yellowgreen", Yellowgreen), + new("yellowish brown", YellowishBrown), + new("yellowish green", YellowishGreen), + new("yellowish orange", YellowishOrange), + new("yellowish tan", YellowishTan), + new("yellowish", Yellowish), + new("yellowy brown", YellowyBrown), + new("yellowy green", YellowyGreen) ]; [TestCaseSource(nameof(HexTestData))] diff --git a/Unicolour.Tests/DifferenceTests.cs b/Unicolour.Tests/DifferenceTests.cs index 8c37c7c3..46b0cd7b 100644 --- a/Unicolour.Tests/DifferenceTests.cs +++ b/Unicolour.Tests/DifferenceTests.cs @@ -223,7 +223,7 @@ public void Cam16(string referenceName, string sampleName, double expectedDelta) } [Test, Combinatorial] - public static void RandomSymmetric( + public void RandomSymmetric( [Values(DeltaE.Cie76, DeltaE.Ciede2000, DeltaE.Itp, DeltaE.Z, DeltaE.Hyab, DeltaE.Ok, DeltaE.Cam02, DeltaE.Cam16)] DeltaE deltaE, [ValueSource(nameof(ReferenceSamplePairs))] (Unicolour reference, Unicolour sample) pair) { @@ -231,6 +231,15 @@ public static void RandomSymmetric( var sample = pair.sample; Assert.That(reference.Difference(sample, deltaE), Is.EqualTo(sample.Difference(reference, deltaE))); } + + [Test] + public void DifferentConfigs() + { + var redD65 = new Unicolour(new Configuration(xyzConfig: XyzConfiguration.D65), ColourSpace.Rgb, 1, 0, 0); + var redD50 = new Unicolour(new Configuration(xyzConfig: XyzConfiguration.D50), ColourSpace.Rgb, 1, 0, 0); + var difference = redD65.Difference(redD50, DeltaE.Ciede2000); + Assert.That(difference, Is.Zero); + } [TestCase(DeltaE.Cie76, ColourSpace.Lab)] [TestCase(DeltaE.Cie94, ColourSpace.Lab)] diff --git a/Unicolour.Tests/DominantWavelengthTests.cs b/Unicolour.Tests/DominantWavelengthTests.cs index f873ba4a..b60868fc 100644 --- a/Unicolour.Tests/DominantWavelengthTests.cs +++ b/Unicolour.Tests/DominantWavelengthTests.cs @@ -94,10 +94,10 @@ public void RgbGamut(Configuration configuration, double r, double g, double b, private static readonly Dictionary<(Illuminant illuminant, Observer observer), Configuration> Configurations = new() { - { (Illuminant.D65, Observer.Degree2), new(xyzConfiguration: new(Illuminant.D65, Observer.Degree2)) }, - { (Illuminant.D65, Observer.Degree10), new(xyzConfiguration: new(Illuminant.D65, Observer.Degree10)) }, - { (Illuminant.E, Observer.Degree2), new(xyzConfiguration: new(Illuminant.E, Observer.Degree2)) }, - { (Illuminant.E, Observer.Degree10), new(xyzConfiguration: new(Illuminant.E, Observer.Degree10)) } + { (Illuminant.D65, Observer.Degree2), new(xyzConfig: new(Illuminant.D65, Observer.Degree2)) }, + { (Illuminant.D65, Observer.Degree10), new(xyzConfig: new(Illuminant.D65, Observer.Degree10)) }, + { (Illuminant.E, Observer.Degree2), new(xyzConfig: new(Illuminant.E, Observer.Degree2)) }, + { (Illuminant.E, Observer.Degree10), new(xyzConfig: new(Illuminant.E, Observer.Degree10)) } }; [Test] @@ -110,7 +110,7 @@ public void Monochromatic( var observer = TestUtils.Observers[observerName]; var config = Configurations[(illuminant, observer)]; - var unicolour = new Unicolour(config, new Spd { { wavelength, 1.0 } }); + var unicolour = new Unicolour(config, Spd.Monochromatic(wavelength)); Assert.That(unicolour.DominantWavelength, Is.EqualTo(wavelength).Within(0.000000005)); } diff --git a/Unicolour.Tests/EqualityTests.cs b/Unicolour.Tests/EqualityTests.cs index 203562eb..73b71be6 100644 --- a/Unicolour.Tests/EqualityTests.cs +++ b/Unicolour.Tests/EqualityTests.cs @@ -195,7 +195,7 @@ private static void AssertUnicoloursEqual(Unicolour unicolour1, Unicolour unicol AssertEqual(unicolour1.Xyz.HctToXyzSearchResult, unicolour2.Xyz.HctToXyzSearchResult); } - AssertConfigurationEqual(unicolour1.Config, unicolour2.Config); + AssertConfigurationEqual(unicolour1.Configuration, unicolour2.Configuration); AssertEqual(unicolour1, unicolour2); } diff --git a/Unicolour.Tests/ExcitationPurityTests.cs b/Unicolour.Tests/ExcitationPurityTests.cs index 359ef363..d2b632bb 100644 --- a/Unicolour.Tests/ExcitationPurityTests.cs +++ b/Unicolour.Tests/ExcitationPurityTests.cs @@ -23,10 +23,10 @@ public void Greyscale([Range(0, 1, 0.1)] double value) private static readonly Dictionary<(Illuminant illuminant, Observer observer), Configuration> Configurations = new() { - { (Illuminant.D65, Observer.Degree2), new(xyzConfiguration: new(Illuminant.D65, Observer.Degree2)) }, - { (Illuminant.D65, Observer.Degree10), new(xyzConfiguration: new(Illuminant.D65, Observer.Degree10)) }, - { (Illuminant.E, Observer.Degree2), new(xyzConfiguration: new(Illuminant.E, Observer.Degree2)) }, - { (Illuminant.E, Observer.Degree10), new(xyzConfiguration: new(Illuminant.E, Observer.Degree10)) } + { (Illuminant.D65, Observer.Degree2), new(xyzConfig: new(Illuminant.D65, Observer.Degree2)) }, + { (Illuminant.D65, Observer.Degree10), new(xyzConfig: new(Illuminant.D65, Observer.Degree10)) }, + { (Illuminant.E, Observer.Degree2), new(xyzConfig: new(Illuminant.E, Observer.Degree2)) }, + { (Illuminant.E, Observer.Degree10), new(xyzConfig: new(Illuminant.E, Observer.Degree10)) } }; [Test] @@ -39,7 +39,7 @@ public void Monochromatic( var observer = TestUtils.Observers[observerName]; var config = Configurations[(illuminant, observer)]; - var unicolour = new Unicolour(config, new Spd { { wavelength, 1.0 } }); + var unicolour = new Unicolour(config, Spd.Monochromatic(wavelength)); Assert.That(unicolour.ExcitationPurity, Is.EqualTo(1.0).Within(0.00000000000005)); } diff --git a/Unicolour.Tests/ExtremeConfigurationTests.cs b/Unicolour.Tests/ExtremeConfigurationTests.cs index 43e51ded..71d7be11 100644 --- a/Unicolour.Tests/ExtremeConfigurationTests.cs +++ b/Unicolour.Tests/ExtremeConfigurationTests.cs @@ -14,7 +14,7 @@ public void Rgb( var rgbConfig = new RgbConfiguration( new Chromaticity(chromaticity, chromaticity), new Chromaticity(chromaticity, chromaticity), new Chromaticity(chromaticity, chromaticity), new WhitePoint(whitePoint, whitePoint, whitePoint), _ => linear, _ => linear); - var config = new Configuration(rgbConfiguration: rgbConfig); + var config = new Configuration(rgbConfig: rgbConfig); TestUtils.AssertNoPropertyError(new Unicolour(config, ColourSpace.Rgb, 1.00, 0.08, 0.58)); } @@ -27,7 +27,7 @@ public void RgbLinear( var rgbConfig = new RgbConfiguration( new Chromaticity(chromaticity, chromaticity), new Chromaticity(chromaticity, chromaticity), new Chromaticity(chromaticity, chromaticity), new WhitePoint(whitePoint, whitePoint, whitePoint), _ => linear, _ => linear); - var config = new Configuration(rgbConfiguration: rgbConfig); + var config = new Configuration(rgbConfig: rgbConfig); TestUtils.AssertNoPropertyError(new Unicolour(config, ColourSpace.RgbLinear, 1.00, 0.01, 0.29)); } @@ -36,7 +36,7 @@ public void Xyz( [ValueSource(typeof(TestUtils), nameof(TestUtils.ExtremeDoubles))] double whitePoint) { var xyzConfig = new XyzConfiguration(new WhitePoint(whitePoint, whitePoint, whitePoint)); - var config = new Configuration(xyzConfiguration: xyzConfig); + var config = new Configuration(xyzConfig: xyzConfig); TestUtils.AssertNoPropertyError(new Unicolour(config, ColourSpace.Xyz, 0.4676, 0.2387, 0.2974)); } @@ -45,7 +45,7 @@ public void Xyy( [ValueSource(typeof(TestUtils), nameof(TestUtils.ExtremeDoubles))] double whitePoint) { var xyzConfig = new XyzConfiguration(new WhitePoint(whitePoint, whitePoint, whitePoint)); - var config = new Configuration(xyzConfiguration: xyzConfig); + var config = new Configuration(xyzConfig: xyzConfig); TestUtils.AssertNoPropertyError(new Unicolour(config, ColourSpace.Xyy, 0.4658, 0.2378, 0.2387)); } @@ -55,7 +55,7 @@ public void Ypbpr( [ValueSource(typeof(TestUtils), nameof(TestUtils.ExtremeDoubles))] double range) { var ybrConfig = new YbrConfiguration(constant, constant, (range, range), (range, range)); - var config = new Configuration(ybrConfiguration: ybrConfig); + var config = new Configuration(ybrConfig: ybrConfig); TestUtils.AssertNoPropertyError(new Unicolour(config, ColourSpace.Ypbpr, 0.411, 0.094, 0.420)); } @@ -65,7 +65,7 @@ public void Ycbcr( [ValueSource(typeof(TestUtils), nameof(TestUtils.ExtremeDoubles))] double range) { var ybrConfig = new YbrConfiguration(constant, constant, (range, range), (range, range)); - var config = new Configuration(ybrConfiguration: ybrConfig); + var config = new Configuration(ybrConfig: ybrConfig); TestUtils.AssertNoPropertyError(new Unicolour(config, ColourSpace.Ycbcr, 106, 149, 222)); } @@ -92,7 +92,7 @@ public void Cam02( [ValueSource(typeof(TestUtils), nameof(TestUtils.ExtremeDoubles))] double backgroundLuminance) { var camConfig = new CamConfiguration(new WhitePoint(whitePoint, whitePoint, whitePoint), adaptingLuminance, backgroundLuminance, Surround.Average); - var config = new Configuration(camConfiguration: camConfig); + var config = new Configuration(camConfig: camConfig); TestUtils.AssertNoPropertyError(new Unicolour(config, ColourSpace.Cam02, 62.86, 40.81, -1.18)); } @@ -103,7 +103,7 @@ public void Cam16( [ValueSource(typeof(TestUtils), nameof(TestUtils.ExtremeDoubles))] double backgroundLuminance) { var camConfig = new CamConfiguration(new WhitePoint(whitePoint, whitePoint, whitePoint), adaptingLuminance, backgroundLuminance, Surround.Average); - var config = new Configuration(camConfiguration: camConfig); + var config = new Configuration(camConfig: camConfig); TestUtils.AssertNoPropertyError(new Unicolour(config, ColourSpace.Cam16, 62.47, 42.60, -1.36)); } } \ No newline at end of file diff --git a/Unicolour.Tests/ExtremeValuesTests.cs b/Unicolour.Tests/ExtremeValuesTests.cs index 74eecb88..3c8fab2d 100644 --- a/Unicolour.Tests/ExtremeValuesTests.cs +++ b/Unicolour.Tests/ExtremeValuesTests.cs @@ -61,17 +61,35 @@ public void CreateFromSpd( [ValueSource(typeof(TestUtils), nameof(TestUtils.ExtremeDoubles))] double power2, [ValueSource(typeof(TestUtils), nameof(TestUtils.ExtremeDoubles))] double power3) { - var spd = new Spd - { - { int.MinValue, power1 }, - { 0, power2 }, - { int.MaxValue, power3 } - }; - + // -2147483647 nm = power1, 0 nm = power2, 2147483647 nm = power 3 + var spd = new Spd(start: -int.MaxValue, interval: int.MaxValue, power1, power2, power3); TestUtils.AssertNoPropertyError(new Unicolour(spd)); TestUtils.AssertNoPropertyError(new Unicolour(TestUtils.DefaultFogra39Config, spd)); } + [Test, Combinatorial] + public void CreateFromPigmentSingleConstant( + [ValueSource(typeof(TestUtils), nameof(TestUtils.ExtremeDoubles))] double coefficient, + [ValueSource(typeof(TestUtils), nameof(TestUtils.ExtremeDoubles))] double weight) + { + double[] coefficients = [coefficient, coefficient, coefficient]; + var pigment = new Pigment(int.MinValue, int.MaxValue, coefficients); + TestUtils.AssertNoPropertyError(new Unicolour([pigment], [weight])); + TestUtils.AssertNoPropertyError(new Unicolour(TestUtils.DefaultFogra39Config, [pigment], [weight])); + } + + [Test, Combinatorial] + public void CreateFromPigmentTwoConstant( + [ValueSource(typeof(TestUtils), nameof(TestUtils.ExtremeDoubles))] double coefficient, + [ValueSource(typeof(TestUtils), nameof(TestUtils.ExtremeDoubles))] double weight, + [ValueSource(typeof(TestUtils), nameof(TestUtils.ExtremeDoubles))] double correction) + { + double[] coefficients = [coefficient, coefficient, coefficient]; + var pigment = new Pigment(int.MinValue, int.MaxValue, coefficients, coefficients, correction, correction); + TestUtils.AssertNoPropertyError(new Unicolour([pigment], [weight])); + TestUtils.AssertNoPropertyError(new Unicolour(TestUtils.DefaultFogra39Config, [pigment], [weight])); + } + [Test, Combinatorial] public void CreateFromIcc( [ValueSource(typeof(TestUtils), nameof(TestUtils.ExtremeDoubles))] double first, diff --git a/Unicolour.Tests/IccConversionTests.cs b/Unicolour.Tests/IccConversionTests.cs index e8ef418c..8484e9a0 100644 --- a/Unicolour.Tests/IccConversionTests.cs +++ b/Unicolour.Tests/IccConversionTests.cs @@ -73,7 +73,6 @@ public void DeviceToPcs(IccTestColour testColour) } [TestCaseSource(nameof(ToDeviceTestData))] - public void PcsToDevice(IccTestColour testColour) { var expected = testColour.Output; @@ -111,7 +110,7 @@ public void NoReverseTransform() var expected = Enumerable.Range(0, 15).Select(_ => double.NaN).ToArray(); var iccConfig = new IccConfiguration(profile, Intent.Unspecified, "no reverse transform"); - var config = new Configuration(iccConfiguration: iccConfig); + var config = new Configuration(iccConfig: iccConfig); var unicolour = new Unicolour(config, ColourSpace.Rgb, rgb.Triplet.Tuple); Assert.That(iccConfig.Intent, Is.EqualTo(profile.Header.Intent)); Assert.That(iccConfig.Error, Is.Null); @@ -258,7 +257,7 @@ private static List GenerateUnicolourToDeviceTestData() private static Configuration GetConfig(XyzConfiguration xyzConfig, IccFile iccFile, Intent intent) { var iccConfig = new IccConfiguration(iccFile.GetProfile(), intent); - return new Configuration(xyzConfiguration: xyzConfig, iccConfiguration: iccConfig); + return new Configuration(xyzConfig: xyzConfig, iccConfig: iccConfig); } private static readonly Intent[] intents = diff --git a/Unicolour.Tests/IccProfileTests.cs b/Unicolour.Tests/IccProfileTests.cs index 20bf40d0..dd8a4ec4 100644 --- a/Unicolour.Tests/IccProfileTests.cs +++ b/Unicolour.Tests/IccProfileTests.cs @@ -58,7 +58,14 @@ public void Fogra39() AssertLuts(tags.BToA0.Value!, lutType: LutType.Lut16, LutElements.BA, 4, 3, [37, 37, 37, 4]); AssertLuts(tags.BToA1.Value!, lutType: LutType.Lut16, LutElements.BA, 4, 3, [37, 37, 37, 4]); AssertLuts(tags.BToA2.Value!, lutType: LutType.Lut16, LutElements.BA, 4, 3, [37, 37, 37, 4]); - Assert.That(tags.MediaWhite.Value, Is.EqualTo((0.84541, 0.87683, 0.74628)).Within(0.000005)); + Assert.That(tags.RedMatrixColumn.Value, Is.Null); + Assert.That(tags.GreenMatrixColumn.Value, Is.Null); + Assert.That(tags.BlueMatrixColumn.Value, Is.Null); + Assert.That(tags.RedTrc.Value, Is.Null); + Assert.That(tags.GreenTrc.Value, Is.Null); + Assert.That(tags.BlueTrc.Value, Is.Null); + Assert.That(tags.GreyTrc.Value, Is.Null); + Assert.That(tags.MediaWhite.Value!.ToTuple(), Is.EqualTo((0.84541, 0.87683, 0.74628)).Within(0.000005)); } [Test] @@ -112,7 +119,14 @@ public void Fogra55() AssertLuts(tags.BToA0.Value!, lutType: LutType.Lut16, LutElements.BA, 7, 3, [33, 33, 33, 7]); AssertLuts(tags.BToA1.Value!, lutType: LutType.Lut16, LutElements.BA, 7, 3, [33, 33, 33, 7]); AssertLuts(tags.BToA2.Value!, lutType: LutType.Lut16, LutElements.BA, 7, 3, [17, 17, 17, 7]); - Assert.That(tags.MediaWhite.Value, Is.EqualTo((0.85278, 0.87619, 0.79289)).Within(0.000005)); + Assert.That(tags.RedMatrixColumn.Value, Is.Null); + Assert.That(tags.GreenMatrixColumn.Value, Is.Null); + Assert.That(tags.BlueMatrixColumn.Value, Is.Null); + Assert.That(tags.RedTrc.Value, Is.Null); + Assert.That(tags.GreenTrc.Value, Is.Null); + Assert.That(tags.BlueTrc.Value, Is.Null); + Assert.That(tags.GreyTrc.Value!.ToString(), Is.EqualTo("Table curve: 256")); + Assert.That(tags.MediaWhite.Value!.ToTuple(), Is.EqualTo((0.85278, 0.87619, 0.79289)).Within(0.000005)); } [Test] @@ -160,7 +174,14 @@ public void JapanColor2011() AssertLuts(tags.BToA0.Value!, lutType: LutType.Lut16, LutElements.BA, 4, 3, [33, 33, 33, 4]); AssertLuts(tags.BToA1.Value!, lutType: LutType.Lut16, LutElements.BA, 4, 3, [33, 33, 33, 4]); AssertLuts(tags.BToA2.Value!, lutType: LutType.Lut8, LutElements.BA, 4, 3, [33, 33, 33, 4]); - Assert.That(tags.MediaWhite.Value, Is.EqualTo((0.82787, 0.85606, 0.72072)).Within(0.000005)); + Assert.That(tags.RedMatrixColumn.Value, Is.Null); + Assert.That(tags.GreenMatrixColumn.Value, Is.Null); + Assert.That(tags.BlueMatrixColumn.Value, Is.Null); + Assert.That(tags.RedTrc.Value, Is.Null); + Assert.That(tags.GreenTrc.Value, Is.Null); + Assert.That(tags.BlueTrc.Value, Is.Null); + Assert.That(tags.GreyTrc.Value, Is.Null); + Assert.That(tags.MediaWhite.Value!.ToTuple(), Is.EqualTo((0.82787, 0.85606, 0.72072)).Within(0.000005)); } [Test] @@ -212,7 +233,14 @@ public void Prmg() AssertLuts(tags.BToA0.Value!, lutType: LutType.LutBA, LutElements.BA, 4, 3, [33, 33, 33, 4]); AssertLuts(tags.BToA1.Value!, lutType: LutType.LutBA, LutElements.BA, 4, 3, [33, 33, 33, 4]); AssertLuts(tags.BToA2.Value!, lutType: LutType.LutBA, LutElements.BA, 4, 3, [33, 33, 33, 4]); - Assert.That(tags.MediaWhite.Value, Is.EqualTo((0.96420, 1.00000, 0.82491)).Within(0.000005)); + Assert.That(tags.RedMatrixColumn.Value, Is.Null); + Assert.That(tags.GreenMatrixColumn.Value, Is.Null); + Assert.That(tags.BlueMatrixColumn.Value, Is.Null); + Assert.That(tags.RedTrc.Value, Is.Null); + Assert.That(tags.GreenTrc.Value, Is.Null); + Assert.That(tags.BlueTrc.Value, Is.Null); + Assert.That(tags.GreyTrc.Value, Is.Null); + Assert.That(tags.MediaWhite.Value!.ToTuple(), Is.EqualTo((0.96420, 1.00000, 0.82491)).Within(0.000005)); } [Test] @@ -252,8 +280,19 @@ public void RommRgb() AssertTag(tags[5], "chad", 820, 44); AssertLuts(tags.AToB0.Value!, lutType: LutType.LutAB, LutElements.MB, 3, 3, null); + Assert.That(tags.AToB1.Value, Is.Null); + Assert.That(tags.AToB2.Value, Is.Null); AssertLuts(tags.BToA0.Value!, lutType: LutType.LutBA, LutElements.BM, 3, 3, null); - Assert.That(tags.MediaWhite.Value, Is.EqualTo((0.85809, 0.89000, 0.73421)).Within(0.000005)); + Assert.That(tags.BToA1.Value, Is.Null); + Assert.That(tags.BToA2.Value, Is.Null); + Assert.That(tags.RedMatrixColumn.Value, Is.Null); + Assert.That(tags.GreenMatrixColumn.Value, Is.Null); + Assert.That(tags.BlueMatrixColumn.Value, Is.Null); + Assert.That(tags.RedTrc.Value, Is.Null); + Assert.That(tags.GreenTrc.Value, Is.Null); + Assert.That(tags.BlueTrc.Value, Is.Null); + Assert.That(tags.GreyTrc.Value, Is.Null); + Assert.That(tags.MediaWhite.Value!.ToTuple(), Is.EqualTo((0.85809, 0.89000, 0.73421)).Within(0.000005)); } [Test] @@ -297,9 +336,18 @@ public void StandardRgbV4() AssertLuts(tags.AToB0.Value!, lutType: LutType.LutAB, LutElements.AMB, 3, 3, [17, 17, 17, 3]); AssertLuts(tags.AToB1.Value!, lutType: LutType.LutAB, LutElements.AMB, 3, 3, [2, 2, 2, 3]); + Assert.That(tags.AToB2.Value, Is.Null); AssertLuts(tags.BToA0.Value!, lutType: LutType.LutBA, LutElements.BMA, 3, 3, [17, 17, 17, 3]); AssertLuts(tags.BToA1.Value!, lutType: LutType.LutBA, LutElements.BMA, 3, 3, [2, 2, 2, 3]); - Assert.That(tags.MediaWhite.Value, Is.EqualTo((0.96420, 1.00000, 0.82491)).Within(0.000005)); + Assert.That(tags.BToA2.Value, Is.Null); + Assert.That(tags.RedMatrixColumn.Value, Is.Null); + Assert.That(tags.GreenMatrixColumn.Value, Is.Null); + Assert.That(tags.BlueMatrixColumn.Value, Is.Null); + Assert.That(tags.RedTrc.Value, Is.Null); + Assert.That(tags.GreenTrc.Value, Is.Null); + Assert.That(tags.BlueTrc.Value, Is.Null); + Assert.That(tags.GreyTrc.Value, Is.Null); + Assert.That(tags.MediaWhite.Value!.ToTuple(), Is.EqualTo((0.96420, 1.00000, 0.82491)).Within(0.000005)); } [Test] @@ -348,13 +396,20 @@ public void StandardRgbV2() AssertTag(tags[14], "cprt", 2924, 55); AssertTag(tags[15], "chad", 2980, 44); + Assert.That(tags.AToB0.Value, Is.Null); + Assert.That(tags.AToB1.Value, Is.Null); + Assert.That(tags.AToB2.Value, Is.Null); + Assert.That(tags.BToA0.Value, Is.Null); + Assert.That(tags.BToA1.Value, Is.Null); + Assert.That(tags.BToA2.Value, Is.Null); + Assert.That(tags.RedMatrixColumn.Value!.ToTuple(), Is.EqualTo((0.43607, 0.22249, 0.01392)).Within(0.000005)); + Assert.That(tags.GreenMatrixColumn.Value!.ToTuple(), Is.EqualTo((0.38515, 0.71687, 0.09708)).Within(0.000005)); + Assert.That(tags.BlueMatrixColumn.Value!.ToTuple(), Is.EqualTo((0.14307, 0.06061, 0.71410)).Within(0.000005)); Assert.That(tags.RedTrc.Value!.ToString(), Is.EqualTo("Table curve: 1024")); Assert.That(tags.GreenTrc.Value!.ToString(), Is.EqualTo("Table curve: 1024")); Assert.That(tags.BlueTrc.Value!.ToString(), Is.EqualTo("Table curve: 1024")); - Assert.That(tags.RedMatrixColumn.Value, Is.EqualTo((0.43607, 0.22249, 0.01392)).Within(0.000005)); - Assert.That(tags.GreenMatrixColumn.Value, Is.EqualTo((0.38515, 0.71687, 0.09708)).Within(0.000005)); - Assert.That(tags.BlueMatrixColumn.Value, Is.EqualTo((0.14307, 0.06061, 0.71410)).Within(0.000005)); - Assert.That(tags.MediaWhite.Value, Is.EqualTo((0.96420, 1.00000, 0.82491)).Within(0.000005)); + Assert.That(tags.GreyTrc.Value, Is.Null); + Assert.That(tags.MediaWhite.Value!.ToTuple(), Is.EqualTo((0.96420, 1.00000, 0.82491)).Within(0.000005)); } [Test] @@ -392,8 +447,20 @@ public void StandardRgbGreyV4() AssertTag(tags[3], "chad", 284, 44); AssertTag(tags[4], Signatures.GreyTrc, 328, 32); + Assert.That(tags.AToB0.Value, Is.Null); + Assert.That(tags.AToB1.Value, Is.Null); + Assert.That(tags.AToB2.Value, Is.Null); + Assert.That(tags.BToA0.Value, Is.Null); + Assert.That(tags.BToA1.Value, Is.Null); + Assert.That(tags.BToA2.Value, Is.Null); + Assert.That(tags.RedMatrixColumn.Value, Is.Null); + Assert.That(tags.GreenMatrixColumn.Value, Is.Null); + Assert.That(tags.BlueMatrixColumn.Value, Is.Null); + Assert.That(tags.RedTrc.Value, Is.Null); + Assert.That(tags.GreenTrc.Value, Is.Null); + Assert.That(tags.BlueTrc.Value, Is.Null); Assert.That(tags.GreyTrc.Value!.ToString(), Is.EqualTo("Parametric curve: type 3")); - Assert.That(tags.MediaWhite.Value, Is.EqualTo((0.96420, 1.00000, 0.82491)).Within(0.000005)); + Assert.That(tags.MediaWhite.Value!.ToTuple(), Is.EqualTo((0.96420, 1.00000, 0.82491)).Within(0.000005)); } [Test] @@ -441,13 +508,20 @@ public void D65Xyz() AssertTag(tags[14], "cprt", 884, 40); AssertTag(tags[15], "chad", 924, 44); + Assert.That(tags.AToB0.Value, Is.Null); + Assert.That(tags.AToB1.Value, Is.Null); + Assert.That(tags.AToB2.Value, Is.Null); + Assert.That(tags.BToA0.Value, Is.Null); + Assert.That(tags.BToA1.Value, Is.Null); + Assert.That(tags.BToA2.Value, Is.Null); + Assert.That(tags.RedMatrixColumn.Value!.ToTuple(), Is.EqualTo((1.04791, 0.02960, -0.00925)).Within(0.000005)); + Assert.That(tags.GreenMatrixColumn.Value!.ToTuple(), Is.EqualTo((0.02293, 0.99046, 0.01506)).Within(0.000005)); + Assert.That(tags.BlueMatrixColumn.Value!.ToTuple(), Is.EqualTo((-0.05020, -0.01707, 0.75179)).Within(0.000005)); Assert.That(tags.RedTrc.Value!.ToString(), Is.EqualTo("Table curve: 2")); Assert.That(tags.GreenTrc.Value!.ToString(), Is.EqualTo("Table curve: 2")); Assert.That(tags.BlueTrc.Value!.ToString(), Is.EqualTo("Table curve: 2")); - Assert.That(tags.RedMatrixColumn.Value, Is.EqualTo((1.04791, 0.02960, -0.00925)).Within(0.000005)); - Assert.That(tags.GreenMatrixColumn.Value, Is.EqualTo((0.02293, 0.99046, 0.01506)).Within(0.000005)); - Assert.That(tags.BlueMatrixColumn.Value, Is.EqualTo((-0.05020, -0.01707, 0.75179)).Within(0.000005)); - Assert.That(tags.MediaWhite.Value, Is.EqualTo((0.96420, 1.00000, 0.82491)).Within(0.000005)); + Assert.That(tags.GreyTrc.Value, Is.Null); + Assert.That(tags.MediaWhite.Value!.ToTuple(), Is.EqualTo((0.96420, 1.00000, 0.82491)).Within(0.000005)); } [Test] @@ -488,6 +562,17 @@ public void CxScannerGrey() AssertLuts(tags.AToB0.Value!, lutType: LutType.Lut16, LutElements.AB, 3, 3, [2, 2, 2, 3]); AssertLuts(tags.AToB1.Value!, lutType: LutType.Lut16, LutElements.AB, 3, 3, [2, 2, 2, 3]); AssertLuts(tags.AToB2.Value!, lutType: LutType.Lut16, LutElements.AB, 3, 3, [2, 2, 2, 3]); + Assert.That(tags.BToA0.Value, Is.Null); + Assert.That(tags.BToA1.Value, Is.Null); + Assert.That(tags.BToA2.Value, Is.Null); + Assert.That(tags.RedMatrixColumn.Value, Is.Null); + Assert.That(tags.GreenMatrixColumn.Value, Is.Null); + Assert.That(tags.BlueMatrixColumn.Value, Is.Null); + Assert.That(tags.RedTrc.Value, Is.Null); + Assert.That(tags.GreenTrc.Value, Is.Null); + Assert.That(tags.BlueTrc.Value, Is.Null); + Assert.That(tags.GreyTrc.Value, Is.Null); + Assert.That(tags.MediaWhite.Value!.ToTuple(), Is.EqualTo((0.96419, 1.00000, 0.82489)).Within(0.000005)); } [Test] @@ -525,6 +610,19 @@ public void CxHue45Abstract() AssertTag(tags[4], Signatures.AToB0, 376, 11110); AssertLuts(tags.AToB0.Value!, lutType: LutType.Lut16, LutElements.AB, 3, 3, [11, 11, 11, 3]); + Assert.That(tags.AToB1.Value, Is.Null); + Assert.That(tags.AToB2.Value, Is.Null); + Assert.That(tags.BToA0.Value, Is.Null); + Assert.That(tags.BToA1.Value, Is.Null); + Assert.That(tags.BToA2.Value, Is.Null); + Assert.That(tags.RedMatrixColumn.Value, Is.Null); + Assert.That(tags.GreenMatrixColumn.Value, Is.Null); + Assert.That(tags.BlueMatrixColumn.Value, Is.Null); + Assert.That(tags.RedTrc.Value, Is.Null); + Assert.That(tags.GreenTrc.Value, Is.Null); + Assert.That(tags.BlueTrc.Value, Is.Null); + Assert.That(tags.GreyTrc.Value, Is.Null); + Assert.That(tags.MediaWhite.Value!.ToTuple(), Is.EqualTo((0.96429, 1.00000, 0.82510)).Within(0.000005)); } private static void AssertTag(Tag tag, string signature, int offset, int size) diff --git a/Unicolour.Tests/IccUnsupportedTests.cs b/Unicolour.Tests/IccUnsupportedTests.cs index 0d65599b..620c40a6 100644 --- a/Unicolour.Tests/IccUnsupportedTests.cs +++ b/Unicolour.Tests/IccUnsupportedTests.cs @@ -16,7 +16,7 @@ public void FileNullFromChannels() var expected = Channels.UncalibratedToRgb(channels); var iccConfig = new IccConfiguration(null, "not provided"); - var config = new Configuration(iccConfiguration: iccConfig); + var config = new Configuration(iccConfig: iccConfig); var unicolour = new Unicolour(config, channels); TestUtils.AssertTriplet(unicolour, expected.Triplet, 0); Assert.That(iccConfig.Intent, Is.EqualTo(Intent.Unspecified)); @@ -31,7 +31,7 @@ public void FileNullFromRgb() var expected = Channels.UncalibratedFromRgb(rgb); var iccConfig = new IccConfiguration(null, "not provided"); - var config = new Configuration(iccConfiguration: iccConfig); + var config = new Configuration(iccConfig: iccConfig); var unicolour = new Unicolour(config, ColourSpace.Rgb, rgb.Triplet.Tuple); Assert.That(iccConfig.Intent, Is.EqualTo(Intent.Unspecified)); Assert.That(unicolour.Icc, Is.EqualTo(expected)); @@ -49,7 +49,7 @@ public void FileNotFoundFromChannels() var expected = Channels.UncalibratedToRgb(channels); var iccConfig = new IccConfiguration(path, Intent.Unspecified, "not found"); - var config = new Configuration(iccConfiguration: iccConfig); + var config = new Configuration(iccConfig: iccConfig); var unicolour = new Unicolour(config, channels); TestUtils.AssertTriplet(unicolour, expected.Triplet, 0); Assert.That(iccConfig.Intent, Is.EqualTo(Intent.Unspecified)); @@ -68,7 +68,7 @@ public void FileNotFoundFromRgb() var expected = Channels.UncalibratedFromRgb(rgb); var iccConfig = new IccConfiguration(path, Intent.Unspecified, "not found"); - var config = new Configuration(iccConfiguration: iccConfig); + var config = new Configuration(iccConfig: iccConfig); var unicolour = new Unicolour(config, ColourSpace.Rgb, rgb.Triplet.Tuple); Assert.That(iccConfig.Intent, Is.EqualTo(Intent.Unspecified)); Assert.That(iccConfig.Error!.StartsWith("could not find file", StringComparison.CurrentCultureIgnoreCase)); @@ -88,7 +88,7 @@ public void FileNotEnoughBytesFromChannels() var expected = Channels.UncalibratedToRgb(channels); var iccConfig = new IccConfiguration(path, Intent.Unspecified, "not enough bytes"); - var config = new Configuration(iccConfiguration: iccConfig); + var config = new Configuration(iccConfig: iccConfig); var unicolour = new Unicolour(config, channels); TestUtils.AssertTriplet(unicolour, expected.Triplet, 0); Assert.That(iccConfig.Intent, Is.EqualTo(Intent.Unspecified)); @@ -109,7 +109,7 @@ public void FileNotEnoughBytesFromRgb() var expected = Channels.UncalibratedFromRgb(rgb); var iccConfig = new IccConfiguration(path, Intent.Unspecified, "not enough bytes"); - var config = new Configuration(iccConfiguration: iccConfig); + var config = new Configuration(iccConfig: iccConfig); var unicolour = new Unicolour(config, ColourSpace.Rgb, rgb.Triplet.Tuple); Assert.That(iccConfig.Intent, Is.EqualTo(Intent.Unspecified)); Assert.That(iccConfig.Error!.Contains("does not contain enough bytes", StringComparison.CurrentCultureIgnoreCase)); @@ -130,7 +130,7 @@ public void FileNotParseableFromChannels() var expected = Channels.UncalibratedToRgb(channels); var iccConfig = new IccConfiguration(path, Intent.Unspecified, "not parseable"); - var config = new Configuration(iccConfiguration: iccConfig); + var config = new Configuration(iccConfig: iccConfig); var unicolour = new Unicolour(config, channels); TestUtils.AssertTriplet(unicolour, expected.Triplet, 0); Assert.That(iccConfig.Intent, Is.EqualTo(Intent.Unspecified)); @@ -151,7 +151,7 @@ public void FileNotParseableFromRgb() var expected = Channels.UncalibratedFromRgb(rgb); var iccConfig = new IccConfiguration(path, Intent.Unspecified, "not parseable"); - var config = new Configuration(iccConfiguration: iccConfig); + var config = new Configuration(iccConfig: iccConfig); var unicolour = new Unicolour(config, ColourSpace.Rgb, rgb.Triplet.Tuple); Assert.That(iccConfig.Intent, Is.EqualTo(Intent.Unspecified)); Assert.That(iccConfig.Error!.Contains("could not be parsed", StringComparison.CurrentCultureIgnoreCase)); @@ -171,7 +171,7 @@ public void ProfileNotSupportedHeaderFromChannels() var expected = Channels.UncalibratedToRgb(channels); var iccConfig = new IccConfiguration(profile, Intent.Unspecified, "not supported header"); - var config = new Configuration(iccConfiguration: iccConfig); + var config = new Configuration(iccConfig: iccConfig); var unicolour = new Unicolour(config, channels); TestUtils.AssertTriplet(unicolour, expected.Triplet, 0); Assert.That(iccConfig.Intent, Is.EqualTo(profile.Header.Intent)); @@ -190,7 +190,7 @@ public void ProfileNotSupportedHeaderFromRgb() var expected = Channels.UncalibratedFromRgb(rgb); var iccConfig = new IccConfiguration(profile, Intent.Unspecified, "not supported header"); - var config = new Configuration(iccConfiguration: iccConfig); + var config = new Configuration(iccConfig: iccConfig); var unicolour = new Unicolour(config, ColourSpace.Rgb, rgb.Triplet.Tuple); Assert.That(iccConfig.Intent, Is.EqualTo(profile.Header.Intent)); Assert.That(iccConfig.Error!.Contains("not supported", StringComparison.CurrentCultureIgnoreCase)); @@ -214,7 +214,7 @@ public void ProfileNotSupportedTransformDToBFromChannels() var expected = Channels.UncalibratedToRgb(channels); var iccConfig = new IccConfiguration(path, Intent.Unspecified, "not supported transform"); - var config = new Configuration(iccConfiguration: iccConfig); + var config = new Configuration(iccConfig: iccConfig); var unicolour = new Unicolour(config, channels); TestUtils.AssertTriplet(unicolour, expected.Triplet, 0); Assert.That(iccConfig.Intent, Is.EqualTo(profile.Header.Intent)); @@ -238,7 +238,7 @@ public void ProfileNotSupportedTransformDToBFromRgb() var expected = Channels.UncalibratedFromRgb(rgb); var iccConfig = new IccConfiguration(path, Intent.Unspecified, "not supported transform"); - var config = new Configuration(iccConfiguration: iccConfig); + var config = new Configuration(iccConfig: iccConfig); var unicolour = new Unicolour(config, ColourSpace.Rgb, rgb.Triplet.Tuple); Assert.That(iccConfig.Intent, Is.EqualTo(profile.Header.Intent)); Assert.That(iccConfig.Error!.Contains("not supported", StringComparison.CurrentCultureIgnoreCase)); @@ -262,7 +262,7 @@ public void ProfileNotSupportedTransformNoneFromChannels() var expected = Channels.UncalibratedToRgb(channels); var iccConfig = new IccConfiguration(path, Intent.Unspecified, "not supported transform"); - var config = new Configuration(iccConfiguration: iccConfig); + var config = new Configuration(iccConfig: iccConfig); var unicolour = new Unicolour(config, channels); TestUtils.AssertTriplet(unicolour, expected.Triplet, 0); Assert.That(iccConfig.Intent, Is.EqualTo(profile.Header.Intent)); @@ -286,7 +286,7 @@ public void ProfileNotSupportedTransformNoneFromRgb() var expected = Channels.UncalibratedFromRgb(rgb); var iccConfig = new IccConfiguration(path, Intent.Unspecified, "not supported transform"); - var config = new Configuration(iccConfiguration: iccConfig); + var config = new Configuration(iccConfig: iccConfig); var unicolour = new Unicolour(config, ColourSpace.Rgb, rgb.Triplet.Tuple); Assert.That(iccConfig.Intent, Is.EqualTo(profile.Header.Intent)); Assert.That(iccConfig.Error!.Contains("not supported", StringComparison.CurrentCultureIgnoreCase)); @@ -308,7 +308,7 @@ public void ProfileBadSignatureFromChannels() var expected = Channels.UncalibratedToRgb(channels); var iccConfig = new IccConfiguration(path, Intent.Unspecified, "bad profile signature"); - var config = new Configuration(iccConfiguration: iccConfig); + var config = new Configuration(iccConfig: iccConfig); var unicolour = new Unicolour(config, channels); TestUtils.AssertTriplet(unicolour, expected.Triplet, 0); Assert.That(iccConfig.Intent, Is.EqualTo(profile.Header.Intent)); @@ -331,7 +331,7 @@ public void ProfileBadSignatureFromRgb() var expected = Channels.UncalibratedFromRgb(rgb); var iccConfig = new IccConfiguration(path, Intent.Unspecified, "bad profile signature"); - var config = new Configuration(iccConfiguration: iccConfig); + var config = new Configuration(iccConfig: iccConfig); var unicolour = new Unicolour(config, ColourSpace.Rgb, rgb.Triplet.Tuple); Assert.That(iccConfig.Intent, Is.EqualTo(profile.Header.Intent)); Assert.That(iccConfig.Error!.Contains("signature is incorrect", StringComparison.CurrentCultureIgnoreCase)); @@ -354,7 +354,7 @@ public void LutBadSignatureFromChannels() var expected = new Rgb(double.NaN, double.NaN, double.NaN); var iccConfig = new IccConfiguration(path, Intent.Unspecified, "bad lut signature"); - var config = new Configuration(iccConfiguration: iccConfig); + var config = new Configuration(iccConfig: iccConfig); var unicolour = new Unicolour(config, channels); TestUtils.AssertTriplet(unicolour, expected.Triplet, 0); Assert.That(iccConfig.Intent, Is.EqualTo(profile.Header.Intent)); @@ -377,7 +377,7 @@ public void LutBadSignatureFromRgb() var expected = Enumerable.Range(0, 15).Select(_ => double.NaN).ToArray(); var iccConfig = new IccConfiguration(path, Intent.Unspecified, "bad lut signature"); - var config = new Configuration(iccConfiguration: iccConfig); + var config = new Configuration(iccConfig: iccConfig); var unicolour = new Unicolour(config, ColourSpace.Rgb, rgb.Triplet.Tuple); Assert.That(iccConfig.Intent, Is.EqualTo(profile.Header.Intent)); Assert.That(iccConfig.Error, Is.Null); @@ -400,7 +400,7 @@ public void CurveBadSignatureFromChannels() var expected = new Rgb(double.NaN, double.NaN, double.NaN); var iccConfig = new IccConfiguration(path, Intent.Unspecified, "bad curve signature"); - var config = new Configuration(iccConfiguration: iccConfig); + var config = new Configuration(iccConfig: iccConfig); var unicolour = new Unicolour(config, channels); TestUtils.AssertTriplet(unicolour, expected.Triplet, 0); Assert.That(iccConfig.Intent, Is.EqualTo(profile.Header.Intent)); @@ -423,7 +423,7 @@ public void CurveBadSignatureFromRgb() var expected = Enumerable.Range(0, 15).Select(_ => double.NaN).ToArray(); var iccConfig = new IccConfiguration(path, Intent.Unspecified, "bad curve signature"); - var config = new Configuration(iccConfiguration: iccConfig); + var config = new Configuration(iccConfig: iccConfig); var unicolour = new Unicolour(config, ColourSpace.Rgb, rgb.Triplet.Tuple); Assert.That(iccConfig.Intent, Is.EqualTo(profile.Header.Intent)); Assert.That(iccConfig.Error, Is.Null); @@ -446,7 +446,7 @@ public void WrongDimensions(string iccFileName, double[] input, double[] effecti var iccFile = IccFile.Lookup[iccFileName]; var profile = iccFile.GetProfile(); var iccConfig = new IccConfiguration(profile); - var config = new Configuration(iccConfiguration: iccConfig); + var config = new Configuration(iccConfig: iccConfig); var actualUnicolour = new Unicolour(config, new Channels(input)); var expectedUnicolour = new Unicolour(config, new Channels(effectiveInput)); @@ -467,7 +467,7 @@ public void WrongDimensions(string iccFileName, double[] input, double[] effecti public void WrongDimensionsUncalibrated(double[] input, double[] effectiveInput) { var iccConfig = new IccConfiguration(null); - var config = new Configuration(iccConfiguration: iccConfig); + var config = new Configuration(iccConfig: iccConfig); var actualUnicolour = new Unicolour(config, new Channels(input)); var expectedUnicolour = new Unicolour(config, new Channels(effectiveInput)); diff --git a/Unicolour.Tests/IlluminantTests.cs b/Unicolour.Tests/IlluminantTests.cs index 2f3a4fb8..c7a3ee06 100644 --- a/Unicolour.Tests/IlluminantTests.cs +++ b/Unicolour.Tests/IlluminantTests.cs @@ -45,7 +45,7 @@ public void PredefinedWhitePoints(Spd spd, Illuminant illuminant, Observer obser Assert.That(spdWhitePoint.Y, Is.EqualTo(predefinedWhitePoint.Y).Within(illuminant == Illuminant.E ? 0.05 : 0.0125)); Assert.That(spdWhitePoint.Z, Is.EqualTo(predefinedWhitePoint.Z).Within(illuminant == Illuminant.E ? 0.05 : 0.0125)); - var config = new Configuration(xyzConfiguration: new XyzConfiguration(illuminant, observer)); + var config = new Configuration(xyzConfig: new XyzConfiguration(illuminant, observer)); var fromSpdWhite = new Unicolour(config, ColourSpace.Xyz, spdWhitePoint.AsXyzMatrix().ToTriplet().Tuple); var fromRgbWhite = new Unicolour(config, ColourSpace.Rgb, 1, 1, 1); Assert.That(fromSpdWhite.Chromaticity.X, Is.EqualTo(fromRgbWhite.Chromaticity.X).Within(0.00005)); @@ -75,7 +75,7 @@ public void CustomWhitePoint(Observer observer) Assert.That(actualWhitePoint, Is.EqualTo(expectedWhitePoint)); var xyzConfig = new XyzConfiguration(illuminant, observer); - var config = new Configuration(xyzConfiguration: xyzConfig); + var config = new Configuration(xyzConfig: xyzConfig); var unicolour = new Unicolour(config, "#FFFFFF"); TestUtils.AssertTriplet(unicolour, new(0.5, 0.5, 0.5), 0.00000000001); } diff --git a/Unicolour.Tests/ImaginaryTests.cs b/Unicolour.Tests/ImaginaryTests.cs index a21c91e9..656ad1f8 100644 --- a/Unicolour.Tests/ImaginaryTests.cs +++ b/Unicolour.Tests/ImaginaryTests.cs @@ -23,10 +23,10 @@ public void Greyscale([Range(0, 1, 0.1)] double value) private static readonly Dictionary<(Illuminant illuminant, Observer observer), Configuration> Configurations = new() { - { (Illuminant.D65, Observer.Degree2), new(xyzConfiguration: new(Illuminant.D65, Observer.Degree2)) }, - { (Illuminant.D65, Observer.Degree10), new(xyzConfiguration: new(Illuminant.D65, Observer.Degree10)) }, - { (Illuminant.E, Observer.Degree2), new(xyzConfiguration: new(Illuminant.E, Observer.Degree2)) }, - { (Illuminant.E, Observer.Degree10), new(xyzConfiguration: new(Illuminant.E, Observer.Degree10)) } + { (Illuminant.D65, Observer.Degree2), new(xyzConfig: new(Illuminant.D65, Observer.Degree2)) }, + { (Illuminant.D65, Observer.Degree10), new(xyzConfig: new(Illuminant.D65, Observer.Degree10)) }, + { (Illuminant.E, Observer.Degree2), new(xyzConfig: new(Illuminant.E, Observer.Degree2)) }, + { (Illuminant.E, Observer.Degree10), new(xyzConfig: new(Illuminant.E, Observer.Degree10)) } }; [Test] @@ -39,7 +39,7 @@ public void Monochromatic( var observer = TestUtils.Observers[observerName]; var config = Configurations[(illuminant, observer)]; - var unicolour = new Unicolour(config, new Spd { { wavelength, 1.0 } }); + var unicolour = new Unicolour(config, Spd.Monochromatic(wavelength)); Assert.That(unicolour.IsImaginary, Is.False); } @@ -72,7 +72,7 @@ public void BoundaryEdge(Edge edge, double xOffset, double yOffset, bool expecte _ => throw new ArgumentOutOfRangeException(nameof(edge), edge, null) }; - var monochromatic = new Unicolour(new Spd { { wavelength, 1.0 } }); + var monochromatic = new Unicolour(Spd.Monochromatic(wavelength)); var chromaticity = monochromatic.Chromaticity; var offsetChromaticity = new Chromaticity(chromaticity.X + xOffset, chromaticity.Y + yOffset); var unicolour = new Unicolour(offsetChromaticity); diff --git a/Unicolour.Tests/InvalidMissingWavelengthTests.cs b/Unicolour.Tests/InvalidMissingWavelengthTests.cs new file mode 100644 index 00000000..a9751fcb --- /dev/null +++ b/Unicolour.Tests/InvalidMissingWavelengthTests.cs @@ -0,0 +1,16 @@ +using System; +using NUnit.Framework; + +namespace Wacton.Unicolour.Tests; + +public class InvalidMissingWavelengthTests +{ + private const MissingWavelength BadMissingWavelength = (MissingWavelength)int.MaxValue; + + [Test] + public void InvalidParameter() + { + var spectralCoefficients = new SpectralCoefficients(start: 360, interval: 1, coefficients: [0.1, 0.2, 0.3, 0.4, 0.5]); + Assert.Throws(() => spectralCoefficients.Get(370, BadMissingWavelength)); + } +} \ No newline at end of file diff --git a/Unicolour.Tests/KnownHctTests.cs b/Unicolour.Tests/KnownHctTests.cs index affee24d..90bb8a79 100644 --- a/Unicolour.Tests/KnownHctTests.cs +++ b/Unicolour.Tests/KnownHctTests.cs @@ -45,7 +45,7 @@ public void White() [Test] public void WhiteD65ToHct() { - var whiteD65 = new Unicolour(new Configuration(xyzConfiguration: XyzConfiguration.D65), ColourSpace.Rgb, 1.0, 1.0, 1.0); + var whiteD65 = new Unicolour(new Configuration(xyzConfig: XyzConfiguration.D65), ColourSpace.Rgb, 1.0, 1.0, 1.0); TestUtils.AssertTriplet(whiteD65, new(0.9505, 1.0000, 1.0888), 0.0001); // XYZ values for D65 white TestUtils.AssertTriplet(whiteD65, HctWhiteTriplet, 0.005); // HCT values for D65 white (no adaptation needed) } @@ -53,14 +53,14 @@ public void WhiteD65ToHct() [Test] public void WhiteD65FromHct() { - var whiteD65 = new Unicolour(new Configuration(xyzConfiguration: XyzConfiguration.D65), ColourSpace.Hct, 209.492, 2.869, 100.000); + var whiteD65 = new Unicolour(new Configuration(xyzConfig: XyzConfiguration.D65), ColourSpace.Hct, 209.492, 2.869, 100.000); TestUtils.AssertTriplet(whiteD65, new(0.9505, 1.0000, 1.0888), 0.0001); // XYZ values for D65 white (no adaptation needed) } [Test] public void WhiteD50ToHct() { - var whiteD50 = new Unicolour(new Configuration(xyzConfiguration: XyzConfiguration.D50), ColourSpace.Rgb, 1.0, 1.0, 1.0); + var whiteD50 = new Unicolour(new Configuration(xyzConfig: XyzConfiguration.D50), ColourSpace.Rgb, 1.0, 1.0, 1.0); TestUtils.AssertTriplet(whiteD50, new(0.9642, 1.0000, 0.8252), 0.0001); // XYZ values for D50 white TestUtils.AssertTriplet(whiteD50, HctWhiteTriplet, 0.005); // HCT values same as D65 white due to adaptation } @@ -68,7 +68,7 @@ public void WhiteD50ToHct() [Test] public void WhiteD50FromHct() { - var whiteD50 = new Unicolour(new Configuration(xyzConfiguration: XyzConfiguration.D50), ColourSpace.Hct, 209.492, 2.869, 100.000); + var whiteD50 = new Unicolour(new Configuration(xyzConfig: XyzConfiguration.D50), ColourSpace.Hct, 209.492, 2.869, 100.000); TestUtils.AssertTriplet(whiteD50, new(0.9642, 1.0000, 0.8252), 0.0001); // XYZ values for D50 white due to adaptation } @@ -76,7 +76,7 @@ public void WhiteD50FromHct() public void WhiteEqualEnergyToHct() { var equalEnergyConfig = new XyzConfiguration(Illuminant.E, Observer.Degree2); - var whiteE = new Unicolour(new Configuration(xyzConfiguration: equalEnergyConfig), ColourSpace.Rgb, 1.0, 1.0, 1.0); + var whiteE = new Unicolour(new Configuration(xyzConfig: equalEnergyConfig), ColourSpace.Rgb, 1.0, 1.0, 1.0); TestUtils.AssertTriplet(whiteE, new(1.0000, 1.0000, 1.0000), 0.0001); // XYZ values for E white TestUtils.AssertTriplet(whiteE, HctWhiteTriplet, 0.005); // HCT values same as D65 white due to adaptation } @@ -85,7 +85,7 @@ public void WhiteEqualEnergyToHct() public void WhiteEqualEnergyFromHct() { var equalEnergyConfig = new XyzConfiguration(Illuminant.E, Observer.Degree2); - var whiteE = new Unicolour(new Configuration(xyzConfiguration: equalEnergyConfig), ColourSpace.Hct, 209.492, 2.869, 100.000); + var whiteE = new Unicolour(new Configuration(xyzConfig: equalEnergyConfig), ColourSpace.Hct, 209.492, 2.869, 100.000); TestUtils.AssertTriplet(whiteE, new(1.0000, 1.0000, 1.0000), 0.0001); // XYZ values for E white due to adaptation } } \ No newline at end of file diff --git a/Unicolour.Tests/KnownIccTests.cs b/Unicolour.Tests/KnownIccTests.cs index 206c6049..c2bf8ecc 100644 --- a/Unicolour.Tests/KnownIccTests.cs +++ b/Unicolour.Tests/KnownIccTests.cs @@ -144,8 +144,8 @@ private static Configuration GetConfig(IccFile iccFile) { // CSS ICC profiles default to relative colorimetric return new Configuration( - xyzConfiguration: Transform.XyzD50, - iccConfiguration: new IccConfiguration(iccFile.GetProfile(), Intent.RelativeColorimetric) + xyzConfig: Transform.XyzD50, + iccConfig: new IccConfiguration(iccFile.GetProfile(), Intent.RelativeColorimetric) ); } } \ No newline at end of file diff --git a/Unicolour.Tests/KnownOkhslTests.cs b/Unicolour.Tests/KnownOkhslTests.cs index 52dbbf43..eaad0db0 100644 --- a/Unicolour.Tests/KnownOkhslTests.cs +++ b/Unicolour.Tests/KnownOkhslTests.cs @@ -53,13 +53,13 @@ public void Grey() private static readonly List OklabData = [ - new TestCaseData(new ColourTriplet(0.5, -0.5, 0.0), new ColourTriplet(0.5 * 360, 3.377334888701067, 0.42114056260896976)), - new TestCaseData(new ColourTriplet(0.5, +0.5, 0.0), new ColourTriplet(0.0 * 360, 0.5241848002880121, 0.42114056260896976)), - new TestCaseData(new ColourTriplet(0.5, 0.0, -0.5), new ColourTriplet(0.75 * 360, 1.0959445594370765, 0.42114056260896976)), - new TestCaseData(new ColourTriplet(0.5, 0.0, +0.5), new ColourTriplet(0.25 * 360, -0.19759454578641367, 0.42114056260896976)), - new TestCaseData(new ColourTriplet(0.0, 0.0, 0.0), new ColourTriplet(0.0, 0.0, 0.0)), // Toe(0.0) - new TestCaseData(new ColourTriplet(0.5, 0.0, 0.0), new ColourTriplet(0.0, 0.0, 0.42114056260896976)), // Toe(0.5) - new TestCaseData(new ColourTriplet(1.0, 0.0, 0.0), new ColourTriplet(0.0, 0.0, 1.0)) + new(new ColourTriplet(0.5, -0.5, 0.0), new ColourTriplet(0.5 * 360, 3.377334888701067, 0.42114056260896976)), + new(new ColourTriplet(0.5, +0.5, 0.0), new ColourTriplet(0.0 * 360, 0.5241848002880121, 0.42114056260896976)), + new(new ColourTriplet(0.5, 0.0, -0.5), new ColourTriplet(0.75 * 360, 1.0959445594370765, 0.42114056260896976)), + new(new ColourTriplet(0.5, 0.0, +0.5), new ColourTriplet(0.25 * 360, -0.19759454578641367, 0.42114056260896976)), + new(new ColourTriplet(0.0, 0.0, 0.0), new ColourTriplet(0.0, 0.0, 0.0)), // Toe(0.0) + new(new ColourTriplet(0.5, 0.0, 0.0), new ColourTriplet(0.0, 0.0, 0.42114056260896976)), // Toe(0.5) + new(new ColourTriplet(1.0, 0.0, 0.0), new ColourTriplet(0.0, 0.0, 1.0)) ]; [TestCaseSource(nameof(OklabData))] diff --git a/Unicolour.Tests/KnownOkhsvTests.cs b/Unicolour.Tests/KnownOkhsvTests.cs index a683d095..1b35ec0c 100644 --- a/Unicolour.Tests/KnownOkhsvTests.cs +++ b/Unicolour.Tests/KnownOkhsvTests.cs @@ -53,13 +53,13 @@ public void Grey() private static readonly List OklabData = [ - new TestCaseData(new ColourTriplet(0.5, -0.5, 0.0), new ColourTriplet(0.5 * 360, -1.4104445419929168, 0.631481023598059)), - new TestCaseData(new ColourTriplet(0.5, +0.5, 0.0), new ColourTriplet(0.0 * 360, 1.7822882983359132, 1.049263654851725)), - new TestCaseData(new ColourTriplet(0.5, 0.0, -0.5), new ColourTriplet(0.75 * 360, 1.1627893841865418, 1.4956630881154662)), - new TestCaseData(new ColourTriplet(0.5, 0.0, +0.5), new ColourTriplet(0.25 * 360, -2.4740585901001264, 0.7862268119428452)), - new TestCaseData(new ColourTriplet(0.0, 0.0, 0.0), new ColourTriplet(0.0, 0.0, 0.0)), // Toe(0.0) - new TestCaseData(new ColourTriplet(0.5, 0.0, 0.0), new ColourTriplet(0.0, 0.0, 0.42114056260896976)), // Toe(0.5) - new TestCaseData(new ColourTriplet(1.0, 0.0, 0.0), new ColourTriplet(0.0, 0.0, 1.0)) + new(new ColourTriplet(0.5, -0.5, 0.0), new ColourTriplet(0.5 * 360, -1.4104445419929168, 0.631481023598059)), + new(new ColourTriplet(0.5, +0.5, 0.0), new ColourTriplet(0.0 * 360, 1.7822882983359132, 1.049263654851725)), + new(new ColourTriplet(0.5, 0.0, -0.5), new ColourTriplet(0.75 * 360, 1.1627893841865418, 1.4956630881154662)), + new(new ColourTriplet(0.5, 0.0, +0.5), new ColourTriplet(0.25 * 360, -2.4740585901001264, 0.7862268119428452)), + new(new ColourTriplet(0.0, 0.0, 0.0), new ColourTriplet(0.0, 0.0, 0.0)), // Toe(0.0) + new(new ColourTriplet(0.5, 0.0, 0.0), new ColourTriplet(0.0, 0.0, 0.42114056260896976)), // Toe(0.5) + new(new ColourTriplet(1.0, 0.0, 0.0), new ColourTriplet(0.0, 0.0, 1.0)) ]; [TestCaseSource(nameof(OklabData))] diff --git a/Unicolour.Tests/KnownOklabTests.cs b/Unicolour.Tests/KnownOklabTests.cs index b6a60e99..ed3330d3 100644 --- a/Unicolour.Tests/KnownOklabTests.cs +++ b/Unicolour.Tests/KnownOklabTests.cs @@ -73,10 +73,10 @@ public void Grey() */ private static readonly List TestData = [ - new TestCaseData(new ColourTriplet(0.950, 1.000, 1.089), new ColourTriplet(1.000, 0.000, 0.000)), - new TestCaseData(new ColourTriplet(1.000, 0.000, 0.000), new ColourTriplet(0.450, 1.236, -0.019)), - new TestCaseData(new ColourTriplet(0.000, 1.000, 0.000), new ColourTriplet(0.922, -0.671, 0.263)), - new TestCaseData(new ColourTriplet(0.000, 0.000, 1.000), new ColourTriplet(0.153, -1.415, -0.449)) + new(new ColourTriplet(0.950, 1.000, 1.089), new ColourTriplet(1.000, 0.000, 0.000)), + new(new ColourTriplet(1.000, 0.000, 0.000), new ColourTriplet(0.450, 1.236, -0.019)), + new(new ColourTriplet(0.000, 1.000, 0.000), new ColourTriplet(0.922, -0.671, 0.263)), + new(new ColourTriplet(0.000, 0.000, 1.000), new ColourTriplet(0.153, -1.415, -0.449)) ]; [TestCaseSource(nameof(TestData))] diff --git a/Unicolour.Tests/KnownSpdTests.cs b/Unicolour.Tests/KnownSpdTests.cs index b5944500..fc5063dc 100644 --- a/Unicolour.Tests/KnownSpdTests.cs +++ b/Unicolour.Tests/KnownSpdTests.cs @@ -1,5 +1,4 @@ using System; -using System.Collections.Generic; using System.Linq; using NUnit.Framework; using Wacton.Unicolour.Tests.Utils; @@ -9,10 +8,15 @@ namespace Wacton.Unicolour.Tests; // matches behaviour of https://www.waveformlighting.com/tech/spd-to-cie-xy-calculator public class KnownSpdTests { + private const int StartWavelength = 380; + private const int EndWavelength = 780; + private const int WavelengthCount = EndWavelength - StartWavelength + 1; + private static int[] Wavelengths => Enumerable.Range(StartWavelength, WavelengthCount).ToArray(); + [Test] public void Constant() { - var spd = new Spd(TestWavelengthRange.ToDictionary(wavelength => wavelength, _ => 8.0)); + var spd = new Spd(StartWavelength, interval: 1, Wavelengths.Select(_ => 8.0).ToArray()); var unicolour = new Unicolour(spd); TestUtils.AssertTriplet(unicolour, new(0.3333, 0.3333, 1.0000), 0.00005); AssertWhitePoint(spd); @@ -21,7 +25,7 @@ public void Constant() [Test] public void LinearTowardsRed() { - var spd = new Spd(TestWavelengthRange.ToDictionary(wavelength => wavelength, wavelength => wavelength - 380.0)); + var spd = new Spd(StartWavelength, interval: 1, Wavelengths.Select(wavelength => (double)(wavelength - StartWavelength)).ToArray()); var unicolour = new Unicolour(spd); TestUtils.AssertTriplet(unicolour, new(0.4299, 0.4040, 1.0000), 0.00005); AssertWhitePoint(spd); @@ -30,7 +34,7 @@ public void LinearTowardsRed() [Test] public void LinearTowardsBlue() { - var spd = new Spd(TestWavelengthRange.ToDictionary(wavelength => wavelength, wavelength => 780.0 - wavelength)); + var spd = new Spd(StartWavelength, interval: 1, Wavelengths.Select(wavelength => (double)(EndWavelength - wavelength)).ToArray()); var unicolour = new Unicolour(spd); TestUtils.AssertTriplet(unicolour, new(0.2762, 0.2916, 1.0000), 0.00005); AssertWhitePoint(spd); @@ -39,7 +43,7 @@ public void LinearTowardsBlue() [Test] public void ExponentialTowardsRed() { - var spd = new Spd(TestWavelengthRange.ToDictionary(wavelength => wavelength, wavelength => Math.Pow(wavelength - 380.0, 3))); + var spd = new Spd(StartWavelength, interval: 1, Wavelengths.Select(wavelength => Math.Pow(wavelength - StartWavelength, 3)).ToArray()); var unicolour = new Unicolour(spd); TestUtils.AssertTriplet(unicolour, new(0.5542, 0.4128, 1.0000), 0.00005); AssertWhitePoint(spd); @@ -48,7 +52,7 @@ public void ExponentialTowardsRed() [Test] public void ExponentialTowardsBlue() { - var spd = new Spd(TestWavelengthRange.ToDictionary(wavelength => wavelength, wavelength => Math.Pow(780.0 - wavelength, 3))); + var spd = new Spd(StartWavelength, interval: 1, Wavelengths.Select(wavelength => Math.Pow(EndWavelength - wavelength, 3)).ToArray()); var unicolour = new Unicolour(spd); TestUtils.AssertTriplet(unicolour, new(0.2013, 0.2004, 1.0000), 0.00005); AssertWhitePoint(spd); @@ -57,7 +61,7 @@ public void ExponentialTowardsBlue() [Test] public void YellowSpike() { - var spd = new Spd { { 580, 1.0 } }; + var spd = Spd.Monochromatic(580); var unicolour = new Unicolour(spd); TestUtils.AssertTriplet(unicolour, new(0.5125, 0.4866, 1.0000), 0.00005); AssertWhitePoint(spd); @@ -68,7 +72,7 @@ public void NoPower() { // an empty SPD is equivalent to all wavelengths having 0 power, and treated as not processable // as opposed to some kind of "black" illumination (illuminating with the absence of any light...) - var spd = new Spd(); + var spd = new Spd(start: 580, interval: 1); var unicolour = new Unicolour(spd); TestUtils.AssertTriplet(unicolour, new(double.NaN, double.NaN, double.NaN), 0); TestUtils.AssertTriplet(unicolour, new(double.NaN, double.NaN, double.NaN), 0); @@ -79,10 +83,8 @@ private static void AssertWhitePoint(Spd spd) // regardless of the spectral power distribution // if the SPD is set as the white point, RGB will be white var xyzConfig = new XyzConfiguration(new Illuminant(spd), Observer.Degree2); - var config = new Configuration(xyzConfiguration: xyzConfig); + var config = new Configuration(xyzConfig: xyzConfig); var unicolour = new Unicolour(config, spd); TestUtils.AssertTriplet(unicolour, new(1.0, 1.0, 1.0), 0.00000000001); } - - private static List TestWavelengthRange => Enumerable.Range(380, 780 - 380 + 1).ToList(); } \ No newline at end of file diff --git a/Unicolour.Tests/KnownTemperatureTests.cs b/Unicolour.Tests/KnownTemperatureTests.cs index f00b9f44..476a551c 100644 --- a/Unicolour.Tests/KnownTemperatureTests.cs +++ b/Unicolour.Tests/KnownTemperatureTests.cs @@ -33,7 +33,7 @@ public void Yellow() [Test] // matches the behaviour of python-based "coloraide" (https://facelessuser.github.io/coloraide/temperature/#duv) public void DisplayP3() { - var unicolour = new Unicolour(new Configuration(rgbConfiguration: RgbConfiguration.DisplayP3), 1200); + var unicolour = new Unicolour(new Configuration(rgbConfig: RgbConfiguration.DisplayP3), 1200); TestUtils.AssertTriplet(unicolour, new(1.6804, 0.62798, 0.05495), 0.005); } @@ -79,7 +79,7 @@ public void DaylightCct(string illuminantName, double cct, double x, double y) var daylightCct = cct * 1.4388 / 1.4380; var illuminant = TestUtils.Illuminants[illuminantName]; - var config = new Configuration(xyzConfiguration: new XyzConfiguration(illuminant, Observer.Degree2)); + var config = new Configuration(xyzConfig: new XyzConfiguration(illuminant, Observer.Degree2)); var fromDaylightCct = new Unicolour(config, daylightCct, Locus.Daylight); var fromChromaticity = new Unicolour(config, ColourSpace.Xyy, x, y, 1); var fromColour = new Unicolour(config, ColourSpace.Rgb, 1, 1, 1); diff --git a/Unicolour.Tests/LazyPlanckianCoordinatesTests.cs b/Unicolour.Tests/LazyPlanckianCoordinatesTests.cs index 0d5e25a8..0b6f22d9 100644 --- a/Unicolour.Tests/LazyPlanckianCoordinatesTests.cs +++ b/Unicolour.Tests/LazyPlanckianCoordinatesTests.cs @@ -33,10 +33,10 @@ public void IndirectAccessStandardRange() { // new instance of XyzConfiguration will create a new instance of Planckian, so other tests do not affect this one var xyzConfig = new XyzConfiguration(Illuminant.D65, Observer.Degree2); - var config = new Configuration(xyzConfiguration: xyzConfig); + var config = new Configuration(xyzConfig: xyzConfig); var white = new Unicolour(config, ColourSpace.Rgb, 1, 1, 1); - var planckian = white.Config.Xyz.Planckian; + var planckian = white.Configuration.Xyz.Planckian; Assert.That(planckian.StandardRangeCoordinates.IsValueCreated, Is.False); Assert.That(planckian.BelowRangeCoordinates.IsValueCreated, Is.False); Assert.That(planckian.AboveRangeCoordinates.IsValueCreated, Is.False); @@ -47,7 +47,7 @@ public void IndirectAccessStandardRange() Assert.That(planckian.AboveRangeCoordinates.IsValueCreated, Is.False); var black = new Unicolour(config, ColourSpace.Rgb, 0, 0, 0); - Assert.That(black.Config.Xyz.Planckian, Is.EqualTo(planckian)); + Assert.That(black.Configuration.Xyz.Planckian, Is.EqualTo(planckian)); } [Test] @@ -55,10 +55,10 @@ public void IndirectAccessBelowRange() { // new instance of XyzConfiguration will create a new instance of Planckian, so other tests do not affect this one var xyzConfig = new XyzConfiguration(Illuminant.D65, Observer.Degree2); - var config = new Configuration(xyzConfiguration: xyzConfig); + var config = new Configuration(xyzConfig: xyzConfig); var red = new Unicolour(config, ColourSpace.Rgb, 1, 0, 0); - var planckian = red.Config.Xyz.Planckian; + var planckian = red.Configuration.Xyz.Planckian; Assert.That(planckian.StandardRangeCoordinates.IsValueCreated, Is.False); Assert.That(planckian.BelowRangeCoordinates.IsValueCreated, Is.False); Assert.That(planckian.AboveRangeCoordinates.IsValueCreated, Is.False); @@ -69,7 +69,7 @@ public void IndirectAccessBelowRange() Assert.That(planckian.AboveRangeCoordinates.IsValueCreated, Is.False); var black = new Unicolour(config, ColourSpace.Rgb, 0, 0, 0); - Assert.That(black.Config.Xyz.Planckian, Is.EqualTo(planckian)); + Assert.That(black.Configuration.Xyz.Planckian, Is.EqualTo(planckian)); } [Test] @@ -77,10 +77,10 @@ public void IndirectAccessAboveRange() { // new instance of XyzConfiguration will create a new instance of Planckian, so other tests do not affect this one var xyzConfig = new XyzConfiguration(Illuminant.D65, Observer.Degree2); - var config = new Configuration(xyzConfiguration: xyzConfig); + var config = new Configuration(xyzConfig: xyzConfig); var blue = new Unicolour(config, ColourSpace.Rgb, 0, 0, 1); - var planckian = blue.Config.Xyz.Planckian; + var planckian = blue.Configuration.Xyz.Planckian; Assert.That(planckian.StandardRangeCoordinates.IsValueCreated, Is.False); Assert.That(planckian.BelowRangeCoordinates.IsValueCreated, Is.False); Assert.That(planckian.AboveRangeCoordinates.IsValueCreated, Is.False); @@ -91,7 +91,7 @@ public void IndirectAccessAboveRange() Assert.That(planckian.AboveRangeCoordinates.IsValueCreated, Is.True); var black = new Unicolour(config, ColourSpace.Rgb, 0, 0, 0); - Assert.That(black.Config.Xyz.Planckian, Is.EqualTo(planckian)); + Assert.That(black.Configuration.Xyz.Planckian, Is.EqualTo(planckian)); } } diff --git a/Unicolour.Tests/MatrixTests.cs b/Unicolour.Tests/MatrixTests.cs index 02a30f16..ea502f5e 100644 --- a/Unicolour.Tests/MatrixTests.cs +++ b/Unicolour.Tests/MatrixTests.cs @@ -174,6 +174,39 @@ public void Select() AssertMatrixSelect(DataA, x => Math.Pow(x, 2), squared); AssertMatrixSelect(DataA, x => 9.9, specified); } + + [Test] + public void Transpose() + { + var threeByOne = new[,] + { + { 1.0 }, + { -2.0 }, + { 3.0 } + }; + + var threeByOneTranspose = new[,] + { + { 1.0, -2.0, 3.0 } + }; + + var threeByThree = new[,] + { + { 1.0, 2.0, 3.0 }, + { -4.0, -5.0, -6.0 }, + { 7.0, 8.0, 9.0 } + }; + + var threeByThreeTranspose = new[,] + { + { 1.0, -4.0, 7.0 }, + { 2.0, -5.0, 8.0 }, + { 3.0, -6.0, 9.0 } + }; + + AssertMatrixTranspose(threeByOne, threeByOneTranspose); + AssertMatrixTranspose(threeByThree, threeByThreeTranspose); + } [Test] public void ToTripletCompatibleDimensions() @@ -231,11 +264,11 @@ private static void AssertMatrixMultiply(double[,] dataA, double[,] dataB, doubl private static void AssertMatrixInverse(double[,] data, double[,] expected) { - var matrixA = new Matrix(data); - var inverseMatrix = matrixA.Inverse(); + var matrix = new Matrix(data); + var inverseMatrix = matrix.Inverse(); - var mathNetMatrixA = Matrix.Build.DenseOfArray(data); - var mathNetInverseMatrix = mathNetMatrixA.Inverse(); + var mathNetMatrix = Matrix.Build.DenseOfArray(data); + var mathNetInverseMatrix = mathNetMatrix.Inverse(); AssertMatrixEquals(inverseMatrix, mathNetInverseMatrix, expected); } @@ -253,6 +286,17 @@ private static void AssertMatrixSelect(double[,] data, Func oper var mathNetMatrix = Matrix.Build.DenseOfArray(data).Map(operation); AssertMatrixEquals(matrix, mathNetMatrix, expected); } + + private static void AssertMatrixTranspose(double[,] data, double[,] expected) + { + var matrix = new Matrix(data); + var transposeMatrix = matrix.Transpose(); + + var mathNetMatrix = Matrix.Build.DenseOfArray(data); + var mathNetInverseMatrix = mathNetMatrix.Transpose(); + + AssertMatrixEquals(transposeMatrix, mathNetInverseMatrix, expected); + } private static void AssertMatrixEquals(Matrix actual, Matrix actualMathNet, double[,] expected) { diff --git a/Unicolour.Tests/MixConfigurationTests.cs b/Unicolour.Tests/MixConfigurationTests.cs index fa4abf08..921b4335 100644 --- a/Unicolour.Tests/MixConfigurationTests.cs +++ b/Unicolour.Tests/MixConfigurationTests.cs @@ -67,16 +67,16 @@ private static Configuration GetConfig(bool defaultConfig = true) private static void AssertConfig(Unicolour unicolour1, Unicolour unicolour2, bool expectSameId) { - Assert.That(unicolour1.Config.Id, expectSameId ? Is.EqualTo(unicolour2.Config.Id) : Is.Not.EqualTo(unicolour2.Config.Id)); + Assert.That(unicolour1.Configuration.Id, expectSameId ? Is.EqualTo(unicolour2.Configuration.Id) : Is.Not.EqualTo(unicolour2.Configuration.Id)); var mix1 = unicolour1.Mix(unicolour2, ColourSpace.Rgb, premultiplyAlpha: false); var mix2 = unicolour2.Mix(unicolour1, ColourSpace.Rgb, premultiplyAlpha: false); var mix3 = unicolour1.Mix(unicolour2, ColourSpace.Hsb, premultiplyAlpha: false); var mix4 = unicolour2.Mix(unicolour1, ColourSpace.Hsb, premultiplyAlpha: false); - Assert.That(mix1.Config, Is.EqualTo(unicolour1.Config)); - Assert.That(mix2.Config, Is.EqualTo(unicolour2.Config)); - Assert.That(mix3.Config, Is.EqualTo(unicolour1.Config)); - Assert.That(mix4.Config, Is.EqualTo(unicolour2.Config)); + Assert.That(mix1.Configuration, Is.EqualTo(unicolour1.Configuration)); + Assert.That(mix2.Configuration, Is.EqualTo(unicolour2.Configuration)); + Assert.That(mix3.Configuration, Is.EqualTo(unicolour1.Configuration)); + Assert.That(mix4.Configuration, Is.EqualTo(unicolour2.Configuration)); } } \ No newline at end of file diff --git a/Unicolour.Tests/MixHueFirstComponentTests.cs b/Unicolour.Tests/MixHueFirstComponentTests.cs index 74a5883b..bc72e1ae 100644 --- a/Unicolour.Tests/MixHueFirstComponentTests.cs +++ b/Unicolour.Tests/MixHueFirstComponentTests.cs @@ -150,11 +150,11 @@ public void SpanUneven(HueSpan hueSpan, double expectedForward, double expectedB public static readonly List PremultipliedAlphaTestData = [ - new TestCaseData(new AlphaTriplet(new(90, 1.0, 0.5, 0), 0.25), new AlphaTriplet(new(270, 0.5, 1.0, 0), 0.75), 0.00, new AlphaTriplet(new(90, 1.000, 0.500, 0), 0.250)), - new TestCaseData(new AlphaTriplet(new(90, 1.0, 0.5, 0), 0.25), new AlphaTriplet(new(270, 0.5, 1.0, 0), 0.75), 0.25, new AlphaTriplet(new(135, 0.750, 0.750, 0), 0.375)), - new TestCaseData(new AlphaTriplet(new(90, 1.0, 0.5, 0), 0.25), new AlphaTriplet(new(270, 0.5, 1.0, 0), 0.75), 0.50, new AlphaTriplet(new(180, 0.625, 0.875, 0), 0.500)), - new TestCaseData(new AlphaTriplet(new(90, 1.0, 0.5, 0), 0.25), new AlphaTriplet(new(270, 0.5, 1.0, 0), 0.75), 0.75, new AlphaTriplet(new(225, 0.550, 0.950, 0), 0.625)), - new TestCaseData(new AlphaTriplet(new(90, 1.0, 0.5, 0), 0.25), new AlphaTriplet(new(270, 0.5, 1.0, 0), 0.75), 1.00, new AlphaTriplet(new(270, 0.500, 1.000, 0), 0.750)) + new(new AlphaTriplet(new(90, 1.0, 0.5, 0), 0.25), new AlphaTriplet(new(270, 0.5, 1.0, 0), 0.75), 0.00, new AlphaTriplet(new(90, 1.000, 0.500, 0), 0.250)), + new(new AlphaTriplet(new(90, 1.0, 0.5, 0), 0.25), new AlphaTriplet(new(270, 0.5, 1.0, 0), 0.75), 0.25, new AlphaTriplet(new(135, 0.750, 0.750, 0), 0.375)), + new(new AlphaTriplet(new(90, 1.0, 0.5, 0), 0.25), new AlphaTriplet(new(270, 0.5, 1.0, 0), 0.75), 0.50, new AlphaTriplet(new(180, 0.625, 0.875, 0), 0.500)), + new(new AlphaTriplet(new(90, 1.0, 0.5, 0), 0.25), new AlphaTriplet(new(270, 0.5, 1.0, 0), 0.75), 0.75, new AlphaTriplet(new(225, 0.550, 0.950, 0), 0.625)), + new(new AlphaTriplet(new(90, 1.0, 0.5, 0), 0.25), new AlphaTriplet(new(270, 0.5, 1.0, 0), 0.75), 1.00, new AlphaTriplet(new(270, 0.500, 1.000, 0), 0.750)) ]; [TestCaseSource(nameof(PremultipliedAlphaTestData))] diff --git a/Unicolour.Tests/MixHueNoComponentTests.cs b/Unicolour.Tests/MixHueNoComponentTests.cs index d5290461..6ef9ef32 100644 --- a/Unicolour.Tests/MixHueNoComponentTests.cs +++ b/Unicolour.Tests/MixHueNoComponentTests.cs @@ -42,11 +42,11 @@ public MixHueNoComponentTests(ColourSpace colourSpace, Range first, Range second public static readonly List PremultipliedAlphaTestData = [ - new TestCaseData(new AlphaTriplet(new(0.5, 1.0, 0.5), 0.25), new AlphaTriplet(new(1.0, 0.5, 1.0), 0.75), 0.00, new AlphaTriplet(new(0.500, 1.000, 0.500), 0.250)), - new TestCaseData(new AlphaTriplet(new(0.5, 1.0, 0.5), 0.25), new AlphaTriplet(new(1.0, 0.5, 1.0), 0.75), 0.25, new AlphaTriplet(new(0.750, 0.750, 0.750), 0.375)), - new TestCaseData(new AlphaTriplet(new(0.5, 1.0, 0.5), 0.25), new AlphaTriplet(new(1.0, 0.5, 1.0), 0.75), 0.50, new AlphaTriplet(new(0.875, 0.625, 0.875), 0.500)), - new TestCaseData(new AlphaTriplet(new(0.5, 1.0, 0.5), 0.25), new AlphaTriplet(new(1.0, 0.5, 1.0), 0.75), 0.75, new AlphaTriplet(new(0.950, 0.550, 0.950), 0.625)), - new TestCaseData(new AlphaTriplet(new(0.5, 1.0, 0.5), 0.25), new AlphaTriplet(new(1.0, 0.5, 1.0), 0.75), 1.00, new AlphaTriplet(new(1.000, 0.500, 1.000), 0.750)) + new(new AlphaTriplet(new(0.5, 1.0, 0.5), 0.25), new AlphaTriplet(new(1.0, 0.5, 1.0), 0.75), 0.00, new AlphaTriplet(new(0.500, 1.000, 0.500), 0.250)), + new(new AlphaTriplet(new(0.5, 1.0, 0.5), 0.25), new AlphaTriplet(new(1.0, 0.5, 1.0), 0.75), 0.25, new AlphaTriplet(new(0.750, 0.750, 0.750), 0.375)), + new(new AlphaTriplet(new(0.5, 1.0, 0.5), 0.25), new AlphaTriplet(new(1.0, 0.5, 1.0), 0.75), 0.50, new AlphaTriplet(new(0.875, 0.625, 0.875), 0.500)), + new(new AlphaTriplet(new(0.5, 1.0, 0.5), 0.25), new AlphaTriplet(new(1.0, 0.5, 1.0), 0.75), 0.75, new AlphaTriplet(new(0.950, 0.550, 0.950), 0.625)), + new(new AlphaTriplet(new(0.5, 1.0, 0.5), 0.25), new AlphaTriplet(new(1.0, 0.5, 1.0), 0.75), 1.00, new AlphaTriplet(new(1.000, 0.500, 1.000), 0.750)) ]; [TestCaseSource(nameof(PremultipliedAlphaTestData))] diff --git a/Unicolour.Tests/MixHueThirdComponentTests.cs b/Unicolour.Tests/MixHueThirdComponentTests.cs index b26146cd..964d6beb 100644 --- a/Unicolour.Tests/MixHueThirdComponentTests.cs +++ b/Unicolour.Tests/MixHueThirdComponentTests.cs @@ -123,11 +123,11 @@ public void SpanUneven(HueSpan hueSpan, double expectedForward, double expectedB public static readonly List PremultipliedAlphaTestData = [ - new TestCaseData(new AlphaTriplet(new(0.5, 1.0, 90, 2), 0.25), new AlphaTriplet(new(1.0, 0.5, 270, 2), 0.75), 0.00, new AlphaTriplet(new(0.500, 1.000, 90, 2), 0.250)), - new TestCaseData(new AlphaTriplet(new(0.5, 1.0, 90, 2), 0.25), new AlphaTriplet(new(1.0, 0.5, 270, 2), 0.75), 0.25, new AlphaTriplet(new(0.750, 0.750, 135, 2), 0.375)), - new TestCaseData(new AlphaTriplet(new(0.5, 1.0, 90, 2), 0.25), new AlphaTriplet(new(1.0, 0.5, 270, 2), 0.75), 0.50, new AlphaTriplet(new(0.875, 0.625, 180, 2), 0.500)), - new TestCaseData(new AlphaTriplet(new(0.5, 1.0, 90, 2), 0.25), new AlphaTriplet(new(1.0, 0.5, 270, 2), 0.75), 0.75, new AlphaTriplet(new(0.950, 0.550, 225, 2), 0.625)), - new TestCaseData(new AlphaTriplet(new(0.5, 1.0, 90, 2), 0.25), new AlphaTriplet(new(1.0, 0.5, 270, 2), 0.75), 1.00, new AlphaTriplet(new(1.000, 0.500, 270, 2), 0.750)) + new(new AlphaTriplet(new(0.5, 1.0, 90, 2), 0.25), new AlphaTriplet(new(1.0, 0.5, 270, 2), 0.75), 0.00, new AlphaTriplet(new(0.500, 1.000, 90, 2), 0.250)), + new(new AlphaTriplet(new(0.5, 1.0, 90, 2), 0.25), new AlphaTriplet(new(1.0, 0.5, 270, 2), 0.75), 0.25, new AlphaTriplet(new(0.750, 0.750, 135, 2), 0.375)), + new(new AlphaTriplet(new(0.5, 1.0, 90, 2), 0.25), new AlphaTriplet(new(1.0, 0.5, 270, 2), 0.75), 0.50, new AlphaTriplet(new(0.875, 0.625, 180, 2), 0.500)), + new(new AlphaTriplet(new(0.5, 1.0, 90, 2), 0.25), new AlphaTriplet(new(1.0, 0.5, 270, 2), 0.75), 0.75, new AlphaTriplet(new(0.950, 0.550, 225, 2), 0.625)), + new(new AlphaTriplet(new(0.5, 1.0, 90, 2), 0.25), new AlphaTriplet(new(1.0, 0.5, 270, 2), 0.75), 1.00, new AlphaTriplet(new(1.000, 0.500, 270, 2), 0.750)) ]; [TestCaseSource(nameof(PremultipliedAlphaTestData))] diff --git a/Unicolour.Tests/NotNumberTests.cs b/Unicolour.Tests/NotNumberTests.cs index b2549800..4304b74d 100644 --- a/Unicolour.Tests/NotNumberTests.cs +++ b/Unicolour.Tests/NotNumberTests.cs @@ -10,20 +10,20 @@ public class NotNumberTests { private static readonly List TestData = [ - new TestCaseData(Configuration.Default, double.NaN, 0, 0), - new TestCaseData(Configuration.Default, 0, double.NaN, 0), - new TestCaseData(Configuration.Default, 0, 0, double.NaN), - new TestCaseData(Configuration.Default, double.NaN, double.NaN, 0), - new TestCaseData(Configuration.Default, double.NaN, 0, double.NaN), - new TestCaseData(Configuration.Default, 0, double.NaN, double.NaN), - new TestCaseData(Configuration.Default, double.NaN, double.NaN, double.NaN), - new TestCaseData(TestUtils.DefaultFogra39Config, double.NaN, 0, 0), - new TestCaseData(TestUtils.DefaultFogra39Config, 0, double.NaN, 0), - new TestCaseData(TestUtils.DefaultFogra39Config, 0, 0, double.NaN), - new TestCaseData(TestUtils.DefaultFogra39Config, double.NaN, double.NaN, 0), - new TestCaseData(TestUtils.DefaultFogra39Config, double.NaN, 0, double.NaN), - new TestCaseData(TestUtils.DefaultFogra39Config, 0, double.NaN, double.NaN), - new TestCaseData(TestUtils.DefaultFogra39Config, double.NaN, double.NaN, double.NaN) + new(Configuration.Default, double.NaN, 0, 0), + new(Configuration.Default, 0, double.NaN, 0), + new(Configuration.Default, 0, 0, double.NaN), + new(Configuration.Default, double.NaN, double.NaN, 0), + new(Configuration.Default, double.NaN, 0, double.NaN), + new(Configuration.Default, 0, double.NaN, double.NaN), + new(Configuration.Default, double.NaN, double.NaN, double.NaN), + new(TestUtils.DefaultFogra39Config, double.NaN, 0, 0), + new(TestUtils.DefaultFogra39Config, 0, double.NaN, 0), + new(TestUtils.DefaultFogra39Config, 0, 0, double.NaN), + new(TestUtils.DefaultFogra39Config, double.NaN, double.NaN, 0), + new(TestUtils.DefaultFogra39Config, double.NaN, 0, double.NaN), + new(TestUtils.DefaultFogra39Config, 0, double.NaN, double.NaN), + new(TestUtils.DefaultFogra39Config, double.NaN, double.NaN, double.NaN) ]; diff --git a/Unicolour.Tests/PigmentTests.cs b/Unicolour.Tests/PigmentTests.cs new file mode 100644 index 00000000..2e0d2470 --- /dev/null +++ b/Unicolour.Tests/PigmentTests.cs @@ -0,0 +1,212 @@ +using System.Collections.Generic; +using NUnit.Framework; +using Wacton.Unicolour.Tests.Utils; + +namespace Wacton.Unicolour.Tests; + +public class PigmentTests +{ + private static readonly double[][] r = + [ + [1.00, 0.50, 1.00, 0.50, 1.00], + [1.00, 1.00, 0.25, 0.50, 0.50], + [1.00, 1.00, 0.75, 0.25, 0.25] + ]; + + // calculated independently + private static readonly List SingleConstantData = + [ + new(1.0, 0.0, 0.0, r[0]), + new(0.0, 1.0, 0.0, r[1]), + new(0.0, 0.0, 1.0, r[2]), + new(0.5, 0.5, 0.0, new[] { 1.000000000000000, 0.609611796797792, 0.361914205481341, 0.500000000000000, 0.609611796797792 }), + new(0.5, 0.0, 0.5, new[] { 1.000000000000000, 0.609611796797792, 0.815648795795914, 0.328214801816778, 0.361914205481341 }), + new(0.0, 0.5, 0.5, new[] { 1.000000000000000, 1.000000000000000, 0.355756678111981, 0.328214801816778, 0.328214801816778 }), + new(0.5, 0.3, 0.2, new[] { 1.000000000000000, 0.609611796797792, 0.445129519024150, 0.409802974787652, 0.469337613708193 }), + new(0.2, 0.5, 0.3, new[] { 1.000000000000000, 0.729843788128358, 0.358190647636204, 0.377750578321363, 0.395304493075425 }), + new(0.3, 0.2, 0.5, new[] { 1.000000000000000, 0.680506654048513, 0.502798546500009, 0.328214801816778, 0.347527174204916 }) + ]; + + [TestCaseSource(nameof(SingleConstantData))] + public void SingleConstantKubelkaMunk(double c1, double c2, double c3, double[] expected) + { + Pigment pigment1 = new(400, 10, r[0]); + Pigment pigment2 = new(400, 10, r[1]); + Pigment pigment3 = new(400, 10, r[2]); + Pigment[] pigments = [pigment1, pigment2, pigment3]; + double[] concentrations = [c1, c2, c3]; + AssertReflectance(pigments, concentrations, expected, expectedXyzNaN: false); + } + + [Test] + public void SingleConstantKubelkaMunkWithZero() + { + // R of 0 would result in divide-by-zero when calculating K/S + Pigment pigment = new(400, 10, [0.2, 0.4, 0.0, 0.8, 1.0]); + Pigment[] pigments = [pigment]; + double[] concentrations = [1.0]; + AssertReflectance(pigments, concentrations, [0.2, 0.4, double.NaN, 0.8, 1.0], expectedXyzNaN: true); + } + + private static readonly double[][] k = + [ + [1.00, 0.50, 1.00, 0.50, 1.00], + [1.00, 1.00, 0.25, 0.50, 0.50], + [1.00, 1.00, 0.75, 0.25, 0.25] + ]; + + private static readonly double[][] s = + [ + [0.20, 0.40, 0.60, 0.80, 1.00], + [1.00, 0.80, 0.60, 0.40, 0.20], + [0.20, 0.80, 0.20, 0.80, 0.20] + ]; + + // calculated independently + private static readonly List TwoConstantData = + [ + new(1.0, 0.0, 0.0, new[] { 0.083920216900384, 0.234435562925363, 0.194600504301446, 0.344131154255050, 0.267949192431123 }), + new(0.0, 1.0, 0.0, new[] { 0.267949192431123, 0.234435562925363, 0.413200451767309, 0.234435562925363, 0.145898033750315 }), + new(0.0, 0.0, 1.0, new[] { 0.083920216900384, 0.234435562925363, 0.106456094748323, 0.462408093204035, 0.234435562925363 }), + new(0.5, 0.5, 0.0, new[] { 0.194600504301446, 0.234435562925363, 0.261665886392181, 0.296742590451186, 0.234435562925363 }), + new(0.5, 0.0, 0.5, new[] { 0.083920216900384, 0.234435562925363, 0.160924996799187, 0.393005345121343, 0.261665886392181 }), + new(0.0, 0.5, 0.5, new[] { 0.194600504301446, 0.234435562925363, 0.234435562925363, 0.344131154255050, 0.179517668394022 }), + new(0.5, 0.3, 0.2, new[] { 0.156520636181344, 0.234435562925363, 0.218836327679683, 0.334563915603707, 0.244572900888201 }), + new(0.2, 0.5, 0.3, new[] { 0.194600504301446, 0.234435562925363, 0.247254734895954, 0.323269155117111, 0.212581170298022 }), + new(0.3, 0.2, 0.5, new[] { 0.134756375387777, 0.234435562925363, 0.183782394398364, 0.375000000000000, 0.241247780463508 }) + ]; + + private const double k1 = 0.033; + private const double k2 = 0.66; + + // calculated independently + private static readonly List TwoConstantCorrectedData = + [ + new(1.0, 0.0, 0.0, new[] { 0.029209103554298, 0.091186832391423, 0.073409156685747, 0.146393232455631, 0.107022969538771 }), + new(0.0, 1.0, 0.0, new[] { 0.107022969538771, 0.091186832391423, 0.186792715165618, 0.091186832391423, 0.053079526586978 }), + new(0.0, 0.0, 1.0, new[] { 0.029209103554298, 0.091186832391423, 0.037645657200200, 0.218808579037984, 0.091186832391423 }), + new(0.5, 0.5, 0.0, new[] { 0.073409156685747, 0.091186832391423, 0.103989431373653, 0.121324432254632, 0.091186832391423 }), + new(0.5, 0.0, 0.5, new[] { 0.029209103554298, 0.091186832391423, 0.059196175746731, 0.174465870279250, 0.103989431373653 }), + new(0.0, 0.5, 0.5, new[] { 0.073409156685747, 0.091186832391423, 0.091186832391423, 0.146393232455631, 0.066954726195394 }), + new(0.5, 0.3, 0.2, new[] { 0.057389386089411, 0.091186832391423, 0.084095017367215, 0.141169974626911, 0.095888880683781 }), + new(0.2, 0.5, 0.3, new[] { 0.073409156685747, 0.091186832391423, 0.097145384967362, 0.135111504979980, 0.081298973598661 }), + new(0.3, 0.2, 0.5, new[] { 0.048630345501823, 0.091186832391423, 0.068764910347273, 0.163843853820598, 0.094338327216122 }) + ]; + + [TestCaseSource(nameof(TwoConstantData))] + public void TwoConstantKubelkaMunk(double c1, double c2, double c3, double[] expected) + { + Pigment pigment1 = new(400, 10, k[0], s[0]); + Pigment pigment2 = new(400, 10, k[1], s[1]); + Pigment pigment3 = new(400, 10, k[2], s[2]); + Pigment[] pigments = [pigment1, pigment2, pigment3]; + double[] concentrations = [c1, c2, c3]; + AssertReflectance(pigments, concentrations, expected, expectedXyzNaN: false); + } + + [TestCaseSource(nameof(TwoConstantCorrectedData))] + public void TwoConstantKubelkaMunkCorrected(double c1, double c2, double c3, double[] expected) + { + Pigment pigment1 = new(400, 10, k[0], s[0], k1, k2); + Pigment pigment2 = new(400, 10, k[1], s[1], k1, k2); + Pigment pigment3 = new(400, 10, k[2], s[2], k1, k2); + Pigment[] pigments = [pigment1, pigment2, pigment3]; + double[] concentrations = [c1, c2, c3]; + AssertReflectance(pigments, concentrations, expected, expectedXyzNaN: false); + } + + [Test] + public void TwoConstantKubelkaMunkWithZero() + { + // S of 0 would result in divide-by-zero when calculating R + Pigment pigment = new(400, 10, [0.2, 0.4, 0.6, 0.8, 1.0], [0.2, 0.4, 0.0, 0.8, 1.0]); + Pigment[] pigments = [pigment]; + double[] concentrations = [1.0]; + const double expectedR = 0.267949192431123; // when K/S = 1 + AssertReflectance(pigments, concentrations, [expectedR, expectedR, double.NaN, expectedR, expectedR], expectedXyzNaN: true); + } + + [Test] + public void MismatchWavelength() + { + // pigment1 is missing wavelength 460, pigment2 is missing wavelength 400 + Pigment pigment1 = new(400, 10, [0.5, 0.5, 0.5, 0.5, 0.5], [0.5, 0.5, 0.5, 0.5, 0.5]); + Pigment pigment2 = new(410, 10, [0.5, 0.5, 0.5, 0.5, 0.5], [0.5, 0.5, 0.5, 0.5, 0.5]); + Pigment[] pigments = [pigment1, pigment2]; + double[] concentrations = [0.5, 0.5]; + AssertReflectance(pigments, concentrations, expected: null, expectedXyzNaN: true); + } + + [Test] + public void MismatchKubelkaMunk() + { + // pigment1 is single-constant, pigment2 is two-constant + Pigment pigment1 = new(400, 10, [0.5, 0.5, 0.5, 0.5, 0.5]); + Pigment pigment2 = new(400, 10, [0.5, 0.5, 0.5, 0.5, 0.5], [0.5, 0.5, 0.5, 0.5, 0.5]); + Pigment[] pigments = [pigment1, pigment2]; + double[] concentrations = [0.5, 0.5]; + AssertReflectance(pigments, concentrations, expected: null, expectedXyzNaN: true); + } + + [Test] + public void MismatchCorrectionK1() + { + // pigments have different K1 correction constants + Pigment pigment1 = new(400, 10, [0.5, 0.5, 0.5, 0.5, 0.5], [0.5, 0.5, 0.5, 0.5, 0.5], k1, k2); + Pigment pigment2 = new(400, 10, [0.5, 0.5, 0.5, 0.5, 0.5], [0.5, 0.5, 0.5, 0.5, 0.5], k1 + 0.0001, k2); + Pigment[] pigments = [pigment1, pigment2]; + double[] concentrations = [0.5, 0.5]; + AssertReflectance(pigments, concentrations, expected: null, expectedXyzNaN: true); + } + + [Test] + public void MismatchCorrectionK2() + { + // pigments have different K2 correction constants + Pigment pigment1 = new(400, 10, [0.5, 0.5, 0.5, 0.5, 0.5], [0.5, 0.5, 0.5, 0.5, 0.5], k1, k2); + Pigment pigment2 = new(400, 10, [0.5, 0.5, 0.5, 0.5, 0.5], [0.5, 0.5, 0.5, 0.5, 0.5], k1, k2 + 0.0001); + Pigment[] pigments = [pigment1, pigment2]; + double[] concentrations = [0.5, 0.5]; + AssertReflectance(pigments, concentrations, expected: null, expectedXyzNaN: true); + } + + [Test] + public void NoConcentration() + { + Pigment pigment1 = new(400, 10, [0.5, 0.5, 0.5, 0.5, 0.5], [0.5, 0.5, 0.5, 0.5, 0.5], k1, k2); + Pigment pigment2 = new(400, 10, [0.5, 0.5, 0.5, 0.5, 0.5], [0.5, 0.5, 0.5, 0.5, 0.5], k1, k2); + Pigment[] pigments = [pigment1, pigment2]; + double[] concentrations = [-0.5, 0.0]; + AssertReflectance(pigments, concentrations, expected: null, expectedXyzNaN: true); + } + + private static readonly Configuration configWithIlluminantSpd = new(xyzConfig: XyzConfiguration.D50); // contains D50 SPD (as well as precalculated D65 white point) + private static readonly Configuration configWithoutIlluminantSpd = new(xyzConfig: new(new WhitePoint(96.422, 100.000, 82.521))); // D50 white point only + + private static void AssertReflectance(Pigment[] pigments, double[] concentrations, double[]? expected, bool expectedXyzNaN) + { + var reflectance = Pigment.GetReflectance(pigments, concentrations)!; + + if (expected == null) + { + Assert.That(reflectance, Is.Null); + } + else + { + for (var i = 0; i < reflectance.Coefficients.Length; i++) + { + Assert.That(reflectance.Coefficients[i], Is.EqualTo(expected[i]).Within(1e-15)); + } + } + + var colourFromIlluminantSpd = new Unicolour(configWithIlluminantSpd, pigments, concentrations); // will calculate XYZ using D50 SPD directly + var colourFromWhitePoint = new Unicolour(configWithoutIlluminantSpd, pigments, concentrations); // will calculate XYZ using default D65 SPD, and then adapt white point + Assert.That(colourFromIlluminantSpd.Xyz.X, expectedXyzNaN ? Is.NaN : Is.Not.NaN); + Assert.That(colourFromIlluminantSpd.Xyz.Y, expectedXyzNaN ? Is.NaN : Is.Not.NaN); + Assert.That(colourFromIlluminantSpd.Xyz.Z, expectedXyzNaN ? Is.NaN : Is.Not.NaN); + Assert.That(colourFromWhitePoint.Xyz.X, expectedXyzNaN ? Is.NaN : Is.Not.NaN); + Assert.That(colourFromWhitePoint.Xyz.Y, expectedXyzNaN ? Is.NaN : Is.Not.NaN); + Assert.That(colourFromWhitePoint.Xyz.Z, expectedXyzNaN ? Is.NaN : Is.Not.NaN); + TestUtils.AssertTriplet(colourFromWhitePoint.Xyz.Triplet, colourFromIlluminantSpd.Xyz.Triplet, 0.0075); + } +} \ No newline at end of file diff --git a/Unicolour.Tests/SmokeTests.cs b/Unicolour.Tests/SmokeTests.cs index 0d877304..151b2e08 100644 --- a/Unicolour.Tests/SmokeTests.cs +++ b/Unicolour.Tests/SmokeTests.cs @@ -9,114 +9,114 @@ public class SmokeTests { private static readonly List ColourSpaceTestCases = [ - new TestCaseData(ColourSpace.Rgb255, 0, 0, 0, 0), - new TestCaseData(ColourSpace.Rgb255, 255, 255, 255, 1), - new TestCaseData(ColourSpace.Rgb255, 127, 128, 129, 0.5), - new TestCaseData(ColourSpace.Rgb, 0, 0, 0, 0), - new TestCaseData(ColourSpace.Rgb, 1, 1, 1, 1), - new TestCaseData(ColourSpace.Rgb, 0.4, 0.5, 0.6, 0.5), - new TestCaseData(ColourSpace.RgbLinear, 0, 0, 0, 0), - new TestCaseData(ColourSpace.RgbLinear, 1, 1, 1, 1), - new TestCaseData(ColourSpace.RgbLinear, 0.4, 0.5, 0.6, 0.5), - new TestCaseData(ColourSpace.Hsb, 0, 0, 0, 0), - new TestCaseData(ColourSpace.Hsb, 360, 1, 1, 1), - new TestCaseData(ColourSpace.Hsb, 180, 0.4, 0.6, 0.5), - new TestCaseData(ColourSpace.Hsl, 0, 0, 0, 0), - new TestCaseData(ColourSpace.Hsl, 360, 1, 1, 1), - new TestCaseData(ColourSpace.Hsl, 180, 0.4, 0.6, 0.5), - new TestCaseData(ColourSpace.Hwb, 0, 0, 0, 0), - new TestCaseData(ColourSpace.Hwb, 360, 1, 1, 1), - new TestCaseData(ColourSpace.Hwb, 180, 0.4, 0.6, 0.5), - new TestCaseData(ColourSpace.Hsi, 0, 0, 0, 0), - new TestCaseData(ColourSpace.Hsi, 360, 1, 1, 1), - new TestCaseData(ColourSpace.Hsi, 180, 0.4, 0.6, 0.5), - new TestCaseData(ColourSpace.Xyz, 0, 0, 0, 0), - new TestCaseData(ColourSpace.Xyz, 1, 1, 1, 1), - new TestCaseData(ColourSpace.Xyz, 0.4, 0.5, 0.6, 0.5), - new TestCaseData(ColourSpace.Xyy, 0, 0, 0, 0), - new TestCaseData(ColourSpace.Xyy, 1, 1, 1, 1), - new TestCaseData(ColourSpace.Xyy, 0.4, 0.5, 0.6, 0.5), - new TestCaseData(ColourSpace.Wxy, 360, 0, 0, 0), - new TestCaseData(ColourSpace.Wxy, 700, 1, 1, 1), - new TestCaseData(ColourSpace.Wxy, -530, 0.5, 0.5, 0.5), - new TestCaseData(ColourSpace.Lab, 0, -128, -128, 0), - new TestCaseData(ColourSpace.Lab, 100, 128, 128, 1), - new TestCaseData(ColourSpace.Lab, 50, -1, 1, 0.5), - new TestCaseData(ColourSpace.Lchab, 0, 0, 0, 0), - new TestCaseData(ColourSpace.Lchab, 100, 230, 360, 1), - new TestCaseData(ColourSpace.Lchab, 50, 115, 180, 0.5), - new TestCaseData(ColourSpace.Luv, 0, -100, -100, 0), - new TestCaseData(ColourSpace.Luv, 100, 100, 100, 1), - new TestCaseData(ColourSpace.Luv, 50, -1, 1, 0.5), - new TestCaseData(ColourSpace.Lchuv, 0, 0, 0, 0), - new TestCaseData(ColourSpace.Lchuv, 100, 230, 360, 1), - new TestCaseData(ColourSpace.Lchuv, 50, 115, 180, 0.5), - new TestCaseData(ColourSpace.Hsluv, 0, 0, 0, 0), - new TestCaseData(ColourSpace.Hsluv, 360, 100, 100, 1), - new TestCaseData(ColourSpace.Hsluv, 180, 50, 50, 0.5), - new TestCaseData(ColourSpace.Hpluv, 0, 0, 0, 0), - new TestCaseData(ColourSpace.Hpluv, 360, 100, 100, 1), - new TestCaseData(ColourSpace.Hpluv, 180, 50, 50, 0.5), - new TestCaseData(ColourSpace.Ypbpr, 0, -0.5, -0.5, 0), - new TestCaseData(ColourSpace.Ypbpr, 1, 0.5, 0.5, 1), - new TestCaseData(ColourSpace.Ypbpr, 0.5, -0.01, 0.01, 0.5), - new TestCaseData(ColourSpace.Ycbcr, 0, 0, 0, 0), - new TestCaseData(ColourSpace.Ycbcr, 255, 255, 255, 1), - new TestCaseData(ColourSpace.Ycbcr, 127, 128, 129, 0.5), - new TestCaseData(ColourSpace.Ycgco, 0, -0.5, -0.5, 0), - new TestCaseData(ColourSpace.Ycgco, 1, 0.5, 0.5, 1), - new TestCaseData(ColourSpace.Ycgco, 0.5, -0.01, 0.01, 0.5), - new TestCaseData(ColourSpace.Yuv, 0, -0.436, -0.614, 0), - new TestCaseData(ColourSpace.Yuv, 1, 0.436, 0.614, 1), - new TestCaseData(ColourSpace.Yuv, 0.5, -0.01, 0.01, 0.5), - new TestCaseData(ColourSpace.Yiq, 0, -0.595, -0.522, 0), - new TestCaseData(ColourSpace.Yiq, 1, 0.595, 0.522, 1), - new TestCaseData(ColourSpace.Yiq, 0.5, -0.01, 0.01, 0.5), - new TestCaseData(ColourSpace.Ydbdr, 0, -1.333, -1.333, 0), - new TestCaseData(ColourSpace.Ydbdr, 1, 1.333, 1.333, 1), - new TestCaseData(ColourSpace.Ydbdr, 0.5, -0.01, 0.01, 0.5), - new TestCaseData(ColourSpace.Tsl, 0, 0, 0, 0), - new TestCaseData(ColourSpace.Tsl, 360, 1, 1, 1), - new TestCaseData(ColourSpace.Tsl, 180, 0.4, 0.6, 0.5), - new TestCaseData(ColourSpace.Xyb, -0.03, 0, -0.4, 0), - new TestCaseData(ColourSpace.Xyb, 0.03, 1, 0.4, 1), - new TestCaseData(ColourSpace.Xyb, 0, 0.5, 0, 0.5), - new TestCaseData(ColourSpace.Ipt, 0, -0.75, -0.75, 0), - new TestCaseData(ColourSpace.Ipt, 1, 0.75, 0.75, 1), - new TestCaseData(ColourSpace.Ipt, 0.5, -0.01, 0.01, 0.5), - new TestCaseData(ColourSpace.Ictcp, 0, -0.5, -0.5, 0), - new TestCaseData(ColourSpace.Ictcp, 1, 0.5, 0.5, 1), - new TestCaseData(ColourSpace.Ictcp, 0.5, -0.01, 0.01, 0.5), - new TestCaseData(ColourSpace.Jzazbz, 0, -0.10, -0.16, 0), - new TestCaseData(ColourSpace.Jzazbz, 0.17, 0.11, 0.12, 1), - new TestCaseData(ColourSpace.Jzazbz, 0.085, -0.0001, 0.0001, 0.5), - new TestCaseData(ColourSpace.Jzczhz, 0, 0, 0, 0), - new TestCaseData(ColourSpace.Jzczhz, 0.17, 0.16, 360, 1), - new TestCaseData(ColourSpace.Jzczhz, 0.085, 0.08, 180, 0.5), - new TestCaseData(ColourSpace.Oklab, 0, -0.5, -0.5, 0), - new TestCaseData(ColourSpace.Oklab, 1, 0.5, 0.5, 1), - new TestCaseData(ColourSpace.Oklab, 0.5, -0.001, 0.001, 0.5), - new TestCaseData(ColourSpace.Oklch, 0, 0, 0, 0), - new TestCaseData(ColourSpace.Oklch, 1, 0.5, 360, 1), - new TestCaseData(ColourSpace.Oklch, 0.5, 0.25, 180, 0.5), - new TestCaseData(ColourSpace.Okhsv, 0, 0, 0, 0), - new TestCaseData(ColourSpace.Okhsv, 360, 1, 1, 1), - new TestCaseData(ColourSpace.Okhsv, 180, 0.4, 0.6, 0.5), - new TestCaseData(ColourSpace.Okhsl, 0, 0, 0, 0), - new TestCaseData(ColourSpace.Okhsl, 360, 1, 1, 1), - new TestCaseData(ColourSpace.Okhsl, 180, 0.4, 0.6, 0.5), - new TestCaseData(ColourSpace.Okhwb, 0, 0, 0, 0), - new TestCaseData(ColourSpace.Okhwb, 360, 1, 1, 1), - new TestCaseData(ColourSpace.Okhwb, 180, 0.4, 0.6, 0.5), - new TestCaseData(ColourSpace.Cam02, 0, -50, -50, 0), - new TestCaseData(ColourSpace.Cam02, 100, 50, 50, 1), - new TestCaseData(ColourSpace.Cam02, 50, -1, 1, 0.5), - new TestCaseData(ColourSpace.Cam16, 0, -50, -50, 0), - new TestCaseData(ColourSpace.Cam16, 100, 50, 50, 1), - new TestCaseData(ColourSpace.Cam16, 50, -1, 1, 0.5), - new TestCaseData(ColourSpace.Hct, 0, 0, 0, 0), - new TestCaseData(ColourSpace.Hct, 360, 120, 100, 1), - new TestCaseData(ColourSpace.Hct, 180, 60, 50, 0.5) + new(ColourSpace.Rgb255, 0, 0, 0, 0), + new(ColourSpace.Rgb255, 255, 255, 255, 1), + new(ColourSpace.Rgb255, 127, 128, 129, 0.5), + new(ColourSpace.Rgb, 0, 0, 0, 0), + new(ColourSpace.Rgb, 1, 1, 1, 1), + new(ColourSpace.Rgb, 0.4, 0.5, 0.6, 0.5), + new(ColourSpace.RgbLinear, 0, 0, 0, 0), + new(ColourSpace.RgbLinear, 1, 1, 1, 1), + new(ColourSpace.RgbLinear, 0.4, 0.5, 0.6, 0.5), + new(ColourSpace.Hsb, 0, 0, 0, 0), + new(ColourSpace.Hsb, 360, 1, 1, 1), + new(ColourSpace.Hsb, 180, 0.4, 0.6, 0.5), + new(ColourSpace.Hsl, 0, 0, 0, 0), + new(ColourSpace.Hsl, 360, 1, 1, 1), + new(ColourSpace.Hsl, 180, 0.4, 0.6, 0.5), + new(ColourSpace.Hwb, 0, 0, 0, 0), + new(ColourSpace.Hwb, 360, 1, 1, 1), + new(ColourSpace.Hwb, 180, 0.4, 0.6, 0.5), + new(ColourSpace.Hsi, 0, 0, 0, 0), + new(ColourSpace.Hsi, 360, 1, 1, 1), + new(ColourSpace.Hsi, 180, 0.4, 0.6, 0.5), + new(ColourSpace.Xyz, 0, 0, 0, 0), + new(ColourSpace.Xyz, 1, 1, 1, 1), + new(ColourSpace.Xyz, 0.4, 0.5, 0.6, 0.5), + new(ColourSpace.Xyy, 0, 0, 0, 0), + new(ColourSpace.Xyy, 1, 1, 1, 1), + new(ColourSpace.Xyy, 0.4, 0.5, 0.6, 0.5), + new(ColourSpace.Wxy, 360, 0, 0, 0), + new(ColourSpace.Wxy, 700, 1, 1, 1), + new(ColourSpace.Wxy, -530, 0.5, 0.5, 0.5), + new(ColourSpace.Lab, 0, -128, -128, 0), + new(ColourSpace.Lab, 100, 128, 128, 1), + new(ColourSpace.Lab, 50, -1, 1, 0.5), + new(ColourSpace.Lchab, 0, 0, 0, 0), + new(ColourSpace.Lchab, 100, 230, 360, 1), + new(ColourSpace.Lchab, 50, 115, 180, 0.5), + new(ColourSpace.Luv, 0, -100, -100, 0), + new(ColourSpace.Luv, 100, 100, 100, 1), + new(ColourSpace.Luv, 50, -1, 1, 0.5), + new(ColourSpace.Lchuv, 0, 0, 0, 0), + new(ColourSpace.Lchuv, 100, 230, 360, 1), + new(ColourSpace.Lchuv, 50, 115, 180, 0.5), + new(ColourSpace.Hsluv, 0, 0, 0, 0), + new(ColourSpace.Hsluv, 360, 100, 100, 1), + new(ColourSpace.Hsluv, 180, 50, 50, 0.5), + new(ColourSpace.Hpluv, 0, 0, 0, 0), + new(ColourSpace.Hpluv, 360, 100, 100, 1), + new(ColourSpace.Hpluv, 180, 50, 50, 0.5), + new(ColourSpace.Ypbpr, 0, -0.5, -0.5, 0), + new(ColourSpace.Ypbpr, 1, 0.5, 0.5, 1), + new(ColourSpace.Ypbpr, 0.5, -0.01, 0.01, 0.5), + new(ColourSpace.Ycbcr, 0, 0, 0, 0), + new(ColourSpace.Ycbcr, 255, 255, 255, 1), + new(ColourSpace.Ycbcr, 127, 128, 129, 0.5), + new(ColourSpace.Ycgco, 0, -0.5, -0.5, 0), + new(ColourSpace.Ycgco, 1, 0.5, 0.5, 1), + new(ColourSpace.Ycgco, 0.5, -0.01, 0.01, 0.5), + new(ColourSpace.Yuv, 0, -0.436, -0.614, 0), + new(ColourSpace.Yuv, 1, 0.436, 0.614, 1), + new(ColourSpace.Yuv, 0.5, -0.01, 0.01, 0.5), + new(ColourSpace.Yiq, 0, -0.595, -0.522, 0), + new(ColourSpace.Yiq, 1, 0.595, 0.522, 1), + new(ColourSpace.Yiq, 0.5, -0.01, 0.01, 0.5), + new(ColourSpace.Ydbdr, 0, -1.333, -1.333, 0), + new(ColourSpace.Ydbdr, 1, 1.333, 1.333, 1), + new(ColourSpace.Ydbdr, 0.5, -0.01, 0.01, 0.5), + new(ColourSpace.Tsl, 0, 0, 0, 0), + new(ColourSpace.Tsl, 360, 1, 1, 1), + new(ColourSpace.Tsl, 180, 0.4, 0.6, 0.5), + new(ColourSpace.Xyb, -0.03, 0, -0.4, 0), + new(ColourSpace.Xyb, 0.03, 1, 0.4, 1), + new(ColourSpace.Xyb, 0, 0.5, 0, 0.5), + new(ColourSpace.Ipt, 0, -0.75, -0.75, 0), + new(ColourSpace.Ipt, 1, 0.75, 0.75, 1), + new(ColourSpace.Ipt, 0.5, -0.01, 0.01, 0.5), + new(ColourSpace.Ictcp, 0, -0.5, -0.5, 0), + new(ColourSpace.Ictcp, 1, 0.5, 0.5, 1), + new(ColourSpace.Ictcp, 0.5, -0.01, 0.01, 0.5), + new(ColourSpace.Jzazbz, 0, -0.10, -0.16, 0), + new(ColourSpace.Jzazbz, 0.17, 0.11, 0.12, 1), + new(ColourSpace.Jzazbz, 0.085, -0.0001, 0.0001, 0.5), + new(ColourSpace.Jzczhz, 0, 0, 0, 0), + new(ColourSpace.Jzczhz, 0.17, 0.16, 360, 1), + new(ColourSpace.Jzczhz, 0.085, 0.08, 180, 0.5), + new(ColourSpace.Oklab, 0, -0.5, -0.5, 0), + new(ColourSpace.Oklab, 1, 0.5, 0.5, 1), + new(ColourSpace.Oklab, 0.5, -0.001, 0.001, 0.5), + new(ColourSpace.Oklch, 0, 0, 0, 0), + new(ColourSpace.Oklch, 1, 0.5, 360, 1), + new(ColourSpace.Oklch, 0.5, 0.25, 180, 0.5), + new(ColourSpace.Okhsv, 0, 0, 0, 0), + new(ColourSpace.Okhsv, 360, 1, 1, 1), + new(ColourSpace.Okhsv, 180, 0.4, 0.6, 0.5), + new(ColourSpace.Okhsl, 0, 0, 0, 0), + new(ColourSpace.Okhsl, 360, 1, 1, 1), + new(ColourSpace.Okhsl, 180, 0.4, 0.6, 0.5), + new(ColourSpace.Okhwb, 0, 0, 0, 0), + new(ColourSpace.Okhwb, 360, 1, 1, 1), + new(ColourSpace.Okhwb, 180, 0.4, 0.6, 0.5), + new(ColourSpace.Cam02, 0, -50, -50, 0), + new(ColourSpace.Cam02, 100, 50, 50, 1), + new(ColourSpace.Cam02, 50, -1, 1, 0.5), + new(ColourSpace.Cam16, 0, -50, -50, 0), + new(ColourSpace.Cam16, 100, 50, 50, 1), + new(ColourSpace.Cam16, 50, -1, 1, 0.5), + new(ColourSpace.Hct, 0, 0, 0, 0), + new(ColourSpace.Hct, 360, 120, 100, 1), + new(ColourSpace.Hct, 180, 60, 50, 0.5) ]; [TestCaseSource(nameof(ColourSpaceTestCases))] @@ -283,11 +283,12 @@ public void TemperatureWithLocusAndLuminance( AssertNoError(expected, new Unicolour(Configuration.Default, cct, locus, luminance)); } - private static readonly Spd monochromaticSpd = new() { { 580, 1.0 } }; - private static readonly Spd twoNmSpd = new() { { 578, 0.25 }, { 580, 1.0 }, { 582, 0.75 } }; - private static readonly Spd fiveNmSpd = new() { { 575, 0.25 }, { 580, 1.0 }, { 585, 0.75 } }; - private static readonly Spd noPowerSpd = new(); - private static readonly List SpdValues = [Spd.D65, monochromaticSpd, twoNmSpd, fiveNmSpd, noPowerSpd]; + private static readonly Spd monochromaticSpd = new(start: 580, interval: 1, [1.0]); + private static readonly Spd twoNmSpd = new(start: 578, interval: 2, [0.25, 1.0, 0.75]); + private static readonly Spd fiveNmSpd = new(start: 575, interval: 5, [0.25, 1.0, 0.75]); + private static readonly Spd noPowerOneNmSpd = new(start: 580, interval: 1, []); + private static readonly Spd noPowerZeroNmSpd = new(start: 580, interval: 0, []); + private static readonly Spd[] SpdValues = [Spd.D65, monochromaticSpd, twoNmSpd, fiveNmSpd, noPowerOneNmSpd, noPowerZeroNmSpd]; [Test] public void SpectralPowerDistribution( @@ -298,6 +299,51 @@ public void SpectralPowerDistribution( AssertNoError(expected, new Unicolour(Configuration.Default, spd)); } + private static readonly Pigment[][] PigmentSingleConstantValues = [ + [new(360, 10, [0.1, 0.2, 0.3], "A1"), new(360, 10, [0.4, 0.5, 0.6], "B1"), new(360, 10, [0.7, 0.8, 0.9], "C1")], + [new(570, 5, [0.5, 0.5, 0.5], "A2"), new(570, 5, [0.5, 0.5, 0.5], "B2"), new(570, 5, [0.5, 0.5, 0.5], "C2")], + [new(780, 1, [0.9, 0.9, 0.9], "A3"), new(780, 1, [0.5, 0.5, 0.5], "B3"), new(780, 1, [0.1, 0.1, 0.1], "C3")] + ]; + + private static readonly Pigment[][] PigmentTwoConstantValues = [ + [new(360, 10, [0.1, 0.2, 0.3], [0.1, 0.1, 0.1], 0.04, 0.6, "A1"), new(360, 10, [0.4, 0.5, 0.6], [0.5, 0.5, 0.5], 0.04, 0.6, "B1"), new(360, 10, [0.7, 0.8, 0.9], [0.9, 0.9, 0.9], 0.04, 0.6, "C1")], + [new(570, 5, [0.5, 0.5, 0.5], [1.0, 1.0, 1.0], null, null, "A2"), new(570, 5, [0.5, 0.5, 0.5], [0.5, 0.5, 0.5], null, null, "B2"), new(570, 5, [0.5, 0.5, 0.5], [0.1, 0.5, 1.0], null, null, "C2")], + [new(780, 1, [0.9, 0.9, 0.9], [0.7, 0.8, 0.9], 0.6, 0.04, "A3"), new(780, 1, [0.5, 0.5, 0.5], [0.4, 0.5, 0.6], 0.6, 0.04, "B3"), new(780, 1, [0.1, 0.1, 0.1], [0.1, 0.2, 0.3], 0.6, 0.04, "C3")] + ]; + + private static readonly double[][] WeightValues = [ + [1 / 3.0, 1 / 3.0, 1 / 3.0], + [0.5, 0.5, 0.5], + [1, 0, 0], + [0, 1, 0], + [0, 0, 1], + [0, 0.25, 0.75], + [0.75, 0, 0.25], + [0.25, 0.75, 0], + [0.1, 0.3, 0.6], + [0.6, 0.3, 0.1] + ]; + + [Test, Combinatorial] + public void PigmentSingleConstant( + [ValueSource(nameof(PigmentSingleConstantValues))] Pigment[] pigments, + [ValueSource(nameof(WeightValues))] double[] weights) + { + var expected = new Unicolour(pigments, weights); + AssertNoError(expected, new Unicolour(pigments, weights)); + AssertNoError(expected, new Unicolour(Configuration.Default, pigments, weights)); + } + + [Test, Combinatorial] + public void PigmentTwoConstant( + [ValueSource(nameof(PigmentTwoConstantValues))] Pigment[] pigments, + [ValueSource(nameof(WeightValues))] double[] weights) + { + var expected = new Unicolour(pigments, weights); + AssertNoError(expected, new Unicolour(pigments, weights)); + AssertNoError(expected, new Unicolour(Configuration.Default, pigments, weights)); + } + private static readonly List IccValues = [[0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 1.0, 1.0], [0.5, 0.5, 0.5, 0.5]]; [Test] @@ -305,7 +351,7 @@ public void IccChannelsNoAlpha( [ValueSource(nameof(IccValues))] double[] iccValues) { var profile = IccFile.Fogra39.GetProfile(); - var config = new Configuration(iccConfiguration: new IccConfiguration(profile)); + var config = new Configuration(iccConfig: new IccConfiguration(profile)); var expected = new Unicolour(config, new Channels(iccValues)); AssertNoError(expected, new Unicolour(config, new Channels(iccValues))); } @@ -316,7 +362,7 @@ public void IccChannelsWithAlpha( [Values(0, 1, 0.5)] double alpha) { var profile = IccFile.Fogra39.GetProfile(); - var config = new Configuration(iccConfiguration: new IccConfiguration(profile)); + var config = new Configuration(iccConfig: new IccConfiguration(profile)); var expected = new Unicolour(config, new Channels(iccValues), alpha); AssertNoError(expected, new Unicolour(config, new Channels(iccValues), alpha)); } diff --git a/Unicolour.Tests/SpdDefinitionTests.cs b/Unicolour.Tests/SpdDefinitionTests.cs index 500d4d69..dc02f1a3 100644 --- a/Unicolour.Tests/SpdDefinitionTests.cs +++ b/Unicolour.Tests/SpdDefinitionTests.cs @@ -21,69 +21,40 @@ public class SpdDefinitionTests ]; [TestCaseSource(nameof(PredefinedTestData))] - public void PredefinedValid(Spd spd) + public void Predefined(Spd spd) { Assert.That(spd.IsValid, Is.True); } + [TestCase(-5)] + [TestCase(-1)] + [TestCase(0)] [TestCase(1)] [TestCase(5)] - public void CustomValidInterval(int interval) + public void IntervalValid(int interval) { - var spd = new Spd(Spd.ExpectedWavelengths(interval).ToDictionary(wavelength => wavelength, _ => 1.0)); - Assert.That(spd.WavelengthDelta, Is.EqualTo(interval)); + double[] coefficients = interval == 0 ? [0.5] : [0, 0.2, 0.4, 0.6, 0.8, 1.0]; + var spd = new Spd(start: 360, interval, coefficients); Assert.That(spd.IsValid, Is.True); } - - [Test] - public void CustomValidSingleWavelength() - { - var spd = new Spd { { 580, 1.0 } }; - Assert.That(spd.WavelengthDelta, Is.EqualTo(1)); - Assert.That(spd.IsValid, Is.True); - } - - [Test] - public void CustomInvalidNoWavelengths() - { - var spd = new Spd(); - Assert.That(spd.WavelengthDelta, Is.EqualTo(1)); - Assert.That(spd.IsValid, Is.False); - } + [TestCase(-20)] + [TestCase(-10)] + [TestCase(-6)] + [TestCase(-4)] + [TestCase(-3)] + [TestCase(-2)] + [TestCase(0)] [TestCase(2)] [TestCase(3)] [TestCase(4)] [TestCase(6)] [TestCase(10)] [TestCase(20)] - public void CustomInvalidInterval(int interval) + public void IntervalInvalid(int interval) { - var spd = new Spd(Spd.ExpectedWavelengths(interval).ToDictionary(wavelength => wavelength, _ => 1.0)); - Assert.That(spd.WavelengthDelta, Is.EqualTo(interval)); - Assert.That(spd.IsValid, Is.False); - } - - [Test] - public void CustomInvalidMultipleIntervals() - { - var spd = new Spd - { - { 360, 1.0 }, - { 361, 1.0 }, - { 362, 1.0 }, - { 363, 1.0 }, - { 364, 1.0 }, - { 365, 1.0 }, - { 370, 1.0 }, - { 371, 1.0 }, - { 372, 1.0 }, - { 373, 1.0 }, - { 374, 1.0 }, - { 375, 1.0 } - }; - - Assert.That(spd.WavelengthDelta, Is.EqualTo(1)); // delta assumed to be item[1] - item[0] + double[] coefficients = [0, 0.2, 0.4, 0.6, 0.8, 1.0]; + var spd = new Spd(start: 360, interval, coefficients); Assert.That(spd.IsValid, Is.False); } @@ -100,18 +71,20 @@ public void DaylightSpd(int kelvins, Spd expectedSpd) { // correct kelvin due to the revision of constants in Planck's law (e.g. https://en.wikipedia.org/wiki/Illuminant_D65#Color_temperature) // although using simplified value of 1.4388 for c2 as adopted in ITS-90 - var spd = Daylight.GetSpd(kelvins * 1.4388 / 1.4380); + var daylightSpd = Daylight.GetSpd(kelvins * 1.4388 / 1.4380); - foreach (var (wavelength, spectralPower) in spd) + foreach (var wavelength in daylightSpd.Wavelengths) { // predefined D55 & D75 SPDs only go to 780 nm - if (!expectedSpd.TryGetValue(wavelength, out var value)) + if (!expectedSpd.Wavelengths.Contains(wavelength)) { continue; } - + + var expectedSpectralPower = expectedSpd[wavelength]; + var actualSpectralPower = daylightSpd[wavelength]; // how does the CIE spectral power calculation not match the tabular data provided by CIE more closely? 🤷 - Assert.That(spectralPower, Is.EqualTo(value).Within(0.0175)); + Assert.That(actualSpectralPower, Is.EqualTo(expectedSpectralPower).Within(0.0175)); } } } \ No newline at end of file diff --git a/Unicolour.Tests/SpectralCoefficientsTests.cs b/Unicolour.Tests/SpectralCoefficientsTests.cs new file mode 100644 index 00000000..93431719 --- /dev/null +++ b/Unicolour.Tests/SpectralCoefficientsTests.cs @@ -0,0 +1,109 @@ +using NUnit.Framework; + +namespace Wacton.Unicolour.Tests; + +public class SpectralCoefficientsTests +{ + [Test] + public void CoefficientsValidSingle() + { + var spd = new Spd(start: 580, interval: 1, coefficients: 0.5); + Assert.That(spd.IsValid, Is.True); + AssertWavelength(spd, int.MinValue, (0.0, 0.5)); + AssertWavelength(spd, 580, (0.5, 0.5)); + AssertWavelength(spd, int.MaxValue, (0.0, 0.5)); + } + + [Test] + public void CoefficientsValidMultiple() + { + var coefficients = new SpectralCoefficients(start: 580, interval: 10, coefficients: [0.5, 1.0]); + Assert.That(coefficients.IsValid, Is.True); + AssertWavelength(coefficients, int.MinValue, (0.0, 0.5)); + AssertWavelength(coefficients, 580, (0.5, 0.5)); + AssertWavelength(coefficients, 585, (0.0, 0.75)); + AssertWavelength(coefficients, 590, (1.0, 1.0)); + AssertWavelength(coefficients, int.MaxValue, (0.0, 1.0)); + } + + [Test] + public void CoefficientsInvalidNone() + { + var coefficients = new SpectralCoefficients(start: 580, interval: 1, coefficients: []); + Assert.That(coefficients.IsValid, Is.False); + AssertWavelength(coefficients, int.MinValue, (0.0, double.NaN)); + AssertWavelength(coefficients, 580, (0.0, double.NaN)); + AssertWavelength(coefficients, int.MaxValue, (0.0, double.NaN)); + } + + [Test] + public void IntervalValidZero() + { + // 0 interval means all coefficients are for wavelength 580, assume first value is the intended value + var coefficients = new SpectralCoefficients(start: 580, interval: 0, coefficients: [0.75]); + Assert.That(coefficients.IsValid, Is.True); + AssertWavelength(coefficients, int.MinValue, (0.0, 0.75)); + AssertWavelength(coefficients, 580, (0.75, 0.75)); + AssertWavelength(coefficients, int.MaxValue, (0.0, 0.75)); + } + + [Test] + public void IntervalValidNegative() + { + var coefficients = new SpectralCoefficients(start: 580, interval: -10, coefficients: [0.5, 1.0]); + Assert.That(coefficients.IsValid, Is.True); + AssertWavelength(coefficients, int.MinValue, (0.0, 1.0)); + AssertWavelength(coefficients, 570, (1.0, 1.0)); + AssertWavelength(coefficients, 575, (0.0, 0.75)); + AssertWavelength(coefficients, 580, (0.5, 0.5)); + AssertWavelength(coefficients, 585, (0.0, 0.5)); + AssertWavelength(coefficients, 590, (0.0, 0.5)); + AssertWavelength(coefficients, int.MaxValue, (0.0, 0.5)); + } + + [Test] + public void IntervalInvalidZeroAtLeastOneCoefficient() + { + // 0 interval means all coefficients are for wavelength 580, assume first value is the intended value + var coefficients = new SpectralCoefficients(start: 580, interval: 0, coefficients: [0.25, 0.5, 0.75]); + Assert.That(coefficients.IsValid, Is.False); + AssertWavelength(coefficients, 580, (0.25, 0.25)); + AssertWavelength(coefficients, int.MinValue, (0.0, 0.25)); + AssertWavelength(coefficients, int.MaxValue, (0.0, 0.25)); + } + + [Test] + public void IntervalInvalidZeroNoCoefficients() + { + // 0 interval means all coefficients are for wavelength 580, assume first value is the intended value - but there isn't one + var coefficients = new SpectralCoefficients(start: 580, interval: 0, coefficients: []); + Assert.That(coefficients.IsValid, Is.False); + AssertWavelength(coefficients, 580, (0.0, double.NaN)); + AssertWavelength(coefficients, int.MinValue, (0.0, double.NaN)); + AssertWavelength(coefficients, int.MaxValue, (0.0, double.NaN)); + } + + [Test] + public void WavelengthStartInvalid() + { + var coefficients = new SpectralCoefficients(start: 361, interval: 10, coefficients: [0.2, 0.4, 0.6, 0.8]); + Assert.That(coefficients.IsValid, Is.False); + AssertWavelength(coefficients, int.MinValue, (0.0, 0.2)); + AssertWavelength(coefficients, 360, (0.0, 0.2)); + AssertWavelength(coefficients, 361, (0.2, 0.2)); + AssertWavelength(coefficients, 366, (0.0, 0.3)); + AssertWavelength(coefficients, 371, (0.4, 0.4)); + AssertWavelength(coefficients, 376, (0.0, 0.5)); + AssertWavelength(coefficients, 381, (0.6, 0.6)); + AssertWavelength(coefficients, 386, (0.0, 0.7)); + AssertWavelength(coefficients, 391, (0.8, 0.8)); + AssertWavelength(coefficients, 396, (0.0, 0.8)); + AssertWavelength(coefficients, int.MaxValue, (0.0, 0.8)); + } + + private static void AssertWavelength(SpectralCoefficients coefficients, int wavelength, (double missingZero, double missingInterpolate) expected) + { + Assert.That(coefficients.Get(wavelength, MissingWavelength.Zero), Is.EqualTo(expected.missingZero)); + Assert.That(coefficients.Get(wavelength, MissingWavelength.Interpolate), Is.EqualTo(expected.missingInterpolate).Within(0.0000000000000001)); + } +} \ No newline at end of file diff --git a/Unicolour.Tests/SpectralLocusTests.cs b/Unicolour.Tests/SpectralLocusTests.cs index 5447d93d..90008bd0 100644 --- a/Unicolour.Tests/SpectralLocusTests.cs +++ b/Unicolour.Tests/SpectralLocusTests.cs @@ -147,7 +147,7 @@ public void SingleIntersect() * - the dominant wavelength is the monochromatic wavelength * - excitation purity cannot be calculated; the intersect is both pure monochromatic light AND the white point where there is no colour */ - var minWavelengthXyz = Xyz.FromSpd(new Spd { { Spectral.MinWavelength, 1.0 } }, Observer.Degree2); + var minWavelengthXyz = Xyz.FromSpd(Spd.Monochromatic(Spectral.MinWavelength), Observer.Degree2); var minWavelengthWhite = WhitePoint.FromXyz(minWavelengthXyz).ToChromaticity(); var spectral = new Spectral(Observer.Degree2, minWavelengthWhite); var sample = new Chromaticity(0.8, 0.2); @@ -183,7 +183,7 @@ public void NoIntersect() [TestCase(MidWavelength, -MidWavelength, -MidWavelength)] public void WhitePointOnLocus(int wavelength, double expectedMinNegative, double expectedMaxNegative) { - var xyz = Xyz.FromSpd(new Spd { { wavelength, 1.0 } }, Observer.Degree2); + var xyz = Xyz.FromSpd(Spd.Monochromatic(wavelength), Observer.Degree2); var white = WhitePoint.FromXyz(xyz).ToChromaticity(); var spectral = new Spectral(Observer.Degree2, white); Assert.That(spectral.MinNegativeWavelength, Is.EqualTo(expectedMinNegative).Within(0.000000000001)); diff --git a/Unicolour.Tests/Utils/TestUtils.cs b/Unicolour.Tests/Utils/TestUtils.cs index ccdd9e36..c7a0a371 100644 --- a/Unicolour.Tests/Utils/TestUtils.cs +++ b/Unicolour.Tests/Utils/TestUtils.cs @@ -16,54 +16,54 @@ internal static class TestUtils internal static List AllColourSpaces => Enum.GetValues().ToList(); internal static readonly List AllColourSpacesTestCases = [ - new TestCaseData(ColourSpace.Rgb), - new TestCaseData(ColourSpace.RgbLinear), - new TestCaseData(ColourSpace.Hsb), - new TestCaseData(ColourSpace.Hsl), - new TestCaseData(ColourSpace.Hwb), - new TestCaseData(ColourSpace.Hsi), - new TestCaseData(ColourSpace.Xyz), - new TestCaseData(ColourSpace.Xyy), - new TestCaseData(ColourSpace.Lab), - new TestCaseData(ColourSpace.Lchab), - new TestCaseData(ColourSpace.Luv), - new TestCaseData(ColourSpace.Lchuv), - new TestCaseData(ColourSpace.Hsluv), - new TestCaseData(ColourSpace.Hpluv), - new TestCaseData(ColourSpace.Ypbpr), - new TestCaseData(ColourSpace.Ycbcr), - new TestCaseData(ColourSpace.Ycgco), - new TestCaseData(ColourSpace.Yuv), - new TestCaseData(ColourSpace.Yiq), - new TestCaseData(ColourSpace.Ydbdr), - new TestCaseData(ColourSpace.Tsl), - new TestCaseData(ColourSpace.Xyb), - new TestCaseData(ColourSpace.Ipt), - new TestCaseData(ColourSpace.Ictcp), - new TestCaseData(ColourSpace.Jzazbz), - new TestCaseData(ColourSpace.Jzczhz), - new TestCaseData(ColourSpace.Oklab), - new TestCaseData(ColourSpace.Oklch), - new TestCaseData(ColourSpace.Okhsl), - new TestCaseData(ColourSpace.Okhsv), - new TestCaseData(ColourSpace.Okhwb), - new TestCaseData(ColourSpace.Cam02), - new TestCaseData(ColourSpace.Cam16), - new TestCaseData(ColourSpace.Hct) + new(ColourSpace.Rgb), + new(ColourSpace.RgbLinear), + new(ColourSpace.Hsb), + new(ColourSpace.Hsl), + new(ColourSpace.Hwb), + new(ColourSpace.Hsi), + new(ColourSpace.Xyz), + new(ColourSpace.Xyy), + new(ColourSpace.Lab), + new(ColourSpace.Lchab), + new(ColourSpace.Luv), + new(ColourSpace.Lchuv), + new(ColourSpace.Hsluv), + new(ColourSpace.Hpluv), + new(ColourSpace.Ypbpr), + new(ColourSpace.Ycbcr), + new(ColourSpace.Ycgco), + new(ColourSpace.Yuv), + new(ColourSpace.Yiq), + new(ColourSpace.Ydbdr), + new(ColourSpace.Tsl), + new(ColourSpace.Xyb), + new(ColourSpace.Ipt), + new(ColourSpace.Ictcp), + new(ColourSpace.Jzazbz), + new(ColourSpace.Jzczhz), + new(ColourSpace.Oklab), + new(ColourSpace.Oklch), + new(ColourSpace.Okhsl), + new(ColourSpace.Okhsv), + new(ColourSpace.Okhwb), + new(ColourSpace.Cam02), + new(ColourSpace.Cam16), + new(ColourSpace.Hct) ]; internal static readonly List AllIlluminantsTestCases = [ - new TestCaseData(Illuminant.A), - new TestCaseData(Illuminant.C), - new TestCaseData(Illuminant.D50), - new TestCaseData(Illuminant.D55), - new TestCaseData(Illuminant.D65), - new TestCaseData(Illuminant.D75), - new TestCaseData(Illuminant.E), - new TestCaseData(Illuminant.F2), - new TestCaseData(Illuminant.F7), - new TestCaseData(Illuminant.F11) + new(Illuminant.A), + new(Illuminant.C), + new(Illuminant.D50), + new(Illuminant.D55), + new(Illuminant.D65), + new(Illuminant.D75), + new(Illuminant.E), + new(Illuminant.F2), + new(Illuminant.F7), + new(Illuminant.F11) ]; internal static readonly Dictionary Illuminants = new() @@ -119,7 +119,7 @@ internal static class TestUtils ]; private static readonly IccConfiguration IccFogra39 = new(IccFile.Fogra39.GetProfile(), Intent.RelativeColorimetric, "Fogra39 relative"); - internal static readonly Configuration DefaultFogra39Config = new(iccConfiguration: IccFogra39); + internal static readonly Configuration DefaultFogra39Config = new(iccConfig: IccFogra39); // generating planckian tables is expensive, but this is the set of tables needed for most temperature tests internal static readonly Planckian PlanckianObserverDegree2 = new(Observer.Degree2); @@ -186,7 +186,7 @@ void AccessProperties() AccessProperty(() => unicolour.Cam02); AccessProperty(() => unicolour.Cam16); AccessProperty(() => unicolour.Chromaticity); - AccessProperty(() => unicolour.Config); + AccessProperty(() => unicolour.Configuration); AccessProperty(() => unicolour.Description); AccessProperty(() => unicolour.DominantWavelength); AccessProperty(() => unicolour.ExcitationPurity); diff --git a/Unicolour/Adaptation.cs b/Unicolour/Adaptation.cs index d00cb779..4bd20b79 100644 --- a/Unicolour/Adaptation.cs +++ b/Unicolour/Adaptation.cs @@ -9,6 +9,18 @@ internal static class Adaptation { +0.0389, -0.0685, +1.0296 } }); + internal static ColourTriplet WhitePoint(ColourTriplet xyzTriplet, WhitePoint sourceWhitePoint, WhitePoint destinationWhitePoint) + { + if (sourceWhitePoint == destinationWhitePoint) + { + return xyzTriplet; + } + + var xyzMatrix = Matrix.FromTriplet(xyzTriplet); + var adaptedMatrix = WhitePoint(xyzMatrix, sourceWhitePoint, destinationWhitePoint); + return adaptedMatrix.ToTriplet(); + } + internal static Matrix WhitePoint(Matrix matrix, WhitePoint sourceWhitePoint, WhitePoint destinationWhitePoint) { if (sourceWhitePoint == destinationWhitePoint) diff --git a/Unicolour/Blackbody.cs b/Unicolour/Blackbody.cs index 763600ae..c8b7c693 100644 --- a/Unicolour/Blackbody.cs +++ b/Unicolour/Blackbody.cs @@ -6,17 +6,15 @@ internal static class Blackbody internal static Chromaticity GetChromaticity(double cct, Observer observer) { var wavelengths = Cmf.RequiredWavelengths; - var xData = wavelengths.Select(wavelength => observer.ColourMatchX(wavelength) * SpectralPower(wavelength, cct)); - var yData = wavelengths.Select(wavelength => observer.ColourMatchY(wavelength) * SpectralPower(wavelength, cct)); - var zData = wavelengths.Select(wavelength => observer.ColourMatchZ(wavelength) * SpectralPower(wavelength, cct)); - - var xt = xData.Sum(); - var yt = yData.Sum(); - var zt = zData.Sum(); + var xt = Xyz.GetAbsolute(Power, observer.ColourMatchX, wavelengths, delta: 1); + var yt = Xyz.GetAbsolute(Power, observer.ColourMatchY, wavelengths, delta: 1); + var zt = Xyz.GetAbsolute(Power, observer.ColourMatchZ, wavelengths, delta: 1); var sum = xt + yt + zt; var chromaticityX = xt / sum; var chromaticityY = yt / sum; return new Chromaticity(chromaticityX, chromaticityY); + + double Power(int wavelength) => SpectralPower(wavelength, cct); } private static double SpectralPower(int wavelengthNanometres, double kelvins) diff --git a/Unicolour/Cmf.cs b/Unicolour/Cmf.cs index 635a3eb1..df2c73c8 100644 --- a/Unicolour/Cmf.cs +++ b/Unicolour/Cmf.cs @@ -6,7 +6,7 @@ public class Cmf : Dictionary internal const int StartWavelength = 360; internal const int EndWavelength = 830; private const int WavelengthCount = EndWavelength - StartWavelength + 1; - public static readonly List RequiredWavelengths = Enumerable.Range(StartWavelength, WavelengthCount).ToList(); + public static readonly int[] RequiredWavelengths = Enumerable.Range(StartWavelength, WavelengthCount).ToArray(); public bool IsValid => GetIsValid(); diff --git a/Unicolour/Comparison.cs b/Unicolour/Comparison.cs index bb360377..98d7a0c6 100644 --- a/Unicolour/Comparison.cs +++ b/Unicolour/Comparison.cs @@ -8,6 +8,11 @@ internal static class Comparison // minimal recommended contrast ratio is 4.5, or 3 for larger font-sizes internal static double Contrast(Unicolour colour1, Unicolour colour2) { + if (colour2.Configuration != colour1.Configuration) + { + colour2 = colour2.ConvertToConfiguration(colour1.Configuration); + } + var luminance1 = colour1.RelativeLuminance; var luminance2 = colour2.RelativeLuminance; var l1 = Math.Max(luminance1, luminance2); // lighter of the colours @@ -17,6 +22,11 @@ internal static double Contrast(Unicolour colour1, Unicolour colour2) internal static double Difference(Unicolour reference, Unicolour sample, DeltaE deltaE) { + if (sample.Configuration != reference.Configuration) + { + sample = sample.ConvertToConfiguration(reference.Configuration); + } + return deltaE switch { DeltaE.Cie76 => DeltaE76(reference, sample), diff --git a/Unicolour/Configuration.cs b/Unicolour/Configuration.cs index 14deb703..28a93cad 100644 --- a/Unicolour/Configuration.cs +++ b/Unicolour/Configuration.cs @@ -15,19 +15,19 @@ public class Configuration public static readonly Configuration Default = new(); public Configuration( - RgbConfiguration? rgbConfiguration = null, - XyzConfiguration? xyzConfiguration = null, - YbrConfiguration? ybrConfiguration = null, - CamConfiguration? camConfiguration = null, - IccConfiguration? iccConfiguration = null, + RgbConfiguration? rgbConfig = null, + XyzConfiguration? xyzConfig = null, + YbrConfiguration? ybrConfig = null, + CamConfiguration? camConfig = null, + IccConfiguration? iccConfig = null, double ictcpScalar = 100, double jzazbzScalar = 100) { - Rgb = rgbConfiguration ?? RgbConfiguration.StandardRgb; - Xyz = xyzConfiguration ?? XyzConfiguration.D65; - Ybr = ybrConfiguration ?? YbrConfiguration.Rec601; - Cam = camConfiguration ?? CamConfiguration.StandardRgb; - Icc = iccConfiguration ?? IccConfiguration.None; + Rgb = rgbConfig ?? RgbConfiguration.StandardRgb; + Xyz = xyzConfig ?? XyzConfiguration.D65; + Ybr = ybrConfig ?? YbrConfiguration.Rec601; + Cam = camConfig ?? CamConfiguration.StandardRgb; + Icc = iccConfig ?? IccConfiguration.None; IctcpScalar = ictcpScalar; JzazbzScalar = jzazbzScalar; } diff --git a/Unicolour/Daylight.cs b/Unicolour/Daylight.cs index 3e7a4ab6..5c0a20b2 100644 --- a/Unicolour/Daylight.cs +++ b/Unicolour/Daylight.cs @@ -4,9 +4,12 @@ internal static class Daylight { internal static Spd GetSpd(double cct) { - var wavelengths = SpectraComponents.Keys; - var dictionary = wavelengths.ToDictionary(wavelength => wavelength, wavelength => SpectralPower(wavelength, cct)); - return new Spd(dictionary); + // s0, s1, s2 have the same wavelength set + var start = s0.Start; + var interval = s0.Interval; + var wavelengths = s0.Wavelengths; + var coefficients = wavelengths.Select(wavelength => SpectralPower(wavelength, cct)).ToArray(); + return new Spd(start, interval, coefficients); } internal static Chromaticity GetChromaticity(double cct) @@ -24,120 +27,35 @@ private static double SpectralPower(int wavelength, double cct) var (xd, yd) = GetChromaticity(cct); var m1 = (-1.3515 - 1.7703 * xd + 5.9114 * yd) / (0.0241 + 0.2562 * xd - 0.7341 * yd); var m2 = (0.0300 - 31.4424 * xd + 30.0717 * yd) / (0.0241 + 0.2562 * xd - 0.7341 * yd); - var s0 = SpectraComponents[wavelength].s0; - var s1 = SpectraComponents[wavelength].s1; - var s2 = SpectraComponents[wavelength].s2; - return s0 + m1 * s1 + m2 * s2; + return s0[wavelength] + m1 * s1[wavelength] + m2 * s2[wavelength]; } - private static readonly Dictionary SpectraComponents = new() - { - { 300, (0.04, 0.02, 0) }, - { 305, (3.02, 2.26, 1) }, - { 310, (6, 4.5, 2) }, - { 315, (17.8, 13.45, 3) }, - { 320, (29.6, 22.4, 4) }, - { 325, (42.45, 32.2, 6.25) }, - { 330, (55.3, 42, 8.5) }, - { 335, (56.3, 41.3, 8.15) }, - { 340, (57.3, 40.6, 7.8) }, - { 345, (59.55, 41.1, 7.25) }, - { 350, (61.8, 41.6, 6.7) }, - { 355, (61.65, 39.8, 6) }, - { 360, (61.5, 38, 5.3) }, - { 365, (65.15, 40.2, 5.7) }, - { 370, (68.8, 42.4, 6.1) }, - { 375, (66.1, 40.45, 4.55) }, - { 380, (63.4, 38.5, 3) }, - { 385, (64.6, 36.75, 2.1) }, - { 390, (65.8, 35, 1.2) }, - { 395, (80.3, 39.2, 0.05) }, - { 400, (94.8, 43.4, -1.1) }, - { 405, (99.8, 44.85, -0.8) }, - { 410, (104.8, 46.3, -0.5) }, - { 415, (105.35, 45.1, -0.6) }, - { 420, (105.9, 43.9, -0.7) }, - { 425, (101.35, 40.5, -0.95) }, - { 430, (96.8, 37.1, -1.2) }, - { 435, (105.35, 36.9, -1.9) }, - { 440, (113.9, 36.7, -2.6) }, - { 445, (119.75, 36.3, -2.75) }, - { 450, (125.6, 35.9, -2.9) }, - { 455, (125.55, 34.25, -2.85) }, - { 460, (125.5, 32.6, -2.8) }, - { 465, (123.4, 30.25, -2.7) }, - { 470, (121.3, 27.9, -2.6) }, - { 475, (121.3, 26.1, -2.6) }, - { 480, (121.3, 24.3, -2.6) }, - { 485, (117.4, 22.2, -2.2) }, - { 490, (113.5, 20.1, -1.8) }, - { 495, (113.3, 18.15, -1.65) }, - { 500, (113.1, 16.2, -1.5) }, - { 505, (111.95, 14.7, -1.4) }, - { 510, (110.8, 13.2, -1.3) }, - { 515, (108.65, 10.9, -1.25) }, - { 520, (106.5, 8.6, -1.2) }, - { 525, (107.65, 7.35, -1.1) }, - { 530, (108.8, 6.1, -1) }, - { 535, (107.05, 5.15, -0.75) }, - { 540, (105.3, 4.2, -0.5) }, - { 545, (104.85, 3.05, -0.4) }, - { 550, (104.4, 1.9, -0.3) }, - { 555, (102.2, 0.95, -0.15) }, - { 560, (100.0, 0, 0) }, - { 565, (98, -0.8, 0.1) }, - { 570, (96, -1.6, 0.2) }, - { 575, (95.55, -2.55, 0.35) }, - { 580, (95.1, -3.5, 0.5) }, - { 585, (92.1, -3.5, 1.3) }, - { 590, (89.1, -3.5, 2.1) }, - { 595, (89.8, -4.65, 2.65) }, - { 600, (90.5, -5.8, 3.2) }, - { 605, (90.4, -6.5, 3.65) }, - { 610, (90.3, -7.2, 4.1) }, - { 615, (89.35, -7.9, 4.4) }, - { 620, (88.4, -8.6, 4.7) }, - { 625, (86.2, -9.05, 4.9) }, - { 630, (84, -9.5, 5.1) }, - { 635, (84.55, -10.2, 5.9) }, - { 640, (85.1, -10.9, 6.7) }, - { 645, (83.5, -10.8, 7) }, - { 650, (81.9, -10.7, 7.3) }, - { 655, (82.25, -11.35, 7.95) }, - { 660, (82.6, -12, 8.6) }, - { 665, (83.75, -13, 9.2) }, - { 670, (84.9, -14, 9.8) }, - { 675, (83.1, -13.8, 10) }, - { 680, (81.3, -13.6, 10.2) }, - { 685, (76.6, -12.8, 9.25) }, - { 690, (71.9, -12, 8.3) }, - { 695, (73.1, -12.65, 8.95) }, - { 700, (74.3, -13.3, 9.6) }, - { 705, (75.35, -13.1, 9.05) }, - { 710, (76.4, -12.9, 8.5) }, - { 715, (69.85, -11.75, 7.75) }, - { 720, (63.3, -10.6, 7) }, - { 725, (67.5, -11.1, 7.3) }, - { 730, (71.7, -11.6, 7.6) }, - { 735, (74.35, -11.9, 7.8) }, - { 740, (77, -12.2, 8) }, - { 745, (71.1, -11.2, 7.35) }, - { 750, (65.2, -10.2, 6.7) }, - { 755, (56.45, -9, 5.95) }, - { 760, (47.7, -7.8, 5.2) }, - { 765, (58.15, -9.5, 6.3) }, - { 770, (68.6, -11.2, 7.4) }, - { 775, (66.8, -10.8, 7.1) }, - { 780, (65, -10.4, 6.8) }, - { 785, (65.5, -10.5, 6.9) }, - { 790, (66, -10.6, 7) }, - { 795, (63.5, -10.15, 6.7) }, - { 800, (61, -9.7, 6.4) }, - { 805, (57.15, -9, 5.95) }, - { 810, (53.3, -8.3, 5.5) }, - { 815, (56.1, -8.8, 5.8) }, - { 820, (58.9, -9.3, 6.1) }, - { 825, (60.4, -9.55, 6.3) }, - { 830, (61.9, -9.8, 6.5) } - }; + private static readonly SpectralCoefficients s0 = new(start: 300, interval: 5, + 0.04, 3.02, 6, 17.8, 29.6, 42.45, 55.3, 56.3, 57.3, 59.55, 61.8, 61.65, 61.5, 65.15, 68.8, 66.1, 63.4, 64.6, + 65.8, 80.3, 94.8, 99.8, 104.8, 105.35, 105.9, 101.35, 96.8, 105.35, 113.9, 119.75, 125.6, 125.55, 125.5, 123.4, + 121.3, 121.3, 121.3, 117.4, 113.5, 113.3, 113.1, 111.95, 110.8, 108.65, 106.5, 107.65, 108.8, 107.05, 105.3, + 104.85, 104.4, 102.2, 100.0, 98, 96, 95.55, 95.1, 92.1, 89.1, 89.8, 90.5, 90.4, 90.3, 89.35, 88.4, 86.2, 84, + 84.55, 85.1, 83.5, 81.9, 82.25, 82.6, 83.75, 84.9, 83.1, 81.3, 76.6, 71.9, 73.1, 74.3, 75.35, 76.4, 69.85, 63.3, + 67.5, 71.7, 74.35, 77, 71.1, 65.2, 56.45, 47.7, 58.15, 68.6, 66.8, 65, 65.5, 66, 63.5, 61, 57.15, 53.3, 56.1, + 58.9, 60.4, 61.9 + ); + + private static readonly SpectralCoefficients s1 = new(start: 300, interval: 5, + 0.02, 2.26, 4.5, 13.45, 22.4, 32.2, 42, 41.3, 40.6, 41.1, 41.6, 39.8, 38, 40.2, 42.4, 40.45, 38.5, 36.75, 35, + 39.2, 43.4, 44.85, 46.3, 45.1, 43.9, 40.5, 37.1, 36.9, 36.7, 36.3, 35.9, 34.25, 32.6, 30.25, 27.9, 26.1, 24.3, + 22.2, 20.1, 18.15, 16.2, 14.7, 13.2, 10.9, 8.6, 7.35, 6.1, 5.15, 4.2, 3.05, 1.9, 0.95, 0, -0.8, -1.6, -2.55, + -3.5, -3.5, -3.5, -4.65, -5.8, -6.5, -7.2, -7.9, -8.6, -9.05, -9.5, -10.2, -10.9, -10.8, -10.7, -11.35, -12, + -13, -14, -13.8, -13.6, -12.8, -12, -12.65, -13.3, -13.1, -12.9, -11.75, -10.6, -11.1, -11.6, -11.9, -12.2, + -11.2, -10.2, -9, -7.8, -9.5, -11.2, -10.8, -10.4, -10.5, -10.6, -10.15, -9.7, -9, -8.3, -8.8, -9.3, -9.55, + -9.8 + ); + + private static readonly SpectralCoefficients s2 = new(start: 300, interval: 5, + 0, 1, 2, 3, 4, 6.25, 8.5, 8.15, 7.8, 7.25, 6.7, 6, 5.3, 5.7, 6.1, 4.55, 3, 2.1, 1.2, 0.05, -1.1, -0.8, -0.5, + -0.6, -0.7, -0.95, -1.2, -1.9, -2.6, -2.75, -2.9, -2.85, -2.8, -2.7, -2.6, -2.6, -2.6, -2.2, -1.8, -1.65, -1.5, + -1.4, -1.3, -1.25, -1.2, -1.1, -1, -0.75, -0.5, -0.4, -0.3, -0.15, 0, 0.1, 0.2, 0.35, 0.5, 1.3, 2.1, 2.65, 3.2, + 3.65, 4.1, 4.4, 4.7, 4.9, 5.1, 5.9, 6.7, 7, 7.3, 7.95, 8.6, 9.2, 9.8, 10, 10.2, 9.25, 8.3, 8.95, 9.6, 9.05, 8.5, + 7.75, 7, 7.3, 7.6, 7.8, 8, 7.35, 6.7, 5.95, 5.2, 6.3, 7.4, 7.1, 6.8, 6.9, 7, 6.7, 6.4, 5.95, 5.5, 5.8, 6.1, 6.3, + 6.5 + ); } \ No newline at end of file diff --git a/Unicolour/GamutMapping.cs b/Unicolour/GamutMapping.cs index 5721a8c8..81901185 100644 --- a/Unicolour/GamutMapping.cs +++ b/Unicolour/GamutMapping.cs @@ -14,7 +14,7 @@ internal static class GamutMapping */ internal static Unicolour ToRgbGamut(Unicolour unicolour) { - var config = unicolour.Config; + var config = unicolour.Configuration; var rgb = unicolour.Rgb; var alpha = unicolour.Alpha.A; if (unicolour.IsInDisplayGamut) return new Unicolour(config, ColourSpace.Rgb, rgb.Triplet.Tuple, alpha); diff --git a/Unicolour/Hct.cs b/Unicolour/Hct.cs index 88bc927a..bfb4f72d 100644 --- a/Unicolour/Hct.cs +++ b/Unicolour/Hct.cs @@ -36,10 +36,7 @@ internal Hct(double h, double c, double t, ColourHeritage heritage) : base(h, c, internal static Hct FromXyz(Xyz xyz, XyzConfiguration xyzConfig) { - var xyzMatrix = Matrix.FromTriplet(xyz.Triplet); - var d65Matrix = Adaptation.WhitePoint(xyzMatrix, xyzConfig.WhitePoint, HctWhitePoint); - var d65Xyz = new Xyz(d65Matrix.ToTriplet(), ColourHeritage.From(xyz)); - + var d65Xyz = new Xyz(Adaptation.WhitePoint(xyz.Triplet, xyzConfig.WhitePoint, HctWhitePoint), ColourHeritage.From(xyz)); var cam16 = Cam16Component(d65Xyz); var lab = LabComponent(d65Xyz); @@ -54,9 +51,7 @@ internal static Xyz ToXyz(Hct hct, XyzConfiguration xyzConfig) var targetY = Lab.ToXyz(new Lab(hct.T, 0, 0), XyzConfiguration.D65).Y; var result = FindBestJ(targetY, hct); var d65Xyz = result.Converged ? result.Data.Xyz : new Xyz(double.NaN, double.NaN, double.NaN); - var d65Matrix = Matrix.FromTriplet(d65Xyz.Triplet); - var xyzMatrix = Adaptation.WhitePoint(d65Matrix, HctWhitePoint, xyzConfig.WhitePoint); - var xyz = new Xyz(xyzMatrix.ToTriplet(), ColourHeritage.From(hct)) + var xyz = new Xyz(Adaptation.WhitePoint(d65Xyz.Triplet, HctWhitePoint, xyzConfig.WhitePoint), ColourHeritage.From(hct)) { HctToXyzSearchResult = result }; diff --git a/Unicolour/Icc/DataTypes.cs b/Unicolour/Icc/DataTypes.cs index 167965f7..5037e651 100644 --- a/Unicolour/Icc/DataTypes.cs +++ b/Unicolour/Icc/DataTypes.cs @@ -99,15 +99,30 @@ internal static (double x, double y, double z) ReadXyzNumber(this Stream stream) return (x, y, z); } - internal static (double x, double y, double z) ReadXyzType(this Stream stream) + internal static XyzType ReadXyzType(this Stream stream) { stream.ReadSignature(); stream.ReadBytes(4); // reserved - return stream.ReadXyzNumber(); + var (x, y, z) = stream.ReadXyzNumber(); + return new XyzType(x, y, z); } internal static double[] ToArray(this (double x, double y, double z) tuple) { return new [] { tuple.x, tuple.y, tuple.z }; } +} + +// the ICC specification distinguishes between "XyzNumber" and "XyzType" +// but the main benefit for this implementation is that it's a reference type +// and easily handled as null if the tag is not present +// (as opposed to default values of 0, which can be misconstrued as existing and set to zero) +internal record XyzType(double x, double y, double z) +{ + internal double x { get; } = x; + internal double y { get; } = y; + internal double z { get; } = z; + + internal double[] ToArray() => new [] { x, y, z }; + internal (double x, double y, double z) ToTuple() => (x, y, z); } \ No newline at end of file diff --git a/Unicolour/Icc/Profile.cs b/Unicolour/Icc/Profile.cs index 070d34dd..6b55778b 100644 --- a/Unicolour/Icc/Profile.cs +++ b/Unicolour/Icc/Profile.cs @@ -36,8 +36,8 @@ internal Xyz ToXyz(double[] deviceValues, XyzConfiguration xyzConfig, Intent int // NOTE: iccMAX allows "profile connection conditions" (customToStandardPCC, standardToCustomPCC) // but if it is ever implemented, it probably doesn't change this device-to-"StandardD50" calculation var xyzD50 = Transform.ToXyz(deviceValues, intent); - var xyzD50Matrix = new Matrix(new[,] { { xyzD50[0] }, { xyzD50[1] }, { xyzD50[2] } }); - var (x, y, z) = Adaptation.WhitePoint(xyzD50Matrix, Transform.XyzD50.WhitePoint, xyzConfig.WhitePoint).ToTriplet().Tuple; + var xyzD50Triplet = new ColourTriplet(xyzD50[0], xyzD50[1], xyzD50[2]); + var (x, y, z) = Adaptation.WhitePoint(xyzD50Triplet, Transform.XyzD50.WhitePoint, xyzConfig.WhitePoint).Tuple; return new Xyz(x, y, z); } @@ -45,8 +45,7 @@ internal double[] FromXyz(Xyz xyz, XyzConfiguration xyzConfig, Intent intent) { // NOTE: iccMAX allows "profile connection conditions" (customToStandardPCC, standardToCustomPCC) // but if it is ever implemented, it probably doesn't change this "StandardD50"-to-device calculation - var xyzMatrix = Matrix.FromTriplet(xyz.Triplet); - var xyzD50 = Adaptation.WhitePoint(xyzMatrix, xyzConfig.WhitePoint, Transform.XyzD50.WhitePoint).ToTriplet().ToArray(); + var xyzD50 = Adaptation.WhitePoint(xyz.Triplet, xyzConfig.WhitePoint, Transform.XyzD50.WhitePoint).ToArray(); return Transform.FromXyz(xyzD50, intent); } diff --git a/Unicolour/Icc/Tags.cs b/Unicolour/Icc/Tags.cs index 1fba7f1e..212de7c4 100644 --- a/Unicolour/Icc/Tags.cs +++ b/Unicolour/Icc/Tags.cs @@ -9,16 +9,16 @@ public class Tags : List internal Lazy BToA1 { get; } internal Lazy BToA2 { get; } - internal Lazy<(double x, double y, double z)> RedMatrixColumn { get; } - internal Lazy<(double x, double y, double z)> GreenMatrixColumn { get; } - internal Lazy<(double x, double y, double z)> BlueMatrixColumn { get; } + internal Lazy RedMatrixColumn { get; } + internal Lazy GreenMatrixColumn { get; } + internal Lazy BlueMatrixColumn { get; } internal Lazy RedTrc { get; } internal Lazy GreenTrc { get; } internal Lazy BlueTrc { get; } internal Lazy GreyTrc { get; } - internal Lazy<(double x, double y, double z)> MediaWhite { get; } + internal Lazy MediaWhite { get; } private Tags() { @@ -29,16 +29,16 @@ private Tags() BToA1 = new Lazy(() => Read(Signatures.BToA1, Luts.BToAFromStream)); BToA2 = new Lazy(() => Read(Signatures.BToA2, Luts.BToAFromStream)); - RedMatrixColumn = new Lazy<(double x, double y, double z)>(() => Read(Signatures.RedMatrixColumn, DataTypes.ReadXyzType)); - GreenMatrixColumn = new Lazy<(double x, double y, double z)>(() => Read(Signatures.GreenMatrixColumn, DataTypes.ReadXyzType)); - BlueMatrixColumn = new Lazy<(double x, double y, double z)>(() => Read(Signatures.BlueMatrixColumn, DataTypes.ReadXyzType)); + RedMatrixColumn = new Lazy(() => Read(Signatures.RedMatrixColumn, DataTypes.ReadXyzType )); + GreenMatrixColumn = new Lazy(() => Read(Signatures.GreenMatrixColumn, DataTypes.ReadXyzType)); + BlueMatrixColumn = new Lazy(() => Read(Signatures.BlueMatrixColumn, DataTypes.ReadXyzType)); RedTrc = new Lazy(() => Read(Signatures.RedTrc, Curve.FromStream)); GreenTrc = new Lazy(() => Read(Signatures.GreenTrc, Curve.FromStream)); BlueTrc = new Lazy(() => Read(Signatures.BlueTrc, Curve.FromStream)); GreyTrc = new Lazy(() => Read(Signatures.GreyTrc, Curve.FromStream)); - MediaWhite = new Lazy<(double x, double y, double z)>(() => Read(Signatures.MediaWhitePoint, DataTypes.ReadXyzType)); + MediaWhite = new Lazy(() => Read(Signatures.MediaWhitePoint, DataTypes.ReadXyzType)); } internal bool Has(string signature) => this.Any(x => x.Signature == signature); diff --git a/Unicolour/Icc/Transform.cs b/Unicolour/Icc/Transform.cs index db7b3409..54e5aafb 100644 --- a/Unicolour/Icc/Transform.cs +++ b/Unicolour/Icc/Transform.cs @@ -10,7 +10,7 @@ internal abstract class Transform protected readonly Tags tags; private int ProfileVersion => header.ProfileVersion.Major; protected bool IsLabPcs => header.Pcs == Signatures.Lab; - private double[] MediaWhite => tags.MediaWhite.Value.ToArray(); + private double[] MediaWhite => tags.MediaWhite.Value!.ToArray(); // seems largely useless, value must be D50 when rounded to 4 decimals, i.e the same as RefWhite // but reference implementation uses this value specifically for absolute intent PCS adjustment diff --git a/Unicolour/Icc/TransformTrcMatrix.cs b/Unicolour/Icc/TransformTrcMatrix.cs index 6d22dae5..20aef792 100644 --- a/Unicolour/Icc/TransformTrcMatrix.cs +++ b/Unicolour/Icc/TransformTrcMatrix.cs @@ -37,9 +37,9 @@ internal override double[] FromXyz(double[] xyz, Intent intent) private Matrix GetMatrix() { - var redMatrix = tags.RedMatrixColumn.Value; - var greenMatrix = tags.GreenMatrixColumn.Value; - var blueMatrix = tags.BlueMatrixColumn.Value; + var redMatrix = tags.RedMatrixColumn.Value!; + var greenMatrix = tags.GreenMatrixColumn.Value!; + var blueMatrix = tags.BlueMatrixColumn.Value!; return new Matrix(new[,] { diff --git a/Unicolour/Illuminant.cs b/Unicolour/Illuminant.cs index 58916086..706d4b6f 100644 --- a/Unicolour/Illuminant.cs +++ b/Unicolour/Illuminant.cs @@ -13,7 +13,7 @@ public class Illuminant public static readonly Illuminant F7 = new(Spd.F7, $"Illuminant {nameof(F7)}"); public static readonly Illuminant F11 = new(Spd.F11, $"Illuminant {nameof(F11)}"); - // as far as I'm aware, these are the latest ASTM standards + // as far as I'm aware, this is ASTM standard practice https://doi.org/10.1520/E0308-18 (Tables 5, 10 nm) // and the 2 degree observers are an exact match with calculations on the calculator at http://www.brucelindbloom.com/ private static readonly Dictionary<(Illuminant, Observer), WhitePoint> WhitePoints = new() { @@ -42,10 +42,10 @@ public class Illuminant public string Name { get; } - private readonly Spd spd = new(); + internal Spd? Spd { get; } public Illuminant(Spd spd, string name = Utils.Unnamed) { - this.spd = spd; + Spd = spd; Name = name; } @@ -70,7 +70,7 @@ public WhitePoint GetWhitePoint(Observer observer) } // if either illuminant or observer is not predefined, white point needs to be calculated - var xyz = Xyz.FromSpd(spd, observer); + var xyz = Xyz.FromSpd(Spd!, observer); return WhitePoint.FromXyz(xyz); } diff --git a/Unicolour/Interpolation.cs b/Unicolour/Interpolation.cs index 60d41328..88ff381b 100644 --- a/Unicolour/Interpolation.cs +++ b/Unicolour/Interpolation.cs @@ -52,8 +52,8 @@ internal static Unicolour Mix(Unicolour startColour, Unicolour endColour, Colour private static (Unicolour start, Unicolour end, Configuration config) AdjustConfiguration(Unicolour start, Unicolour end) { - var config = start.Config; - return end.Config == config ? (start, end, config) : (start, end.ConvertToConfiguration(config), config); + var config = start.Configuration; + return end.Configuration == config ? (start, end, config) : (start, end.ConvertToConfiguration(config), config); } private static (ColourTriplet start, ColourTriplet end) GetTripletsToInterpolate( diff --git a/Unicolour/Matrix.cs b/Unicolour/Matrix.cs index 1a4d9ccc..a96b0092 100644 --- a/Unicolour/Matrix.cs +++ b/Unicolour/Matrix.cs @@ -5,7 +5,12 @@ namespace Wacton.Unicolour; internal class Matrix { internal double[,] Data { get; } - internal double this[int row, int col] => Data[row, col]; + internal double this[int row, int col] + { + get => Data[row, col]; + // set => Data[row, col] = value; + } + private int Rows => Data.GetLength(0); private int Cols => Data.GetLength(1); @@ -95,6 +100,20 @@ internal Matrix Select(Func operation) return new Matrix(result); } + internal Matrix Transpose() + { + var result = new double[Cols, Rows]; + for (var row = 0; row < Rows; row++) + { + for (var col = 0; col < Cols; col++) + { + result[col, row] = this[row, col]; + } + } + + return new Matrix(result); + } + internal ColourTriplet ToTriplet() { if (Rows != 3 || Cols != 1) diff --git a/Unicolour/Pigment.cs b/Unicolour/Pigment.cs new file mode 100644 index 00000000..39d8977a --- /dev/null +++ b/Unicolour/Pigment.cs @@ -0,0 +1,121 @@ +namespace Wacton.Unicolour; + +public class Pigment +{ + private KubelkaMunk KubelkaMunk { get; } + private int StartWavelength { get; } + private int WavelengthInterval { get; } + private int[] Wavelengths { get; } + private SpectralCoefficients? R { get; } // reflectance + private SpectralCoefficients? K { get; } // absorption + private SpectralCoefficients? S { get; } // scattering + private double? K1 { get; } + private double? K2 { get; } + public string Name { get; } + + public Pigment(int startWavelength, int wavelengthInterval, double[] r, string name = Utils.Unnamed) + { + KubelkaMunk = KubelkaMunk.SingleConstant; + StartWavelength = startWavelength; + WavelengthInterval = wavelengthInterval; + R = new SpectralCoefficients(startWavelength, wavelengthInterval, r); + Wavelengths = R.Wavelengths; + Name = name; + } + + public Pigment(int startWavelength, int wavelengthInterval, double[] k, double[] s, double? k1 = null, double? k2 = null, string name = Utils.Unnamed) + { + KubelkaMunk = KubelkaMunk.TwoConstant; + StartWavelength = startWavelength; + WavelengthInterval = wavelengthInterval; + K = new SpectralCoefficients(startWavelength, wavelengthInterval, k); + S = new SpectralCoefficients(startWavelength, wavelengthInterval, s); + Wavelengths = K.Wavelengths; + K1 = k1; + K2 = k2; + Name = name; + } + + internal static SpectralCoefficients? GetReflectance(Pigment[] pigments, double[] weights) + { + var examplePigment = pigments.First(); + var kubelkaMunk = examplePigment.KubelkaMunk; + var wavelengths = examplePigment.Wavelengths; + var k1 = examplePigment.K1; + var k2 = examplePigment.K2; + + /* + * exit early to avoid unnecessary calculations + * these could probably be handled by making big assumptions, e.g. + * - assume 0 coefficient for a missing wavelength, or interpolate, or only process wavelengths common to all pigments + * - convert two-constant pigments to single-constant if any other pigment is single-constant (if feasible?) + * - fall back to uncorrected when different K1 or K2 + * but it's a lot of unclear extra complexity for a niche feature (and can be revisited in future) + */ + var otherPigments = pigments.Skip(1).ToArray(); + var matchingWavelengths = otherPigments.All(x => x.Wavelengths.SequenceEqual(wavelengths)); + var matchingKubelkaMunk = otherPigments.All(x => x.KubelkaMunk == kubelkaMunk); + var matchingCorrection = otherPigments.All(x => x.K1 == k1 && x.K2 == k2); + if (!matchingWavelengths || !matchingKubelkaMunk || !matchingCorrection) + { + return null; + } + + // assume negative weights means no weight + // and exit early if there is no positive weight (i.e. no amount of pigment is mixed) + weights = weights.Select(x => Math.Max(x, 0.0)).ToArray(); + var totalWeight = weights.Sum(); + if (totalWeight == 0.0) + { + return null; + } + + var concentrations = weights.Select(x => x / totalWeight).ToArray(); + + var mixedReflectance = new double[wavelengths.Length]; + for (var i = 0; i < wavelengths.Length; i++) + { + var wavelength = wavelengths[i]; + var r = kubelkaMunk == KubelkaMunk.SingleConstant + ? SingleConstantR(wavelength, pigments, concentrations) + : TwoConstantR(wavelength, pigments, concentrations, k1, k2); + + mixedReflectance[i] = r; + } + + var startWavelength = examplePigment.StartWavelength; + var wavelengthDelta = examplePigment.WavelengthInterval; + return new SpectralCoefficients(startWavelength, wavelengthDelta, mixedReflectance); + } + + private static double SingleConstantR(int wavelength, Pigment[] pigments, double[] concentrations) + { + var ks = pigments.Select((pigment, i) => GetKOverS(pigment.R![wavelength]) * concentrations[i]).Sum(); + return GetR(ks); + } + + private static double TwoConstantR(int wavelength, Pigment[] pigments, double[] concentrations, double? k1, double? k2) + { + var k = pigments.Select((pigment, i) => pigment.K![wavelength] * concentrations[i]).Sum(); + var s = pigments.Select((pigment, i) => pigment.S![wavelength] * concentrations[i]).Sum(); + var r = GetR(k, s); + r = k1.HasValue && k2.HasValue ? CorrectR(r, k1.Value, k2.Value) : r; + return r; + } + + private static double GetKOverS(double r) => r == 0.0 ? double.NaN : Math.Pow(1 - r, 2) / (2 * r); + private static double GetR(double k, double s) => s == 0.0 ? double.NaN : GetR(k / s); + private static double GetR(double ks) => 1 + ks - Math.Sqrt(Math.Pow(ks, 2) + 2 * ks); + + // Saunderson correction, assumes data measured in SPEX mode (initial "k1 + ..." term not required) + private static double CorrectR(double r, double k1, double k2) => (1 - k1) * (1 - k2) * r / (1 - k2 * r); + + public override string ToString() => Name; +} + +internal enum KubelkaMunk +{ + SingleConstant, + TwoConstant +} + diff --git a/Unicolour/Spd.cs b/Unicolour/Spd.cs index 323a2348..cf41d75a 100644 --- a/Unicolour/Spd.cs +++ b/Unicolour/Spd.cs @@ -1,2229 +1,217 @@ namespace Wacton.Unicolour; -public class Spd : Dictionary +public class Spd : SpectralCoefficients { /* - * SPD white point calculation uses 360 nm - 780 nm range - * at either 1 nm or 5 nm intervals (> 5 nm requires different procedures) - * following ASTM standard practice https://doi.org/10.1520/E0308-18) - * however, SPD definition can cover a wider range - * e.g. - * - Illuminant D starts from 300 nm; < 360 nm values are ignored - * - Illuminant F starts from 380 nm; 360 - 380 nm values are treated as 0 + * 1 nm or 5 nm intervals is required for accurate white point calculation + * for following ASTM standard practice https://doi.org/10.1520/E0308-18 (7.1.2) + * see comment on Xyz for more details */ - internal const int StartWavelength = 360; - internal const int EndWavelength = 780; - private const int WavelengthCount = EndWavelength - StartWavelength + 1; - - public int WavelengthDelta => GetWavelengthDelta(); - public bool IsValid => GetIsValid(); - - public Spd() - { - } - - public Spd(Dictionary dictionary) - { - foreach (var pair in dictionary) - { - Add(pair.Key, pair.Value); - } - } + public override bool IsValid => GetIsValid() && Interval is 0 or 1 or 5; - public double SpectralPower(int wavelength) + public Spd(int start, int interval, params double[] coefficients) + : base(start, interval, coefficients) { - return TryGetValue(wavelength, out var value) ? value : 0; } - private int GetWavelengthDelta() - { - var wavelengths = Keys.OrderBy(x => x).ToList(); - if (wavelengths.Count < 2) return 1; // assumes every wavelength at 1 nm interval has 0 power - return wavelengths[1] - wavelengths[0]; // assumes even distribution, which can be confirmed using IsValid() - } - - private bool GetIsValid() - { - var wavelengths = Keys.OrderBy(x => x).ToList(); - if (wavelengths.Count == 1) return true; // assumes every wavelength at 1 nm interval has 0 power - - var deltas = wavelengths.Zip(wavelengths.Skip(1), (first, second) => second - first).Distinct().ToList(); - if (deltas.Count != 1) return false; - - var delta = deltas.Single(); - return delta is 1 or 5; - } + internal static Spd Monochromatic(int wavelength) => new(wavelength, interval: 0, coefficients: 1.0); - public static List ExpectedWavelengths(int interval) - { - var range = Enumerable.Range(StartWavelength, WavelengthCount); - return range.Where(wavelength => wavelength % interval == 0).ToList(); - } + internal static Spd A => new(start: 300, interval: 1, + 0.930483, 0.967643, 1.00597, 1.04549, 1.08623, 1.12821, 1.17147, 1.21602, 1.26188, 1.3091, 1.35769, 1.40768, + 1.4591, 1.51198, 1.56633, 1.62219, 1.67959, 1.73855, 1.7991, 1.86127, 1.92508, 1.99057, 2.05776, 2.12667, + 2.19734, 2.2698, 2.34406, 2.42017, 2.49814, 2.57801, 2.65981, 2.74355, 2.82928, 2.91701, 3.00678, 3.09861, + 3.19253, 3.28857, 3.38676, 3.48712, 3.58968, 3.69447, 3.80152, 3.91085, 4.0225, 4.13648, 4.25282, 4.37156, + 4.49272, 4.61631, 4.74238, 4.87095, 5.00204, 5.13568, 5.27189, 5.4107, 5.55213, 5.69622, 5.84298, 5.99244, + 6.14462, 6.29955, 6.45724, 6.61774, 6.78105, 6.9472, 7.11621, 7.28811, 7.46292, 7.64066, 7.82135, 8.00501, + 8.19167, 8.38134, 8.57404, 8.7698, 8.96864, 9.17056, 9.37561, 9.58378, 9.7951, 10.0096, 10.2273, 10.4481, + 10.6722, 10.8996, 11.1302, 11.364, 11.6012, 11.8416, 12.0853, 12.3324, 12.5828, 12.8366, 13.0938, 13.3543, + 13.6182, 13.8855, 14.1563, 14.4304, 14.708, 14.9891, 15.2736, 15.5616, 15.853, 16.148, 16.4464, 16.7484, + 17.0538, 17.3628, 17.6753, 17.9913, 18.3108, 18.6339, 18.9605, 19.2907, 19.6244, 19.9617, 20.3026, 20.647, + 20.995, 21.3465, 21.7016, 22.0603, 22.4225, 22.7883, 23.1577, 23.5307, 23.9072, 24.2873, 24.6709, 25.0581, + 25.4489, 25.8432, 26.2411, 26.6425, 27.0475, 27.456, 27.8681, 28.2836, 28.7027, 29.1253, 29.5515, 29.9811, + 30.4142, 30.8508, 31.2909, 31.7345, 32.1815, 32.632, 33.0859, 33.5432, 34.004, 34.4682, 34.9358, 35.4068, + 35.8811, 36.3588, 36.8399, 37.3243, 37.8121, 38.3031, 38.7975, 39.2951, 39.796, 40.3002, 40.8076, 41.3182, + 41.832, 42.3491, 42.8693, 43.3926, 43.9192, 44.4488, 44.9816, 45.5174, 46.0563, 46.5983, 47.1433, 47.6913, + 48.2423, 48.7963, 49.3533, 49.9132, 50.476, 51.0418, 51.6104, 52.1818, 52.7561, 53.3332, 53.9132, 54.4958, + 55.0813, 55.6694, 56.2603, 56.8539, 57.4501, 58.0489, 58.6504, 59.2545, 59.8611, 60.4703, 61.082, 61.6962, + 62.3128, 62.932, 63.5535, 64.1775, 64.8038, 65.4325, 66.0635, 66.6968, 67.3324, 67.9702, 68.6102, 69.2525, + 69.8969, 70.5435, 71.1922, 71.843, 72.4959, 73.1508, 73.8077, 74.4666, 75.1275, 75.7903, 76.4551, 77.1217, + 77.7902, 78.4605, 79.1326, 79.8065, 80.4821, 81.1595, 81.8386, 82.5193, 83.2017, 83.8856, 84.5712, 85.2584, + 85.947, 86.6372, 87.3288, 88.0219, 88.7165, 89.4124, 90.1097, 90.8083, 91.5082, 92.2095, 92.912, 93.6157, + 94.3206, 95.0267, 95.7339, 96.4423, 97.1518, 97.8623, 98.5739, 99.2864, 100, 100.715, 101.43, 102.146, 102.864, + 103.582, 104.301, 105.02, 105.741, 106.462, 107.184, 107.906, 108.63, 109.354, 110.078, 110.803, 111.529, + 112.255, 112.982, 113.709, 114.436, 115.164, 115.893, 116.622, 117.351, 118.08, 118.81, 119.54, 120.27, 121.001, + 121.731, 122.462, 123.193, 123.924, 124.655, 125.386, 126.118, 126.849, 127.58, 128.312, 129.043, 129.774, + 130.505, 131.236, 131.966, 132.697, 133.427, 134.157, 134.887, 135.617, 136.346, 137.075, 137.804, 138.532, + 139.26, 139.988, 140.715, 141.441, 142.167, 142.893, 143.618, 144.343, 145.067, 145.79, 146.513, 147.235, + 147.957, 148.678, 149.398, 150.117, 150.836, 151.554, 152.271, 152.988, 153.704, 154.418, 155.132, 155.845, + 156.558, 157.269, 157.979, 158.689, 159.397, 160.104, 160.811, 161.516, 162.221, 162.924, 163.626, 164.327, + 165.028, 165.726, 166.424, 167.121, 167.816, 168.51, 169.203, 169.895, 170.586, 171.275, 171.963, 172.65, + 173.335, 174.019, 174.702, 175.383, 176.063, 176.741, 177.419, 178.094, 178.769, 179.441, 180.113, 180.783, + 181.451, 182.118, 182.783, 183.447, 184.109, 184.77, 185.429, 186.087, 186.743, 187.397, 188.05, 188.701, + 189.35, 189.998, 190.644, 191.288, 191.931, 192.572, 193.211, 193.849, 194.484, 195.118, 195.75, 196.381, + 197.009, 197.636, 198.261, 198.884, 199.506, 200.125, 200.743, 201.359, 201.972, 202.584, 203.195, 203.803, + 204.409, 205.013, 205.616, 206.216, 206.815, 207.411, 208.006, 208.599, 209.189, 209.778, 210.365, 210.949, + 211.532, 212.112, 212.691, 213.268, 213.842, 214.415, 214.985, 215.553, 216.12, 216.684, 217.246, 217.806, + 218.364, 218.92, 219.473, 220.025, 220.574, 221.122, 221.667, 222.21, 222.751, 223.29, 223.826, 224.361, + 224.893, 225.423, 225.951, 226.477, 227, 227.522, 228.041, 228.558, 229.073, 229.585, 230.096, 230.604, 231.11, + 231.614, 232.115, 232.615, 233.112, 233.606, 234.099, 234.589, 235.078, 235.564, 236.047, 236.529, 237.008, + 237.485, 237.959, 238.432, 238.902, 239.37, 239.836, 240.299, 240.76, 241.219, 241.675, 242.13, 242.582, + 243.031, 243.479, 243.924, 244.367, 244.808, 245.246, 245.682, 246.116, 246.548, 246.977, 247.404, 247.829, + 248.251, 248.671, 249.089, 249.505, 249.918, 250.329, 250.738, 251.144, 251.548, 251.95, 252.35, 252.747, + 253.142, 253.535, 253.925, 254.314, 254.7, 255.083, 255.465, 255.844, 256.221, 256.595, 256.968, 257.338, + 257.706, 258.071, 258.434, 258.795, 259.154, 259.511, 259.865, 260.217, 260.567, 260.914, 261.259, 261.602 + ); - public override string ToString() => this.Any() ? $"{this.First().Key} nm to {this.Last().Key} nm by {WavelengthDelta} nm" : "(no wavelength data)"; + internal static Spd C => new(start: 300, interval: 5, + 0, 0, 0, 0, 0.01, 0.2, 0.4, 1.55, 2.7, 4.85, 7, 9.95, 12.9, 17.2, 21.4, 27.5, 33, 39.92, 47.4, 55.17, 63.3, + 71.81, 80.6, 89.53, 98.1, 105.8, 112.4, 117.75, 121.5, 123.45, 124, 123.6, 123.1, 123.3, 123.8, 124.09, 123.9, + 122.92, 120.7, 116.9, 112.1, 106.98, 102.3, 98.81, 96.9, 96.78, 98, 99.94, 102.1, 103.95, 105.2, 105.67, 105.3, + 104.11, 102.3, 100.15, 97.8, 95.43, 93.2, 91.22, 89.7, 88.83, 88.4, 88.19, 88.1, 88.06, 88, 87.86, 87.8, 87.99, + 88.2, 88.2, 87.9, 87.22, 86.3, 85.3, 84, 82.21, 80.2, 78.24, 76.3, 74.36, 72.4, 70.4, 68.3, 66.3, 64.4, 62.8, + 61.5, 60.2, 59.2, 58.5, 58.1, 58, 58.2, 58.5, 59.1 + ); - internal static Spd A => new() - { - { 300, 0.930483 }, - { 301, 0.967643 }, - { 302, 1.00597 }, - { 303, 1.04549 }, - { 304, 1.08623 }, - { 305, 1.12821 }, - { 306, 1.17147 }, - { 307, 1.21602 }, - { 308, 1.26188 }, - { 309, 1.3091 }, - { 310, 1.35769 }, - { 311, 1.40768 }, - { 312, 1.4591 }, - { 313, 1.51198 }, - { 314, 1.56633 }, - { 315, 1.62219 }, - { 316, 1.67959 }, - { 317, 1.73855 }, - { 318, 1.7991 }, - { 319, 1.86127 }, - { 320, 1.92508 }, - { 321, 1.99057 }, - { 322, 2.05776 }, - { 323, 2.12667 }, - { 324, 2.19734 }, - { 325, 2.2698 }, - { 326, 2.34406 }, - { 327, 2.42017 }, - { 328, 2.49814 }, - { 329, 2.57801 }, - { 330, 2.65981 }, - { 331, 2.74355 }, - { 332, 2.82928 }, - { 333, 2.91701 }, - { 334, 3.00678 }, - { 335, 3.09861 }, - { 336, 3.19253 }, - { 337, 3.28857 }, - { 338, 3.38676 }, - { 339, 3.48712 }, - { 340, 3.58968 }, - { 341, 3.69447 }, - { 342, 3.80152 }, - { 343, 3.91085 }, - { 344, 4.0225 }, - { 345, 4.13648 }, - { 346, 4.25282 }, - { 347, 4.37156 }, - { 348, 4.49272 }, - { 349, 4.61631 }, - { 350, 4.74238 }, - { 351, 4.87095 }, - { 352, 5.00204 }, - { 353, 5.13568 }, - { 354, 5.27189 }, - { 355, 5.4107 }, - { 356, 5.55213 }, - { 357, 5.69622 }, - { 358, 5.84298 }, - { 359, 5.99244 }, - { 360, 6.14462 }, - { 361, 6.29955 }, - { 362, 6.45724 }, - { 363, 6.61774 }, - { 364, 6.78105 }, - { 365, 6.9472 }, - { 366, 7.11621 }, - { 367, 7.28811 }, - { 368, 7.46292 }, - { 369, 7.64066 }, - { 370, 7.82135 }, - { 371, 8.00501 }, - { 372, 8.19167 }, - { 373, 8.38134 }, - { 374, 8.57404 }, - { 375, 8.7698 }, - { 376, 8.96864 }, - { 377, 9.17056 }, - { 378, 9.37561 }, - { 379, 9.58378 }, - { 380, 9.7951 }, - { 381, 10.0096 }, - { 382, 10.2273 }, - { 383, 10.4481 }, - { 384, 10.6722 }, - { 385, 10.8996 }, - { 386, 11.1302 }, - { 387, 11.364 }, - { 388, 11.6012 }, - { 389, 11.8416 }, - { 390, 12.0853 }, - { 391, 12.3324 }, - { 392, 12.5828 }, - { 393, 12.8366 }, - { 394, 13.0938 }, - { 395, 13.3543 }, - { 396, 13.6182 }, - { 397, 13.8855 }, - { 398, 14.1563 }, - { 399, 14.4304 }, - { 400, 14.708 }, - { 401, 14.9891 }, - { 402, 15.2736 }, - { 403, 15.5616 }, - { 404, 15.853 }, - { 405, 16.148 }, - { 406, 16.4464 }, - { 407, 16.7484 }, - { 408, 17.0538 }, - { 409, 17.3628 }, - { 410, 17.6753 }, - { 411, 17.9913 }, - { 412, 18.3108 }, - { 413, 18.6339 }, - { 414, 18.9605 }, - { 415, 19.2907 }, - { 416, 19.6244 }, - { 417, 19.9617 }, - { 418, 20.3026 }, - { 419, 20.647 }, - { 420, 20.995 }, - { 421, 21.3465 }, - { 422, 21.7016 }, - { 423, 22.0603 }, - { 424, 22.4225 }, - { 425, 22.7883 }, - { 426, 23.1577 }, - { 427, 23.5307 }, - { 428, 23.9072 }, - { 429, 24.2873 }, - { 430, 24.6709 }, - { 431, 25.0581 }, - { 432, 25.4489 }, - { 433, 25.8432 }, - { 434, 26.2411 }, - { 435, 26.6425 }, - { 436, 27.0475 }, - { 437, 27.456 }, - { 438, 27.8681 }, - { 439, 28.2836 }, - { 440, 28.7027 }, - { 441, 29.1253 }, - { 442, 29.5515 }, - { 443, 29.9811 }, - { 444, 30.4142 }, - { 445, 30.8508 }, - { 446, 31.2909 }, - { 447, 31.7345 }, - { 448, 32.1815 }, - { 449, 32.632 }, - { 450, 33.0859 }, - { 451, 33.5432 }, - { 452, 34.004 }, - { 453, 34.4682 }, - { 454, 34.9358 }, - { 455, 35.4068 }, - { 456, 35.8811 }, - { 457, 36.3588 }, - { 458, 36.8399 }, - { 459, 37.3243 }, - { 460, 37.8121 }, - { 461, 38.3031 }, - { 462, 38.7975 }, - { 463, 39.2951 }, - { 464, 39.796 }, - { 465, 40.3002 }, - { 466, 40.8076 }, - { 467, 41.3182 }, - { 468, 41.832 }, - { 469, 42.3491 }, - { 470, 42.8693 }, - { 471, 43.3926 }, - { 472, 43.9192 }, - { 473, 44.4488 }, - { 474, 44.9816 }, - { 475, 45.5174 }, - { 476, 46.0563 }, - { 477, 46.5983 }, - { 478, 47.1433 }, - { 479, 47.6913 }, - { 480, 48.2423 }, - { 481, 48.7963 }, - { 482, 49.3533 }, - { 483, 49.9132 }, - { 484, 50.476 }, - { 485, 51.0418 }, - { 486, 51.6104 }, - { 487, 52.1818 }, - { 488, 52.7561 }, - { 489, 53.3332 }, - { 490, 53.9132 }, - { 491, 54.4958 }, - { 492, 55.0813 }, - { 493, 55.6694 }, - { 494, 56.2603 }, - { 495, 56.8539 }, - { 496, 57.4501 }, - { 497, 58.0489 }, - { 498, 58.6504 }, - { 499, 59.2545 }, - { 500, 59.8611 }, - { 501, 60.4703 }, - { 502, 61.082 }, - { 503, 61.6962 }, - { 504, 62.3128 }, - { 505, 62.932 }, - { 506, 63.5535 }, - { 507, 64.1775 }, - { 508, 64.8038 }, - { 509, 65.4325 }, - { 510, 66.0635 }, - { 511, 66.6968 }, - { 512, 67.3324 }, - { 513, 67.9702 }, - { 514, 68.6102 }, - { 515, 69.2525 }, - { 516, 69.8969 }, - { 517, 70.5435 }, - { 518, 71.1922 }, - { 519, 71.843 }, - { 520, 72.4959 }, - { 521, 73.1508 }, - { 522, 73.8077 }, - { 523, 74.4666 }, - { 524, 75.1275 }, - { 525, 75.7903 }, - { 526, 76.4551 }, - { 527, 77.1217 }, - { 528, 77.7902 }, - { 529, 78.4605 }, - { 530, 79.1326 }, - { 531, 79.8065 }, - { 532, 80.4821 }, - { 533, 81.1595 }, - { 534, 81.8386 }, - { 535, 82.5193 }, - { 536, 83.2017 }, - { 537, 83.8856 }, - { 538, 84.5712 }, - { 539, 85.2584 }, - { 540, 85.947 }, - { 541, 86.6372 }, - { 542, 87.3288 }, - { 543, 88.0219 }, - { 544, 88.7165 }, - { 545, 89.4124 }, - { 546, 90.1097 }, - { 547, 90.8083 }, - { 548, 91.5082 }, - { 549, 92.2095 }, - { 550, 92.912 }, - { 551, 93.6157 }, - { 552, 94.3206 }, - { 553, 95.0267 }, - { 554, 95.7339 }, - { 555, 96.4423 }, - { 556, 97.1518 }, - { 557, 97.8623 }, - { 558, 98.5739 }, - { 559, 99.2864 }, - { 560, 100 }, - { 561, 100.715 }, - { 562, 101.43 }, - { 563, 102.146 }, - { 564, 102.864 }, - { 565, 103.582 }, - { 566, 104.301 }, - { 567, 105.02 }, - { 568, 105.741 }, - { 569, 106.462 }, - { 570, 107.184 }, - { 571, 107.906 }, - { 572, 108.63 }, - { 573, 109.354 }, - { 574, 110.078 }, - { 575, 110.803 }, - { 576, 111.529 }, - { 577, 112.255 }, - { 578, 112.982 }, - { 579, 113.709 }, - { 580, 114.436 }, - { 581, 115.164 }, - { 582, 115.893 }, - { 583, 116.622 }, - { 584, 117.351 }, - { 585, 118.08 }, - { 586, 118.81 }, - { 587, 119.54 }, - { 588, 120.27 }, - { 589, 121.001 }, - { 590, 121.731 }, - { 591, 122.462 }, - { 592, 123.193 }, - { 593, 123.924 }, - { 594, 124.655 }, - { 595, 125.386 }, - { 596, 126.118 }, - { 597, 126.849 }, - { 598, 127.58 }, - { 599, 128.312 }, - { 600, 129.043 }, - { 601, 129.774 }, - { 602, 130.505 }, - { 603, 131.236 }, - { 604, 131.966 }, - { 605, 132.697 }, - { 606, 133.427 }, - { 607, 134.157 }, - { 608, 134.887 }, - { 609, 135.617 }, - { 610, 136.346 }, - { 611, 137.075 }, - { 612, 137.804 }, - { 613, 138.532 }, - { 614, 139.26 }, - { 615, 139.988 }, - { 616, 140.715 }, - { 617, 141.441 }, - { 618, 142.167 }, - { 619, 142.893 }, - { 620, 143.618 }, - { 621, 144.343 }, - { 622, 145.067 }, - { 623, 145.79 }, - { 624, 146.513 }, - { 625, 147.235 }, - { 626, 147.957 }, - { 627, 148.678 }, - { 628, 149.398 }, - { 629, 150.117 }, - { 630, 150.836 }, - { 631, 151.554 }, - { 632, 152.271 }, - { 633, 152.988 }, - { 634, 153.704 }, - { 635, 154.418 }, - { 636, 155.132 }, - { 637, 155.845 }, - { 638, 156.558 }, - { 639, 157.269 }, - { 640, 157.979 }, - { 641, 158.689 }, - { 642, 159.397 }, - { 643, 160.104 }, - { 644, 160.811 }, - { 645, 161.516 }, - { 646, 162.221 }, - { 647, 162.924 }, - { 648, 163.626 }, - { 649, 164.327 }, - { 650, 165.028 }, - { 651, 165.726 }, - { 652, 166.424 }, - { 653, 167.121 }, - { 654, 167.816 }, - { 655, 168.51 }, - { 656, 169.203 }, - { 657, 169.895 }, - { 658, 170.586 }, - { 659, 171.275 }, - { 660, 171.963 }, - { 661, 172.65 }, - { 662, 173.335 }, - { 663, 174.019 }, - { 664, 174.702 }, - { 665, 175.383 }, - { 666, 176.063 }, - { 667, 176.741 }, - { 668, 177.419 }, - { 669, 178.094 }, - { 670, 178.769 }, - { 671, 179.441 }, - { 672, 180.113 }, - { 673, 180.783 }, - { 674, 181.451 }, - { 675, 182.118 }, - { 676, 182.783 }, - { 677, 183.447 }, - { 678, 184.109 }, - { 679, 184.77 }, - { 680, 185.429 }, - { 681, 186.087 }, - { 682, 186.743 }, - { 683, 187.397 }, - { 684, 188.05 }, - { 685, 188.701 }, - { 686, 189.35 }, - { 687, 189.998 }, - { 688, 190.644 }, - { 689, 191.288 }, - { 690, 191.931 }, - { 691, 192.572 }, - { 692, 193.211 }, - { 693, 193.849 }, - { 694, 194.484 }, - { 695, 195.118 }, - { 696, 195.75 }, - { 697, 196.381 }, - { 698, 197.009 }, - { 699, 197.636 }, - { 700, 198.261 }, - { 701, 198.884 }, - { 702, 199.506 }, - { 703, 200.125 }, - { 704, 200.743 }, - { 705, 201.359 }, - { 706, 201.972 }, - { 707, 202.584 }, - { 708, 203.195 }, - { 709, 203.803 }, - { 710, 204.409 }, - { 711, 205.013 }, - { 712, 205.616 }, - { 713, 206.216 }, - { 714, 206.815 }, - { 715, 207.411 }, - { 716, 208.006 }, - { 717, 208.599 }, - { 718, 209.189 }, - { 719, 209.778 }, - { 720, 210.365 }, - { 721, 210.949 }, - { 722, 211.532 }, - { 723, 212.112 }, - { 724, 212.691 }, - { 725, 213.268 }, - { 726, 213.842 }, - { 727, 214.415 }, - { 728, 214.985 }, - { 729, 215.553 }, - { 730, 216.12 }, - { 731, 216.684 }, - { 732, 217.246 }, - { 733, 217.806 }, - { 734, 218.364 }, - { 735, 218.92 }, - { 736, 219.473 }, - { 737, 220.025 }, - { 738, 220.574 }, - { 739, 221.122 }, - { 740, 221.667 }, - { 741, 222.21 }, - { 742, 222.751 }, - { 743, 223.29 }, - { 744, 223.826 }, - { 745, 224.361 }, - { 746, 224.893 }, - { 747, 225.423 }, - { 748, 225.951 }, - { 749, 226.477 }, - { 750, 227 }, - { 751, 227.522 }, - { 752, 228.041 }, - { 753, 228.558 }, - { 754, 229.073 }, - { 755, 229.585 }, - { 756, 230.096 }, - { 757, 230.604 }, - { 758, 231.11 }, - { 759, 231.614 }, - { 760, 232.115 }, - { 761, 232.615 }, - { 762, 233.112 }, - { 763, 233.606 }, - { 764, 234.099 }, - { 765, 234.589 }, - { 766, 235.078 }, - { 767, 235.564 }, - { 768, 236.047 }, - { 769, 236.529 }, - { 770, 237.008 }, - { 771, 237.485 }, - { 772, 237.959 }, - { 773, 238.432 }, - { 774, 238.902 }, - { 775, 239.37 }, - { 776, 239.836 }, - { 777, 240.299 }, - { 778, 240.76 }, - { 779, 241.219 }, - { 780, 241.675 }, - { 781, 242.13 }, - { 782, 242.582 }, - { 783, 243.031 }, - { 784, 243.479 }, - { 785, 243.924 }, - { 786, 244.367 }, - { 787, 244.808 }, - { 788, 245.246 }, - { 789, 245.682 }, - { 790, 246.116 }, - { 791, 246.548 }, - { 792, 246.977 }, - { 793, 247.404 }, - { 794, 247.829 }, - { 795, 248.251 }, - { 796, 248.671 }, - { 797, 249.089 }, - { 798, 249.505 }, - { 799, 249.918 }, - { 800, 250.329 }, - { 801, 250.738 }, - { 802, 251.144 }, - { 803, 251.548 }, - { 804, 251.95 }, - { 805, 252.35 }, - { 806, 252.747 }, - { 807, 253.142 }, - { 808, 253.535 }, - { 809, 253.925 }, - { 810, 254.314 }, - { 811, 254.7 }, - { 812, 255.083 }, - { 813, 255.465 }, - { 814, 255.844 }, - { 815, 256.221 }, - { 816, 256.595 }, - { 817, 256.968 }, - { 818, 257.338 }, - { 819, 257.706 }, - { 820, 258.071 }, - { 821, 258.434 }, - { 822, 258.795 }, - { 823, 259.154 }, - { 824, 259.511 }, - { 825, 259.865 }, - { 826, 260.217 }, - { 827, 260.567 }, - { 828, 260.914 }, - { 829, 261.259 }, - { 830, 261.602 } - }; + internal static Spd D50 => new(start: 300, interval: 1, + 0.01922, 0.222348, 0.425476, 0.628604, 0.831732, 1.03486, 1.23799, 1.44112, 1.64424, 1.84737, 2.0505, 2.62329, + 3.19608, 3.76887, 4.34166, 4.91445, 5.48724, 6.06003, 6.63282, 7.20561, 7.7784, 8.47531, 9.17222, 9.86913, + 10.566, 11.263, 11.9599, 12.6568, 13.3537, 14.0506, 14.7475, 15.0676, 15.3876, 15.7076, 16.0277, 16.3478, + 16.6678, 16.9878, 17.3079, 17.628, 17.948, 18.2542, 18.5603, 18.8665, 19.1727, 19.4788, 19.785, 20.0912, + 20.3974, 20.7035, 21.0097, 21.3029, 21.5961, 21.8894, 22.1826, 22.4758, 22.769, 23.0622, 23.3555, 23.6487, + 23.9419, 24.2438, 24.5457, 24.8475, 25.1494, 25.4513, 25.7532, 26.0551, 26.3569, 26.6588, 26.9607, 26.7134, + 26.4661, 26.2187, 25.9714, 25.7241, 25.4768, 25.2295, 24.9821, 24.7348, 24.4875, 25.0258, 25.5641, 26.1024, + 26.6407, 27.179, 27.7174, 28.2557, 28.794, 29.3323, 29.8706, 31.8144, 33.7581, 35.7018, 37.6456, 39.5894, + 41.5331, 43.4768, 45.4206, 47.3644, 49.3081, 50.0286, 50.749, 51.4695, 52.19, 52.9104, 53.6309, 54.3514, + 55.0719, 55.7923, 56.5128, 56.8649, 57.217, 57.5691, 57.9212, 58.2733, 58.6254, 58.9775, 59.3296, 59.6817, + 60.0338, 59.8122, 59.5905, 59.3689, 59.1473, 58.9256, 58.704, 58.4824, 58.2608, 58.0391, 57.8175, 59.5182, + 61.219, 62.9197, 64.6205, 66.3212, 68.0219, 69.7227, 71.4234, 73.1242, 74.8249, 76.0671, 77.3094, 78.5516, + 79.7938, 81.036, 82.2783, 83.5205, 84.7627, 86.005, 87.2472, 87.5837, 87.9202, 88.2567, 88.5932, 88.9297, + 89.2662, 89.6027, 89.9392, 90.2757, 90.6122, 90.6878, 90.7634, 90.839, 90.9146, 90.9902, 91.0657, 91.1413, + 91.2169, 91.2925, 91.3681, 91.7421, 92.1162, 92.4902, 92.8643, 93.2383, 93.6123, 93.9864, 94.3604, 94.7345, + 95.1085, 94.7939, 94.4793, 94.1648, 93.8502, 93.5356, 93.221, 92.9064, 92.5919, 92.2773, 91.9627, 92.3388, + 92.7149, 93.091, 93.4671, 93.8432, 94.2193, 94.5954, 94.9715, 95.3476, 95.7237, 95.8127, 95.9016, 95.9906, + 96.0795, 96.1685, 96.2575, 96.3464, 96.4354, 96.5243, 96.6133, 96.6649, 96.7164, 96.768, 96.8196, 96.8712, + 96.9227, 96.9743, 97.0259, 97.0774, 97.129, 97.626, 98.123, 98.62, 99.117, 99.614, 100.111, 100.608, 101.105, + 101.602, 102.099, 101.965, 101.83, 101.696, 101.561, 101.427, 101.292, 101.158, 101.024, 100.889, 100.755, + 100.911, 101.067, 101.223, 101.38, 101.536, 101.692, 101.848, 102.005, 102.161, 102.317, 102.085, 101.854, + 101.622, 101.39, 101.158, 100.927, 100.695, 100.463, 100.232, 100, 99.7735, 99.547, 99.3205, 99.094, 98.8675, + 98.641, 98.4145, 98.188, 97.9615, 97.735, 97.8533, 97.9716, 98.0899, 98.2082, 98.3265, 98.4448, 98.5631, + 98.6814, 98.7997, 98.918, 98.3761, 97.8342, 97.2922, 96.7503, 96.2084, 95.6665, 95.1246, 94.5826, 94.0407, + 93.4988, 93.9177, 94.3366, 94.7555, 95.1744, 95.5933, 96.0122, 96.4311, 96.85, 97.2689, 97.6878, 97.8459, + 98.0041, 98.1622, 98.3203, 98.4784, 98.6366, 98.7947, 98.9528, 99.111, 99.2691, 99.2463, 99.2236, 99.2008, + 99.1781, 99.1553, 99.1325, 99.1098, 99.087, 99.0643, 99.0415, 98.7095, 98.3776, 98.0456, 97.7136, 97.3816, + 97.0497, 96.7177, 96.3857, 96.0538, 95.7218, 96.0353, 96.3489, 96.6624, 96.976, 97.2895, 97.603, 97.9166, + 98.2301, 98.5437, 98.8572, 98.5382, 98.2192, 97.9002, 97.5812, 97.2622, 96.9432, 96.6242, 96.3052, 95.9862, + 95.6672, 95.9195, 96.1717, 96.424, 96.6762, 96.9285, 97.1808, 97.433, 97.6853, 97.9375, 98.1898, 98.6712, + 99.1525, 99.6339, 100.115, 100.597, 101.078, 101.559, 102.041, 102.522, 103.003, 102.616, 102.229, 101.842, + 101.455, 101.068, 100.681, 100.294, 99.9071, 99.52, 99.133, 97.9578, 96.7826, 95.6074, 94.4322, 93.257, 92.0817, + 90.9065, 89.7313, 88.5561, 87.3809, 87.8032, 88.2254, 88.6477, 89.0699, 89.4922, 89.9145, 90.3367, 90.759, + 91.1812, 91.6035, 91.732, 91.8605, 91.989, 92.1175, 92.246, 92.3746, 92.5031, 92.6316, 92.7601, 92.8886, + 91.2852, 89.6818, 88.0783, 86.4749, 84.8715, 83.2681, 81.6647, 80.0612, 78.4578, 76.8544, 77.8201, 78.7858, + 79.7514, 80.7171, 81.6828, 82.6485, 83.6142, 84.5798, 85.5455, 86.5112, 87.1181, 87.7249, 88.3318, 88.9386, + 89.5455, 90.1524, 90.7592, 91.3661, 91.9729, 92.5798, 91.1448, 89.7098, 88.2748, 86.8398, 85.4048, 83.9699, + 82.5349, 81.0999, 79.6649, 78.2299, 76.1761, 74.1223, 72.0685, 70.0147, 67.9608, 65.907, 63.8532, 61.7994, + 59.7456, 57.6918, 60.2149, 62.738, 65.2612, 67.7843, 70.3074, 72.8305, 75.3536, 77.8768, 80.3999, 82.923, + 82.4581, 81.9932, 81.5283, 81.0634, 80.5985, 80.1336, 79.6687, 79.2038, 78.7389, 78.274, 78.402, 78.5301, + 78.6581, 78.7862, 78.9142, 79.0422, 79.1703, 79.2983, 79.4264, 79.5544, 78.9391, 78.3238, 77.7085, 77.0932, + 76.478, 75.8627, 75.2474, 74.6321, 74.0168, 73.4015, 72.4534, 71.5052, 70.5571, 69.609, 68.6608, 67.7127, + 66.7646, 65.8165, 64.8683, 63.9202, 64.6059, 65.2916, 65.9772, 66.6629, 67.3486, 68.0343, 68.72, 69.4056, + 70.0913, 70.777, 71.1435, 71.5099, 71.8764, 72.2429, 72.6094, 72.9758, 73.3423, 73.7088, 74.0752, 74.4417 + ); - internal static Spd C => new() - { - { 300, 0 }, - { 305, 0 }, - { 310, 0 }, - { 315, 0 }, - { 320, 0.01 }, - { 325, 0.2 }, - { 330, 0.4 }, - { 335, 1.55 }, - { 340, 2.7 }, - { 345, 4.85 }, - { 350, 7 }, - { 355, 9.95 }, - { 360, 12.9 }, - { 365, 17.2 }, - { 370, 21.4 }, - { 375, 27.5 }, - { 380, 33 }, - { 385, 39.92 }, - { 390, 47.4 }, - { 395, 55.17 }, - { 400, 63.3 }, - { 405, 71.81 }, - { 410, 80.6 }, - { 415, 89.53 }, - { 420, 98.1 }, - { 425, 105.8 }, - { 430, 112.4 }, - { 435, 117.75 }, - { 440, 121.5 }, - { 445, 123.45 }, - { 450, 124 }, - { 455, 123.6 }, - { 460, 123.1 }, - { 465, 123.3 }, - { 470, 123.8 }, - { 475, 124.09 }, - { 480, 123.9 }, - { 485, 122.92 }, - { 490, 120.7 }, - { 495, 116.9 }, - { 500, 112.1 }, - { 505, 106.98 }, - { 510, 102.3 }, - { 515, 98.81 }, - { 520, 96.9 }, - { 525, 96.78 }, - { 530, 98 }, - { 535, 99.94 }, - { 540, 102.1 }, - { 545, 103.95 }, - { 550, 105.2 }, - { 555, 105.67 }, - { 560, 105.3 }, - { 565, 104.11 }, - { 570, 102.3 }, - { 575, 100.15 }, - { 580, 97.8 }, - { 585, 95.43 }, - { 590, 93.2 }, - { 595, 91.22 }, - { 600, 89.7 }, - { 605, 88.83 }, - { 610, 88.4 }, - { 615, 88.19 }, - { 620, 88.1 }, - { 625, 88.06 }, - { 630, 88 }, - { 635, 87.86 }, - { 640, 87.8 }, - { 645, 87.99 }, - { 650, 88.2 }, - { 655, 88.2 }, - { 660, 87.9 }, - { 665, 87.22 }, - { 670, 86.3 }, - { 675, 85.3 }, - { 680, 84 }, - { 685, 82.21 }, - { 690, 80.2 }, - { 695, 78.24 }, - { 700, 76.3 }, - { 705, 74.36 }, - { 710, 72.4 }, - { 715, 70.4 }, - { 720, 68.3 }, - { 725, 66.3 }, - { 730, 64.4 }, - { 735, 62.8 }, - { 740, 61.5 }, - { 745, 60.2 }, - { 750, 59.2 }, - { 755, 58.5 }, - { 760, 58.1 }, - { 765, 58 }, - { 770, 58.2 }, - { 775, 58.5 }, - { 780, 59.1 } - }; + internal static Spd D55 => new(start: 300, interval: 5, + 0.024, 1.048, 2.072, 6.648, 11.224, 15.936, 20.647, 22.266, 23.885, 25.851, 27.817, 29.219, 30.621, 32.464, + 34.308, 33.446, 32.584, 35.335, 38.087, 49.518, 60.949, 64.751, 68.554, 70.065, 71.577, 69.746, 67.914, 76.76, + 85.605, 91.799, 97.993, 99.228, 100.463, 100.188, 99.913, 101.326, 102.739, 100.409, 98.078, 99.379, 100.68, + 100.688, 100.695, 100.341, 99.987, 102.098, 104.21, 103.156, 102.102, 102.535, 102.968, 101.484, 100, 98.608, + 97.216, 97.482, 97.749, 94.59, 91.432, 92.926, 94.419, 94.78, 95.14, 94.68, 94.22, 92.334, 90.448, 91.389, + 92.33, 90.592, 88.854, 89.586, 90.317, 92.133, 93.95, 91.953, 89.956, 84.817, 79.677, 81.258, 82.84, 83.842, + 84.844, 77.539, 70.235, 74.768, 79.301, 82.147, 84.993, 78.437, 71.88, 62.337, 52.793, 64.36, 75.927, 73.872, + 71.818 + ); - internal static Spd D50 => new() - { - { 300, 0.01922 }, - { 301, 0.222348 }, - { 302, 0.425476 }, - { 303, 0.628604 }, - { 304, 0.831732 }, - { 305, 1.03486 }, - { 306, 1.23799 }, - { 307, 1.44112 }, - { 308, 1.64424 }, - { 309, 1.84737 }, - { 310, 2.0505 }, - { 311, 2.62329 }, - { 312, 3.19608 }, - { 313, 3.76887 }, - { 314, 4.34166 }, - { 315, 4.91445 }, - { 316, 5.48724 }, - { 317, 6.06003 }, - { 318, 6.63282 }, - { 319, 7.20561 }, - { 320, 7.7784 }, - { 321, 8.47531 }, - { 322, 9.17222 }, - { 323, 9.86913 }, - { 324, 10.566 }, - { 325, 11.263 }, - { 326, 11.9599 }, - { 327, 12.6568 }, - { 328, 13.3537 }, - { 329, 14.0506 }, - { 330, 14.7475 }, - { 331, 15.0676 }, - { 332, 15.3876 }, - { 333, 15.7076 }, - { 334, 16.0277 }, - { 335, 16.3478 }, - { 336, 16.6678 }, - { 337, 16.9878 }, - { 338, 17.3079 }, - { 339, 17.628 }, - { 340, 17.948 }, - { 341, 18.2542 }, - { 342, 18.5603 }, - { 343, 18.8665 }, - { 344, 19.1727 }, - { 345, 19.4788 }, - { 346, 19.785 }, - { 347, 20.0912 }, - { 348, 20.3974 }, - { 349, 20.7035 }, - { 350, 21.0097 }, - { 351, 21.3029 }, - { 352, 21.5961 }, - { 353, 21.8894 }, - { 354, 22.1826 }, - { 355, 22.4758 }, - { 356, 22.769 }, - { 357, 23.0622 }, - { 358, 23.3555 }, - { 359, 23.6487 }, - { 360, 23.9419 }, - { 361, 24.2438 }, - { 362, 24.5457 }, - { 363, 24.8475 }, - { 364, 25.1494 }, - { 365, 25.4513 }, - { 366, 25.7532 }, - { 367, 26.0551 }, - { 368, 26.3569 }, - { 369, 26.6588 }, - { 370, 26.9607 }, - { 371, 26.7134 }, - { 372, 26.4661 }, - { 373, 26.2187 }, - { 374, 25.9714 }, - { 375, 25.7241 }, - { 376, 25.4768 }, - { 377, 25.2295 }, - { 378, 24.9821 }, - { 379, 24.7348 }, - { 380, 24.4875 }, - { 381, 25.0258 }, - { 382, 25.5641 }, - { 383, 26.1024 }, - { 384, 26.6407 }, - { 385, 27.179 }, - { 386, 27.7174 }, - { 387, 28.2557 }, - { 388, 28.794 }, - { 389, 29.3323 }, - { 390, 29.8706 }, - { 391, 31.8144 }, - { 392, 33.7581 }, - { 393, 35.7018 }, - { 394, 37.6456 }, - { 395, 39.5894 }, - { 396, 41.5331 }, - { 397, 43.4768 }, - { 398, 45.4206 }, - { 399, 47.3644 }, - { 400, 49.3081 }, - { 401, 50.0286 }, - { 402, 50.749 }, - { 403, 51.4695 }, - { 404, 52.19 }, - { 405, 52.9104 }, - { 406, 53.6309 }, - { 407, 54.3514 }, - { 408, 55.0719 }, - { 409, 55.7923 }, - { 410, 56.5128 }, - { 411, 56.8649 }, - { 412, 57.217 }, - { 413, 57.5691 }, - { 414, 57.9212 }, - { 415, 58.2733 }, - { 416, 58.6254 }, - { 417, 58.9775 }, - { 418, 59.3296 }, - { 419, 59.6817 }, - { 420, 60.0338 }, - { 421, 59.8122 }, - { 422, 59.5905 }, - { 423, 59.3689 }, - { 424, 59.1473 }, - { 425, 58.9256 }, - { 426, 58.704 }, - { 427, 58.4824 }, - { 428, 58.2608 }, - { 429, 58.0391 }, - { 430, 57.8175 }, - { 431, 59.5182 }, - { 432, 61.219 }, - { 433, 62.9197 }, - { 434, 64.6205 }, - { 435, 66.3212 }, - { 436, 68.0219 }, - { 437, 69.7227 }, - { 438, 71.4234 }, - { 439, 73.1242 }, - { 440, 74.8249 }, - { 441, 76.0671 }, - { 442, 77.3094 }, - { 443, 78.5516 }, - { 444, 79.7938 }, - { 445, 81.036 }, - { 446, 82.2783 }, - { 447, 83.5205 }, - { 448, 84.7627 }, - { 449, 86.005 }, - { 450, 87.2472 }, - { 451, 87.5837 }, - { 452, 87.9202 }, - { 453, 88.2567 }, - { 454, 88.5932 }, - { 455, 88.9297 }, - { 456, 89.2662 }, - { 457, 89.6027 }, - { 458, 89.9392 }, - { 459, 90.2757 }, - { 460, 90.6122 }, - { 461, 90.6878 }, - { 462, 90.7634 }, - { 463, 90.839 }, - { 464, 90.9146 }, - { 465, 90.9902 }, - { 466, 91.0657 }, - { 467, 91.1413 }, - { 468, 91.2169 }, - { 469, 91.2925 }, - { 470, 91.3681 }, - { 471, 91.7421 }, - { 472, 92.1162 }, - { 473, 92.4902 }, - { 474, 92.8643 }, - { 475, 93.2383 }, - { 476, 93.6123 }, - { 477, 93.9864 }, - { 478, 94.3604 }, - { 479, 94.7345 }, - { 480, 95.1085 }, - { 481, 94.7939 }, - { 482, 94.4793 }, - { 483, 94.1648 }, - { 484, 93.8502 }, - { 485, 93.5356 }, - { 486, 93.221 }, - { 487, 92.9064 }, - { 488, 92.5919 }, - { 489, 92.2773 }, - { 490, 91.9627 }, - { 491, 92.3388 }, - { 492, 92.7149 }, - { 493, 93.091 }, - { 494, 93.4671 }, - { 495, 93.8432 }, - { 496, 94.2193 }, - { 497, 94.5954 }, - { 498, 94.9715 }, - { 499, 95.3476 }, - { 500, 95.7237 }, - { 501, 95.8127 }, - { 502, 95.9016 }, - { 503, 95.9906 }, - { 504, 96.0795 }, - { 505, 96.1685 }, - { 506, 96.2575 }, - { 507, 96.3464 }, - { 508, 96.4354 }, - { 509, 96.5243 }, - { 510, 96.6133 }, - { 511, 96.6649 }, - { 512, 96.7164 }, - { 513, 96.768 }, - { 514, 96.8196 }, - { 515, 96.8712 }, - { 516, 96.9227 }, - { 517, 96.9743 }, - { 518, 97.0259 }, - { 519, 97.0774 }, - { 520, 97.129 }, - { 521, 97.626 }, - { 522, 98.123 }, - { 523, 98.62 }, - { 524, 99.117 }, - { 525, 99.614 }, - { 526, 100.111 }, - { 527, 100.608 }, - { 528, 101.105 }, - { 529, 101.602 }, - { 530, 102.099 }, - { 531, 101.965 }, - { 532, 101.83 }, - { 533, 101.696 }, - { 534, 101.561 }, - { 535, 101.427 }, - { 536, 101.292 }, - { 537, 101.158 }, - { 538, 101.024 }, - { 539, 100.889 }, - { 540, 100.755 }, - { 541, 100.911 }, - { 542, 101.067 }, - { 543, 101.223 }, - { 544, 101.38 }, - { 545, 101.536 }, - { 546, 101.692 }, - { 547, 101.848 }, - { 548, 102.005 }, - { 549, 102.161 }, - { 550, 102.317 }, - { 551, 102.085 }, - { 552, 101.854 }, - { 553, 101.622 }, - { 554, 101.39 }, - { 555, 101.158 }, - { 556, 100.927 }, - { 557, 100.695 }, - { 558, 100.463 }, - { 559, 100.232 }, - { 560, 100 }, - { 561, 99.7735 }, - { 562, 99.547 }, - { 563, 99.3205 }, - { 564, 99.094 }, - { 565, 98.8675 }, - { 566, 98.641 }, - { 567, 98.4145 }, - { 568, 98.188 }, - { 569, 97.9615 }, - { 570, 97.735 }, - { 571, 97.8533 }, - { 572, 97.9716 }, - { 573, 98.0899 }, - { 574, 98.2082 }, - { 575, 98.3265 }, - { 576, 98.4448 }, - { 577, 98.5631 }, - { 578, 98.6814 }, - { 579, 98.7997 }, - { 580, 98.918 }, - { 581, 98.3761 }, - { 582, 97.8342 }, - { 583, 97.2922 }, - { 584, 96.7503 }, - { 585, 96.2084 }, - { 586, 95.6665 }, - { 587, 95.1246 }, - { 588, 94.5826 }, - { 589, 94.0407 }, - { 590, 93.4988 }, - { 591, 93.9177 }, - { 592, 94.3366 }, - { 593, 94.7555 }, - { 594, 95.1744 }, - { 595, 95.5933 }, - { 596, 96.0122 }, - { 597, 96.4311 }, - { 598, 96.85 }, - { 599, 97.2689 }, - { 600, 97.6878 }, - { 601, 97.8459 }, - { 602, 98.0041 }, - { 603, 98.1622 }, - { 604, 98.3203 }, - { 605, 98.4784 }, - { 606, 98.6366 }, - { 607, 98.7947 }, - { 608, 98.9528 }, - { 609, 99.111 }, - { 610, 99.2691 }, - { 611, 99.2463 }, - { 612, 99.2236 }, - { 613, 99.2008 }, - { 614, 99.1781 }, - { 615, 99.1553 }, - { 616, 99.1325 }, - { 617, 99.1098 }, - { 618, 99.087 }, - { 619, 99.0643 }, - { 620, 99.0415 }, - { 621, 98.7095 }, - { 622, 98.3776 }, - { 623, 98.0456 }, - { 624, 97.7136 }, - { 625, 97.3816 }, - { 626, 97.0497 }, - { 627, 96.7177 }, - { 628, 96.3857 }, - { 629, 96.0538 }, - { 630, 95.7218 }, - { 631, 96.0353 }, - { 632, 96.3489 }, - { 633, 96.6624 }, - { 634, 96.976 }, - { 635, 97.2895 }, - { 636, 97.603 }, - { 637, 97.9166 }, - { 638, 98.2301 }, - { 639, 98.5437 }, - { 640, 98.8572 }, - { 641, 98.5382 }, - { 642, 98.2192 }, - { 643, 97.9002 }, - { 644, 97.5812 }, - { 645, 97.2622 }, - { 646, 96.9432 }, - { 647, 96.6242 }, - { 648, 96.3052 }, - { 649, 95.9862 }, - { 650, 95.6672 }, - { 651, 95.9195 }, - { 652, 96.1717 }, - { 653, 96.424 }, - { 654, 96.6762 }, - { 655, 96.9285 }, - { 656, 97.1808 }, - { 657, 97.433 }, - { 658, 97.6853 }, - { 659, 97.9375 }, - { 660, 98.1898 }, - { 661, 98.6712 }, - { 662, 99.1525 }, - { 663, 99.6339 }, - { 664, 100.115 }, - { 665, 100.597 }, - { 666, 101.078 }, - { 667, 101.559 }, - { 668, 102.041 }, - { 669, 102.522 }, - { 670, 103.003 }, - { 671, 102.616 }, - { 672, 102.229 }, - { 673, 101.842 }, - { 674, 101.455 }, - { 675, 101.068 }, - { 676, 100.681 }, - { 677, 100.294 }, - { 678, 99.9071 }, - { 679, 99.52 }, - { 680, 99.133 }, - { 681, 97.9578 }, - { 682, 96.7826 }, - { 683, 95.6074 }, - { 684, 94.4322 }, - { 685, 93.257 }, - { 686, 92.0817 }, - { 687, 90.9065 }, - { 688, 89.7313 }, - { 689, 88.5561 }, - { 690, 87.3809 }, - { 691, 87.8032 }, - { 692, 88.2254 }, - { 693, 88.6477 }, - { 694, 89.0699 }, - { 695, 89.4922 }, - { 696, 89.9145 }, - { 697, 90.3367 }, - { 698, 90.759 }, - { 699, 91.1812 }, - { 700, 91.6035 }, - { 701, 91.732 }, - { 702, 91.8605 }, - { 703, 91.989 }, - { 704, 92.1175 }, - { 705, 92.246 }, - { 706, 92.3746 }, - { 707, 92.5031 }, - { 708, 92.6316 }, - { 709, 92.7601 }, - { 710, 92.8886 }, - { 711, 91.2852 }, - { 712, 89.6818 }, - { 713, 88.0783 }, - { 714, 86.4749 }, - { 715, 84.8715 }, - { 716, 83.2681 }, - { 717, 81.6647 }, - { 718, 80.0612 }, - { 719, 78.4578 }, - { 720, 76.8544 }, - { 721, 77.8201 }, - { 722, 78.7858 }, - { 723, 79.7514 }, - { 724, 80.7171 }, - { 725, 81.6828 }, - { 726, 82.6485 }, - { 727, 83.6142 }, - { 728, 84.5798 }, - { 729, 85.5455 }, - { 730, 86.5112 }, - { 731, 87.1181 }, - { 732, 87.7249 }, - { 733, 88.3318 }, - { 734, 88.9386 }, - { 735, 89.5455 }, - { 736, 90.1524 }, - { 737, 90.7592 }, - { 738, 91.3661 }, - { 739, 91.9729 }, - { 740, 92.5798 }, - { 741, 91.1448 }, - { 742, 89.7098 }, - { 743, 88.2748 }, - { 744, 86.8398 }, - { 745, 85.4048 }, - { 746, 83.9699 }, - { 747, 82.5349 }, - { 748, 81.0999 }, - { 749, 79.6649 }, - { 750, 78.2299 }, - { 751, 76.1761 }, - { 752, 74.1223 }, - { 753, 72.0685 }, - { 754, 70.0147 }, - { 755, 67.9608 }, - { 756, 65.907 }, - { 757, 63.8532 }, - { 758, 61.7994 }, - { 759, 59.7456 }, - { 760, 57.6918 }, - { 761, 60.2149 }, - { 762, 62.738 }, - { 763, 65.2612 }, - { 764, 67.7843 }, - { 765, 70.3074 }, - { 766, 72.8305 }, - { 767, 75.3536 }, - { 768, 77.8768 }, - { 769, 80.3999 }, - { 770, 82.923 }, - { 771, 82.4581 }, - { 772, 81.9932 }, - { 773, 81.5283 }, - { 774, 81.0634 }, - { 775, 80.5985 }, - { 776, 80.1336 }, - { 777, 79.6687 }, - { 778, 79.2038 }, - { 779, 78.7389 }, - { 780, 78.274 }, - { 781, 78.402 }, - { 782, 78.5301 }, - { 783, 78.6581 }, - { 784, 78.7862 }, - { 785, 78.9142 }, - { 786, 79.0422 }, - { 787, 79.1703 }, - { 788, 79.2983 }, - { 789, 79.4264 }, - { 790, 79.5544 }, - { 791, 78.9391 }, - { 792, 78.3238 }, - { 793, 77.7085 }, - { 794, 77.0932 }, - { 795, 76.478 }, - { 796, 75.8627 }, - { 797, 75.2474 }, - { 798, 74.6321 }, - { 799, 74.0168 }, - { 800, 73.4015 }, - { 801, 72.4534 }, - { 802, 71.5052 }, - { 803, 70.5571 }, - { 804, 69.609 }, - { 805, 68.6608 }, - { 806, 67.7127 }, - { 807, 66.7646 }, - { 808, 65.8165 }, - { 809, 64.8683 }, - { 810, 63.9202 }, - { 811, 64.6059 }, - { 812, 65.2916 }, - { 813, 65.9772 }, - { 814, 66.6629 }, - { 815, 67.3486 }, - { 816, 68.0343 }, - { 817, 68.72 }, - { 818, 69.4056 }, - { 819, 70.0913 }, - { 820, 70.777 }, - { 821, 71.1435 }, - { 822, 71.5099 }, - { 823, 71.8764 }, - { 824, 72.2429 }, - { 825, 72.6094 }, - { 826, 72.9758 }, - { 827, 73.3423 }, - { 828, 73.7088 }, - { 829, 74.0752 }, - { 830, 74.4417 } - }; + public static Spd D65 => new(start: 300, interval: 1, + 0.0341, 0.36014, 0.68618, 1.01222, 1.33826, 1.6643, 1.99034, 2.31638, 2.64242, 2.96846, 3.2945, 4.98865, 6.6828, + 8.37695, 10.0711, 11.7652, 13.4594, 15.1535, 16.8477, 18.5418, 20.236, 21.9177, 23.5995, 25.2812, 26.963, + 28.6447, 30.3265, 32.0082, 33.69, 35.3717, 37.0535, 37.343, 37.6326, 37.9221, 38.2116, 38.5011, 38.7907, + 39.0802, 39.3697, 39.6593, 39.9488, 40.4451, 40.9414, 41.4377, 41.934, 42.4302, 42.9265, 43.4228, 43.9191, + 44.4154, 44.9117, 45.0844, 45.257, 45.4297, 45.6023, 45.775, 45.9477, 46.1203, 46.293, 46.4656, 46.6383, + 47.1834, 47.7285, 48.2735, 48.8186, 49.3637, 49.9088, 50.4539, 50.9989, 51.544, 52.0891, 51.8777, 51.6664, + 51.455, 51.2437, 51.0323, 50.8209, 50.6096, 50.3982, 50.1869, 49.9755, 50.4428, 50.91, 51.3773, 51.8446, + 52.3118, 52.7791, 53.2464, 53.7137, 54.1809, 54.6482, 57.4589, 60.2695, 63.0802, 65.8909, 68.7015, 71.5122, + 74.3229, 77.1336, 79.9442, 82.7549, 83.628, 84.5011, 85.3742, 86.2473, 87.1204, 87.9936, 88.8667, 89.7398, + 90.6129, 91.486, 91.6806, 91.8752, 92.0697, 92.2643, 92.4589, 92.6535, 92.8481, 93.0426, 93.2372, 93.4318, + 92.7568, 92.0819, 91.4069, 90.732, 90.057, 89.3821, 88.7071, 88.0322, 87.3572, 86.6823, 88.5006, 90.3188, + 92.1371, 93.9554, 95.7736, 97.5919, 99.4102, 101.228, 103.047, 104.865, 106.079, 107.294, 108.508, 109.722, + 110.936, 112.151, 113.365, 114.579, 115.794, 117.008, 117.088, 117.169, 117.249, 117.33, 117.41, 117.49, + 117.571, 117.651, 117.732, 117.812, 117.517, 117.222, 116.927, 116.632, 116.336, 116.041, 115.746, 115.451, + 115.156, 114.861, 114.967, 115.073, 115.18, 115.286, 115.392, 115.498, 115.604, 115.711, 115.817, 115.923, + 115.212, 114.501, 113.789, 113.078, 112.367, 111.656, 110.945, 110.233, 109.522, 108.811, 108.865, 108.92, + 108.974, 109.028, 109.082, 109.137, 109.191, 109.245, 109.3, 109.354, 109.199, 109.044, 108.888, 108.733, + 108.578, 108.423, 108.268, 108.112, 107.957, 107.802, 107.501, 107.2, 106.898, 106.597, 106.296, 105.995, + 105.694, 105.392, 105.091, 104.79, 105.08, 105.37, 105.66, 105.95, 106.239, 106.529, 106.819, 107.109, 107.399, + 107.689, 107.361, 107.032, 106.704, 106.375, 106.047, 105.719, 105.39, 105.062, 104.733, 104.405, 104.369, + 104.333, 104.297, 104.261, 104.225, 104.19, 104.154, 104.118, 104.082, 104.046, 103.641, 103.237, 102.832, + 102.428, 102.023, 101.618, 101.214, 100.809, 100.405, 100, 99.6334, 99.2668, 98.9003, 98.5337, 98.1671, 97.8005, + 97.4339, 97.0674, 96.7008, 96.3342, 96.2796, 96.225, 96.1703, 96.1157, 96.0611, 96.0065, 95.9519, 95.8972, + 95.8426, 95.788, 95.0778, 94.3675, 93.6573, 92.947, 92.2368, 91.5266, 90.8163, 90.1061, 89.3958, 88.6856, + 88.8177, 88.9497, 89.0818, 89.2138, 89.3459, 89.478, 89.61, 89.7421, 89.8741, 90.0062, 89.9655, 89.9248, + 89.8841, 89.8434, 89.8026, 89.7619, 89.7212, 89.6805, 89.6398, 89.5991, 89.4091, 89.219, 89.029, 88.8389, + 88.6489, 88.4589, 88.2688, 88.0788, 87.8887, 87.6987, 87.2577, 86.8167, 86.3757, 85.9347, 85.4936, 85.0526, + 84.6116, 84.1706, 83.7296, 83.2886, 83.3297, 83.3707, 83.4118, 83.4528, 83.4939, 83.535, 83.576, 83.6171, + 83.6581, 83.6992, 83.332, 82.9647, 82.5975, 82.2302, 81.863, 81.4958, 81.1285, 80.7613, 80.394, 80.0268, + 80.0456, 80.0644, 80.0831, 80.1019, 80.1207, 80.1395, 80.1583, 80.177, 80.1958, 80.2146, 80.4209, 80.6272, + 80.8336, 81.0399, 81.2462, 81.4525, 81.6588, 81.8652, 82.0715, 82.2778, 81.8784, 81.4791, 81.0797, 80.6804, + 80.281, 79.8816, 79.4823, 79.0829, 78.6836, 78.2842, 77.4279, 76.5716, 75.7153, 74.859, 74.0027, 73.1465, + 72.2902, 71.4339, 70.5776, 69.7213, 69.9101, 70.0989, 70.2876, 70.4764, 70.6652, 70.854, 71.0428, 71.2315, + 71.4203, 71.6091, 71.8831, 72.1571, 72.4311, 72.7051, 72.979, 73.253, 73.527, 73.801, 74.075, 74.349, 73.0745, + 71.8, 70.5255, 69.251, 67.9765, 66.702, 65.4275, 64.153, 62.8785, 61.604, 62.4322, 63.2603, 64.0885, 64.9166, + 65.7448, 66.573, 67.4011, 68.2293, 69.0574, 69.8856, 70.4057, 70.9259, 71.446, 71.9662, 72.4863, 73.0064, + 73.5266, 74.0467, 74.5669, 75.087, 73.9376, 72.7881, 71.6387, 70.4893, 69.3398, 68.1904, 67.041, 65.8916, + 64.7421, 63.5927, 61.8752, 60.1578, 58.4403, 56.7229, 55.0054, 53.288, 51.5705, 49.8531, 48.1356, 46.4182, + 48.4569, 50.4956, 52.5344, 54.5731, 56.6118, 58.6505, 60.6892, 62.728, 64.7667, 66.8054, 66.4631, 66.1209, + 65.7786, 65.4364, 65.0941, 64.7518, 64.4096, 64.0673, 63.7251, 63.3828, 63.4749, 63.567, 63.6592, 63.7513, + 63.8434, 63.9355, 64.0276, 64.1198, 64.2119, 64.304, 63.8188, 63.3336, 62.8484, 62.3632, 61.8779, 61.3927, + 60.9075, 60.4223, 59.9371, 59.4519, 58.7026, 57.9533, 57.204, 56.4547, 55.7054, 54.9562, 54.2069, 53.4576, + 52.7083, 51.959, 52.5072, 53.0553, 53.6035, 54.1516, 54.6998, 55.248, 55.7961, 56.3443, 56.8924, 57.4406, + 57.7278, 58.015, 58.3022, 58.5894, 58.8765, 59.1637, 59.4509, 59.7381, 60.0253, 60.3125 + ); - internal static Spd D55 => new() - { - { 300, 0.024 }, - { 305, 1.048 }, - { 310, 2.072 }, - { 315, 6.648 }, - { 320, 11.224 }, - { 325, 15.936 }, - { 330, 20.647 }, - { 335, 22.266 }, - { 340, 23.885 }, - { 345, 25.851 }, - { 350, 27.817 }, - { 355, 29.219 }, - { 360, 30.621 }, - { 365, 32.464 }, - { 370, 34.308 }, - { 375, 33.446 }, - { 380, 32.584 }, - { 385, 35.335 }, - { 390, 38.087 }, - { 395, 49.518 }, - { 400, 60.949 }, - { 405, 64.751 }, - { 410, 68.554 }, - { 415, 70.065 }, - { 420, 71.577 }, - { 425, 69.746 }, - { 430, 67.914 }, - { 435, 76.76 }, - { 440, 85.605 }, - { 445, 91.799 }, - { 450, 97.993 }, - { 455, 99.228 }, - { 460, 100.463 }, - { 465, 100.188 }, - { 470, 99.913 }, - { 475, 101.326 }, - { 480, 102.739 }, - { 485, 100.409 }, - { 490, 98.078 }, - { 495, 99.379 }, - { 500, 100.68 }, - { 505, 100.688 }, - { 510, 100.695 }, - { 515, 100.341 }, - { 520, 99.987 }, - { 525, 102.098 }, - { 530, 104.21 }, - { 535, 103.156 }, - { 540, 102.102 }, - { 545, 102.535 }, - { 550, 102.968 }, - { 555, 101.484 }, - { 560, 100 }, - { 565, 98.608 }, - { 570, 97.216 }, - { 575, 97.482 }, - { 580, 97.749 }, - { 585, 94.59 }, - { 590, 91.432 }, - { 595, 92.926 }, - { 600, 94.419 }, - { 605, 94.78 }, - { 610, 95.14 }, - { 615, 94.68 }, - { 620, 94.22 }, - { 625, 92.334 }, - { 630, 90.448 }, - { 635, 91.389 }, - { 640, 92.33 }, - { 645, 90.592 }, - { 650, 88.854 }, - { 655, 89.586 }, - { 660, 90.317 }, - { 665, 92.133 }, - { 670, 93.95 }, - { 675, 91.953 }, - { 680, 89.956 }, - { 685, 84.817 }, - { 690, 79.677 }, - { 695, 81.258 }, - { 700, 82.84 }, - { 705, 83.842 }, - { 710, 84.844 }, - { 715, 77.539 }, - { 720, 70.235 }, - { 725, 74.768 }, - { 730, 79.301 }, - { 735, 82.147 }, - { 740, 84.993 }, - { 745, 78.437 }, - { 750, 71.88 }, - { 755, 62.337 }, - { 760, 52.793 }, - { 765, 64.36 }, - { 770, 75.927 }, - { 775, 73.872 }, - { 780, 71.818 } - }; + internal static Spd D75 => new(start: 300, interval: 5, + 0.043, 2.588, 5.133, 17.47, 29.808, 42.369, 54.93, 56.095, 57.259, 60, 62.74, 62.861, 62.982, 66.647, 70.312, + 68.507, 66.703, 68.333, 69.963, 85.946, 101.929, 106.911, 111.894, 112.346, 112.798, 107.945, 103.092, 112.145, + 121.198, 127.104, 133.01, 132.682, 132.355, 129.838, 127.322, 127.061, 126.8, 122.291, 117.783, 117.186, + 116.589, 115.146, 113.702, 111.181, 108.659, 109.552, 110.445, 108.367, 106.289, 105.596, 104.904, 102.452, 100, + 97.808, 95.616, 94.914, 94.213, 90.605, 86.997, 87.112, 87.227, 86.684, 86.14, 84.861, 83.581, 81.164, 78.747, + 78.587, 78.428, 76.614, 74.801, 74.562, 74.324, 74.873, 75.422, 73.499, 71.576, 67.714, 63.852, 64.464, 65.076, + 66.573, 68.07, 62.256, 56.443, 60.343, 64.242, 66.697, 69.151, 63.89, 58.629, 50.623, 42.617, 51.985, 61.352, + 59.838, 58.324 + ); - internal static Spd D65 => new() - { - { 300, 0.0341 }, - { 301, 0.36014 }, - { 302, 0.68618 }, - { 303, 1.01222 }, - { 304, 1.33826 }, - { 305, 1.6643 }, - { 306, 1.99034 }, - { 307, 2.31638 }, - { 308, 2.64242 }, - { 309, 2.96846 }, - { 310, 3.2945 }, - { 311, 4.98865 }, - { 312, 6.6828 }, - { 313, 8.37695 }, - { 314, 10.0711 }, - { 315, 11.7652 }, - { 316, 13.4594 }, - { 317, 15.1535 }, - { 318, 16.8477 }, - { 319, 18.5418 }, - { 320, 20.236 }, - { 321, 21.9177 }, - { 322, 23.5995 }, - { 323, 25.2812 }, - { 324, 26.963 }, - { 325, 28.6447 }, - { 326, 30.3265 }, - { 327, 32.0082 }, - { 328, 33.69 }, - { 329, 35.3717 }, - { 330, 37.0535 }, - { 331, 37.343 }, - { 332, 37.6326 }, - { 333, 37.9221 }, - { 334, 38.2116 }, - { 335, 38.5011 }, - { 336, 38.7907 }, - { 337, 39.0802 }, - { 338, 39.3697 }, - { 339, 39.6593 }, - { 340, 39.9488 }, - { 341, 40.4451 }, - { 342, 40.9414 }, - { 343, 41.4377 }, - { 344, 41.934 }, - { 345, 42.4302 }, - { 346, 42.9265 }, - { 347, 43.4228 }, - { 348, 43.9191 }, - { 349, 44.4154 }, - { 350, 44.9117 }, - { 351, 45.0844 }, - { 352, 45.257 }, - { 353, 45.4297 }, - { 354, 45.6023 }, - { 355, 45.775 }, - { 356, 45.9477 }, - { 357, 46.1203 }, - { 358, 46.293 }, - { 359, 46.4656 }, - { 360, 46.6383 }, - { 361, 47.1834 }, - { 362, 47.7285 }, - { 363, 48.2735 }, - { 364, 48.8186 }, - { 365, 49.3637 }, - { 366, 49.9088 }, - { 367, 50.4539 }, - { 368, 50.9989 }, - { 369, 51.544 }, - { 370, 52.0891 }, - { 371, 51.8777 }, - { 372, 51.6664 }, - { 373, 51.455 }, - { 374, 51.2437 }, - { 375, 51.0323 }, - { 376, 50.8209 }, - { 377, 50.6096 }, - { 378, 50.3982 }, - { 379, 50.1869 }, - { 380, 49.9755 }, - { 381, 50.4428 }, - { 382, 50.91 }, - { 383, 51.3773 }, - { 384, 51.8446 }, - { 385, 52.3118 }, - { 386, 52.7791 }, - { 387, 53.2464 }, - { 388, 53.7137 }, - { 389, 54.1809 }, - { 390, 54.6482 }, - { 391, 57.4589 }, - { 392, 60.2695 }, - { 393, 63.0802 }, - { 394, 65.8909 }, - { 395, 68.7015 }, - { 396, 71.5122 }, - { 397, 74.3229 }, - { 398, 77.1336 }, - { 399, 79.9442 }, - { 400, 82.7549 }, - { 401, 83.628 }, - { 402, 84.5011 }, - { 403, 85.3742 }, - { 404, 86.2473 }, - { 405, 87.1204 }, - { 406, 87.9936 }, - { 407, 88.8667 }, - { 408, 89.7398 }, - { 409, 90.6129 }, - { 410, 91.486 }, - { 411, 91.6806 }, - { 412, 91.8752 }, - { 413, 92.0697 }, - { 414, 92.2643 }, - { 415, 92.4589 }, - { 416, 92.6535 }, - { 417, 92.8481 }, - { 418, 93.0426 }, - { 419, 93.2372 }, - { 420, 93.4318 }, - { 421, 92.7568 }, - { 422, 92.0819 }, - { 423, 91.4069 }, - { 424, 90.732 }, - { 425, 90.057 }, - { 426, 89.3821 }, - { 427, 88.7071 }, - { 428, 88.0322 }, - { 429, 87.3572 }, - { 430, 86.6823 }, - { 431, 88.5006 }, - { 432, 90.3188 }, - { 433, 92.1371 }, - { 434, 93.9554 }, - { 435, 95.7736 }, - { 436, 97.5919 }, - { 437, 99.4102 }, - { 438, 101.228 }, - { 439, 103.047 }, - { 440, 104.865 }, - { 441, 106.079 }, - { 442, 107.294 }, - { 443, 108.508 }, - { 444, 109.722 }, - { 445, 110.936 }, - { 446, 112.151 }, - { 447, 113.365 }, - { 448, 114.579 }, - { 449, 115.794 }, - { 450, 117.008 }, - { 451, 117.088 }, - { 452, 117.169 }, - { 453, 117.249 }, - { 454, 117.33 }, - { 455, 117.41 }, - { 456, 117.49 }, - { 457, 117.571 }, - { 458, 117.651 }, - { 459, 117.732 }, - { 460, 117.812 }, - { 461, 117.517 }, - { 462, 117.222 }, - { 463, 116.927 }, - { 464, 116.632 }, - { 465, 116.336 }, - { 466, 116.041 }, - { 467, 115.746 }, - { 468, 115.451 }, - { 469, 115.156 }, - { 470, 114.861 }, - { 471, 114.967 }, - { 472, 115.073 }, - { 473, 115.18 }, - { 474, 115.286 }, - { 475, 115.392 }, - { 476, 115.498 }, - { 477, 115.604 }, - { 478, 115.711 }, - { 479, 115.817 }, - { 480, 115.923 }, - { 481, 115.212 }, - { 482, 114.501 }, - { 483, 113.789 }, - { 484, 113.078 }, - { 485, 112.367 }, - { 486, 111.656 }, - { 487, 110.945 }, - { 488, 110.233 }, - { 489, 109.522 }, - { 490, 108.811 }, - { 491, 108.865 }, - { 492, 108.92 }, - { 493, 108.974 }, - { 494, 109.028 }, - { 495, 109.082 }, - { 496, 109.137 }, - { 497, 109.191 }, - { 498, 109.245 }, - { 499, 109.3 }, - { 500, 109.354 }, - { 501, 109.199 }, - { 502, 109.044 }, - { 503, 108.888 }, - { 504, 108.733 }, - { 505, 108.578 }, - { 506, 108.423 }, - { 507, 108.268 }, - { 508, 108.112 }, - { 509, 107.957 }, - { 510, 107.802 }, - { 511, 107.501 }, - { 512, 107.2 }, - { 513, 106.898 }, - { 514, 106.597 }, - { 515, 106.296 }, - { 516, 105.995 }, - { 517, 105.694 }, - { 518, 105.392 }, - { 519, 105.091 }, - { 520, 104.79 }, - { 521, 105.08 }, - { 522, 105.37 }, - { 523, 105.66 }, - { 524, 105.95 }, - { 525, 106.239 }, - { 526, 106.529 }, - { 527, 106.819 }, - { 528, 107.109 }, - { 529, 107.399 }, - { 530, 107.689 }, - { 531, 107.361 }, - { 532, 107.032 }, - { 533, 106.704 }, - { 534, 106.375 }, - { 535, 106.047 }, - { 536, 105.719 }, - { 537, 105.39 }, - { 538, 105.062 }, - { 539, 104.733 }, - { 540, 104.405 }, - { 541, 104.369 }, - { 542, 104.333 }, - { 543, 104.297 }, - { 544, 104.261 }, - { 545, 104.225 }, - { 546, 104.19 }, - { 547, 104.154 }, - { 548, 104.118 }, - { 549, 104.082 }, - { 550, 104.046 }, - { 551, 103.641 }, - { 552, 103.237 }, - { 553, 102.832 }, - { 554, 102.428 }, - { 555, 102.023 }, - { 556, 101.618 }, - { 557, 101.214 }, - { 558, 100.809 }, - { 559, 100.405 }, - { 560, 100 }, - { 561, 99.6334 }, - { 562, 99.2668 }, - { 563, 98.9003 }, - { 564, 98.5337 }, - { 565, 98.1671 }, - { 566, 97.8005 }, - { 567, 97.4339 }, - { 568, 97.0674 }, - { 569, 96.7008 }, - { 570, 96.3342 }, - { 571, 96.2796 }, - { 572, 96.225 }, - { 573, 96.1703 }, - { 574, 96.1157 }, - { 575, 96.0611 }, - { 576, 96.0065 }, - { 577, 95.9519 }, - { 578, 95.8972 }, - { 579, 95.8426 }, - { 580, 95.788 }, - { 581, 95.0778 }, - { 582, 94.3675 }, - { 583, 93.6573 }, - { 584, 92.947 }, - { 585, 92.2368 }, - { 586, 91.5266 }, - { 587, 90.8163 }, - { 588, 90.1061 }, - { 589, 89.3958 }, - { 590, 88.6856 }, - { 591, 88.8177 }, - { 592, 88.9497 }, - { 593, 89.0818 }, - { 594, 89.2138 }, - { 595, 89.3459 }, - { 596, 89.478 }, - { 597, 89.61 }, - { 598, 89.7421 }, - { 599, 89.8741 }, - { 600, 90.0062 }, - { 601, 89.9655 }, - { 602, 89.9248 }, - { 603, 89.8841 }, - { 604, 89.8434 }, - { 605, 89.8026 }, - { 606, 89.7619 }, - { 607, 89.7212 }, - { 608, 89.6805 }, - { 609, 89.6398 }, - { 610, 89.5991 }, - { 611, 89.4091 }, - { 612, 89.219 }, - { 613, 89.029 }, - { 614, 88.8389 }, - { 615, 88.6489 }, - { 616, 88.4589 }, - { 617, 88.2688 }, - { 618, 88.0788 }, - { 619, 87.8887 }, - { 620, 87.6987 }, - { 621, 87.2577 }, - { 622, 86.8167 }, - { 623, 86.3757 }, - { 624, 85.9347 }, - { 625, 85.4936 }, - { 626, 85.0526 }, - { 627, 84.6116 }, - { 628, 84.1706 }, - { 629, 83.7296 }, - { 630, 83.2886 }, - { 631, 83.3297 }, - { 632, 83.3707 }, - { 633, 83.4118 }, - { 634, 83.4528 }, - { 635, 83.4939 }, - { 636, 83.535 }, - { 637, 83.576 }, - { 638, 83.6171 }, - { 639, 83.6581 }, - { 640, 83.6992 }, - { 641, 83.332 }, - { 642, 82.9647 }, - { 643, 82.5975 }, - { 644, 82.2302 }, - { 645, 81.863 }, - { 646, 81.4958 }, - { 647, 81.1285 }, - { 648, 80.7613 }, - { 649, 80.394 }, - { 650, 80.0268 }, - { 651, 80.0456 }, - { 652, 80.0644 }, - { 653, 80.0831 }, - { 654, 80.1019 }, - { 655, 80.1207 }, - { 656, 80.1395 }, - { 657, 80.1583 }, - { 658, 80.177 }, - { 659, 80.1958 }, - { 660, 80.2146 }, - { 661, 80.4209 }, - { 662, 80.6272 }, - { 663, 80.8336 }, - { 664, 81.0399 }, - { 665, 81.2462 }, - { 666, 81.4525 }, - { 667, 81.6588 }, - { 668, 81.8652 }, - { 669, 82.0715 }, - { 670, 82.2778 }, - { 671, 81.8784 }, - { 672, 81.4791 }, - { 673, 81.0797 }, - { 674, 80.6804 }, - { 675, 80.281 }, - { 676, 79.8816 }, - { 677, 79.4823 }, - { 678, 79.0829 }, - { 679, 78.6836 }, - { 680, 78.2842 }, - { 681, 77.4279 }, - { 682, 76.5716 }, - { 683, 75.7153 }, - { 684, 74.859 }, - { 685, 74.0027 }, - { 686, 73.1465 }, - { 687, 72.2902 }, - { 688, 71.4339 }, - { 689, 70.5776 }, - { 690, 69.7213 }, - { 691, 69.9101 }, - { 692, 70.0989 }, - { 693, 70.2876 }, - { 694, 70.4764 }, - { 695, 70.6652 }, - { 696, 70.854 }, - { 697, 71.0428 }, - { 698, 71.2315 }, - { 699, 71.4203 }, - { 700, 71.6091 }, - { 701, 71.8831 }, - { 702, 72.1571 }, - { 703, 72.4311 }, - { 704, 72.7051 }, - { 705, 72.979 }, - { 706, 73.253 }, - { 707, 73.527 }, - { 708, 73.801 }, - { 709, 74.075 }, - { 710, 74.349 }, - { 711, 73.0745 }, - { 712, 71.8 }, - { 713, 70.5255 }, - { 714, 69.251 }, - { 715, 67.9765 }, - { 716, 66.702 }, - { 717, 65.4275 }, - { 718, 64.153 }, - { 719, 62.8785 }, - { 720, 61.604 }, - { 721, 62.4322 }, - { 722, 63.2603 }, - { 723, 64.0885 }, - { 724, 64.9166 }, - { 725, 65.7448 }, - { 726, 66.573 }, - { 727, 67.4011 }, - { 728, 68.2293 }, - { 729, 69.0574 }, - { 730, 69.8856 }, - { 731, 70.4057 }, - { 732, 70.9259 }, - { 733, 71.446 }, - { 734, 71.9662 }, - { 735, 72.4863 }, - { 736, 73.0064 }, - { 737, 73.5266 }, - { 738, 74.0467 }, - { 739, 74.5669 }, - { 740, 75.087 }, - { 741, 73.9376 }, - { 742, 72.7881 }, - { 743, 71.6387 }, - { 744, 70.4893 }, - { 745, 69.3398 }, - { 746, 68.1904 }, - { 747, 67.041 }, - { 748, 65.8916 }, - { 749, 64.7421 }, - { 750, 63.5927 }, - { 751, 61.8752 }, - { 752, 60.1578 }, - { 753, 58.4403 }, - { 754, 56.7229 }, - { 755, 55.0054 }, - { 756, 53.288 }, - { 757, 51.5705 }, - { 758, 49.8531 }, - { 759, 48.1356 }, - { 760, 46.4182 }, - { 761, 48.4569 }, - { 762, 50.4956 }, - { 763, 52.5344 }, - { 764, 54.5731 }, - { 765, 56.6118 }, - { 766, 58.6505 }, - { 767, 60.6892 }, - { 768, 62.728 }, - { 769, 64.7667 }, - { 770, 66.8054 }, - { 771, 66.4631 }, - { 772, 66.1209 }, - { 773, 65.7786 }, - { 774, 65.4364 }, - { 775, 65.0941 }, - { 776, 64.7518 }, - { 777, 64.4096 }, - { 778, 64.0673 }, - { 779, 63.7251 }, - { 780, 63.3828 }, - { 781, 63.4749 }, - { 782, 63.567 }, - { 783, 63.6592 }, - { 784, 63.7513 }, - { 785, 63.8434 }, - { 786, 63.9355 }, - { 787, 64.0276 }, - { 788, 64.1198 }, - { 789, 64.2119 }, - { 790, 64.304 }, - { 791, 63.8188 }, - { 792, 63.3336 }, - { 793, 62.8484 }, - { 794, 62.3632 }, - { 795, 61.8779 }, - { 796, 61.3927 }, - { 797, 60.9075 }, - { 798, 60.4223 }, - { 799, 59.9371 }, - { 800, 59.4519 }, - { 801, 58.7026 }, - { 802, 57.9533 }, - { 803, 57.204 }, - { 804, 56.4547 }, - { 805, 55.7054 }, - { 806, 54.9562 }, - { 807, 54.2069 }, - { 808, 53.4576 }, - { 809, 52.7083 }, - { 810, 51.959 }, - { 811, 52.5072 }, - { 812, 53.0553 }, - { 813, 53.6035 }, - { 814, 54.1516 }, - { 815, 54.6998 }, - { 816, 55.248 }, - { 817, 55.7961 }, - { 818, 56.3443 }, - { 819, 56.8924 }, - { 820, 57.4406 }, - { 821, 57.7278 }, - { 822, 58.015 }, - { 823, 58.3022 }, - { 824, 58.5894 }, - { 825, 58.8765 }, - { 826, 59.1637 }, - { 827, 59.4509 }, - { 828, 59.7381 }, - { 829, 60.0253 }, - { 830, 60.3125 } - }; + internal static Spd E => new(start: Xyz.StartWavelength, interval: 1, + coefficients: new double[Xyz.WavelengthCount].Select(_ => 1.0).ToArray() + ); - internal static Spd D75 => new() - { - { 300, 0.043 }, - { 305, 2.588 }, - { 310, 5.133 }, - { 315, 17.47 }, - { 320, 29.808 }, - { 325, 42.369 }, - { 330, 54.93 }, - { 335, 56.095 }, - { 340, 57.259 }, - { 345, 60 }, - { 350, 62.74 }, - { 355, 62.861 }, - { 360, 62.982 }, - { 365, 66.647 }, - { 370, 70.312 }, - { 375, 68.507 }, - { 380, 66.703 }, - { 385, 68.333 }, - { 390, 69.963 }, - { 395, 85.946 }, - { 400, 101.929 }, - { 405, 106.911 }, - { 410, 111.894 }, - { 415, 112.346 }, - { 420, 112.798 }, - { 425, 107.945 }, - { 430, 103.092 }, - { 435, 112.145 }, - { 440, 121.198 }, - { 445, 127.104 }, - { 450, 133.01 }, - { 455, 132.682 }, - { 460, 132.355 }, - { 465, 129.838 }, - { 470, 127.322 }, - { 475, 127.061 }, - { 480, 126.8 }, - { 485, 122.291 }, - { 490, 117.783 }, - { 495, 117.186 }, - { 500, 116.589 }, - { 505, 115.146 }, - { 510, 113.702 }, - { 515, 111.181 }, - { 520, 108.659 }, - { 525, 109.552 }, - { 530, 110.445 }, - { 535, 108.367 }, - { 540, 106.289 }, - { 545, 105.596 }, - { 550, 104.904 }, - { 555, 102.452 }, - { 560, 100 }, - { 565, 97.808 }, - { 570, 95.616 }, - { 575, 94.914 }, - { 580, 94.213 }, - { 585, 90.605 }, - { 590, 86.997 }, - { 595, 87.112 }, - { 600, 87.227 }, - { 605, 86.684 }, - { 610, 86.14 }, - { 615, 84.861 }, - { 620, 83.581 }, - { 625, 81.164 }, - { 630, 78.747 }, - { 635, 78.587 }, - { 640, 78.428 }, - { 645, 76.614 }, - { 650, 74.801 }, - { 655, 74.562 }, - { 660, 74.324 }, - { 665, 74.873 }, - { 670, 75.422 }, - { 675, 73.499 }, - { 680, 71.576 }, - { 685, 67.714 }, - { 690, 63.852 }, - { 695, 64.464 }, - { 700, 65.076 }, - { 705, 66.573 }, - { 710, 68.07 }, - { 715, 62.256 }, - { 720, 56.443 }, - { 725, 60.343 }, - { 730, 64.242 }, - { 735, 66.697 }, - { 740, 69.151 }, - { 745, 63.89 }, - { 750, 58.629 }, - { 755, 50.623 }, - { 760, 42.617 }, - { 765, 51.985 }, - { 770, 61.352 }, - { 775, 59.838 }, - { 780, 58.324 } - }; - - internal static Spd E => new(ExpectedWavelengths(interval: 1).ToDictionary(x => x, _ => 100.0)); - - internal static Spd F2 => new() - { - { 380, 1.18 }, - { 385, 1.48 }, - { 390, 1.84 }, - { 395, 2.15 }, - { 400, 3.44 }, - { 405, 15.69 }, - { 410, 3.85 }, - { 415, 3.74 }, - { 420, 4.19 }, - { 425, 4.62 }, - { 430, 5.06 }, - { 435, 34.98 }, - { 440, 11.81 }, - { 445, 6.27 }, - { 450, 6.63 }, - { 455, 6.93 }, - { 460, 7.19 }, - { 465, 7.4 }, - { 470, 7.54 }, - { 475, 7.62 }, - { 480, 7.65 }, - { 485, 7.62 }, - { 490, 7.62 }, - { 495, 7.45 }, - { 500, 7.28 }, - { 505, 7.15 }, - { 510, 7.05 }, - { 515, 7.04 }, - { 520, 7.16 }, - { 525, 7.47 }, - { 530, 8.04 }, - { 535, 8.88 }, - { 540, 10.01 }, - { 545, 24.88 }, - { 550, 16.64 }, - { 555, 14.59 }, - { 560, 16.16 }, - { 565, 17.56 }, - { 570, 18.62 }, - { 575, 21.47 }, - { 580, 22.79 }, - { 585, 19.29 }, - { 590, 18.66 }, - { 595, 17.73 }, - { 600, 16.54 }, - { 605, 15.21 }, - { 610, 13.8 }, - { 615, 12.36 }, - { 620, 10.95 }, - { 625, 9.65 }, - { 630, 8.4 }, - { 635, 7.32 }, - { 640, 6.31 }, - { 645, 5.43 }, - { 650, 4.68 }, - { 655, 4.02 }, - { 660, 3.45 }, - { 665, 2.96 }, - { 670, 2.55 }, - { 675, 2.19 }, - { 680, 1.89 }, - { 685, 1.64 }, - { 690, 1.53 }, - { 695, 1.27 }, - { 700, 1.1 }, - { 705, 0.99 }, - { 710, 0.88 }, - { 715, 0.76 }, - { 720, 0.68 }, - { 725, 0.61 }, - { 730, 0.56 }, - { 735, 0.54 }, - { 740, 0.51 }, - { 745, 0.47 }, - { 750, 0.47 }, - { 755, 0.43 }, - { 760, 0.46 }, - { 765, 0.47 }, - { 770, 0.4 }, - { 775, 0.33 }, - { 780, 0.27 } - }; + internal static Spd F2 => new(start: 380, interval: 5, + 1.18, 1.48, 1.84, 2.15, 3.44, 15.69, 3.85, 3.74, 4.19, 4.62, 5.06, 34.98, 11.81, 6.27, 6.63, 6.93, 7.19, 7.4, + 7.54, 7.62, 7.65, 7.62, 7.62, 7.45, 7.28, 7.15, 7.05, 7.04, 7.16, 7.47, 8.04, 8.88, 10.01, 24.88, 16.64, 14.59, + 16.16, 17.56, 18.62, 21.47, 22.79, 19.29, 18.66, 17.73, 16.54, 15.21, 13.8, 12.36, 10.95, 9.65, 8.4, 7.32, 6.31, + 5.43, 4.68, 4.02, 3.45, 2.96, 2.55, 2.19, 1.89, 1.64, 1.53, 1.27, 1.1, 0.99, 0.88, 0.76, 0.68, 0.61, 0.56, 0.54, + 0.51, 0.47, 0.47, 0.43, 0.46, 0.47, 0.4, 0.33, 0.27 + ); - internal static Spd F7 => new() - { - { 380, 2.56 }, - { 385, 3.18 }, - { 390, 3.84 }, - { 395, 4.53 }, - { 400, 6.15 }, - { 405, 19.37 }, - { 410, 7.37 }, - { 415, 7.05 }, - { 420, 7.71 }, - { 425, 8.41 }, - { 430, 9.15 }, - { 435, 44.14 }, - { 440, 17.52 }, - { 445, 11.35 }, - { 450, 12 }, - { 455, 12.58 }, - { 460, 13.08 }, - { 465, 13.45 }, - { 470, 13.71 }, - { 475, 13.88 }, - { 480, 13.95 }, - { 485, 13.93 }, - { 490, 13.82 }, - { 495, 13.64 }, - { 500, 13.43 }, - { 505, 13.25 }, - { 510, 13.08 }, - { 515, 12.93 }, - { 520, 12.78 }, - { 525, 12.6 }, - { 530, 12.44 }, - { 535, 12.33 }, - { 540, 12.26 }, - { 545, 29.52 }, - { 550, 17.05 }, - { 555, 12.44 }, - { 560, 12.58 }, - { 565, 12.72 }, - { 570, 12.83 }, - { 575, 15.46 }, - { 580, 16.75 }, - { 585, 12.83 }, - { 590, 12.67 }, - { 595, 12.45 }, - { 600, 12.19 }, - { 605, 11.89 }, - { 610, 11.6 }, - { 615, 11.35 }, - { 620, 11.12 }, - { 625, 10.95 }, - { 630, 10.76 }, - { 635, 10.42 }, - { 640, 10.11 }, - { 645, 10.04 }, - { 650, 10.02 }, - { 655, 10.11 }, - { 660, 9.87 }, - { 665, 8.65 }, - { 670, 7.27 }, - { 675, 6.44 }, - { 680, 5.83 }, - { 685, 5.41 }, - { 690, 5.04 }, - { 695, 4.57 }, - { 700, 4.12 }, - { 705, 3.77 }, - { 710, 3.46 }, - { 715, 3.08 }, - { 720, 2.73 }, - { 725, 2.47 }, - { 730, 2.25 }, - { 735, 2.06 }, - { 740, 1.9 }, - { 745, 1.75 }, - { 750, 1.62 }, - { 755, 1.54 }, - { 760, 1.45 }, - { 765, 1.32 }, - { 770, 1.17 }, - { 775, 0.99 }, - { 780, 0.81 } - }; + internal static Spd F7 => new(start: 380, interval: 5, + 2.56, 3.18, 3.84, 4.53, 6.15, 19.37, 7.37, 7.05, 7.71, 8.41, 9.15, 44.14, 17.52, 11.35, 12, 12.58, 13.08, 13.45, + 13.71, 13.88, 13.95, 13.93, 13.82, 13.64, 13.43, 13.25, 13.08, 12.93, 12.78, 12.6, 12.44, 12.33, 12.26, 29.52, + 17.05, 12.44, 12.58, 12.72, 12.83, 15.46, 16.75, 12.83, 12.67, 12.45, 12.19, 11.89, 11.6, 11.35, 11.12, 10.95, + 10.76, 10.42, 10.11, 10.04, 10.02, 10.11, 9.87, 8.65, 7.27, 6.44, 5.83, 5.41, 5.04, 4.57, 4.12, 3.77, 3.46, + 3.08, 2.73, 2.47, 2.25, 2.06, 1.9, 1.75, 1.62, 1.54, 1.45, 1.32, 1.17, 0.99, 0.81 + ); - internal static Spd F11 => new() - { - { 380, 0.91 }, - { 385, 0.63 }, - { 390, 0.46 }, - { 395, 0.37 }, - { 400, 1.29 }, - { 405, 12.68 }, - { 410, 1.59 }, - { 415, 1.79 }, - { 420, 2.46 }, - { 425, 3.33 }, - { 430, 4.49 }, - { 435, 33.94 }, - { 440, 12.13 }, - { 445, 6.95 }, - { 450, 7.19 }, - { 455, 7.12 }, - { 460, 6.72 }, - { 465, 6.13 }, - { 470, 5.46 }, - { 475, 4.79 }, - { 480, 5.66 }, - { 485, 14.29 }, - { 490, 14.96 }, - { 495, 8.97 }, - { 500, 4.72 }, - { 505, 2.33 }, - { 510, 1.47 }, - { 515, 1.1 }, - { 520, 0.89 }, - { 525, 0.83 }, - { 530, 1.18 }, - { 535, 4.9 }, - { 540, 39.59 }, - { 545, 72.84 }, - { 550, 32.61 }, - { 555, 7.52 }, - { 560, 2.83 }, - { 565, 1.96 }, - { 570, 1.67 }, - { 575, 4.43 }, - { 580, 11.28 }, - { 585, 14.76 }, - { 590, 12.73 }, - { 595, 9.74 }, - { 600, 7.33 }, - { 605, 9.72 }, - { 610, 55.27 }, - { 615, 42.58 }, - { 620, 13.18 }, - { 625, 13.16 }, - { 630, 12.26 }, - { 635, 5.11 }, - { 640, 2.07 }, - { 645, 2.34 }, - { 650, 3.58 }, - { 655, 3.01 }, - { 660, 2.48 }, - { 665, 2.14 }, - { 670, 1.54 }, - { 675, 1.33 }, - { 680, 1.46 }, - { 685, 1.94 }, - { 690, 2 }, - { 695, 1.2 }, - { 700, 1.35 }, - { 705, 4.1 }, - { 710, 5.58 }, - { 715, 2.51 }, - { 720, 0.57 }, - { 725, 0.27 }, - { 730, 0.23 }, - { 735, 0.21 }, - { 740, 0.24 }, - { 745, 0.24 }, - { 750, 0.2 }, - { 755, 0.24 }, - { 760, 0.32 }, - { 765, 0.26 }, - { 770, 0.16 }, - { 775, 0.12 }, - { 780, 0.09 } - }; + internal static Spd F11 => new(start: 380, interval: 5, + 0.91, 0.63, 0.46, 0.37, 1.29, 12.68, 1.59, 1.79, 2.46, 3.33, 4.49, 33.94, 12.13, 6.95, 7.19, 7.12, 6.72, 6.13, + 5.46, 4.79, 5.66, 14.29, 14.96, 8.97, 4.72, 2.33, 1.47, 1.1, 0.89, 0.83, 1.18, 4.9, 39.59, 72.84, 32.61, 7.52, + 2.83, 1.96, 1.67, 4.43, 11.28, 14.76, 12.73, 9.74, 7.33, 9.72, 55.27, 42.58, 13.18, 13.16, 12.26, 5.11, 2.07, + 2.34, 3.58, 3.01, 2.48, 2.14, 1.54, 1.33, 1.46, 1.94, 2, 1.2, 1.35, 4.1, 5.58, 2.51, 0.57, 0.27, 0.23, 0.21, + 0.24, 0.24, 0.2, 0.24, 0.32, 0.26, 0.16, 0.12, 0.09); } \ No newline at end of file diff --git a/Unicolour/Spectral.cs b/Unicolour/Spectral.cs index fa68d4d2..36edcef3 100644 --- a/Unicolour/Spectral.cs +++ b/Unicolour/Spectral.cs @@ -162,7 +162,7 @@ private Chromaticity GetChromaticity(int wavelength) return cached; } - var xyz = Xyz.FromSpd(new Spd { { wavelength, 1.0 } }, observer); + var xyz = Xyz.FromSpd(Spd.Monochromatic(wavelength), observer); var xyy = Xyy.FromXyz(xyz, whiteChromaticity); var chromaticity = xyy.Chromaticity; wavelengthToChromaticityCache.Add(wavelength, chromaticity); diff --git a/Unicolour/SpectralCoefficients.cs b/Unicolour/SpectralCoefficients.cs new file mode 100644 index 00000000..eb5d8ce4 --- /dev/null +++ b/Unicolour/SpectralCoefficients.cs @@ -0,0 +1,89 @@ +namespace Wacton.Unicolour; + +public class SpectralCoefficients +{ + public int Interval { get; } + public virtual bool IsValid => GetIsValid(); + + internal int Start { get; } + internal int[] Wavelengths { get; } + internal double[] Coefficients { get; } + internal double this[int wavelength] => Coefficients[GetIndex(wavelength)]; + + public SpectralCoefficients(int start, int interval, params double[] coefficients) + { + // distinct needed when interval = 0, resulting in an array of start wavelengths + var wavelengths = Enumerable.Range(0, coefficients.Length).Select(i => GetWavelength(start, i, interval)).Distinct().ToArray(); + + if (interval >= 0) + { + Start = start; + Interval = interval; + Coefficients = coefficients; + Wavelengths = wavelengths.ToArray(); + } + else + { + Start = wavelengths.Last(); + Interval = -interval; + Coefficients = coefficients.Reverse().ToArray(); + Wavelengths = wavelengths.Reverse().ToArray(); + } + } + + internal double Get(int wavelength, MissingWavelength missingWavelength) + { + if (Wavelengths.Contains(wavelength)) + { + return Coefficients[GetIndex(wavelength)]; + } + + return missingWavelength switch + { + MissingWavelength.Zero => 0.0, + MissingWavelength.Interpolate when Wavelengths.Length == 0 => double.NaN, + MissingWavelength.Interpolate when Wavelengths.Length == 1 => Coefficients.First(), + MissingWavelength.Interpolate when wavelength < Wavelengths.Min() => Coefficients.First(), + MissingWavelength.Interpolate when wavelength > Wavelengths.Max() => Coefficients.Last(), + MissingWavelength.Interpolate => InterpolateCoefficients(), + _ => throw new ArgumentOutOfRangeException(nameof(missingWavelength), missingWavelength, null) + }; + + double InterpolateCoefficients() + { + var lowerWavelength = Wavelengths.Last(x => x < wavelength); + var upperWavelength = Wavelengths.First(x => x > wavelength); + var lower = Coefficients[GetIndex(lowerWavelength)]; + var upper = Coefficients[GetIndex(upperWavelength)]; + var distance = (wavelength - lowerWavelength) / (double)(upperWavelength - lowerWavelength); + return Interpolation.Interpolate(lower, upper, distance); + } + } + + protected bool GetIsValid() + { + return Coefficients.Length switch + { + 1 => true, // every other wavelength determined by MissingWavelength + 0 => false, // every other wavelength determined by MissingWavelength, but cannot perform Interpolate + _ => Interval switch // when multiple wavelengths present, take interval into account + { + 0 => false, // zero interval makes no sense (will treat the first coefficient as the only one) + _ => Start % Interval == 0 // the start wavelength should be divisible by the interval (e.g. 5 nm intervals cannot start from 361 nm) + } + }; + } + + private int GetWavelength(int index) => GetWavelength(Start, index, Interval); + private int GetIndex(int wavelength) => Interval == 0 ? 0 : (wavelength - Start) / Interval; + + private static int GetWavelength(int start, int index, int interval) => interval == 0 ? start : start + index * interval; + + public override string ToString() => Coefficients.Any() ? $"{Start} nm to {GetWavelength(Wavelengths.Length - 1)} nm by {Interval} nm" : "(no wavelength data)"; +} + +internal enum MissingWavelength +{ + Zero, + Interpolate +} \ No newline at end of file diff --git a/Unicolour/Unicolour.Constructors.cs b/Unicolour/Unicolour.Constructors.cs index 0377110c..4d0a9358 100644 --- a/Unicolour/Unicolour.Constructors.cs +++ b/Unicolour/Unicolour.Constructors.cs @@ -117,6 +117,47 @@ private static (double x, double y, double z, double alpha) SpdToXyzTuple(Spd sp return (xyz.X, xyz.Y, xyz.Z, 1.0); } + /* construction from pigments */ + public Unicolour(Pigment[] pigments, double[] weights) : + this(Configuration.Default, pigments, weights) + { + } + + public Unicolour(Configuration config, Pigment[] pigments, double[] weights) : + this(config, ColourSpace.Xyz, PigmentsToXyzTuple(pigments, weights, config.Xyz)) + { + source = new Lazy(() => $"{nameof(Pigment)} [{string.Join(", ", pigments.Select(x => x.ToString()))}] [{string.Join(", ", weights)}]"); + } + + private static (double x, double y, double z, double alpha) PigmentsToXyzTuple(Pigment[] pigments, double[] weights, XyzConfiguration xyzConfig) + { + var reflectance = Pigment.GetReflectance(pigments, weights); + if (reflectance == null) return (double.NaN, double.NaN, double.NaN, 1.0); + + /* + * reflectance is a material property and should be the same regardless of illuminant used when measuring it + * so if the requested XYZ config doesn't contain an illuminant with an SPD (e.g. only has a hardcoded white point) + * calculate XYZ using a different configuration, and then adapt to the target white point + * ---------- + * NOTE: although reflectance is independent of illuminant, SPDs are just a sample of continuous data + * and different illuminant SPDs result in slightly different linear RGB values + * so for most accurate results it is best to use the illuminant used when measuring the pigment + */ + var xyzConfigWithSpd = xyzConfig.Illuminant is { Spd: not null } + ? xyzConfig + : Configuration.Default.Xyz; + + var illuminantSpd = xyzConfigWithSpd.Illuminant!.Spd!; + var observer = xyzConfigWithSpd.Observer; + var (x, y, z) = Xyz.FromSpd(illuminantSpd, observer, reflectance).Triplet; + if (xyzConfigWithSpd != xyzConfig) + { + (x, y, z) = Adaptation.WhitePoint(new ColourTriplet(x, y, z), xyzConfigWithSpd.WhitePoint, xyzConfig.WhitePoint).Tuple; + } + + return (x, y, z, 1.0); + } + /* construction from ICC channels */ public Unicolour(Channels channels, double alpha = 1.0) : this(Configuration.Default, channels, alpha) diff --git a/Unicolour/Unicolour.Lookups.cs b/Unicolour/Unicolour.Lookups.cs index 64521837..936a2c7b 100644 --- a/Unicolour/Unicolour.Lookups.cs +++ b/Unicolour/Unicolour.Lookups.cs @@ -118,14 +118,14 @@ private Rgb EvaluateRgb() ColourSpace.Hsl => Hsb.ToRgb(Hsb), ColourSpace.Hwb => Hsb.ToRgb(Hsb), ColourSpace.Hsi => Hsi.ToRgb(Hsi), - ColourSpace.Ypbpr => Ypbpr.ToRgb(Ypbpr, Config.Ybr), - ColourSpace.Ycbcr => Ypbpr.ToRgb(Ypbpr, Config.Ybr), + ColourSpace.Ypbpr => Ypbpr.ToRgb(Ypbpr, Configuration.Ybr), + ColourSpace.Ycbcr => Ypbpr.ToRgb(Ypbpr, Configuration.Ybr), ColourSpace.Ycgco => Ycgco.ToRgb(Ycgco), ColourSpace.Yuv => Yuv.ToRgb(Yuv), ColourSpace.Yiq => Yuv.ToRgb(Yuv), ColourSpace.Ydbdr => Yuv.ToRgb(Yuv), - ColourSpace.Tsl => Tsl.ToRgb(Tsl, Config.Ybr), - _ => Rgb.FromRgbLinear(RgbLinear, Config.Rgb) + ColourSpace.Tsl => Tsl.ToRgb(Tsl, Configuration.Ybr), + _ => Rgb.FromRgbLinear(RgbLinear, Configuration.Rgb) }; } @@ -134,20 +134,20 @@ private RgbLinear EvaluateRgbLinear() return InitialColourSpace switch { ColourSpace.RgbLinear => (RgbLinear)InitialRepresentation, - ColourSpace.Rgb => Rgb.ToRgbLinear(Rgb, Config.Rgb), - ColourSpace.Hsb => Rgb.ToRgbLinear(Rgb, Config.Rgb), - ColourSpace.Hsl => Rgb.ToRgbLinear(Rgb, Config.Rgb), - ColourSpace.Hwb => Rgb.ToRgbLinear(Rgb, Config.Rgb), - ColourSpace.Hsi => Rgb.ToRgbLinear(Rgb, Config.Rgb), - ColourSpace.Ypbpr => Rgb.ToRgbLinear(Rgb, Config.Rgb), - ColourSpace.Ycbcr => Rgb.ToRgbLinear(Rgb, Config.Rgb), - ColourSpace.Ycgco => Rgb.ToRgbLinear(Rgb, Config.Rgb), - ColourSpace.Yuv => Rgb.ToRgbLinear(Rgb, Config.Rgb), - ColourSpace.Yiq => Rgb.ToRgbLinear(Rgb, Config.Rgb), - ColourSpace.Ydbdr => Rgb.ToRgbLinear(Rgb, Config.Rgb), - ColourSpace.Tsl => Rgb.ToRgbLinear(Rgb, Config.Rgb), + ColourSpace.Rgb => Rgb.ToRgbLinear(Rgb, Configuration.Rgb), + ColourSpace.Hsb => Rgb.ToRgbLinear(Rgb, Configuration.Rgb), + ColourSpace.Hsl => Rgb.ToRgbLinear(Rgb, Configuration.Rgb), + ColourSpace.Hwb => Rgb.ToRgbLinear(Rgb, Configuration.Rgb), + ColourSpace.Hsi => Rgb.ToRgbLinear(Rgb, Configuration.Rgb), + ColourSpace.Ypbpr => Rgb.ToRgbLinear(Rgb, Configuration.Rgb), + ColourSpace.Ycbcr => Rgb.ToRgbLinear(Rgb, Configuration.Rgb), + ColourSpace.Ycgco => Rgb.ToRgbLinear(Rgb, Configuration.Rgb), + ColourSpace.Yuv => Rgb.ToRgbLinear(Rgb, Configuration.Rgb), + ColourSpace.Yiq => Rgb.ToRgbLinear(Rgb, Configuration.Rgb), + ColourSpace.Ydbdr => Rgb.ToRgbLinear(Rgb, Configuration.Rgb), + ColourSpace.Tsl => Rgb.ToRgbLinear(Rgb, Configuration.Rgb), ColourSpace.Xyb => Xyb.ToRgbLinear(Xyb), - _ => RgbLinear.FromXyz(Xyz, Config.Rgb, Config.Xyz) + _ => RgbLinear.FromXyz(Xyz, Configuration.Rgb, Configuration.Xyz) }; } @@ -194,40 +194,40 @@ private Xyz EvaluateXyz() return InitialColourSpace switch { ColourSpace.Xyz => (Xyz)InitialRepresentation, - ColourSpace.Rgb => RgbLinear.ToXyz(RgbLinear, Config.Rgb, Config.Xyz), - ColourSpace.RgbLinear => RgbLinear.ToXyz(RgbLinear, Config.Rgb, Config.Xyz), - ColourSpace.Hsb => RgbLinear.ToXyz(RgbLinear, Config.Rgb, Config.Xyz), - ColourSpace.Hsl => RgbLinear.ToXyz(RgbLinear, Config.Rgb, Config.Xyz), - ColourSpace.Hwb => RgbLinear.ToXyz(RgbLinear, Config.Rgb, Config.Xyz), - ColourSpace.Hsi => RgbLinear.ToXyz(RgbLinear, Config.Rgb, Config.Xyz), + ColourSpace.Rgb => RgbLinear.ToXyz(RgbLinear, Configuration.Rgb, Configuration.Xyz), + ColourSpace.RgbLinear => RgbLinear.ToXyz(RgbLinear, Configuration.Rgb, Configuration.Xyz), + ColourSpace.Hsb => RgbLinear.ToXyz(RgbLinear, Configuration.Rgb, Configuration.Xyz), + ColourSpace.Hsl => RgbLinear.ToXyz(RgbLinear, Configuration.Rgb, Configuration.Xyz), + ColourSpace.Hwb => RgbLinear.ToXyz(RgbLinear, Configuration.Rgb, Configuration.Xyz), + ColourSpace.Hsi => RgbLinear.ToXyz(RgbLinear, Configuration.Rgb, Configuration.Xyz), ColourSpace.Xyy => Xyy.ToXyz(Xyy), ColourSpace.Wxy => Xyy.ToXyz(Xyy), - ColourSpace.Lab => Lab.ToXyz(Lab, Config.Xyz), - ColourSpace.Lchab => Lab.ToXyz(Lab, Config.Xyz), - ColourSpace.Luv => Luv.ToXyz(Luv, Config.Xyz), - ColourSpace.Lchuv => Luv.ToXyz(Luv, Config.Xyz), - ColourSpace.Hsluv => Luv.ToXyz(Luv, Config.Xyz), - ColourSpace.Hpluv => Luv.ToXyz(Luv, Config.Xyz), - ColourSpace.Ypbpr => RgbLinear.ToXyz(RgbLinear, Config.Rgb, Config.Xyz), - ColourSpace.Ycbcr => RgbLinear.ToXyz(RgbLinear, Config.Rgb, Config.Xyz), - ColourSpace.Ycgco => RgbLinear.ToXyz(RgbLinear, Config.Rgb, Config.Xyz), - ColourSpace.Yuv => RgbLinear.ToXyz(RgbLinear, Config.Rgb, Config.Xyz), - ColourSpace.Yiq => RgbLinear.ToXyz(RgbLinear, Config.Rgb, Config.Xyz), - ColourSpace.Ydbdr => RgbLinear.ToXyz(RgbLinear, Config.Rgb, Config.Xyz), - ColourSpace.Tsl => RgbLinear.ToXyz(RgbLinear, Config.Rgb, Config.Xyz), - ColourSpace.Xyb => RgbLinear.ToXyz(RgbLinear, Config.Rgb, Config.Xyz), - ColourSpace.Ipt => Ipt.ToXyz(Ipt, Config.Xyz), - ColourSpace.Ictcp => Ictcp.ToXyz(Ictcp, Config.IctcpScalar, Config.Xyz), - ColourSpace.Jzazbz => Jzazbz.ToXyz(Jzazbz, Config.JzazbzScalar, Config.Xyz), - ColourSpace.Jzczhz => Jzazbz.ToXyz(Jzazbz, Config.JzazbzScalar, Config.Xyz), - ColourSpace.Oklab => Oklab.ToXyz(Oklab, Config.Xyz, Config.Rgb), - ColourSpace.Oklch => Oklab.ToXyz(Oklab, Config.Xyz, Config.Rgb), - ColourSpace.Okhsv => Oklab.ToXyz(Oklab, Config.Xyz, Config.Rgb), - ColourSpace.Okhsl => Oklab.ToXyz(Oklab, Config.Xyz, Config.Rgb), - ColourSpace.Okhwb => Oklab.ToXyz(Oklab, Config.Xyz, Config.Rgb), - ColourSpace.Cam02 => Cam02.ToXyz(Cam02, Config.Cam, Config.Xyz), - ColourSpace.Cam16 => Cam16.ToXyz(Cam16, Config.Cam, Config.Xyz), - ColourSpace.Hct => Hct.ToXyz(Hct, Config.Xyz), + ColourSpace.Lab => Lab.ToXyz(Lab, Configuration.Xyz), + ColourSpace.Lchab => Lab.ToXyz(Lab, Configuration.Xyz), + ColourSpace.Luv => Luv.ToXyz(Luv, Configuration.Xyz), + ColourSpace.Lchuv => Luv.ToXyz(Luv, Configuration.Xyz), + ColourSpace.Hsluv => Luv.ToXyz(Luv, Configuration.Xyz), + ColourSpace.Hpluv => Luv.ToXyz(Luv, Configuration.Xyz), + ColourSpace.Ypbpr => RgbLinear.ToXyz(RgbLinear, Configuration.Rgb, Configuration.Xyz), + ColourSpace.Ycbcr => RgbLinear.ToXyz(RgbLinear, Configuration.Rgb, Configuration.Xyz), + ColourSpace.Ycgco => RgbLinear.ToXyz(RgbLinear, Configuration.Rgb, Configuration.Xyz), + ColourSpace.Yuv => RgbLinear.ToXyz(RgbLinear, Configuration.Rgb, Configuration.Xyz), + ColourSpace.Yiq => RgbLinear.ToXyz(RgbLinear, Configuration.Rgb, Configuration.Xyz), + ColourSpace.Ydbdr => RgbLinear.ToXyz(RgbLinear, Configuration.Rgb, Configuration.Xyz), + ColourSpace.Tsl => RgbLinear.ToXyz(RgbLinear, Configuration.Rgb, Configuration.Xyz), + ColourSpace.Xyb => RgbLinear.ToXyz(RgbLinear, Configuration.Rgb, Configuration.Xyz), + ColourSpace.Ipt => Ipt.ToXyz(Ipt, Configuration.Xyz), + ColourSpace.Ictcp => Ictcp.ToXyz(Ictcp, Configuration.IctcpScalar, Configuration.Xyz), + ColourSpace.Jzazbz => Jzazbz.ToXyz(Jzazbz, Configuration.JzazbzScalar, Configuration.Xyz), + ColourSpace.Jzczhz => Jzazbz.ToXyz(Jzazbz, Configuration.JzazbzScalar, Configuration.Xyz), + ColourSpace.Oklab => Oklab.ToXyz(Oklab, Configuration.Xyz, Configuration.Rgb), + ColourSpace.Oklch => Oklab.ToXyz(Oklab, Configuration.Xyz, Configuration.Rgb), + ColourSpace.Okhsv => Oklab.ToXyz(Oklab, Configuration.Xyz, Configuration.Rgb), + ColourSpace.Okhsl => Oklab.ToXyz(Oklab, Configuration.Xyz, Configuration.Rgb), + ColourSpace.Okhwb => Oklab.ToXyz(Oklab, Configuration.Xyz, Configuration.Rgb), + ColourSpace.Cam02 => Cam02.ToXyz(Cam02, Configuration.Cam, Configuration.Xyz), + ColourSpace.Cam16 => Cam16.ToXyz(Cam16, Configuration.Cam, Configuration.Xyz), + ColourSpace.Hct => Hct.ToXyz(Hct, Configuration.Xyz), _ => throw new ArgumentOutOfRangeException() }; } @@ -237,8 +237,8 @@ private Xyy EvaluateXyy() return InitialColourSpace switch { ColourSpace.Xyy => (Xyy)InitialRepresentation, - ColourSpace.Wxy => Wxy.ToXyy(Wxy, Config.Xyz), - _ => Xyy.FromXyz(Xyz, Config.Xyz.WhiteChromaticity) + ColourSpace.Wxy => Wxy.ToXyy(Wxy, Configuration.Xyz), + _ => Xyy.FromXyz(Xyz, Configuration.Xyz.WhiteChromaticity) }; } @@ -247,7 +247,7 @@ private Wxy EvaluateWxy() return InitialColourSpace switch { ColourSpace.Wxy => (Wxy)InitialRepresentation, - _ => Wxy.FromXyy(Xyy, Config.Xyz) + _ => Wxy.FromXyy(Xyy, Configuration.Xyz) }; } @@ -257,7 +257,7 @@ private Lab EvaluateLab() { ColourSpace.Lab => (Lab)InitialRepresentation, ColourSpace.Lchab => Lchab.ToLab(Lchab), - _ => Lab.FromXyz(Xyz, Config.Xyz) + _ => Lab.FromXyz(Xyz, Configuration.Xyz) }; } @@ -278,7 +278,7 @@ private Luv EvaluateLuv() ColourSpace.Lchuv => Lchuv.ToLuv(Lchuv), ColourSpace.Hsluv => Lchuv.ToLuv(Lchuv), ColourSpace.Hpluv => Lchuv.ToLuv(Lchuv), - _ => Luv.FromXyz(Xyz, Config.Xyz) + _ => Luv.FromXyz(Xyz, Configuration.Xyz) }; } @@ -316,8 +316,8 @@ private Ypbpr EvaluateYpbpr() return InitialColourSpace switch { ColourSpace.Ypbpr => (Ypbpr)InitialRepresentation, - ColourSpace.Ycbcr => Ycbcr.ToYpbpr(Ycbcr, Config.Ybr), - _ => Ypbpr.FromRgb(Rgb, Config.Ybr) + ColourSpace.Ycbcr => Ycbcr.ToYpbpr(Ycbcr, Configuration.Ybr), + _ => Ypbpr.FromRgb(Rgb, Configuration.Ybr) }; } @@ -326,7 +326,7 @@ private Ycbcr EvaluateYcbcr() return InitialColourSpace switch { ColourSpace.Ycbcr => (Ycbcr)InitialRepresentation, - _ => Ycbcr.FromYpbpr(Ypbpr, Config.Ybr) + _ => Ycbcr.FromYpbpr(Ypbpr, Configuration.Ybr) }; } @@ -373,7 +373,7 @@ private Tsl EvaluateTsl() return InitialColourSpace switch { ColourSpace.Tsl => (Tsl)InitialRepresentation, - _ => Tsl.FromRgb(Rgb, Config.Ybr) + _ => Tsl.FromRgb(Rgb, Configuration.Ybr) }; } @@ -391,7 +391,7 @@ private Ipt EvaluateIpt() return InitialColourSpace switch { ColourSpace.Ipt => (Ipt)InitialRepresentation, - _ => Ipt.FromXyz(Xyz, Config.Xyz) + _ => Ipt.FromXyz(Xyz, Configuration.Xyz) }; } @@ -400,7 +400,7 @@ private Ictcp EvaluateIctcp() return InitialColourSpace switch { ColourSpace.Ictcp => (Ictcp)InitialRepresentation, - _ => Ictcp.FromXyz(Xyz, Config.IctcpScalar, Config.Xyz) + _ => Ictcp.FromXyz(Xyz, Configuration.IctcpScalar, Configuration.Xyz) }; } @@ -410,7 +410,7 @@ private Jzazbz EvaluateJzazbz() { ColourSpace.Jzazbz => (Jzazbz)InitialRepresentation, ColourSpace.Jzczhz => Jzczhz.ToJzazbz(Jzczhz), - _ => Jzazbz.FromXyz(Xyz, Config.JzazbzScalar, Config.Xyz) + _ => Jzazbz.FromXyz(Xyz, Configuration.JzazbzScalar, Configuration.Xyz) }; } @@ -429,10 +429,10 @@ private Oklab EvaluateOklab() { ColourSpace.Oklab => (Oklab)InitialRepresentation, ColourSpace.Oklch => Oklch.ToOklab(Oklch), - ColourSpace.Okhsv => Okhsv.ToOklab(Okhsv, Config.Xyz, Config.Rgb), - ColourSpace.Okhsl => Okhsl.ToOklab(Okhsl, Config.Xyz, Config.Rgb), - ColourSpace.Okhwb => Okhsv.ToOklab(Okhsv, Config.Xyz, Config.Rgb), - _ => Oklab.FromXyz(Xyz, Config.Xyz, Config.Rgb) + ColourSpace.Okhsv => Okhsv.ToOklab(Okhsv, Configuration.Xyz, Configuration.Rgb), + ColourSpace.Okhsl => Okhsl.ToOklab(Okhsl, Configuration.Xyz, Configuration.Rgb), + ColourSpace.Okhwb => Okhsv.ToOklab(Okhsv, Configuration.Xyz, Configuration.Rgb), + _ => Oklab.FromXyz(Xyz, Configuration.Xyz, Configuration.Rgb) }; } @@ -451,7 +451,7 @@ private Okhsv EvaluateOkhsv() { ColourSpace.Okhsv => (Okhsv)InitialRepresentation, ColourSpace.Okhwb => Okhwb.ToOkhsv(Okhwb), - _ => Okhsv.FromOklab(Oklab, Config.Xyz, Config.Rgb) + _ => Okhsv.FromOklab(Oklab, Configuration.Xyz, Configuration.Rgb) }; } @@ -460,7 +460,7 @@ private Okhsl EvaluateOkhsl() return InitialColourSpace switch { ColourSpace.Okhsl => (Okhsl)InitialRepresentation, - _ => Okhsl.FromOklab(Oklab, Config.Xyz, Config.Rgb) + _ => Okhsl.FromOklab(Oklab, Configuration.Xyz, Configuration.Rgb) }; } @@ -478,7 +478,7 @@ private Cam02 EvaluateCam02() return InitialColourSpace switch { ColourSpace.Cam02 => (Cam02)InitialRepresentation, - _ => Cam02.FromXyz(Xyz, Config.Cam, Config.Xyz) + _ => Cam02.FromXyz(Xyz, Configuration.Cam, Configuration.Xyz) }; } @@ -487,7 +487,7 @@ private Cam16 EvaluateCam16() return InitialColourSpace switch { ColourSpace.Cam16 => (Cam16)InitialRepresentation, - _ => Cam16.FromXyz(Xyz, Config.Cam, Config.Xyz) + _ => Cam16.FromXyz(Xyz, Configuration.Cam, Configuration.Xyz) }; } @@ -496,7 +496,7 @@ private Hct EvaluateHct() return InitialColourSpace switch { ColourSpace.Hct => (Hct)InitialRepresentation, - _ => Hct.FromXyz(Xyz, Config.Xyz) + _ => Hct.FromXyz(Xyz, Configuration.Xyz) }; } } \ No newline at end of file diff --git a/Unicolour/Unicolour.cs b/Unicolour/Unicolour.cs index 968e176f..d1b8635d 100644 --- a/Unicolour/Unicolour.cs +++ b/Unicolour/Unicolour.cs @@ -44,7 +44,7 @@ public partial class Unicolour : IEquatable private readonly Lazy source; public Alpha Alpha { get; } - public Configuration Config { get; } + public Configuration Configuration { get; } internal readonly ColourSpace InitialColourSpace; internal readonly ColourRepresentation InitialRepresentation; @@ -89,7 +89,7 @@ public partial class Unicolour : IEquatable public bool IsInDisplayGamut => Rgb.IsInGamut; public string Description => isUnseen ? UnseenDescription : string.Join(" ", ColourDescription.Get(Hsl)); public Chromaticity Chromaticity => Xyy.UseAsNaN ? new Chromaticity(double.NaN, double.NaN) : Xyy.Chromaticity; - public bool IsImaginary => Config.Xyz.Spectral.IsImaginary(Chromaticity); + public bool IsImaginary => Configuration.Xyz.Spectral.IsImaginary(Chromaticity); public double RelativeLuminance => Xyz.UseAsNaN ? double.NaN : Xyz.Y; // will meet https://www.w3.org/TR/WCAG21/#dfn-relative-luminance when sRGB (middle row of RGB -> XYZ matrix) public Temperature Temperature => temperature.Value; public double DominantWavelength => Wxy.UseAsNaN || Wxy.UseAsGreyscale ? double.NaN : Wxy.DominantWavelength; @@ -106,7 +106,7 @@ internal Unicolour(Configuration config, ColourHeritage heritage, third /= 255.0; } - Config = config; + Configuration = config; Alpha = new Alpha(alpha); InitialColourSpace = colourSpace; InitialRepresentation = CreateRepresentation(colourSpace, first, second, third, config, heritage); @@ -150,11 +150,11 @@ internal Unicolour(Configuration config, ColourHeritage heritage, // the following are overriden by the derived constructors // that enable Unicolour to be constructed from entities other than colour spaces icc = new Lazy(() => - Config.Icc.HasSupportedProfile - ? Channels.FromXyz(Xyz, Config.Icc, Config.Xyz) + Configuration.Icc.HasSupportedProfile + ? Channels.FromXyz(Xyz, Configuration.Icc, Configuration.Xyz) : Channels.UncalibratedFromRgb(Rgb)); - temperature = new Lazy(() => Temperature.FromChromaticity(Chromaticity, Config.Xyz.Planckian)); + temperature = new Lazy(() => Temperature.FromChromaticity(Chromaticity, Configuration.Xyz.Planckian)); source = new Lazy(() => $"{InitialColourSpace} {InitialRepresentation}"); } @@ -179,11 +179,10 @@ public Unicolour Mix(Unicolour other, ColourSpace colourSpace, double amount = 0 public Unicolour MapToGamut() => GamutMapping.ToRgbGamut(this); - public Unicolour ConvertToConfiguration(Configuration newConfig) + public Unicolour ConvertToConfiguration(Configuration config) { - var xyzMatrix = Matrix.FromTriplet(Xyz.Triplet); - var adaptedMatrix = Adaptation.WhitePoint(xyzMatrix, Config.Xyz.WhitePoint, newConfig.Xyz.WhitePoint); - return new Unicolour(newConfig, ColourSpace.Xyz, adaptedMatrix.ToTriplet().Tuple, Alpha.A); + var adapted = Adaptation.WhitePoint(Xyz.Triplet, Configuration.Xyz.WhitePoint, config.Xyz.WhitePoint).Tuple; + return new Unicolour(config, ColourSpace.Xyz, adapted, Alpha.A); } public override string ToString() diff --git a/Unicolour/VisionDeficiency.cs b/Unicolour/VisionDeficiency.cs index 1ed96bb1..40655c07 100644 --- a/Unicolour/VisionDeficiency.cs +++ b/Unicolour/VisionDeficiency.cs @@ -27,7 +27,7 @@ internal static class VisionDeficiency private static Unicolour SimulateCvd(Unicolour unicolour, Matrix cvdMatrix) { - var config = unicolour.Config; + var config = unicolour.Configuration; // since simulated RGB-Linear often results in values outwith 0 - 1, seems unnecessary to use constrained inputs var rgbLinearMatrix = Matrix.FromTriplet(unicolour.RgbLinear.Triplet); @@ -40,7 +40,7 @@ private static Unicolour SimulateCvd(Unicolour unicolour, Matrix cvdMatrix) internal static Unicolour SimulateTritanopia(Unicolour unicolour) => SimulateCvd(unicolour, Tritanomaly); internal static Unicolour SimulateAchromatopsia(Unicolour unicolour) { - var config = unicolour.Config; + var config = unicolour.Configuration; // luminance is based on Linear RGB, so needs to be companded back into chosen RGB space var rgbLuminance = config.Rgb.CompandFromLinear(unicolour.RelativeLuminance); diff --git a/Unicolour/Xyz.cs b/Unicolour/Xyz.cs index 9bb7639b..82313ae7 100644 --- a/Unicolour/Xyz.cs +++ b/Unicolour/Xyz.cs @@ -30,27 +30,87 @@ internal Xyz(double x, double y, double z, ColourHeritage heritage) : base(x, y, * Reverse: n/a * - infinite SPD possibilities from single XYZ (metamerism: https://en.wikipedia.org/wiki/Metamerism_(color)) * - although potentially https://doi.org/10.1111/cgf.12676 calculates one good SPD (roundtrip conversion obviously not possible) + * ---------- + * SPD white point calculation uses 360 nm - 780 nm range + * following ASTM standard practice https://doi.org/10.1520/E0308-18 (7.1.2) for 1 nm or 5 nm intervals + * including approximation of integration using summation and limiting to range 360 - 780 nm + * (10 nm and 20 nm intervals require different procedures, see 7.3.2.1, 7.3.3.1 - using tables and specific interpolation) + * TODO: check if different in E308-22 + * intervals other than 1 nm or 5 nm will work but the SPD will report as not valid + * ---------- + * note that SPD coefficients can cover a wider range than 360 nm - 780 nm + * e.g. + * - Illuminant D starts from 300 nm; < 360 nm values are ignored + * - Illuminant F starts from 380 nm; 360 - 380 nm values are treated as 0 */ - // TODO: check if different in E308-22 - // follows ASTM standard practice https://doi.org/10.1520/E0308-18 - // including integration approximation with summation and limiting to range 360 - 780 nm + internal const int StartWavelength = 360; + private const int EndWavelength = 780; + internal const int WavelengthCount = EndWavelength - StartWavelength + 1; + private static readonly int[] TargetWavelengths = Enumerable.Range(StartWavelength, WavelengthCount).ToArray(); + internal static Xyz FromSpd(Spd spd, Observer observer) { - var delta = spd.WavelengthDelta; - var wavelengths = Spd.ExpectedWavelengths(interval: delta); - var xSum = wavelengths.Sum(wavelength => spd.SpectralPower(wavelength) * observer.ColourMatchX(wavelength) * delta); - var ySum = wavelengths.Sum(wavelength => spd.SpectralPower(wavelength) * observer.ColourMatchY(wavelength) * delta); - var zSum = wavelengths.Sum(wavelength => spd.SpectralPower(wavelength) * observer.ColourMatchZ(wavelength) * delta); - - // note: could support a notion of "absolute" XYZ by simply returning without dividing by ySum - // though unclear if actually useful - var x = xSum / ySum; - var y = ySum / ySum; - var z = zSum / ySum; + var (wavelengths, delta) = GetWavelengths(spd); + var absoluteX = GetAbsolute(spd, observer.ColourMatchX, wavelengths, delta); + var absoluteY = GetAbsolute(spd, observer.ColourMatchY, wavelengths, delta); + var absoluteZ = GetAbsolute(spd, observer.ColourMatchZ, wavelengths, delta); + var x = absoluteX / absoluteY; + var y = absoluteY / absoluteY; + var z = absoluteZ / absoluteY; + return new Xyz(x, y, z); + } + + internal static Xyz FromSpd(Spd spd, Observer observer, SpectralCoefficients reflectance) + { + var (wavelengths, delta) = GetWavelengths(spd); + var absoluteX = GetAbsoluteUsingReflectance(spd, observer.ColourMatchX, reflectance, wavelengths, delta); + var absoluteY = GetAbsoluteUsingReflectance(spd, observer.ColourMatchY, reflectance, wavelengths, delta); + var absoluteZ = GetAbsoluteUsingReflectance(spd, observer.ColourMatchZ, reflectance, wavelengths, delta); + var perfectReflectanceY = GetAbsolute(spd, observer.ColourMatchY, wavelengths, delta); + var x = absoluteX / perfectReflectanceY; + var y = absoluteY / perfectReflectanceY; + var z = absoluteZ / perfectReflectanceY; return new Xyz(x, y, z); } + private static (int[] wavelengths, int delta) GetWavelengths(Spd spd) + { + // interval of zero indicates SPD of a single wavelength + // this is handled by all assuming all other wavelengths were implicitly measured with zero power + var interval = spd.Interval; + return interval == 0 + ? (TargetWavelengths, 1) + : (TargetWavelengths.Where(x => x % interval == 0).ToArray(), interval); + } + + private static double GetAbsolute(Spd spd, Func cmf, int[] wavelengths, int delta) + { + return GetAbsolute(Power, cmf, wavelengths, delta); + double Power(int wavelength) => GetPower(spd, wavelength); + } + + internal static double GetAbsolute(Func power, Func cmf, int[] wavelengths, int delta) + { + return GetAbsoluteUsingReflectance(power, cmf, PerfectReflectance, wavelengths, delta); + double PerfectReflectance(int wavelength) => 1.0; + } + + private static double GetAbsoluteUsingReflectance(Spd spd, Func cmf, SpectralCoefficients reflectance, int[] wavelengths, int delta) + { + return GetAbsoluteUsingReflectance(Power, cmf, Reflectance, wavelengths, delta); + double Power(int wavelength) => GetPower(spd, wavelength); + double Reflectance(int wavelength) => GetReflectance(reflectance, wavelength); + } + + private static double GetAbsoluteUsingReflectance(Func power, Func cmf, Func reflectance, int[] wavelengths, int delta) + { + return wavelengths.Sum(wavelength => power(wavelength) * cmf(wavelength) * reflectance(wavelength) * delta); + } + + private static double GetPower(Spd spd, int wavelength) => spd.Get(wavelength, MissingWavelength.Zero); + private static double GetReflectance(SpectralCoefficients reflectance, int wavelength) => reflectance.Get(wavelength, MissingWavelength.Interpolate); + // only for potential debugging or diagnostics // until there is an "official" HCT -> XYZ reverse transform internal HctToXyzSearchResult? HctToXyzSearchResult; diff --git a/Unicolour/XyzConfiguration.cs b/Unicolour/XyzConfiguration.cs index 9239caef..6017be23 100644 --- a/Unicolour/XyzConfiguration.cs +++ b/Unicolour/XyzConfiguration.cs @@ -8,11 +8,13 @@ public class XyzConfiguration public WhitePoint WhitePoint { get; } public Chromaticity WhiteChromaticity => WhitePoint.ToChromaticity(); public Observer Observer { get; } + internal Illuminant? Illuminant { get; } internal Spectral Spectral { get; } internal Planckian Planckian { get; } public string Name { get; } // even if white point has been hardcoded, still need observer to calculate CCT + // should be safe to assume 2 degree observer public XyzConfiguration(WhitePoint whitePoint, string name = Utils.Unnamed) : this(whitePoint, Observer.Degree2, name) { @@ -21,6 +23,7 @@ public XyzConfiguration(WhitePoint whitePoint, string name = Utils.Unnamed) : public XyzConfiguration(Illuminant illuminant, Observer observer, string name = Utils.Unnamed) : this(illuminant.GetWhitePoint(observer), observer, name) { + Illuminant = illuminant; } public XyzConfiguration(WhitePoint whitePoint, Observer observer, string name = Utils.Unnamed) diff --git a/docs/README.md b/docs/README.md index 237da87c..38c963bd 100644 --- a/docs/README.md +++ b/docs/README.md @@ -3,7 +3,7 @@ [![GitLab](https://badgen.net/static/gitlab/source/ff1493?icon=gitlab)](https://gitlab.com/Wacton/Unicolour) [![NuGet](https://badgen.net/nuget/v/Wacton.Unicolour?icon)](https://www.nuget.org/packages/Wacton.Unicolour/) [![pipeline status](https://gitlab.com/Wacton/Unicolour/badges/main/pipeline.svg)](https://gitlab.com/Wacton/Unicolour/-/commits/main) -[![tests passed](https://badgen.net/static/tests/216,552/green/)](https://gitlab.com/Wacton/Unicolour/-/pipelines) +[![tests passed](https://badgen.net/static/tests/216,919/green/)](https://gitlab.com/Wacton/Unicolour/-/pipelines) [![coverage report](https://gitlab.com/Wacton/Unicolour/badges/main/coverage.svg)](https://gitlab.com/Wacton/Unicolour/-/pipelines) Unicolour is the most comprehensive .NET library for working with colour: @@ -11,8 +11,7 @@ Unicolour is the most comprehensive .NET library for working with colour: - Colour mixing / colour interpolation - Colour difference / colour distance - Colour gamut mapping -- Colour chromaticity -- Colour temperature +- Colour chromaticity & colour temperature - Wavelength attributes - ICC profiles for CMYK conversion diff --git a/docs/README_us.md b/docs/README_us.md index 54c56c84..b4738f3d 100644 --- a/docs/README_us.md +++ b/docs/README_us.md @@ -3,7 +3,7 @@ [![GitLab](https://badgen.net/static/gitlab/source/ff1493?icon=gitlab)](https://gitlab.com/Wacton/Unicolour) [![NuGet](https://badgen.net/nuget/v/Wacton.Unicolour?icon)](https://www.nuget.org/packages/Wacton.Unicolour/) [![pipeline status](https://gitlab.com/Wacton/Unicolour/badges/main/pipeline.svg)](https://gitlab.com/Wacton/Unicolour/-/commits/main) -[![tests passed](https://badgen.net/static/tests/216,552/green/)](https://gitlab.com/Wacton/Unicolour/-/pipelines) +[![tests passed](https://badgen.net/static/tests/216,919/green/)](https://gitlab.com/Wacton/Unicolour/-/pipelines) [![coverage report](https://gitlab.com/Wacton/Unicolour/badges/main/coverage.svg)](https://gitlab.com/Wacton/Unicolour/-/pipelines) Unicolour is the most comprehensive .NET library for working with color: @@ -11,8 +11,7 @@ Unicolour is the most comprehensive .NET library for working with color: - Color mixing / color interpolation - Color difference / color distance - Color gamut mapping -- Color chromaticity -- Color temperature +- Color chromaticity & color temperature - Wavelength attributes - ICC profiles for CMYK conversion

nEeM;Qz6@Ir#3?T^eA7Ng#=sb1PVkAwxU1U;B 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 literal 0 HcmV?d00001 diff --git a/Unicolour.Readme/docs/pigments-blue-yellow-ref-km.png b/Unicolour.Readme/docs/pigments-blue-yellow-ref-km.png new file mode 100644 index 0000000000000000000000000000000000000000..5143787a326f84399640aac29a3ec9967334d09d GIT binary patch literal 2462 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 z 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