set cut_paste_input [stack 0]
BackdropNode {
inputs 0
name BackdropNode3
tile_color 0x676767ff
label "
Test Images"
note_font Helvetica
note_font_size 18
note_font_color 0xffffffff
selected true
xpos 1223
ypos -3219
bdwidth 333
bdheight 317
z_order -10
}
BackdropNode {
inputs 0
name BackdropNode4
tile_color 0x392d3aff
label "Per-Channel"
note_font Helvetica
note_font_size 18
note_font_color 0xffffffff
selected true
xpos 1241
ypos -2799
bdwidth 299
bdheight 438
z_order -10
}
BackdropNode {
inputs 0
name BackdropNode5
tile_color 0x1f2c3aff
label "Chromaticity Preserving"
note_font Helvetica
note_font_size 18
note_font_color 0xffffffff
selected true
xpos 1565
ypos -2799
bdwidth 299
bdheight 438
z_order -10
}
Group {
inputs 0
name Planckian_Locus_XYZ
note_font Helvetica
selected true
xpos 1280
ypos -3123
postage_stamp true
}
Constant {
inputs 0
name Constant13
note_font Helvetica
xpos 40
ypos -629
postage_stamp false
}
Reformat {
type "to box"
box_width 512
box_height 100
box_fixed true
name ReformatBox3
xpos 40
ypos -600
}
Expression {
temp_name0 n
temp_expr0 input.width/8
channel0 {rgba.red rgba.green rgba.blue none}
expr0 x/width*(1-y/height)
channel3 alpha
expr3 1
name Expression6
xpos 40
ypos -528
}
set Nc07a0af0 [stack 0]
Dot {
name Dot65
xpos 184
ypos -524
}
ColorLookup {
lut {master {curve L 0 s0 t0.9499999881 C k x0.308139503 1 s0}
red {}
green {}
blue {}
alpha {}}
name ColorLookup8
xpos 150
ypos -480
}
Dot {
name Dot66
xpos 184
ypos -380
}
push $Nc07a0af0
Multiply {
channels rgb
value 269
name Multiply9
label "\[value value]"
xpos 40
ypos -486
}
ColorLookup {
lut {master {}
red {curve C 1.8783474 1.85965741 1.8410753 1.82260251 1.80424976 1.78602886 1.76794314 1.75000143 1.73221421 1.71458244 1.69711792 1.67982578 1.66271067 1.6457777 1.62903571 1.6124835 1.59613538 1.57998943 1.56404996 1.54832447 1.5328095 1.51751649 1.50244594 1.48759735 1.47297573 1.45858264 1.44442391 1.43049574 1.41680288 1.40334678 1.39012623 1.37714779 1.36440396 1.35190022 1.33963728 1.32761216 1.31582856 1.30428183 1.29297352 1.28190565 1.27107596 1.2604804 1.25012183 1.23999798 1.23010659 1.22044563 1.21101499 1.20181489 1.19284034 1.18408906 1.17556167 1.16725397 1.15916491 1.15129638 1.14363372 1.13618886 1.12895167 1.12192106 1.11509454 1.10846853 1.10204577 1.09580922 1.08977199 1.08392429 1.07826447 1.07278681 1.06749392 1.06237841 1.05743873 1.05267084 1.04807138 1.04364109 1.03937256 1.03526449 1.03131545 1.02751946 1.02387333 1.02037668 1.01702523 1.01381445 1.01074362 1.00780725 1.00500631 1.00233305 0.99978602 0.99736285 0.9950608 0.99287677 0.99080539 0.98884678 0.98699367 0.9852494 0.98361033 0.98206747 0.98062134 0.97926998 0.97800934 0.97683728 0.97575116 0.97474778 0.97382426 0.97297859 0.97220623 0.97150886 0.97087657 0.97031689 0.96981871 0.96938527 0.96900952 0.96869147 0.96842706 0.96821606 0.96805781 0.96794283 0.96787858 0.96785843 0.96787864 0.96793604 0.96803701 0.96817231 0.96833968 0.96854311 0.96877253 0.96903455 0.96932232 0.96963543 0.96997368 0.97033387 0.97071254 0.9711163 0.97153723 0.97197378 0.97242606 0.97289121 0.97337079 0.97386622 0.97437072 0.97488332 0.97540969 0.97594237 0.97647977 0.97702706 0.97757769 0.97813445 0.97869468 0.97925854 0.97982538 0.98039114 0.98096472 0.98153675 0.98210776 0.98267955 0.98325121 0.98382008 0.98438704 0.9849571 0.98552132 0.98608243 0.98664182 0.98719966 0.98775077 0.98829895 0.98884273 0.98938417 0.98991877 0.9904511 0.99097681 0.99149919 0.99201453 0.99252397 0.99303031 0.99353105 0.99402624 0.99451613 0.99499857 0.99547589 0.99594522 0.99641174 0.99687338 0.99732745 0.99777603 0.9982177 0.99865389 0.999084 0.99950838 0.99992663 1.00033772 1.00074494 1.00114489 1.00153947 1.00192833 1.00231075 1.00268865 1.00305855 1.00342607 1.00378489 1.00413895 1.00448751 1.00483036 1.00517035 1.00550389 1.00583148 1.00615203 1.00646758 1.00678015 1.00708604 1.00738645 1.00768471 1.00797844 1.0082655 1.00854778 1.00882483 1.00909901 1.00936711 1.00963116 1.00989032 1.0101465 1.01039672 1.01064491 1.01088691 1.0111258 1.01135957 1.01158977 1.01181614 1.01203847 1.01225793 1.01247287 1.01268291 1.01289058 1.01309609 1.01329684 1.01349473 1.0136888 1.0138787 1.01406395 1.01424909 1.01442885 1.01460576 1.01478052 1.01495218 1.01512218 1.01528883 1.01545072 1.01561022 1.01576698 1.01592219 1.01607502 1.01622343 1.01636875 1.0165143 1.01665616 1.01679492 1.0169313 1.01706588 1.01719737 1.01732695 1.01745498 1.01757956 1.01770294 1.01782393 1.01794255 1.0180583 1.01817465 1.01828551 1.01839495 1.01850486 1.01861191 1.01871693 1.01882088 1.01891339}
green {curve C 1}
blue {curve C 0.00879261 0.00962762 0.010532 0.01151017 0.01256675 0.01370643 0.01493413 0.01625487 0.01767381 0.01919618 0.02082733 0.02257277 0.02443803 0.02642871 0.02855051 0.03080913 0.0332104 0.0357601 0.03846392 0.04132775 0.04435719 0.04755813 0.05093599 0.05449668 0.0582453 0.0621875 0.06632853 0.07067341 0.07522713 0.07999477 0.08498063 0.09018957 0.09562518 0.10129225 0.10719412 0.11333443 0.11971687 0.12634411 0.133219 0.14034435 0.14772213 0.15535444 0.16324303 0.17138906 0.179794 0.18845794 0.197382 0.20656651 0.21601067 0.22571453 0.23567709 0.24589771 0.25637382 0.26710594 0.2780903 0.28932518 0.30080822 0.3125369 0.32450783 0.33671761 0.34916404 0.36183971 0.37474373 0.38787127 0.40121818 0.41477671 0.42854655 0.44251823 0.45668846 0.47105014 0.48559928 0.50033116 0.5152359 0.5303098 0.5455451 0.56093836 0.5764783 0.59215891 0.60797763 0.62392306 0.63999057 0.65616876 0.6724565 0.68884456 0.70532417 0.72188419 0.73852479 0.7552371 0.77200818 0.78883314 0.80570388 0.82261622 0.83956301 0.8565321 0.87351894 0.89051074 0.90751225 0.92450547 0.94148719 0.95845115 0.97538745 0.99229181 1.00915313 1.02597356 1.04273522 1.05944169 1.07608175 1.09265125 1.10914159 1.12555146 1.14187002 1.15809321 1.1742171 1.190238 1.20614767 1.22194457 1.23762202 1.2531724 1.26859927 1.28389311 1.29905295 1.31407428 1.32895291 1.34368753 1.35827363 1.3727088 1.38699389 1.40111876 1.41508293 1.42889357 1.44254065 1.45602405 1.46934104 1.48249614 1.49548101 1.50830269 1.5209527 1.53343177 1.54574537 1.5578897 1.56985986 1.5816654 1.59329891 1.60476208 1.61605716 1.62718153 1.63813758 1.64892519 1.65955138 1.67000985 1.68030369 1.69043732 1.70040607 1.71021223 1.71985734 1.72934508 1.73867714 1.74785423 1.75688136 1.76575518 1.77447391 1.78304338 1.79146802 1.79975164 1.80788386 1.81587982 1.82373333 1.83144975 1.83902776 1.84647095 1.85378456 1.86096811 1.86802399 1.87495112 1.88175035 1.88842535 1.89497983 1.90141833 1.90774179 1.91394711 1.92004013 1.92602086 1.93188739 1.93765306 1.94330883 1.94886208 1.95430994 1.95965815 1.96490622 1.97005856 1.97511387 1.98007631 1.98494554 1.98972344 1.99441445 1.99901712 2.00353193 2.00796437 2.01231384 2.01658392 2.02076721 2.02487659 2.02890825 2.03286695 2.03675175 2.04056406 2.04430199 2.04797506 2.05157685 2.05511236 2.0585804 2.06198287 2.06532407 2.06860161 2.07181907 2.07497644 2.07807779 2.0811162 2.08409977 2.08702946 2.08990335 2.09272337 2.09549189 2.0982089 2.10087585 2.10349345 2.10606146 2.1085825 2.11105394 2.11348104 2.11586332 2.11820364 2.12050176 2.12275648 2.12496805 2.127141 2.12927723 2.13136625 2.13341999 2.13543844 2.13741732 2.13936305 2.1412704 2.1431427 2.14498401 2.14678812 2.14856291 2.1503005 2.15200949 2.15368938 2.15533352 2.15695238 2.15853977 2.16009951 2.16162968 2.16313291 2.16460824 2.16605687 2.16747928 2.16887903 2.17024994 2.1715951 2.17291784 2.17421341 2.17548871 2.17674041 2.17797112 2.17918396 2.18036819 2.18143296}
alpha {}}
name ColorLookup9
label "Planckian Locus 0-269"
xpos 40
ypos -442
}
Multiply {
inputs 1+1
channels rgb
value 0
maskChannelMask rgba.red
invert_mask true
name Multiply10
label dim
xpos 40
ypos -390
}
Output {
name Output1
xpos 40
ypos -290
}
end_group
Group {
name GamutConvert6
tile_color 0xbd91c9ff
label "\[if \{\[value invert]\} \{return \"\[value dst_colorspace_name] to \[value src_colorspace_name]\"\} else \{return \"\[value src_colorspace_name] to \[value dst_colorspace_name]\"\}]"
selected true
xpos 1280
ypos -3016
addUserKnob {20 GamutConvert_tab l GamutConvert}
addUserKnob {26 gamut_chromaticities_label l " " T "SRC Gamut Chromaticity Coordinates"}
addUserKnob {35 src_presets l preset M {gamut/ACES "knobs this \{rxy \{0.73470 0.26530\} gxy \{0.00000 1.00000\} bxy \{0.00010 -0.07700\} wxy \{0.32168 0.33767\} src_colorspace_name \{ACES\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/ACEScg "knobs this \{rxy \{0.713 0.293\} gxy \{0.165 0.830\} bxy \{0.128 0.044\} wxy \{0.32168 0.33767\} src_colorspace_name \{ACEScg\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" "gamut/Filmlight E-Gamut" "knobs this \{ rxy \{0.8 0.3177\} gxy \{0.18 0.9\} bxy \{0.065 -0.0805\} wxy \{0.3127 0.329\} src_colorspace_name \{Filmlight E-Gamut\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" "gamut/DaVinci WG" "knobs this \{ rxy \{0.8 0.3130\} gxy \{0.1682 0.9877\} bxy \{0.079 -0.1155\} wxy \{0.3127 0.329\} src_colorspace_name \{DaVinci WG\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/Rec709 "knobs this \{rxy \{0.64000 0.33000\} gxy \{0.30000 0.60000\} bxy \{0.15000 0.06000\} wxy \{0.3127 0.329\} src_colorspace_name \{Rec709\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/Rec2020 "knobs this \{rxy \{0.70800 0.29200\} gxy \{0.17000 0.79700\} bxy \{0.13100 0.04600\} wxy \{0.3127 0.329\} src_colorspace_name \{Rec2020\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/P3D60 "knobs this \{rxy \{0.68000 0.32000\} gxy \{0.26500 0.69000\} bxy \{0.15000 0.06000\} wxy \{0.32168 0.33767\} src_colorspace_name \{P3D60\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/P3D65 "knobs this \{rxy \{0.68000 0.32000\} gxy \{0.26500 0.69000\} bxy \{0.15000 0.06000\} wxy \{0.3127 0.329\} src_colorspace_name \{P3D65\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/P3DCI "knobs this \{rxy \{0.68000 0.32000\} gxy \{0.26500 0.69000\} bxy \{0.15000 0.06000\} wxy \{0.314 0.351\} src_colorspace_name \{P3DCI\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" "gamut/Arri AlexaWideGamut" "knobs this \{rxy \{0.68400 0.31300\} gxy \{0.22100 0.84800\} bxy \{0.08610 -0.10200\} wxy \{0.3127 0.329\} src_colorspace_name \{Arri AlexaWideGamut\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/REDDRAGONcolor "knobs this \{rxy \{0.753044222785 0.327830576682\} gxy \{0.299570228481 0.700699321956\} bxy \{0.079642066735 -0.0549379510888\} wxy \{0.321683187724 0.337673316035\} src_colorspace_name \{REDDRAGONcolor\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/REDDRAGONcolor2 "knobs this \{rxy \{0.753044491143 0.327831029513\} gxy \{0.299570490451 0.700699415614\} bxy \{0.145011584278 0.0510971250879\} wxy \{0.321683210353 0.337673610062\} src_colorspace_name \{REDDRAGONcolor2\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/REDcolor "knobs this \{rxy \{0.699747001291 0.329046930313\} gxy \{0.304264039024 0.623641145129\} bxy \{0.134913961296 0.0347174412813\} wxy \{0.321683289449 0.337673447208\} src_colorspace_name \{REDcolor\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/REDcolor2 "knobs this \{rxy \{0.878682510476 0.32496400741\} gxy \{0.300888714367 0.679054755791\} bxy \{0.0953986946056 -0.0293793268343\} wxy \{0.321683289449 0.337673447208\} src_colorspace_name \{REDcolor2\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/REDcolor3 "knobs this \{rxy \{0.701181035906 0.329014155583\} gxy \{0.300600304652 0.683788834269\} bxy \{0.108154455624 -0.00868817578666\} wxy \{0.321683210353 0.337673610062\} src_colorspace_name \{REDcolor3\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/REDcolor4 "knobs this \{rxy \{0.701180591892 0.329013699116\} gxy \{0.300600395529 0.683788824257\} bxy \{0.145331946229 0.0516168036226\} wxy \{0.321683289449 0.337673447208\} src_colorspace_name \{REDcolor4\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/REDWideGamutRGB "knobs this \{rxy \{0.780308 0.304253\} gxy \{0.121595 1.493994\} bxy \{0.095612 -0.084589\} wxy \{0.3127 0.329\} src_colorspace_name \{REDWideGamutRGB\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" "gamut/GoPro Protune Native" "knobs this \{rxy \{0.69848046 0.19302645\} gxy \{0.32955538 1.02459662\} bxy \{0.10844263 -0.03467857\} wxy \{0.3127 0.329\} src_colorspace_name \{GoPro Protune Native\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/CanonCinemaGamut "knobs this \{rxy \{0.74 0.27\} gxy \{0.17 1.14\} bxy \{0.08 -0.1\} wxy \{0.3127 0.329\} src_colorspace_name \{CanonCinemaGamut\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/SonySGamut "knobs this \{rxy \{0.73 0.28\} gxy \{0.14 0.855\} bxy \{0.1 -0.05\} wxy \{0.3127 0.329\} src_colorspace_name \{SonySGamut\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/SonySGamut3Cine "knobs this \{rxy \{0.766 0.275\} gxy \{0.225 0.8\} bxy \{0.089 -0.087\} wxy \{0.3127 0.329\} src_colorspace_name \{SonySGamut3Cine\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/PanasonicVGamut "knobs this \{rxy \{0.730 0.280\} gxy \{0.165 0.840\} bxy \{0.100 -0.030\} wxy \{0.3127 0.329\} src_colorspace_name \{PanasonicVGamut\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" "gamut/DJI D-Gamut" "knobs this \{rxy \{0.71 0.31\} gxy \{0.21 0.88\} bxy \{0.09 -0.08\} wxy \{0.3127 0.329\} src_colorspace_name \{DJI D-Gamut\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" "gamut/Fujifilm F-Gamut" "knobs this \{rxy \{0.70800 0.29200\} gxy \{0.17000 0.79700\} bxy \{0.13100 0.04600\} wxy \{0.3127 0.329\} src_colorspace_name \{Fujifilm F-Gamut\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/BMDFilmV1 "knobs this \{rxy \{0.9173 0.2502\} gxy \{0.2833 1.7072\} bxy \{0.0856 -0.0708\} wxy \{0.3135 0.3305\} src_colorspace_name \{BMDFilmV1\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/BMD4kFilmV1 "knobs this \{rxy \{0.7422 0.2859\} gxy \{0.4140 1.3035\} bxy \{0.0342 -0.0833\} wxy \{0.3135 0.3305\} src_colorspace_name \{BMD4kFilmV1\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/BMD4kFilmV3 "knobs this \{rxy \{1.0625 0.3948\} gxy \{0.3689 0.7775\} bxy \{0.0956 -0.0332\} wxy \{0.3135 0.3305\} src_colorspace_name \{BMD4kFilmV3\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/BMD46kFilmV1 "knobs this \{rxy \{0.9175 0.2983\} gxy \{0.2983 1.2835\} bxy \{0.0756 -0.0860\} wxy \{0.3127 0.329\} src_colorspace_name \{BMD46kFilmV1\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/BMD46kFilmV3 "knobs this \{rxy \{0.8608 0.3689\} gxy \{0.3282 0.6156\} bxy \{0.0783 -0.0233\} wxy \{0.3127 0.329\} src_colorspace_name \{BMD46kFilmV3\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/BMDWideGamutV4 "knobs this \{rxy \{0.7177 0.3171\} gxy \{0.2280 0.8616\} bxy \{0.1006 -0.0820\} wxy \{0.3127 0.329\} src_colorspace_name \{BMDWideGamutV4\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" "gamut/AdobeRGB\t" "knobs this \{rxy \{0.6400 0.3300\} gxy \{0.2100 0.7100\} bxy \{0.1500 0.0600\} wxy \{0.3127 0.329\} src_colorspace_name \{AdobeRGB\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/AdobeWideGamutRGB "knobs this \{rxy \{0.7347 0.2653\} gxy \{0.1152 0.8264\} bxy \{0.1566 0.0177\} wxy \{0.3457 0.3585\} src_colorspace_name \{AdobeWideGamutRGB\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/ROMM "knobs this \{rxy \{7.34700000e-01 2.65300000e-01\} gxy \{1.59600000e-01 8.40400000e-01\} bxy \{3.66000000e-02 1.00000000e-04\} wxy \{0.3457 0.3585\} src_colorspace_name \{ROMM\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/RIMM "knobs this \{rxy \{7.34700000e-01 2.65300000e-01\} gxy \{1.59600000e-01 8.40400000e-01\} bxy \{3.66000000e-02 1.00000000e-04\} wxy \{0.3457 0.3585\} src_colorspace_name \{RIMM\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/ERIMM "knobs this \{rxy \{7.34700000e-01 2.65300000e-01\} gxy \{1.59600000e-01 8.40400000e-01\} bxy \{3.66000000e-02 1.00000000e-04\} wxy \{0.3457 0.3585\} src_colorspace_name \{ERIMM\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/ProPhotoRGB "knobs this \{rxy \{0.734699 0.265301\} gxy \{0.159597 0.840403\} bxy \{0.036598 0.000105\} wxy \{0.345704 0.358540\} src_colorspace_name \{ProPhotoRGB\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/RusselRGB "knobs this \{rxy \{0.6900 0.3100\} gxy \{0.1800 0.7700\} bxy \{0.1000 0.0200\} wxy \{0.33243 0.34744\} src_colorspace_name \{RusselRGB\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/SharpRGB "knobs this \{rxy \{0.6898 0.3206\} gxy \{0.0736 0.9003\} bxy \{0.1166 0.0374\} wxy \{0.33333333 0.33333333\} src_colorspace_name \{SharpRGB\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/AppleRGB "knobs this \{rxy \{0.6250 0.3400\} gxy \{0.2800 0.5950\} bxy \{0.1550 0.0700\} wxy \{0.3127 0.329\} src_colorspace_name \{AppleRGB\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/BestRGB "knobs this \{rxy \{0.735191637630662 0.264808362369338\} gxy \{0.215336134453781 0.774159663865546\} bxy \{0.130122950819672 0.034836065573770\} wxy \{0.3457 0.3585\} src_colorspace_name \{BestRGB\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" "gamut/XYZ D60" "knobs this \{rxy \{1 0\} gxy \{0 1\} bxy \{0 0\} wxy \{0.32162624 0.337737\} src_colorspace_name \{XYZ D60\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" "gamut/XYZ D65" "knobs this \{rxy \{1 0\} gxy \{0 1\} bxy \{0 0\} wxy \{0.3127 0.329\} src_colorspace_name \{XYZ D65\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" "gamut/XYZ E" "knobs this \{rxy \{1 0\} gxy \{0 1\} bxy \{0 0\} wxy \{0.333333333333 0.333333333333\} src_colorspace_name \{XYZ E\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()"}}
addUserKnob {12 rxy l r t "Red xy chromaticity coordinates in CIE 1931 colorspace."}
rxy {1 0}
addUserKnob {12 gxy l g t "Green xy chromaticity coordinates in CIE 1931 colorspace."}
gxy {0 1}
addUserKnob {12 bxy l b t "Blue xy chromaticity coordinates in CIE 1931 colorspace."}
addUserKnob {12 wxy l w t "Whitepoint xy chromaticity coordinates in CIE 1931 colorspace."}
wxy {0.3127 0.329}
addUserKnob {1 src_colorspace_name l src +DISABLED}
src_colorspace_name "XYZ D65"
addUserKnob {26 ""}
addUserKnob {26 dst_gamut_chromaticities_label l " " T "DST Gamut Chromaticity Coordinates"}
addUserKnob {35 dst_presets l preset M {gamut/ACES "knobs this \{drxy \{0.73470 0.26530\} dgxy \{0.00000 1.00000\} dbxy \{0.00010 -0.07700\} dwxy \{0.32168 0.33767\} dst_colorspace_name \{ACES\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/ACEScg "knobs this \{drxy \{0.713 0.293\} dgxy \{0.165 0.830\} dbxy \{0.128 0.044\} dwxy \{0.32168 0.33767\} dst_colorspace_name \{ACEScg\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" "gamut/Filmlight E-Gamut" "knobs this \{ drxy \{0.8 0.3177\} dgxy \{0.18 0.9\} dbxy \{0.065 -0.0805\} dwxy \{0.3127 0.329\} dst_colorspace_name \{Filmlight E-Gamut\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" "gamut/DaVinci WG" "knobs this \{ drxy \{0.8 0.3130\} dgxy \{0.1682 0.9877\} dbxy \{0.079 -0.1155\} dwxy \{0.3127 0.329\} dst_colorspace_name \{DaVinci WG\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/Rec709 "knobs this \{drxy \{0.64000 0.33000\} dgxy \{0.30000 0.60000\} dbxy \{0.15000 0.06000\} dwxy \{0.3127 0.329\} dst_colorspace_name \{Rec709\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/Rec2020 "knobs this \{drxy \{0.70800 0.29200\} dgxy \{0.17000 0.79700\} dbxy \{0.13100 0.04600\} dwxy \{0.3127 0.329\} dst_colorspace_name \{Rec2020\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/P3D60 "knobs this \{drxy \{0.68000 0.32000\} dgxy \{0.26500 0.69000\} dbxy \{0.15000 0.06000\} dwxy \{0.32168 0.33767\} dst_colorspace_name \{P3D60\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/P3D65 "knobs this \{drxy \{0.68000 0.32000\} dgxy \{0.26500 0.69000\} dbxy \{0.15000 0.06000\} dwxy \{0.3127 0.329\} dst_colorspace_name \{P3D65\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/P3DCI "knobs this \{drxy \{0.68000 0.32000\} dgxy \{0.26500 0.69000\} dbxy \{0.15000 0.06000\} dwxy \{0.314 0.351\} dst_colorspace_name \{P3DCI\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" "gamut/Arri AlexaWideGamut" "knobs this \{drxy \{0.68400 0.31300\} dgxy \{0.22100 0.84800\} dbxy \{0.08610 -0.10200\} dwxy \{0.3127 0.329\} dst_colorspace_name \{Arri AlexaWideGamut\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/REDDRAGONcolor "knobs this \{drxy \{0.753044222785 0.327830576682\} dgxy \{0.299570228481 0.700699321956\} dbxy \{0.079642066735 -0.0549379510888\} dwxy \{0.321683187724 0.337673316035\} dst_colorspace_name \{REDDRAGONcolor\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/REDDRAGONcolor2 "knobs this \{drxy \{0.753044491143 0.327831029513\} dgxy \{0.299570490451 0.700699415614\} dbxy \{0.145011584278 0.0510971250879\} dwxy \{0.321683210353 0.337673610062\} dst_colorspace_name \{REDDRAGONcolor2\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/REDcolor "knobs this \{drxy \{0.699747001291 0.329046930313\} dgxy \{0.304264039024 0.623641145129\} dbxy \{0.134913961296 0.0347174412813\} dwxy \{0.321683289449 0.337673447208\} dst_colorspace_name \{REDcolor\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/REDcolor2 "knobs this \{drxy \{0.878682510476 0.32496400741\} dgxy \{0.300888714367 0.679054755791\} dbxy \{0.0953986946056 -0.0293793268343\} dwxy \{0.321683289449 0.337673447208\} dst_colorspace_name \{REDcolor2\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/REDcolor3 "knobs this \{drxy \{0.701181035906 0.329014155583\} dgxy \{0.300600304652 0.683788834269\} dbxy \{0.108154455624 -0.00868817578666\} dwxy \{0.321683210353 0.337673610062\} dst_colorspace_name \{REDcolor3\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/REDcolor4 "knobs this \{drxy \{0.701180591892 0.329013699116\} dgxy \{0.300600395529 0.683788824257\} dbxy \{0.145331946229 0.0516168036226\} dwxy \{0.321683289449 0.337673447208\} dst_colorspace_name \{REDcolor4\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/REDWideGamutRGB "knobs this \{drxy \{0.780308 0.304253\} dgxy \{0.121595 1.493994\} dbxy \{0.095612 -0.084589\} dwxy \{0.3127 0.329\} dst_colorspace_name \{REDWideGamutRGB\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" "gamut/GoPro Protune Native" "knobs this \{drxy \{0.69848046 0.19302645\} dgxy \{0.32955538 1.02459662\} dbxy \{0.10844263 -0.03467857\} dwxy \{0.3127 0.329\} dst_colorspace_name \{GoPro Protune Native\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/CanonCinemaGamut "knobs this \{drxy \{0.74 0.27\} dgxy \{0.17 1.14\} dbxy \{0.08 -0.1\} dwxy \{0.3127 0.329\} dst_colorspace_name \{CanonCinemaGamut\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/SonySGamut "knobs this \{drxy \{0.73 0.28\} dgxy \{0.14 0.855\} dbxy \{0.1 -0.05\} dwxy \{0.3127 0.329\} dst_colorspace_name \{SonySGamut\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/SonySGamut3Cine "knobs this \{drxy \{0.766 0.275\} dgxy \{0.225 0.8\} dbxy \{0.089 -0.087\} dwxy \{0.3127 0.329\} dst_colorspace_name \{SonySGamut3Cine\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/PanasonicVGamut "knobs this \{drxy \{0.730 0.280\} dgxy \{0.165 0.840\} dbxy \{0.100 -0.030\} dwxy \{0.3127 0.329\} dst_colorspace_name \{PanasonicVGamut\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" "gamut/DJI D-Gamut" "knobs this \{drxy \{0.71 0.31\} dgxy \{0.21 0.88\} dbxy \{0.09 -0.08\} dwxy \{0.3127 0.329\} dst_colorspace_name \{DJI D-Gamut\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" "gamut/Fujifilm F-Gamut" "knobs this \{drxy \{0.70800 0.29200\} dgxy \{0.17000 0.79700\} dbxy \{0.13100 0.04600\} dwxy \{0.3127 0.329\} dst_colorspace_name \{Fujifilm F-Gamut\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/BMDFilmV1 "knobs this \{drxy \{0.9173 0.2502\} dgxy \{0.2833 1.7072\} dbxy \{0.0856 -0.0708\} dwxy \{0.3135 0.3305\} dst_colorspace_name \{BMDFilmV1\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/BMD4kFilmV1 "knobs this \{drxy \{0.7422 0.2859\} dgxy \{0.4140 1.3035\} dbxy \{0.0342 -0.0833\} dwxy \{0.3135 0.3305\} dst_colorspace_name \{BMD4kFilmV1\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/BMD4kFilmV3 "knobs this \{drxy \{1.0625 0.3948\} dgxy \{0.3689 0.7775\} dbxy \{0.0956 -0.0332\} dwxy \{0.3135 0.3305\} dst_colorspace_name \{BMD4kFilmV3\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/BMD46kFilmV1 "knobs this \{drxy \{0.9175 0.2983\} dgxy \{0.2983 1.2835\} dbxy \{0.0756 -0.0860\} dwxy \{0.3127 0.329\} dst_colorspace_name \{BMD46kFilmV1\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/BMD46kFilmV3 "knobs this \{drxy \{0.8608 0.3689\} dgxy \{0.3282 0.6156\} dbxy \{0.0783 -0.0233\} dwxy \{0.3127 0.329\} dst_colorspace_name \{BMD46kFilmV3\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/BMDWideGamutV4 "knobs this \{drxy \{0.7177 0.3171\} dgxy \{0.2280 0.8616\} dbxy \{0.1006 -0.0820\} dwxy \{0.3127 0.329\} dst_colorspace_name \{BMDWideGamutV4\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" "gamut/AdobeRGB\t" "knobs this \{drxy \{0.6400 0.3300\} dgxy \{0.2100 0.7100\} dbxy \{0.1500 0.0600\} dwxy \{0.3127 0.329\} dst_colorspace_name \{AdobeRGB\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/AdobeWideGamutRGB "knobs this \{drxy \{0.7347 0.2653\} dgxy \{0.1152 0.8264\} dbxy \{0.1566 0.0177\} dwxy \{0.3457 0.3585\} dst_colorspace_name \{AdobeWideGamutRGB\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/ROMM "knobs this \{drxy \{7.34700000e-01 2.65300000e-01\} dgxy \{1.59600000e-01 8.40400000e-01\} dbxy \{3.66000000e-02 1.00000000e-04\} dwxy \{0.3457 0.3585\} dst_colorspace_name \{ROMM\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/RIMM "knobs this \{drxy \{7.34700000e-01 2.65300000e-01\} dgxy \{1.59600000e-01 8.40400000e-01\} dbxy \{3.66000000e-02 1.00000000e-04\} dwxy \{0.3457 0.3585\} dst_colorspace_name \{RIMM\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/ERIMM "knobs this \{drxy \{7.34700000e-01 2.65300000e-01\} dgxy \{1.59600000e-01 8.40400000e-01\} dbxy \{3.66000000e-02 1.00000000e-04\} dwxy \{0.3457 0.3585\} dst_colorspace_name \{ERIMM\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/ProPhotoRGB "knobs this \{drxy \{0.734699 0.265301\} dgxy \{0.159597 0.840403\} dbxy \{0.036598 0.000105\} dwxy \{0.345704 0.358540\} dst_colorspace_name \{ProPhotoRGB\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/RusselRGB "knobs this \{drxy \{0.6900 0.3100\} dgxy \{0.1800 0.7700\} dbxy \{0.1000 0.0200\} dwxy \{0.33243 0.34744\} dst_colorspace_name \{RusselRGB\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/SharpRGB "knobs this \{drxy \{0.6898 0.3206\} dgxy \{0.0736 0.9003\} dbxy \{0.1166 0.0374\} dwxy \{0.33333333 0.33333333\} dst_colorspace_name \{SharpRGB\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/AppleRGB "knobs this \{drxy \{0.6250 0.3400\} dgxy \{0.2800 0.5950\} dbxy \{0.1550 0.0700\} dwxy \{0.3127 0.329\} dst_colorspace_name \{AppleRGB\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" gamut/BestRGB "knobs this \{drxy \{0.735191637630662 0.264808362369338\} dgxy \{0.215336134453781 0.774159663865546\} dbxy \{0.130122950819672 0.034836065573770\} dwxy \{0.3457 0.3585\} dst_colorspace_name \{BestRGB\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" "gamut/XYZ D60" "knobs this \{drxy \{1 0\} dgxy \{0 1\} dbxy \{0 0\} dwxy \{0.32162624 0.337737\} dst_colorspace_name \{XYZ D60\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" "gamut/XYZ D65" "knobs this \{drxy \{1 0\} dgxy \{0 1\} dbxy \{0 0\} dwxy \{0.3127 0.329\} dst_colorspace_name \{XYZ D65\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()" "gamut/XYZ E" "knobs this \{drxy \{1 0\} dgxy \{0 1\} dbxy \{0 0\} dwxy \{0.333333333333 0.333333333333\} dst_colorspace_name \{XYZ E\}\}; python -exec nuke.thisNode().knob('calculate_matrix').execute()"}}
addUserKnob {12 drxy l r t "Red xy chromaticity coordinates in CIE 1931 colorspace."}
drxy {0.713 0.293}
addUserKnob {12 dgxy l g t "Green xy chromaticity coordinates in CIE 1931 colorspace."}
dgxy {0.165 0.83}
addUserKnob {12 dbxy l b t "Blue xy chromaticity coordinates in CIE 1931 colorspace."}
dbxy {0.128 0.044}
addUserKnob {12 dwxy l w t "Whitepoint xy chromaticity coordinates in CIE 1931 colorspace."}
dwxy {0.32168 0.33767}
addUserKnob {1 dst_colorspace_name l dst +DISABLED}
dst_colorspace_name ACEScg
addUserKnob {26 ""}
addUserKnob {26 chromatic_adaptation_label l " " T "Chromatic Adaptation"}
addUserKnob {4 cat_method l method t "Choose the chromatic adaptation method for adapting whitepoint." M {cat02 bradford cmccat2000 xyz_scaling none "" fairchild bianco cat02_brill_cat bianco_pc cmccat97 sharp von_kries "" ""}}
addUserKnob {26 ""}
addUserKnob {6 invert t "Invert direction of matrix." +STARTLINE}
addUserKnob {22 calculate_matrix l "Calculate Matrix" t "Calculate 3x3 matrix based on the specified colorspace chromaticities." T "import nuke\nfloat3 = nuke.math.Vector3\nfloat3x3 = nuke.math.Matrix3\n\n\ndef transpose(m):\n # Transpose (swap rows and columns) of a nuke.math.Matrix3\n return float3x3(m\[0], m\[1], m\[2], m\[3], m\[4], m\[5], m\[6], m\[7], m\[8])\n\ndef set_matrix(m):\n # Populate a nuke.math.Matrix3 with a 3x3 python list (either 3x3 or 1x9)\n if len(m) is 3 and \[isinstance(r, list) for r in m]:\n m = sum(m, \[])\n o = float3x3(m\[0], m\[3], m\[6], m\[1], m\[4], m\[7], m\[2], m\[5], m\[8])\n return o\n\ndef diag(v):\n # Create a diagonal 3x3 matrix from a 1x3 vector\n return float3x3(v\[0], 0, 0, 0, v\[1], 0, 0, 0, v\[2])\n\n\ndef xyY_to_XYZ(xyY):\n # Convert an xyY chromaticity value to XYZ\n x = xyY\[0]\n y = xyY\[1]\n if len(xyY) is 2:\n # Assume an xy chromaticity coordinate, use default Y\n Y = 1.0\n else:\n Y = xyY\[2]\n XYZ = float3(x * Y / max(y, 1e-10), Y, (1.0 - x - y) * Y / max(y, 1e-10))\n return XYZ\n\ndef xy_to_xyz(xy):\n return float3(xy\[0], xy\[1], 1.0 - xy\[0] - xy\[1])\n\n\ndef calc_cat(src_xy, dst_xy, cat_method='cat02'):\n # Calculate Von Kries chromatic adaptation transform matrix,\n # given a source and destination illuminant and CAT method.\n # Illuminant is given as xy chromaticity coordinates. \n # CAT method is the name of one of the below cone response matrices.\n\n crmtxs = \{\n \"bianco\": \[\[0.8752, 0.2787, -0.1539], \[-0.8904, 1.8709, 0.0195], \[-0.0061, 0.0162, 0.9899]],\n \"bianco_pc\": \[\[0.6489, 0.3915, -0.0404], \[-0.3775, 1.3055, 0.072], \[-0.0271, 0.0888, 0.9383]],\n \"bradford\": \[\[0.8951, 0.2664, -0.1614], \[-0.7502, 1.7135, 0.0367], \[0.0389, -0.0685, 1.0296]],\n \"cat02\": \[\[0.7328, 0.4296, -0.1624], \[-0.7036, 1.6975, 0.0061], \[0.003, 0.0136, 0.9834]],\n \"cat02_brill_cat\": \[\[0.7328, 0.4296, -0.1624], \[-0.7036, 1.6975, 0.0061], \[0.0, 0.0, 1.0]],\n \"cmccat2000\": \[\[0.7982, 0.3389, -0.1371], \[-0.5918, 1.5512, 0.0406], \[0.0008, 0.0239, 0.9753]],\n \"cmccat97\": \[\[0.8951, -0.7502, 0.0389], \[0.2664, 1.7135, 0.0685], \[-0.1614, 0.0367, 1.0296]],\n \"fairchild\": \[\[0.8562, 0.3372, -0.1934], \[-0.836, 1.8327, 0.0033], \[0.0357, -0.0469, 1.0112]],\n \"sharp\": \[\[1.2694, -0.0988, -0.1706], \[-0.8364, 1.8006, 0.0357], \[0.0297, -0.0315, 1.0018]],\n \"von_kries\": \[\[0.40024, 0.7076, -0.08081], \[-0.2263, 1.16532, 0.0457], \[0.0, 0.0, 0.91822]],\n \"xyz_scaling\": \[\[1.0, 0.0, 0.0], \[0.0, 1.0, 0.0], \[0.0, 0.0, 1.0]]\n \}\n \n cat_method = cat_method.lower().replace(' ', '_')\n # Return identity matrix if no match\n if cat_method not in crmtxs.keys():\n m = float3x3()\n m.makeIdentity()\n return m\n \n crmtx = set_matrix(crmtxs\[cat_method])\n\n # Get XYZ values from xy chromaticity coordinates\n src_XYZ = xyY_to_XYZ(src_xy)\n dst_XYZ = xyY_to_XYZ(dst_xy)\n\n # Calculate source and destination cone response matrices\n src_crmtx = transpose(crmtx) * src_XYZ\n dst_crmtx = transpose(crmtx) * dst_XYZ\n\n von_kries_matrix = diag(dst_crmtx / src_crmtx)\n cat_mtx = float3x3()\n cat_mtx = crmtx * (von_kries_matrix * crmtx.inverse())\n\n return cat_mtx\n\n\ndef calc_npm(chr):\n # Calculate a normalized primaries matrix from the specified chromaticity coordinates,\n # given 2x4 list of xy chromaticity coordinates: red, green, blue, and white\n rxyz, gxyz, bxyz, wxyz = map(xy_to_xyz, chr)\n wy = chr\[3]\[1]\n wxyz = float3(wxyz.x / wy, wxyz.y / wy, wxyz.z / wy)\n np_mtx = float3x3(rxyz\[0], gxyz\[0], bxyz\[0],\n rxyz\[1], gxyz\[1], bxyz\[1],\n rxyz\[2], gxyz\[2], bxyz\[2])\n wscale = np_mtx.inverse() * wxyz \n np_mtx = transpose(np_mtx * diag(wscale))\n return np_mtx\n\ndef is_xyz(c):\n # return true if primaries are XYZ\n return c\[:3] == \[\[1.0, 0.0], \[0.0, 1.0], \[0.0, 0.0]]\n\n\ndef start(node):\n identity_mtx = float3x3()\n identity_mtx.makeIdentity()\n\n invert = node\['invert'].getValue()\n cat_method = node\['cat_method'].value()\n\n src_chr = \[node\[k].getValue() for k in \['rxy', 'gxy', 'bxy', 'wxy']]\n dst_chr = \[node\[k].getValue() for k in \['drxy', 'dgxy', 'dbxy', 'dwxy']]\n\n # bypass double scale if source or destination is XYZ\n if is_xyz(src_chr):\n rgb_to_xyz = identity_mtx\n else:\n rgb_to_xyz = calc_npm(src_chr)\n \n if is_xyz(dst_chr):\n xyz_to_rgb = identity_mtx\n else:\n xyz_to_rgb = calc_npm(dst_chr).inverse()\n\n if src_chr\[3] == dst_chr\[3]:\n cat_mtx = identity_mtx\n else:\n cat_mtx = calc_cat(src_chr\[3], dst_chr\[3], cat_method)\n\n mtx = (rgb_to_xyz * cat_mtx) * xyz_to_rgb\n\n if invert:\n mtx = mtx.inverse()\n\n node\['matrix'].setValue(mtx)\n\n\nif __name__=='__main__':\n start(nuke.thisNode())" +STARTLINE}
addUserKnob {22 create_matrix_node l "Create Matrix" t "Create ColorMatrix node with the current values." -STARTLINE T "node = nuke.thisNode()\nnode\['calculate_matrix'].execute()\nnuke.root().begin()\n_ = \[n.setSelected(False) for n in nuke.allNodes(recurseGroups=True)]\nm = nuke.createNode('ColorMatrix')\nm\['matrix'].setValue(node\['matrix'].getValue())\nm.setXYpos(node.xpos()-120, node.ypos())\nsrc_name = node\['src_colorspace_name'].getValue()\ndst_name = node\['dst_colorspace_name'].getValue()\nif node\['invert'].getValue():\n label = '\{1\} to \{0\}'.format(src_name, dst_name)\nelse:\n label = '\{0\} to \{1\}'.format(src_name, dst_name)\nm\['label'].setValue(label)"}
addUserKnob {41 matrix T ColorMatrix.matrix}
addUserKnob {22 clear l Clear T "n = nuke.thisNode()\nn\['matrix'].setValue(\[1,0,0,0,1,0,0,0,1])\nn\['label'].setValue('')" +STARTLINE}
addUserKnob {22 show_matrix l Show t "Show matrix values in a popup window for copying." T "node = nuke.thisNode()\nshow_4x4 = node\['show_matrix_4x4'].getValue()\nshow_commas = node\['show_matrix_commas'].getValue()\n\nif show_commas:\n sep = ', '\nelse:\n sep = ' '\n\nmtx = \[format(i, '.8f') for i in node\['matrix'].getValue()]\n\nif show_4x4:\n z = \['0']\n mtx = mtx\[0:3] + z + mtx\[3:6] + z + mtx\[6:9] + z*4 + \['1']\n\nnuke.message(sep.join(mtx))" +STARTLINE}
addUserKnob {6 show_matrix_4x4 l "show 4x4" t "present values in a 4x4 matrix (useful for ocio)" -STARTLINE}
addUserKnob {6 show_matrix_commas l "show comma sep" t "show matrix comma separated." -STARTLINE}
addUserKnob {22 save_spimtx l "Save spimtx" T "# inspired by ColorMatrixPlus by hpd\ndef write_spimtx(mtx_node, spimtx_file):\n mtx_vals = mtx_node\['matrix'].getValue()\n with open(spimtx_file, \"w\") as f:\n f.write( \"%3.6f %3.6f %3.6f 0.0\\n\" % (\n mtx_vals\[0], mtx_vals\[1], mtx_vals\[2]) )\n f.write( \"%3.6f %3.6f %3.6f 0.0\\n\" % (\n mtx_vals\[3], mtx_vals\[4], mtx_vals\[5]) )\n f.write( \"%3.6f %3.6f %3.6f 0.0\\n\" % (\n mtx_vals\[6], mtx_vals\[7], mtx_vals\[8]) )\n\nnode = nuke.thisNode()\nfilepath = nuke.getFilename('Save Matrix', '*.spimtx')\n\nif filepath:\n if not filepath.endswith('.spimtx'):\n filepath = filepath + '.spimtx'\n write_spimtx(node, filepath)" +STARTLINE}
addUserKnob {22 load_spimtx l "Load spimtx" -STARTLINE T "# Inspired by ColorMatrixPlus by hpd\ndef load_spimtx(spimtx, mtx_node):\n with open( spimtx, 'r') as file:\n lines = file.readlines()\n matrix_values = list()\n for line in lines:\n matrix_values.extend( map(float, line.strip().split(' ')\[0:3]) )\n mtx_node\['matrix'].setValue(matrix_values)\n\nspimtx = nuke.getFilename('Load SPIMTX', '*.spimtx')\nif spimtx:\n load_spimtx( spimtx, nuke.thisNode() )\n"}
}
Input {
inputs 0
name Input
xpos -40
ypos 206
}
ColorMatrix {
matrix {
{1.658854365 -0.3118569255 -0.2431560308}
{-0.662283361 1.612200022 0.01585912518}
{0.01148056798 -0.009236329235 0.9166865349}
}
name ColorMatrix
xpos -40
ypos 254
}
Output {
name Output
xpos -40
ypos 302
}
end_group
Dot {
name Dot67
note_font "Helvetica Bold"
note_font_size 24
note_font_color 0xff
selected true
xpos 1314
ypos -2946
}
Group {
inputs 0
name HueSwatchesTwentyFour21
note_font Helvetica
selected true
xpos 1390
ypos -3123
postage_stamp true
addUserKnob {20 User}
addUserKnob {41 saturation T Saturation4.saturation}
addUserKnob {3 patch_size l "patch size" t "size of each square patch"}
patch_size 256
addUserKnob {7 sat_samples l "sat samples" t "number of steps on the saturation ramp" R 0 256}
sat_samples 1024
}
Group {
inputs 0
name Swatch25
label "\[value value]"
note_font Helvetica
xpos 1160
ypos -698
postage_stamp true
addUserKnob {20 User}
addUserKnob {41 value l color T Multiply17.value}
addUserKnob {3 size}
size {{parent.patch_size}}
}
Constant {
inputs 0
format "512 512 0 0 512 512 1 square_512"
name Constant13
note_font Helvetica
xpos 1155
ypos 666
postage_stamp false
}
Reformat {
type "to box"
box_width {{parent.size}}
name Reformat1
note_font Helvetica
xpos 1155
ypos 690
}
Expression {
channel0 rgba
expr0 x/width
name Expression14
note_font Helvetica
xpos 1155
ypos 714
}
Multiply {
channels rgba
value {0.25 0 1 1}
name Multiply17
note_font Helvetica
xpos 1155
ypos 754
}
Expression {
channel0 {none none none rgba.alpha}
expr0 y/height
name Expression15
note_font Helvetica
xpos 1155
ypos 785
}
Output {
name Output1
xpos 1155
ypos 891
}
end_group
Group {
inputs 0
name Swatch26
label "\[value value]"
note_font Helvetica
xpos 1040
ypos -698
postage_stamp true
addUserKnob {20 User}
addUserKnob {41 value l color T Multiply17.value}
addUserKnob {3 size}
size {{parent.patch_size}}
}
Constant {
inputs 0
format "512 512 0 0 512 512 1 square_512"
name Constant13
note_font Helvetica
xpos 1155
ypos 666
postage_stamp false
}
Reformat {
type "to box"
box_width {{parent.size}}
name Reformat1
note_font Helvetica
xpos 1155
ypos 690
}
Expression {
channel0 rgba
expr0 x/width
name Expression14
note_font Helvetica
xpos 1155
ypos 714
}
Multiply {
channels rgba
value {0.5 0 1 1}
name Multiply17
note_font Helvetica
xpos 1155
ypos 754
}
Expression {
channel0 {none none none rgba.alpha}
expr0 y/height
name Expression15
note_font Helvetica
xpos 1155
ypos 785
}
Output {
name Output1
xpos 1155
ypos 891
}
end_group
Group {
inputs 0
name Swatch27
label "\[value value]"
note_font Helvetica
xpos 920
ypos -698
postage_stamp true
addUserKnob {20 User}
addUserKnob {41 value l color T Multiply17.value}
addUserKnob {3 size}
size {{parent.patch_size}}
}
Constant {
inputs 0
format "512 512 0 0 512 512 1 square_512"
name Constant13
note_font Helvetica
xpos 1155
ypos 666
postage_stamp false
}
Reformat {
type "to box"
box_width {{parent.size}}
name Reformat1
note_font Helvetica
xpos 1155
ypos 690
}
Expression {
channel0 rgba
expr0 x/width
name Expression14
note_font Helvetica
xpos 1155
ypos 714
}
Multiply {
channels rgba
value {0.75 0 1 1}
name Multiply17
note_font Helvetica
xpos 1155
ypos 754
}
Expression {
channel0 {none none none rgba.alpha}
expr0 y/height
name Expression15
note_font Helvetica
xpos 1155
ypos 785
}
Output {
name Output1
xpos 1155
ypos 891
}
end_group
Group {
inputs 0
name Swatch28
label "\[value value]"
note_font Helvetica
xpos 800
ypos -698
postage_stamp true
addUserKnob {20 User}
addUserKnob {41 value l color T Multiply17.value}
addUserKnob {3 size}
size {{parent.patch_size}}
}
Constant {
inputs 0
format "512 512 0 0 512 512 1 square_512"
name Constant13
note_font Helvetica
xpos 1155
ypos 666
postage_stamp false
}
Reformat {
type "to box"
box_width {{parent.size}}
name Reformat1
note_font Helvetica
xpos 1155
ypos 690
}
Expression {
channel0 rgba
expr0 x/width
name Expression14
note_font Helvetica
xpos 1155
ypos 714
}
Multiply {
channels rgba
value {1 0 1 1}
name Multiply17
note_font Helvetica
xpos 1155
ypos 754
}
Expression {
channel0 {none none none rgba.alpha}
expr0 y/height
name Expression15
note_font Helvetica
xpos 1155
ypos 785
}
Output {
name Output1
xpos 1155
ypos 891
}
end_group
Group {
inputs 0
name Swatch29
label "\[value value]"
note_font Helvetica
xpos 680
ypos -698
postage_stamp true
addUserKnob {20 User}
addUserKnob {41 value l color T Multiply17.value}
addUserKnob {3 size}
size {{parent.patch_size}}
}
Constant {
inputs 0
format "512 512 0 0 512 512 1 square_512"
name Constant13
note_font Helvetica
xpos 1155
ypos 666
postage_stamp false
}
Reformat {
type "to box"
box_width {{parent.size}}
name Reformat1
note_font Helvetica
xpos 1155
ypos 690
}
Expression {
channel0 rgba
expr0 x/width
name Expression14
note_font Helvetica
xpos 1155
ypos 714
}
Multiply {
channels rgba
value {1 0 0.75 1}
name Multiply17
note_font Helvetica
xpos 1155
ypos 754
}
Expression {
channel0 {none none none rgba.alpha}
expr0 y/height
name Expression15
note_font Helvetica
xpos 1155
ypos 785
}
Output {
name Output1
xpos 1155
ypos 891
}
end_group
Group {
inputs 0
name Swatch30
label "\[value value]"
note_font Helvetica
xpos 560
ypos -698
postage_stamp true
addUserKnob {20 User}
addUserKnob {41 value l color T Multiply17.value}
addUserKnob {3 size}
size {{parent.patch_size}}
}
Constant {
inputs 0
format "512 512 0 0 512 512 1 square_512"
name Constant13
note_font Helvetica
xpos 1155
ypos 666
postage_stamp false
}
Reformat {
type "to box"
box_width {{parent.size}}
name Reformat1
note_font Helvetica
xpos 1155
ypos 690
}
Expression {
channel0 rgba
expr0 x/width
name Expression14
note_font Helvetica
xpos 1155
ypos 714
}
Multiply {
channels rgba
value {1 0 0.5 1}
name Multiply17
note_font Helvetica
xpos 1155
ypos 754
}
Expression {
channel0 {none none none rgba.alpha}
expr0 y/height
name Expression15
note_font Helvetica
xpos 1155
ypos 785
}
Output {
name Output1
xpos 1155
ypos 891
}
end_group
Group {
inputs 0
name Swatch31
label "\[value value]"
note_font Helvetica
xpos 440
ypos -698
postage_stamp true
addUserKnob {20 User}
addUserKnob {41 value l color T Multiply17.value}
addUserKnob {3 size}
size {{parent.patch_size}}
}
Constant {
inputs 0
format "512 512 0 0 512 512 1 square_512"
name Constant13
note_font Helvetica
xpos 1155
ypos 666
postage_stamp false
}
Reformat {
type "to box"
box_width {{parent.size}}
name Reformat1
note_font Helvetica
xpos 1155
ypos 690
}
Expression {
channel0 rgba
expr0 x/width
name Expression14
note_font Helvetica
xpos 1155
ypos 714
}
Multiply {
channels rgba
value {1 0 0.25 1}
name Multiply17
note_font Helvetica
xpos 1155
ypos 754
}
Expression {
channel0 {none none none rgba.alpha}
expr0 y/height
name Expression15
note_font Helvetica
xpos 1155
ypos 785
}
Output {
name Output1
xpos 1155
ypos 891
}
end_group
Group {
inputs 0
name Swatch32
label "\[value value]"
note_font Helvetica
xpos 440
ypos -698
postage_stamp true
addUserKnob {20 User}
addUserKnob {41 value l color T Multiply17.value}
addUserKnob {3 size}
size {{parent.patch_size}}
}
Constant {
inputs 0
format "512 512 0 0 512 512 1 square_512"
name Constant13
note_font Helvetica
xpos 1155
ypos 666
postage_stamp false
}
Reformat {
type "to box"
box_width {{parent.size}}
name Reformat1
note_font Helvetica
xpos 1155
ypos 690
}
Expression {
channel0 rgba
expr0 x/width
name Expression14
note_font Helvetica
xpos 1155
ypos 714
}
Multiply {
channels rgba
value {1 0 0 1}
name Multiply17
note_font Helvetica
xpos 1155
ypos 754
}
Expression {
channel0 {none none none rgba.alpha}
expr0 y/height
name Expression15
note_font Helvetica
xpos 1155
ypos 785
}
Output {
name Output1
xpos 1155
ypos 891
}
end_group
Group {
inputs 0
name Swatch33
label "\[value value]"
note_font Helvetica
xpos 320
ypos -698
postage_stamp true
addUserKnob {20 User}
addUserKnob {41 value l color T Multiply17.value}
addUserKnob {3 size}
size {{parent.patch_size}}
}
Constant {
inputs 0
format "512 512 0 0 512 512 1 square_512"
name Constant13
note_font Helvetica
xpos 1155
ypos 666
postage_stamp false
}
Reformat {
type "to box"
box_width {{parent.size}}
name Reformat1
note_font Helvetica
xpos 1155
ypos 690
}
Expression {
channel0 rgba
expr0 x/width
name Expression14
note_font Helvetica
xpos 1155
ypos 714
}
Multiply {
channels rgba
value {1 0.25 0 1}
name Multiply17
note_font Helvetica
xpos 1155
ypos 754
}
Expression {
channel0 {none none none rgba.alpha}
expr0 y/height
name Expression15
note_font Helvetica
xpos 1155
ypos 785
}
Output {
name Output1
xpos 1155
ypos 891
}
end_group
Group {
inputs 0
name Swatch34
label "\[value value]"
note_font Helvetica
xpos 200
ypos -698
postage_stamp true
addUserKnob {20 User}
addUserKnob {41 value l color T Multiply17.value}
addUserKnob {3 size}
size {{parent.patch_size}}
}
Constant {
inputs 0
format "512 512 0 0 512 512 1 square_512"
name Constant13
note_font Helvetica
xpos 1155
ypos 666
postage_stamp false
}
Reformat {
type "to box"
box_width {{parent.size}}
name Reformat1
note_font Helvetica
xpos 1155
ypos 690
}
Expression {
channel0 rgba
expr0 x/width
name Expression14
note_font Helvetica
xpos 1155
ypos 714
}
Multiply {
channels rgba
value {1 0.5 0 1}
name Multiply17
note_font Helvetica
xpos 1155
ypos 754
}
Expression {
channel0 {none none none rgba.alpha}
expr0 y/height
name Expression15
note_font Helvetica
xpos 1155
ypos 785
}
Output {
name Output1
xpos 1155
ypos 891
}
end_group
Group {
inputs 0
name Swatch35
label "\[value value]"
note_font Helvetica
xpos 80
ypos -698
postage_stamp true
addUserKnob {20 User}
addUserKnob {41 value l color T Multiply17.value}
addUserKnob {3 size}
size {{parent.patch_size}}
}
Constant {
inputs 0
format "512 512 0 0 512 512 1 square_512"
name Constant13
note_font Helvetica
xpos 1155
ypos 666
postage_stamp false
}
Reformat {
type "to box"
box_width {{parent.size}}
name Reformat1
note_font Helvetica
xpos 1155
ypos 690
}
Expression {
channel0 rgba
expr0 x/width
name Expression14
note_font Helvetica
xpos 1155
ypos 714
}
Multiply {
channels rgba
value {1 0.75 0 1}
name Multiply17
note_font Helvetica
xpos 1155
ypos 754
}
Expression {
channel0 {none none none rgba.alpha}
expr0 y/height
name Expression15
note_font Helvetica
xpos 1155
ypos 785
}
Output {
name Output1
xpos 1155
ypos 891
}
end_group
Group {
inputs 0
name Swatch36
label "\[value value]"
note_font Helvetica
xpos -40
ypos -698
postage_stamp true
addUserKnob {20 User}
addUserKnob {41 value l color T Multiply17.value}
addUserKnob {3 size}
size {{parent.patch_size}}
}
Constant {
inputs 0
format "512 512 0 0 512 512 1 square_512"
name Constant13
note_font Helvetica
xpos 1155
ypos 666
postage_stamp false
}
Reformat {
type "to box"
box_width {{parent.size}}
name Reformat1
note_font Helvetica
xpos 1155
ypos 690
}
Expression {
channel0 rgba
expr0 x/width
name Expression14
note_font Helvetica
xpos 1155
ypos 714
}
Multiply {
channels rgba
value {1 1 0 1}
name Multiply17
note_font Helvetica
xpos 1155
ypos 754
}
Expression {
channel0 {none none none rgba.alpha}
expr0 y/height
name Expression15
note_font Helvetica
xpos 1155
ypos 785
}
Output {
name Output1
xpos 1155
ypos 891
}
end_group
Group {
inputs 0
name Swatch38
label "\[value value]"
note_font Helvetica
xpos -160
ypos -698
postage_stamp true
addUserKnob {20 User}
addUserKnob {41 value l color T Multiply17.value}
addUserKnob {3 size}
size {{parent.patch_size}}
}
Constant {
inputs 0
format "512 512 0 0 512 512 1 square_512"
name Constant13
note_font Helvetica
xpos 1155
ypos 666
postage_stamp false
}
Reformat {
type "to box"
box_width {{parent.size}}
name Reformat1
note_font Helvetica
xpos 1155
ypos 690
}
Expression {
channel0 rgba
expr0 x/width
name Expression14
note_font Helvetica
xpos 1155
ypos 714
}
Multiply {
channels rgba
value {0.75 1 0 1}
name Multiply17
note_font Helvetica
xpos 1155
ypos 754
}
Expression {
channel0 {none none none rgba.alpha}
expr0 y/height
name Expression15
note_font Helvetica
xpos 1155
ypos 785
}
Output {
name Output1
xpos 1155
ypos 891
}
end_group
Group {
inputs 0
name Swatch37
label "\[value value]"
note_font Helvetica
xpos -280
ypos -698
postage_stamp true
addUserKnob {20 User}
addUserKnob {41 value l color T Multiply17.value}
addUserKnob {3 size}
size {{parent.patch_size}}
}
Constant {
inputs 0
format "512 512 0 0 512 512 1 square_512"
name Constant13
note_font Helvetica
xpos 1155
ypos 666
postage_stamp false
}
Reformat {
type "to box"
box_width {{parent.size}}
name Reformat1
note_font Helvetica
xpos 1155
ypos 690
}
Expression {
channel0 rgba
expr0 x/width
name Expression14
note_font Helvetica
xpos 1155
ypos 714
}
Multiply {
channels rgba
value {0.5 1 0 1}
name Multiply17
note_font Helvetica
xpos 1155
ypos 754
}
Expression {
channel0 {none none none rgba.alpha}
expr0 y/height
name Expression15
note_font Helvetica
xpos 1155
ypos 785
}
Output {
name Output1
xpos 1155
ypos 891
}
end_group
Group {
inputs 0
name Swatch40
label "\[value value]"
note_font Helvetica
xpos -400
ypos -698
postage_stamp true
addUserKnob {20 User}
addUserKnob {41 value l color T Multiply17.value}
addUserKnob {3 size}
size {{parent.patch_size}}
}
Constant {
inputs 0
format "512 512 0 0 512 512 1 square_512"
name Constant13
note_font Helvetica
xpos 1155
ypos 666
postage_stamp false
}
Reformat {
type "to box"
box_width {{parent.size}}
name Reformat1
note_font Helvetica
xpos 1155
ypos 690
}
Expression {
channel0 rgba
expr0 x/width
name Expression14
note_font Helvetica
xpos 1155
ypos 714
}
Multiply {
channels rgba
value {0.25 1 0 1}
name Multiply17
note_font Helvetica
xpos 1155
ypos 754
}
Expression {
channel0 {none none none rgba.alpha}
expr0 y/height
name Expression15
note_font Helvetica
xpos 1155
ypos 785
}
Output {
name Output1
xpos 1155
ypos 891
}
end_group
Group {
inputs 0
name Swatch39
label "\[value value]"
note_font Helvetica
xpos -520
ypos -698
postage_stamp true
addUserKnob {20 User}
addUserKnob {41 value l color T Multiply17.value}
addUserKnob {3 size}
size {{parent.patch_size}}
}
Constant {
inputs 0
format "512 512 0 0 512 512 1 square_512"
name Constant13
note_font Helvetica
xpos 1155
ypos 666
postage_stamp false
}
Reformat {
type "to box"
box_width {{parent.size}}
name Reformat1
note_font Helvetica
xpos 1155
ypos 690
}
Expression {
channel0 rgba
expr0 x/width
name Expression14
note_font Helvetica
xpos 1155
ypos 714
}
Multiply {
channels rgba
value {0 1 0 1}
name Multiply17
note_font Helvetica
xpos 1155
ypos 754
}
Expression {
channel0 {none none none rgba.alpha}
expr0 y/height
name Expression15
note_font Helvetica
xpos 1155
ypos 785
}
Output {
name Output1
xpos 1155
ypos 891
}
end_group
Group {
inputs 0
name Swatch46
label "\[value value]"
note_font Helvetica
xpos -640
ypos -698
postage_stamp true
addUserKnob {20 User}
addUserKnob {41 value l color T Multiply17.value}
addUserKnob {3 size}
size {{parent.patch_size}}
}
Constant {
inputs 0
format "512 512 0 0 512 512 1 square_512"
name Constant13
note_font Helvetica
xpos 1155
ypos 666
postage_stamp false
}
Reformat {
type "to box"
box_width {{parent.size}}
name Reformat1
note_font Helvetica
xpos 1155
ypos 690
}
Expression {
channel0 rgba
expr0 x/width
name Expression14
note_font Helvetica
xpos 1155
ypos 714
}
Multiply {
channels rgba
value {0 1 0.25 1}
name Multiply17
note_font Helvetica
xpos 1155
ypos 754
}
Expression {
channel0 {none none none rgba.alpha}
expr0 y/height
name Expression15
note_font Helvetica
xpos 1155
ypos 785
}
Output {
name Output1
xpos 1155
ypos 891
}
end_group
Group {
inputs 0
name Swatch45
label "\[value value]"
note_font Helvetica
xpos -760
ypos -698
postage_stamp true
addUserKnob {20 User}
addUserKnob {41 value l color T Multiply17.value}
addUserKnob {3 size}
size {{parent.patch_size}}
}
Constant {
inputs 0
format "512 512 0 0 512 512 1 square_512"
name Constant13
note_font Helvetica
xpos 1155
ypos 666
postage_stamp false
}
Reformat {
type "to box"
box_width {{parent.size}}
name Reformat1
note_font Helvetica
xpos 1155
ypos 690
}
Expression {
channel0 rgba
expr0 x/width
name Expression14
note_font Helvetica
xpos 1155
ypos 714
}
Multiply {
channels rgba
value {0 1 0.5 1}
name Multiply17
note_font Helvetica
xpos 1155
ypos 754
}
Expression {
channel0 {none none none rgba.alpha}
expr0 y/height
name Expression15
note_font Helvetica
xpos 1155
ypos 785
}
Output {
name Output1
xpos 1155
ypos 891
}
end_group
Group {
inputs 0
name Swatch44
label "\[value value]"
note_font Helvetica
xpos -880
ypos -698
postage_stamp true
addUserKnob {20 User}
addUserKnob {41 value l color T Multiply17.value}
addUserKnob {3 size}
size {{parent.patch_size}}
}
Constant {
inputs 0
format "512 512 0 0 512 512 1 square_512"
name Constant13
note_font Helvetica
xpos 1155
ypos 666
postage_stamp false
}
Reformat {
type "to box"
box_width {{parent.size}}
name Reformat1
note_font Helvetica
xpos 1155
ypos 690
}
Expression {
channel0 rgba
expr0 x/width
name Expression14
note_font Helvetica
xpos 1155
ypos 714
}
Multiply {
channels rgba
value {0 1 0.75 1}
name Multiply17
note_font Helvetica
xpos 1155
ypos 754
}
Expression {
channel0 {none none none rgba.alpha}
expr0 y/height
name Expression15
note_font Helvetica
xpos 1155
ypos 785
}
Output {
name Output1
xpos 1155
ypos 891
}
end_group
Group {
inputs 0
name Swatch43
label "\[value value]"
note_font Helvetica
xpos -880
ypos -698
postage_stamp true
addUserKnob {20 User}
addUserKnob {41 value l color T Multiply17.value}
addUserKnob {3 size}
size {{parent.patch_size}}
}
Constant {
inputs 0
format "512 512 0 0 512 512 1 square_512"
name Constant13
note_font Helvetica
xpos 1155
ypos 666
postage_stamp false
}
Reformat {
type "to box"
box_width {{parent.size}}
name Reformat1
note_font Helvetica
xpos 1155
ypos 690
}
Expression {
channel0 rgba
expr0 x/width
name Expression14
note_font Helvetica
xpos 1155
ypos 714
}
Multiply {
channels rgba
value {0 1 1 1}
name Multiply17
note_font Helvetica
xpos 1155
ypos 754
}
Expression {
channel0 {none none none rgba.alpha}
expr0 y/height
name Expression15
note_font Helvetica
xpos 1155
ypos 785
}
Output {
name Output1
xpos 1155
ypos 891
}
end_group
Group {
inputs 0
name Swatch42
label "\[value value]"
note_font Helvetica
xpos -1000
ypos -698
postage_stamp true
addUserKnob {20 User}
addUserKnob {41 value l color T Multiply17.value}
addUserKnob {3 size}
size {{parent.patch_size}}
}
Constant {
inputs 0
format "512 512 0 0 512 512 1 square_512"
name Constant13
note_font Helvetica
xpos 1155
ypos 666
postage_stamp false
}
Reformat {
type "to box"
box_width {{parent.size}}
name Reformat1
note_font Helvetica
xpos 1155
ypos 690
}
Expression {
channel0 rgba
expr0 x/width
name Expression14
note_font Helvetica
xpos 1155
ypos 714
}
Multiply {
channels rgba
value {0 0.75 1 1}
name Multiply17
note_font Helvetica
xpos 1155
ypos 754
}
Expression {
channel0 {none none none rgba.alpha}
expr0 y/height
name Expression15
note_font Helvetica
xpos 1155
ypos 785
}
Output {
name Output1
xpos 1155
ypos 891
}
end_group
Group {
inputs 0
name Swatch41
label "\[value value]"
note_font Helvetica
xpos -1120
ypos -698
postage_stamp true
addUserKnob {20 User}
addUserKnob {41 value l color T Multiply17.value}
addUserKnob {3 size}
size {{parent.patch_size}}
}
Constant {
inputs 0
format "512 512 0 0 512 512 1 square_512"
name Constant13
note_font Helvetica
xpos 1155
ypos 666
postage_stamp false
}
Reformat {
type "to box"
box_width {{parent.size}}
name Reformat1
note_font Helvetica
xpos 1155
ypos 690
}
Expression {
channel0 rgba
expr0 x/width
name Expression14
note_font Helvetica
xpos 1155
ypos 714
}
Multiply {
channels rgba
value {0 0.5 1 1}
name Multiply17
note_font Helvetica
xpos 1155
ypos 754
}
Expression {
channel0 {none none none rgba.alpha}
expr0 y/height
name Expression15
note_font Helvetica
xpos 1155
ypos 785
}
Output {
name Output1
xpos 1155
ypos 891
}
end_group
Group {
inputs 0
name Swatch47
label "\[value value]"
note_font Helvetica
xpos -1240
ypos -698
postage_stamp true
addUserKnob {20 User}
addUserKnob {41 value l color T Multiply17.value}
addUserKnob {3 size}
size {{parent.patch_size}}
}
Constant {
inputs 0
format "512 512 0 0 512 512 1 square_512"
name Constant13
note_font Helvetica
xpos 1155
ypos 666
postage_stamp false
}
Reformat {
type "to box"
box_width {{parent.size}}
name Reformat1
note_font Helvetica
xpos 1155
ypos 690
}
Expression {
channel0 rgba
expr0 x/width
name Expression14
note_font Helvetica
xpos 1155
ypos 714
}
Multiply {
channels rgba
value {0 0.25 1 1}
name Multiply17
note_font Helvetica
xpos 1155
ypos 754
}
Expression {
channel0 {none none none rgba.alpha}
expr0 y/height
name Expression15
note_font Helvetica
xpos 1155
ypos 785
}
Output {
name Output1
xpos 1155
ypos 891
}
end_group
Group {
inputs 0
name Swatch48
label "\[value value]"
note_font Helvetica
xpos -1360
ypos -698
postage_stamp true
addUserKnob {20 User}
addUserKnob {41 value l color T Multiply17.value}
addUserKnob {3 size}
size {{parent.patch_size}}
}
Constant {
inputs 0
format "512 512 0 0 512 512 1 square_512"
name Constant13
note_font Helvetica
xpos 1155
ypos 666
postage_stamp false
}
Reformat {
type "to box"
box_width {{parent.size}}
name Reformat1
note_font Helvetica
xpos 1155
ypos 690
}
Expression {
channel0 rgba
expr0 x/width
name Expression14
note_font Helvetica
xpos 1155
ypos 714
}
Multiply {
channels rgba
value {0 0 1 1}
name Multiply17
note_font Helvetica
xpos 1155
ypos 754
}
Expression {
channel0 {none none none rgba.alpha}
expr0 y/height
name Expression15
note_font Helvetica
xpos 1155
ypos 785
}
Output {
name Output1
xpos 1155
ypos 891
}
end_group
ContactSheet {
inputs 24
width 2048
height 768
columns 8
roworder TopBottom
name ContactSheet1
note_font Helvetica
xpos -1360
ypos -459
}
Expression {
temp_name0 s
temp_expr0 sat_samples
expr3 rint(a*s)/s
name Expression5
note_font Helvetica
xpos -1360
ypos -369
disable {{!sat_samples}}
}
Saturation {
saturation 0
mode Maximum
maskChannelInput rgba.alpha
name Saturation4
note_font Helvetica
xpos -1360
ypos -315
}
Output {
name Output1
xpos -1360
ypos -70
}
end_group
Switch {
inputs 2
which 1
name SwitchTest
note_font Helvetica
selected true
xpos 1390
ypos -2949
disable true
}
Dot {
name Dot65
note_font "Helvetica Bold"
note_font_size 24
note_font_color 0xff
selected true
xpos 1424
ypos -2676
}
set N76fdc520 [stack 0]
Dot {
name Dot68
note_font "Helvetica Bold"
note_font_size 24
note_font_color 0xff
selected true
xpos 1644
ypos -2676
}
set Nff2b52f0 [stack 0]
Dot {
name Dot66
note_font "Helvetica Bold"
note_font_size 24
note_font_color 0xff
selected true
xpos 1754
ypos -2676
}
Expression {
channel0 rgba
expr0 max(r,g,b)
name MaxRGB
selected true
xpos 1720
ypos -2620
}
set Na10674b0 [stack 0]
Group {
name Tonemap_PiecewiseHyperbolic9
selected true
xpos 1720
ypos -2560
addUserKnob {20 Tonemap}
addUserKnob {35 presets l " " M {"presets/SDR - Dark" "knobs this \{Lw \{100 100\} Lg 10 g \{0.18 \{Lg/Lw.0*pow(2,ex)\}\} w \{40 \{Lw.1/Lw.0\}\} ex 0 p 1.3 ps 1 t0 0.003\}" "presets/SDR - Dim" "knobs this \{Lw \{100 100\} Lg 10 g \{0.18 \{Lg/Lw.0*pow(2,ex)\}\} w \{40 \{Lw.1/Lw.0\}\} ex 0 p 1.3 ps 0.95 t0 0.003\}" "presets/SDR - Average" "knobs this \{Lw \{100 100\} Lg 10 g \{0.18 \{Lg/Lw.0*pow(2,ex)\}\} w \{40 \{Lw.1/Lw.0\}\} ex 0 p 1.3 ps 0.9 t0 0.003\}" "presets/Rec.2100 PQ ST-2084 600 nit" "knobs this \{Lw \{10000 600\} Lg 14 g \{0.18 \{Lg/Lw.0*pow(2,ex)\}\} w \{80 \{Lw.1/Lw.0\}\} ex \{\{0.1*log(Lw.1/1000)/log(2)\}\} p 1.2 t0 0.0001\}" "presets/Rec.2100 PQ ST-2084 1000 nit" "knobs this \{Lw \{10000 1000\} Lg 14 g \{0.18 \{Lg/Lw.0*pow(2,ex)\}\} w \{90 \{Lw.1/Lw.0\}\} ex \{\{0.1*log(Lw.1/1000)/log(2)\}\} p 1.2 t0 0.0001\}" "presets/Rec.2100 PQ ST-2084 2000 nit" "knobs this \{Lw \{10000 2000\} Lg 14 g \{0.18 \{Lg/Lw.0*pow(2,ex)\}\} w \{100 \{Lw.1/Lw.0\}\} ex \{\{0.1*log(Lw.1/1000)/log(2)\}\} p 1.2 t0 0.0001\}" "presets/Rec.2100 PQ ST-2084 4000 nit" "knobs this \{Lw \{10000 4000\} Lg 14 g \{0.18 \{Lg/Lw.0*pow(2,ex)\}\} w \{110 \{Lw.1/Lw.0\}\} ex \{\{0.1*log(Lw.1/1000)/log(2)\}\} p 1.2 t0 0.0001\}" "" ""}}
addUserKnob {78 Lw t "Peak white to reference white ratio. Useful for HDR, if you need to ouput a 1000 nit peak luminance image in the 10,000 nit peak luminance ST-2084 PQ container for example." n 2}
Lw {100 100}
addUserKnob {7 Lg t "Grey luminance in nits." R 4 20}
Lg 10
addUserKnob {26 ""}
addUserKnob {7 ex l exposure t "scene-referred exposure control"}
addUserKnob {78 g l grey t "input -> output grey" n 2}
g {0.18 {Lg/Lw.0*pow(2,ex)}}
addUserKnob {78 w l white t "input -> output white" n 2}
w {40 {Lw.1/Lw.0}}
addUserKnob {7 p l contrast R 0.8 2}
p 1.3
addUserKnob {7 ps l surround t "surround compensation: un-pivoted power function" R 0.8 1.2}
ps 1
addUserKnob {7 t0 l toe R 0 0.01}
t0 0.003
addUserKnob {78 s l scale n 2}
s {{pow(g.1,1/p)/g.0} {(s.0*pow(w.0-g.0,2)*pow(g.0*s.0-pow(w.1,1/p),2))/pow(s.0*w.0-pow(w.1,1/p),2)}}
addUserKnob {4 direction M {forward inverse}}
addUserKnob {26 ""}
addUserKnob {26 plot_label l " " T "desmos plot"}
}
Input {
inputs 0
name Input
xpos -40
ypos -70
}
set N27a75d60 [stack 0]
Expression {
expr0 w.1*pow(r/w.1,1/ps)
expr1 w.1*pow(g/w.1,1/ps)
expr2 w.1*pow(b/w.1,1/ps)
name InvSurround
note_font Helvetica
xpos 70
ypos 21
}
Expression {
temp_name0 st
temp_expr0 (w.1+t0)/w.1
expr0 (r+sqrt(r*(4*st*t0+r)))/(2*st)
expr1 (g+sqrt(g*(4*st*t0+g)))/(2*st)
expr2 (b+sqrt(b*(4*st*t0+b)))/(2*st)
name InvToe
note_font Helvetica
xpos 70
ypos 51
}
Expression {
temp_name0 h0
temp_expr0 g.0-sqrt(s.1/s.0)
temp_name1 h1
temp_expr1 s.0*g.0+sqrt(s.0*s.1)
expr0 r>g.1?h0-s.1/(pow(r,1/p)-h1):pow(r,1/p)/s.0
expr1 g>g.1?h0-s.1/(pow(g,1/p)-h1):pow(g,1/p)/s.0
expr2 b>g.1?h0-s.1/(pow(b,1/p)-h1):pow(b,1/p)/s.0
name InvCompress
note_font Helvetica
xpos 70
ypos 81
}
push $N27a75d60
Expression {
temp_name0 h0
temp_expr0 g.0-sqrt(s.1/s.0)
temp_name1 h1
temp_expr1 s.0*g.0+sqrt(s.0*s.1)
expr0 r>g.0?pow(h1-s.1/(r-h0),p):pow(s.0*r,p)
expr1 g>g.0?pow(h1-s.1/(g-h0),p):pow(s.0*g,p)
expr2 b>g.0?pow(h1-s.1/(b-h0),p):pow(s.0*b,p)
name Shoulder
note_font Helvetica
xpos -150
ypos 21
}
Expression {
temp_name0 st
temp_expr0 (w.1+t0)/w.1
expr0 (st*r*r)/(r+t0)
expr1 (st*g*g)/(g+t0)
expr2 (st*b*b)/(b+t0)
name Toe
note_font Helvetica
xpos -150
ypos 51
}
Expression {
expr0 w.1*pow(r/w.1,ps)
expr1 w.1*pow(g/w.1,ps)
expr2 w.1*pow(b/w.1,ps)
name Surround
note_font Helvetica
xpos -150
ypos 81
}
Switch {
inputs 2
which {{parent.direction}}
name SwitchDirection
note_font Helvetica
xpos -40
ypos 141
}
Output {
name Output
xpos -40
ypos 200
}
end_group
push $Na10674b0
push $Nff2b52f0
MergeExpression {
inputs 2
expr0 Ar==0?0:Br/Ar
expr1 Ag==0?0:Bg/Ag
expr2 Ab==0?0:Bb/Ab
name MergeDivideReverse1
selected true
xpos 1610
ypos -2620
}
MergeExpression {
inputs 2
expr0 Ar*Br
expr1 Ar*Bg
expr2 Ar*Bb
name Multiply14
note_font Helvetica
selected true
xpos 1610
ypos -2559
}
Dot {
name Dot69
note_font "Helvetica Bold"
note_font_size 24
note_font_color 0xff
selected true
xpos 1644
ypos -2466
}
push $N76fdc520
Group {
name Tonemap_PiecewiseHyperbolic7
selected true
xpos 1390
ypos -2620
addUserKnob {20 Tonemap}
addUserKnob {35 presets l " " M {"presets/SDR - Dark" "knobs this \{Lw \{100 100\} Lg 10 g \{0.18 \{Lg/Lw.0*pow(2,ex)\}\} w \{40 \{Lw.1/Lw.0\}\} ex 0 p 1.3 ps 1 t0 0.003\}" "presets/SDR - Dim" "knobs this \{Lw \{100 100\} Lg 10 g \{0.18 \{Lg/Lw.0*pow(2,ex)\}\} w \{40 \{Lw.1/Lw.0\}\} ex 0 p 1.3 ps 0.95 t0 0.003\}" "presets/SDR - Average" "knobs this \{Lw \{100 100\} Lg 10 g \{0.18 \{Lg/Lw.0*pow(2,ex)\}\} w \{40 \{Lw.1/Lw.0\}\} ex 0 p 1.3 ps 0.9 t0 0.003\}" "presets/Rec.2100 PQ ST-2084 600 nit" "knobs this \{Lw \{10000 600\} Lg 14 g \{0.18 \{Lg/Lw.0*pow(2,ex)\}\} w \{80 \{Lw.1/Lw.0\}\} ex \{\{0.1*log(Lw.1/1000)/log(2)\}\} p 1.2 t0 0.0001\}" "presets/Rec.2100 PQ ST-2084 1000 nit" "knobs this \{Lw \{10000 1000\} Lg 14 g \{0.18 \{Lg/Lw.0*pow(2,ex)\}\} w \{90 \{Lw.1/Lw.0\}\} ex \{\{0.1*log(Lw.1/1000)/log(2)\}\} p 1.2 t0 0.0001\}" "presets/Rec.2100 PQ ST-2084 2000 nit" "knobs this \{Lw \{10000 2000\} Lg 14 g \{0.18 \{Lg/Lw.0*pow(2,ex)\}\} w \{100 \{Lw.1/Lw.0\}\} ex \{\{0.1*log(Lw.1/1000)/log(2)\}\} p 1.2 t0 0.0001\}" "presets/Rec.2100 PQ ST-2084 4000 nit" "knobs this \{Lw \{10000 4000\} Lg 14 g \{0.18 \{Lg/Lw.0*pow(2,ex)\}\} w \{110 \{Lw.1/Lw.0\}\} ex \{\{0.1*log(Lw.1/1000)/log(2)\}\} p 1.2 t0 0.0001\}" "" ""}}
addUserKnob {78 Lw t "Peak white to reference white ratio. Useful for HDR, if you need to ouput a 1000 nit peak luminance image in the 10,000 nit peak luminance ST-2084 PQ container for example." n 2}
Lw {100 100}
addUserKnob {7 Lg t "Grey luminance in nits." R 4 20}
Lg 10
addUserKnob {26 ""}
addUserKnob {7 ex l exposure t "scene-referred exposure control"}
addUserKnob {78 g l grey t "input -> output grey" n 2}
g {0.18 {Lg/Lw.0*pow(2,ex)}}
addUserKnob {78 w l white t "input -> output white" n 2}
w {40 {Lw.1/Lw.0}}
addUserKnob {7 p l contrast R 0.8 2}
p 1.3
addUserKnob {7 ps l surround t "surround compensation: un-pivoted power function" R 0.8 1.2}
ps 1
addUserKnob {7 t0 l toe R 0 0.01}
t0 0.003
addUserKnob {78 s l scale n 2}
s {{pow(g.1,1/p)/g.0} {(s.0*pow(w.0-g.0,2)*pow(g.0*s.0-pow(w.1,1/p),2))/pow(s.0*w.0-pow(w.1,1/p),2)}}
addUserKnob {4 direction M {forward inverse}}
addUserKnob {26 ""}
addUserKnob {26 plot_label l " " T "desmos plot"}
}
Input {
inputs 0
name Input
xpos -40
ypos -70
}
set N4b4e4b50 [stack 0]
Expression {
expr0 w.1*pow(r/w.1,1/ps)
expr1 w.1*pow(g/w.1,1/ps)
expr2 w.1*pow(b/w.1,1/ps)
name InvSurround
note_font Helvetica
xpos 70
ypos 21
}
Expression {
temp_name0 st
temp_expr0 (w.1+t0)/w.1
expr0 (r+sqrt(r*(4*st*t0+r)))/(2*st)
expr1 (g+sqrt(g*(4*st*t0+g)))/(2*st)
expr2 (b+sqrt(b*(4*st*t0+b)))/(2*st)
name InvToe
note_font Helvetica
xpos 70
ypos 51
}
Expression {
temp_name0 h0
temp_expr0 g.0-sqrt(s.1/s.0)
temp_name1 h1
temp_expr1 s.0*g.0+sqrt(s.0*s.1)
expr0 r>g.1?h0-s.1/(pow(r,1/p)-h1):pow(r,1/p)/s.0
expr1 g>g.1?h0-s.1/(pow(g,1/p)-h1):pow(g,1/p)/s.0
expr2 b>g.1?h0-s.1/(pow(b,1/p)-h1):pow(b,1/p)/s.0
name InvCompress
note_font Helvetica
xpos 70
ypos 81
}
push $N4b4e4b50
Expression {
temp_name0 h0
temp_expr0 g.0-sqrt(s.1/s.0)
temp_name1 h1
temp_expr1 s.0*g.0+sqrt(s.0*s.1)
expr0 r>g.0?pow(h1-s.1/(r-h0),p):pow(s.0*r,p)
expr1 g>g.0?pow(h1-s.1/(g-h0),p):pow(s.0*g,p)
expr2 b>g.0?pow(h1-s.1/(b-h0),p):pow(s.0*b,p)
name Shoulder
note_font Helvetica
xpos -150
ypos 21
}
Expression {
temp_name0 st
temp_expr0 (w.1+t0)/w.1
expr0 (st*r*r)/(r+t0)
expr1 (st*g*g)/(g+t0)
expr2 (st*b*b)/(b+t0)
name Toe
note_font Helvetica
xpos -150
ypos 51
}
Expression {
expr0 w.1*pow(r/w.1,ps)
expr1 w.1*pow(g/w.1,ps)
expr2 w.1*pow(b/w.1,ps)
name Surround
note_font Helvetica
xpos -150
ypos 81
}
Switch {
inputs 2
which {{parent.direction}}
name SwitchDirection
note_font Helvetica
xpos -40
ypos 141
}
Output {
name Output
xpos -40
ypos 200
}
end_group
Switch {
inputs 2
which 1
name SwitchChromaticityPreserving
note_font Helvetica
selected true
xpos 1390
ypos -2469
disable true
}
Group {
name PlotChromaticity5
selected true
xpos 1390
ypos -2200
addUserKnob {20 PlotChromaticity_tab l PlotChromaticity}
addUserKnob {6 use_gpu l "Use GPU if available" +STARTLINE}
use_gpu true
addUserKnob {26 ""}
addUserKnob {6 plot_input l "plot input" t "Enable plotting of the input pixels" +STARTLINE}
plot_input true
addUserKnob {41 input_gamut l gamut t "Set the gamut that the input colors are encoded in" -STARTLINE T GamutToXYZ.gamut}
addUserKnob {4 diagram l in t "Choose the type of chromaticity diagram: \nCIE 1931 xy Chromaticity Diagram\nCIE 1976 u' v' Uniform Chromaticity Scale Diagram" -STARTLINE M {"CIE 1931 xy" "CIE 1976 u' v'" "" ""}}
addUserKnob {6 enable_sample_color l "sample color" t "Enable plotting of the sampled color" +STARTLINE}
enable_sample_color true
addUserKnob {41 sample_color l color t "sample and plot selected color" T SampleColor.color}
addUserKnob {22 follow_viewer l "follow viewer" t "Follow the selected viewer node. This causes this node to automatically connect to whatever the followed viewer is connected to.\n\nThis is useful if you want to have a 2nd viewer showing a chromaticity plot for whever you're looking at in your main viewer." T "n = nuke.thisNode()\nnuke.root().begin()\nv = nuke.selectedNode()\nif not v or v.Class() != 'Viewer':\n nuke.message('Please select a viewer node to follow.')\nelse:\n v\['knobChanged'].setValue('v = nuke.activeViewer().node()\\nif v and v.name() == nuke.thisNode().name():\\n con = v.input(nuke.activeViewer().activeInput())\\n plt = nuke.toNode(\"\{0\}\")\\n plt.setInput(0, con)'.format(n.name()))" +STARTLINE}
addUserKnob {22 unfollow_viewer l "unfollow viewer" -STARTLINE T "n = nuke.thisNode()\nnuke.root().begin()\nv = nuke.selectedNode()\nif not v or v.Class() != 'Viewer':\n nuke.message('Please select a viewer node to unfollow.')\nelse:\n v\['knobChanged'].setValue('')"}
addUserKnob {26 plot_dimensions_label l " " T "Chromaticity Diagram"}
addUserKnob {3 resolution l " resolution" t "resolution to output"}
resolution 2048
addUserKnob {7 right_margin l "right margin" R 1 1.5}
right_margin 1.1
addUserKnob {7 left_margin l "left margin" R 0 0.2}
left_margin 0.1
addUserKnob {6 draw_spectral_locus l "spectrum locus" t "draw the spectrum locus: the boundary of color the human eye can see." +STARTLINE}
draw_spectral_locus true
addUserKnob {6 draw_line_of_purples l "line of purples" t "draw the \"line of purples\"" -STARTLINE}
draw_line_of_purples true
addUserKnob {6 draw_planckian_locus l "planckian locus" t "Display the planckian locus or the blackbody locus." +STARTLINE}
draw_planckian_locus true
addUserKnob {6 gamut_grid l "gamut grid" t "Display a gamut boundary with a grid or dot pattern" +STARTLINE}
addUserKnob {41 gamut_gamutgrid l "" t "gamut for gamutgrid" -STARTLINE T RGBToXYZ_GamutGrid.gamut}
addUserKnob {4 gamut_grid_style l style t "Choose the style to display the gamut plot" -STARTLINE M {grid dots "" "" "" ""}}
addUserKnob {4 distribution l dist t "Which chromaticity space should the overlays be constructed in? \n\nYxy is familiar, but not very perceptually uniform.\n\nu'v' is designed to be more perceptually uniform." -STARTLINE M {"1931 Yxy" "1976 u'v'" "" ""}}
addUserKnob {7 density t "Density of the grid or points" R 10 100}
density 50
addUserKnob {6 gamut_a l "gamut a" t "Display a gamut outline" +STARTLINE}
addUserKnob {41 gamut_a_1 l "" -STARTLINE T RGBToXYZ_GamutA.gamut}
addUserKnob {6 gamut_b l "gamut b" t "Display a gamut outline" +STARTLINE}
addUserKnob {41 gamut_b_1 l "" -STARTLINE T RGBToXYZ_GamutB.gamut}
addUserKnob {6 gamut_c l "gamut c" t "Display a gamut outline" +STARTLINE}
addUserKnob {41 gamut_c_1 l "" -STARTLINE T RGBToXYZ_GamutC.gamut}
addUserKnob {6 draw_pointers_gamut l "pointer's gamut" t "DrawPointer's gamut boundary" +STARTLINE}
addUserKnob {6 draw_pointers_samples l "pointers sample colors" t "show the individual pointer gamut samples" -STARTLINE}
addUserKnob {6 draw_macbeth_chart l "macbeth chart" t "draw a ColorChecker24 aka Macbeth Chart" +STARTLINE}
addUserKnob {6 coordinate_system l "coordinate system" t "Draw CIE xy coordinate grid x and y axes" +STARTLINE}
coordinate_system true
addUserKnob {6 map_overlays_to_input_gamut l "map overlays to input gamut" t "This maps the overlays like the spectral locus, pointer's gamut, and the gamut overlay to the working gamut instead of keeping them as XYZ.\n\nFor example if the input gamut is ACEScg, these overlays will be mapped to that. Note that this can cause most of the overlays to be negative or highly saturated which might harm the visual appearance." +STARTLINE}
map_overlays_to_input_gamut true
}
Group {
inputs 0
name GamutGrid1
xpos -920
ypos -201
postage_stamp true
addUserKnob {20 GamutGrid}
addUserKnob {3 style}
style {{!parent.gamut_grid_style}}
addUserKnob {3 distribution -STARTLINE}
distribution {{parent.distribution}}
addUserKnob {7 density R 10 150}
density {{parent.density}}
addUserKnob {26 ""}
addUserKnob {41 matrix T ColorMatrix.matrix}
addUserKnob {12 wxy}
wxy {{parent.RGBToXYZ_GamutGrid.wxy} {parent.RGBToXYZ_GamutGrid.wxy}}
}
ColorWheel {
inputs 0
format "512 512 0 0 512 512 1 square_512"
centerSaturation 1
fillFormat false
area {-170 -158 682 670}
name ColorWheel4
xpos -260
ypos -15
postage_stamp false
}
Crop {
box {0 0 {width} {height}}
crop false
name Crop2
xpos -260
ypos 27
}
Reformat {
type scale
scale {{max(parent.density/50,0.25)}}
resize distort
filter Impulse
pbb true
name Reformat3
xpos -260
ypos 110
}
set N37563ac0 [stack 0]
push $N37563ac0
ContactSheet {
inputs 2
width {{width*columns}}
height {{height/pixel_aspect*rows}}
rows 1
columns 2
roworder TopBottom
name ContactSheet2
xpos -260
ypos 169
}
Dot {
name Dot1
label " "
note_font "Helvetica Bold"
note_font_size 24
note_font_color 0xa5a5a501
xpos -226
ypos 246
}
ColorWheel {
inputs 0
format "512 512 0 0 512 512 1 square_512"
fillFormat false
area {40 40 472 472}
name ColorWheel1
xpos -40
ypos -664
postage_stamp false
}
Reformat {
type scale
scale {{max(parent.density/50,0.25)}}
resize distort
filter Impulse
pbb true
name Reformat1
xpos -40
ypos -628
}
Crop {
box {0 0 {width} {height}}
reformat true
name Crop1
xpos -40
ypos -602
}
Unpremult {
name Unpremult1
xpos -40
ypos -526
}
ColorMatrix {
matrix {
{{parent.parent.RGBToXYZ_GamutGrid.ColorMatrix.matrix} {parent.parent.RGBToXYZ_GamutGrid.ColorMatrix.matrix} {parent.parent.RGBToXYZ_GamutGrid.ColorMatrix.matrix}}
{{parent.parent.RGBToXYZ_GamutGrid.ColorMatrix.matrix} {parent.parent.RGBToXYZ_GamutGrid.ColorMatrix.matrix} {parent.parent.RGBToXYZ_GamutGrid.ColorMatrix.matrix}}
{{parent.parent.RGBToXYZ_GamutGrid.ColorMatrix.matrix} {parent.parent.RGBToXYZ_GamutGrid.ColorMatrix.matrix} {parent.parent.RGBToXYZ_GamutGrid.ColorMatrix.matrix}}
}
name ColorMatrix
label "RGB to XYZ"
xpos -40
ypos -415
}
Colorspace {
colorspace_in CIE-XYZ
colorspace_out CIE-Yxy
name Colorspace1
label "\[value colorspace_in] -> \[value colorspace_out]"
xpos -40
ypos -341
}
set Nd66fa950 [stack 0]
Dot {
name Dot2
label " "
note_font "Helvetica Bold"
note_font_size 24
note_font_color 0xa5a5a501
xpos -556
ypos -331
}
Expression {
expr0 r
expr1 "4*g / ( -2*g + 12*b + 3)"
expr2 "9*b / ( -2*g + 12*b + 3)"
name Expression5
label "CIE Yxy to CIELuv"
xpos -590
ypos -304
disable {{!parent.distribution}}
}
Expression {
expr0 r
expr1 "(-(degrees(atan2(g-white.x, b-white.y))-180)+270)%360/360"
expr2 "hypot(g-white.x, b-white.y)"
expr3 a
name Expression3
xpos -590
ypos -261
cached true
addUserKnob {20 User}
addUserKnob {12 white}
white {{"parent.distribution ? 4*parent.wxy.x / ( -2 * parent.wxy.x + 12 * parent.wxy.y + 3) : parent.wxy"} {"parent.distribution ? 9*parent.wxy.y / ( -2*parent.wxy.x + 12*parent.wxy.y + 3) : parent.wxy"}}
}
set N2d6760c0 [stack 0]
Posterize {
channels rgb
Colors {{rint(parent.density/3*2)}}
name Posterize1
xpos -590
ypos -191
}
set N1b269710 [stack 0]
push $N2d6760c0
Dot {
name Dot15
xpos -446
ypos -257
}
Copy {
inputs 2
from0 rgba.blue
to0 rgba.blue
name Copy1
xpos -480
ypos -154
}
push $N1b269710
push $N2d6760c0
Dot {
name Dot16
xpos -666
ypos -257
}
Copy {
inputs 2
from0 rgba.green
to0 rgba.green
name Copy2
xpos -700
ypos -153
}
ContactSheet {
inputs 2
width {{width*columns}}
height {{height/pixel_aspect*rows}}
rows 1
columns 2
center true
roworder TopBottom
name ContactSheet3
xpos -590
ypos -106
}
Expression {
expr0 r
expr1 cos(radians(g*360))*b+white.x
expr2 sin(radians(g*360))*b+white.y
expr3 a
name Expression19
xpos -590
ypos -58
cached true
addUserKnob {20 User}
addUserKnob {12 white}
white {{parent.Expression3.white} {parent.Expression3.white}}
}
Expression {
expr0 r
expr1 "9*g / ( 6*g - 16*b + 12)"
expr2 "4*b/ ( 6*g - 16*b + 12)"
name Expression2
label "CIELuv to CIE Yxy"
xpos -590
ypos -16
disable {{!parent.distribution}}
}
Colorspace {
colorspace_in CIE-Yxy
colorspace_out CIE-XYZ
name Colorspace2
label "\[value colorspace_in] -> \[value colorspace_out]"
xpos -590
ypos 32
}
ColorMatrix {
matrix {
{{parent.parent.RGBToXYZ_GamutGrid.ColorMatrix.matrix} {parent.parent.RGBToXYZ_GamutGrid.ColorMatrix.matrix} {parent.parent.RGBToXYZ_GamutGrid.ColorMatrix.matrix}}
{{parent.parent.RGBToXYZ_GamutGrid.ColorMatrix.matrix} {parent.parent.RGBToXYZ_GamutGrid.ColorMatrix.matrix} {parent.parent.RGBToXYZ_GamutGrid.ColorMatrix.matrix}}
{{parent.parent.RGBToXYZ_GamutGrid.ColorMatrix.matrix} {parent.parent.RGBToXYZ_GamutGrid.ColorMatrix.matrix} {parent.parent.RGBToXYZ_GamutGrid.ColorMatrix.matrix}}
}
invert true
name ColorMatrix1
label "XYZ to RGB"
xpos -590
ypos 81
}
Clamp {
channels rgba
maximum_enable false
name ClampMin2
xpos -590
ypos 119
}
Clamp {
channels alpha
minimum 1
MinClampTo_enable true
MaxClampTo_enable true
name Clamp1
xpos -590
ypos 152
}
Premult {
name Premult1
xpos -590
ypos 194
}
Merge2 {
inputs 2
operation under
bbox B
name Merge2
xpos -590
ypos 242
}
Fill {
output alpha
name Fill1
xpos -590
ypos 297
}
Dot {
name Dot3
label " GRID"
note_font "Helvetica Bold"
note_font_size 24
note_font_color 0xa5a5a501
xpos -556
ypos 378
}
push $N37563ac0
push $Nd66fa950
Expression {
expr0 r
expr1 "4*g / ( -2*g + 12*b + 3)"
expr2 "9*b / ( -2*g + 12*b + 3)"
name Expression4
label "CIE Yxy to CIELuv"
xpos -40
ypos -280
disable {{!parent.distribution}}
}
Expression {
expr0 r
expr1 rint(g*Colors)/Colors
expr2 rint(b*Colors)/Colors
expr3 a
name Expression1
label rint
xpos -40
ypos -232
addUserKnob {20 User}
addUserKnob {7 Colors R 1 256}
Colors {{parent.density}}
}
Expression {
expr0 r
expr1 "9*g / ( 6*g - 16*b + 12)"
expr2 "4*b/ ( 6*g - 16*b + 12)"
name Expression6
label "CIELuv to CIE Yxy"
xpos -40
ypos -184
disable {{!parent.distribution}}
}
Colorspace {
colorspace_in CIE-Yxy
colorspace_out CIE-XYZ
name Colorspace3
label "\[value colorspace_in] -> \[value colorspace_out]"
xpos -40
ypos -112
}
ColorMatrix {
matrix {
{{parent.parent.RGBToXYZ_GamutGrid.ColorMatrix.matrix} {parent.parent.RGBToXYZ_GamutGrid.ColorMatrix.matrix} {parent.parent.RGBToXYZ_GamutGrid.ColorMatrix.matrix}}
{{parent.parent.RGBToXYZ_GamutGrid.ColorMatrix.matrix} {parent.parent.RGBToXYZ_GamutGrid.ColorMatrix.matrix} {parent.parent.RGBToXYZ_GamutGrid.ColorMatrix.matrix}}
{{parent.parent.RGBToXYZ_GamutGrid.ColorMatrix.matrix} {parent.parent.RGBToXYZ_GamutGrid.ColorMatrix.matrix} {parent.parent.RGBToXYZ_GamutGrid.ColorMatrix.matrix}}
}
invert true
name ColorMatrix3
label "XYZ to RGB"
xpos -40
ypos -57
}
Clamp {
channels alpha
minimum 1
MinClampTo_enable true
MaxClampTo_enable true
name Clamp4
xpos -40
}
Premult {
name Premult2
xpos -40
ypos 55
}
Merge2 {
inputs 2
operation under
bbox B
name Merge1
xpos -40
ypos 110
}
Clamp {
channels rgba
maximum_enable false
name ClampMin1
xpos -40
ypos 273
}
Dot {
name Dot4
label " DOTS"
note_font "Helvetica Bold"
note_font_size 24
note_font_color 0xa5a5a501
xpos -6
ypos 378
}
Switch {
inputs 2
which {{parent.style}}
name Switch1
xpos -257
ypos 483
}
ColorMatrix {
matrix {
{{parent.parent.RGBToXYZ_GamutGrid.ColorMatrix.matrix} {parent.parent.RGBToXYZ_GamutGrid.ColorMatrix.matrix} {parent.parent.RGBToXYZ_GamutGrid.ColorMatrix.matrix}}
{{parent.parent.RGBToXYZ_GamutGrid.ColorMatrix.matrix} {parent.parent.RGBToXYZ_GamutGrid.ColorMatrix.matrix} {parent.parent.RGBToXYZ_GamutGrid.ColorMatrix.matrix}}
{{parent.parent.RGBToXYZ_GamutGrid.ColorMatrix.matrix} {parent.parent.RGBToXYZ_GamutGrid.ColorMatrix.matrix} {parent.parent.RGBToXYZ_GamutGrid.ColorMatrix.matrix}}
}
name ColorMatrix2
label "RGB to XYZ"
xpos -257
ypos 560
}
Output {
name Output
xpos -257
ypos 740
}
ColorWheel {
inputs 0
format "256 256 0 0 256 256 1 square_256"
area {40 40 472 472}
name ColorWheel2
xpos -37
ypos -705
postage_stamp false
}
end_group
set Na6a64980 [stack 0]
Group {
name RGBToXYZ_GamutGrid
label "\[if \{\[value invert]\} \{return \"XYZ to \[value gamut]\"\} else \{return \"\[value gamut] to XYZ\"\}]\n\n"
xpos -1030
ypos -184
addUserKnob {20 GamutToXYZ_tab l GamutToXYZ}
addUserKnob {4 gamut t "Choose gamut" M {XYZ ACES ACEScg "Filmlight E-Gamut" Rec709 Rec2020 P3D60 P3D65 P3DCI "Arri AlexaWideGamut" REDDRAGONcolor REDDRAGONcolor2 REDcolor REDcolor2 REDcolor3 REDcolor4 REDWideGamutRGB "GoPro Protune Native" CanonCinemaGamut SonySGamut SonySGamut3Cine PanasonicVGamut "DJI D-Gamut" "Fujifilm F-Gamut" BMDFilmV1 BMD4kFilmV1 BMD4kFilmV3 BMD46kFilmV1 BMD46kFilmV3 BMDWideGamutV4 "AdobeRGB\t" AdobeWideGamutRGB ROMM RIMM ERIMM ProPhotoRGB RusselRGB SharpRGB AppleRGB BestRGB}}
gamut ACEScg
addUserKnob {6 invert +STARTLINE}
addUserKnob {26 ""}
addUserKnob {26 chromaticity_coordinates_label l " " T "Chromaticity Coordinates"}
addUserKnob {41 rxy T ColorMatrix.rxy}
addUserKnob {41 gxy T ColorMatrix.gxy}
addUserKnob {41 bxy T ColorMatrix.bxy}
addUserKnob {41 wxy T ColorMatrix.wxy}
addUserKnob {41 matrix T ColorMatrix.matrix}
}
Input {
inputs 0
name Input
xpos -40
ypos -10
}
ColorMatrix {
matrix {
{{curve(which) 1 0.9525524378 0.6624541879 0.7053968906 0.4123907983 0.6369580626 0.5049495697 0.4865709841 0.4451698363 0.6380076408 0.5070186853 0.4462202489 0.4300414324 0.4581649601 0.4878340662 0.4517004192 0.7352752686 0.5022571683 0.7160496712 0.7064827085 0.5990839601 0.6796444654 0.6481720209 0.6369580626 0.6390493512 0.6141571999 0.3724023998 0.60689044 0.4017650783 0.6065810919 0.5766690373 0.7165006995 0.797760427 0.797760427 0.797760427 0.7976718545 0.7015837431 0.8156226277 0.4496616423 0.6318944097} {curve(which) 0 0 0.1340042055 0.1640413404 0.3575843275 0.1446169019 0.2646814585 0.2656676769 0.2771343887 0.2147038579 0.3587769568 0.3157556653 0.3700728714 0.3832037449 0.3432727158 0.3178463876 0.06860940903 0.2929667532 0.1296834797 0.1288010478 0.2489254922 0.1522114277 0.1940581352 0.1446169019 0.1578372866 0.2825684249 0.4324877858 0.2193847299 0.4560420811 0.2203479856 0.1855582297 0.1010205746 0.1351858526 0.1351858526 0.1351858526 0.1351878047 0.1554162204 0.04716260359 0.3162561059 0.2053879201} {curve(which) 0 9.367863095e-05 0.1561876982 0.08101774752 0.180480808 0.1688809693 0.1830150485 0.1982172877 0.1722826511 0.09774444997 0.0868505761 0.190669477 0.152531758 0.1112773567 0.1215386018 0.1830992699 0.1465712637 0.1552320272 0.1047228053 0.1151721701 0.1024464965 0.1186000481 0.108225815 0.1688809693 0.1516760886 0.05183707923 0.1436725408 0.124180764 0.09264881909 0.123526901 0.1882286519 0.1467743814 0.03134934977 0.03134934977 0.03134934977 0.03133957833 0.09979832917 0.1372147948 0.1845382005 0.1270133406}}
{{curve(which) 0 0.3439664543 0.2722287476 0.2801307142 0.2126390189 0.2627002299 0.237623319 0.2289745659 0.209491685 0.2919537723 0.2207257152 0.1942579001 0.2022213936 0.1694435924 0.2289056629 0.2119505703 0.2866941094 0.1387997568 0.2612613738 0.2709796727 0.2150758505 0.2606855333 0.2830046713 0.2627002299 0.1743051857 0.2365771234 0.1383759677 0.1973138005 0.1721783578 0.2680045366 0.2973450124 0.258728236 0.2880711257 0.2880711257 0.2880711257 0.2880405784 0.3152042925 0.3790788651 0.2446159422 0.2276017666} {curve(which) 1 0.7281661034 0.6740817428 0.8202066422 0.7151686549 0.6779980659 0.6891706586 0.6917385459 0.7215952873 0.8238410354 0.839184761 0.7385566831 0.7585275769 0.8648257852 0.7808576822 0.7230190039 0.8429791331 0.910841465 0.8696421385 0.786606431 0.8850684762 0.7748944759 0.8131960034 0.6779980659 0.951146543 0.8896810412 0.911518693 0.943950057 0.8553914428 0.8326833844 0.6273635626 0.7246823311 0.7118432522 0.7118432522 0.7118432522 0.7118694782 0.6648360491 0.5769088268 0.6720442176 0.7383946776} {curve(which) 0 -0.07213255018 0.05368951708 -0.1003373638 0.07219231874 0.05930171534 0.07320601493 0.07928691059 0.06891305745 -0.1157948226 -0.05991046131 0.06718540192 0.03925102949 -0.03426937759 -0.009763340466 0.06503042579 -0.1296732277 -0.04964122549 -0.1309035122 -0.05758608505 -0.1001443192 -0.03558001295 -0.09620071948 0.05930171534 -0.1254517138 -0.1262581497 -0.04989464581 -0.1412638426 -0.02756982669 -0.1006879359 0.07529145479 0.01658944227 8.565396274e-05 8.565396274e-05 8.565396274e-05 8.991353388e-05 0.01995966583 0.04401229322 0.08333983272 0.0340035744}}
{{curve(which) 0 -3.863927134e-08 -0.005574660841 -0.1037815213 0.01933082007 0 0 0 0 0.0027982709 -0.0544523783 -0.04792318866 -0.0176958181 -0.1061859056 -0.02100777067 -0.01945115253 -0.07968087494 0.07801423222 -0.009676366113 -0.009677864611 -0.03206583485 -0.009310216643 -0.01825834997 0 -0.11669112 -0.02325225808 -0.1602820009 -0.1427432895 -0.10720893 -0.02941203304 0.02703136392 -2.906408625e-08 -3.236030111e-08 -3.236030111e-08 -3.236030111e-08 0 0 -0.01229703799 0.02518104948 0} {curve(which) 0 0 0.004060741514 -0.07290724665 0.1191947311 0.0280726999 0.0449459292 0.04511339962 0.04706057906 -0.06703422964 -0.0003228379355 -0.0002844714036 0.08768811822 0.02554347552 0.01782695204 0.01650637016 -0.3473432064 -0.3148325086 -0.2364816219 0.004600019194 -0.02765839547 -0.004612449091 -0.08316776901 0.0280726999 -0.5518454909 -0.4897170365 -0.171635136 -0.4278847873 0.07809129357 -0.08659287542 0.07068887353 0.05121183768 1.2621717e-08 1.2621717e-08 1.2621717e-08 -1.262213711e-08 0.04317118227 0.01672476344 0.1411857158 0.01001892332} {curve(which) 1 1.008825183 1.010339141 1.265746474 0.950532198 1.060985088 0.9638792276 1.043944359 0.9073553085 1.153293729 1.063571215 1.057001948 0.9388025999 1.089437366 1.01197505 1.011739731 1.51608181 1.325875998 1.335215807 1.094135642 1.148782015 1.102980375 1.190483928 1.060985088 1.745692492 1.590125084 1.409072995 1.65968585 1.118175387 1.205062628 0.9913375378 0.7738927603 0.8251045942 0.8251045942 0.8251045942 0.8248898983 0.8782252669 0.9955722094 0.9226909876 0.8150856495}}
}
invert {{parent.invert}}
name ColorMatrix
label "RGB to XYZ"
xpos -40
ypos 32
addUserKnob {20 Gamut}
addUserKnob {3 which}
which {{parent.gamut}}
addUserKnob {12 rxy}
rxy {{curve(which) 1 0.7347 0.713 0.8 0.64 0.708 0.68 0.68 0.68 0.684 0.7530442228 0.7530444911 0.6997470013 0.8786825105 0.7011810359 0.7011805919 0.780308 0.69848046 0.74 0.73 0.766 0.73 0.71 0.708 0.9173 0.7422 1.0625 0.9175 0.8608 0.7177 0.64 0.7347 0.7347 0.7347 0.7347 0.734699 0.69 0.6898 0.625 0.7351916376} {curve(which) 0 0.2653 0.293 0.3177 0.33 0.292 0.32 0.32 0.32 0.313 0.3278305767 0.3278310295 0.3290469303 0.3249640074 0.3290141556 0.3290136991 0.304253 0.19302645 0.27 0.28 0.275 0.28 0.31 0.292 0.2502 0.2859 0.3948 0.2983 0.3689 0.3171 0.33 0.2653 0.2653 0.2653 0.2653 0.265301 0.31 0.3206 0.34 0.2648083624}}
addUserKnob {12 gxy}
gxy {{curve(which) 0 0 0.165 0.18 0.3 0.17 0.265 0.265 0.265 0.221 0.2995702285 0.2995704905 0.304264039 0.3008887144 0.3006003047 0.3006003955 0.121595 0.32955538 0.17 0.14 0.225 0.165 0.21 0.17 0.2833 0.414 0.3689 0.2983 0.3282 0.228 0.21 0.1152 0.1596 0.1596 0.1596 0.159597 0.18 0.0736 0.28 0.2153361345} {curve(which) 1 1 0.83 0.9 0.6 0.797 0.69 0.69 0.69 0.848 0.700699322 0.7006994156 0.6236411451 0.6790547558 0.6837888343 0.6837888243 1.493994 1.02459662 1.14 0.855 0.8 0.84 0.88 0.797 1.7072 1.3035 0.7775 1.2835 0.6156 0.8616 0.71 0.8264 0.8404 0.8404 0.8404 0.840403 0.77 0.9003 0.595 0.7741596639}}
addUserKnob {12 bxy}
bxy {{curve(which) 0 0.0001 0.128 0.065 0.15 0.131 0.15 0.15 0.15 0.0861 0.07964206674 0.1450115843 0.1349139613 0.09539869461 0.1081544556 0.1453319462 0.095612 0.10844263 0.08 0.1 0.089 0.1 0.09 0.131 0.0856 0.0342 0.0956 0.0756 0.0783 0.1006 0.15 0.1566 0.0366 0.0366 0.0366 0.036598 0.1 0.1166 0.155 0.1301229508} {curve(which) 0 -0.077 0.044 -0.0805 0.06 0.046 0.06 0.06 0.06 -0.102 -0.05493795109 0.05109712509 0.03471744128 -0.02937932683 -0.008688175787 0.05161680362 -0.084589 -0.03467857 -0.1 -0.05 -0.087 -0.03 -0.08 0.046 -0.0708 -0.0833 -0.0332 -0.086 -0.0233 -0.082 0.06 0.0177 0.0001 0.0001 0.0001 0.000105 0.02 0.0374 0.07 0.03483606557}}
addUserKnob {12 wxy}
wxy {{curve(which) 0.33333333 0.32168 0.32168 0.3127 0.3127 0.3127 0.32168 0.3127 0.314 0.3127 0.3216831877 0.3216832104 0.3216832894 0.3216832894 0.3216832104 0.3216832894 0.3127 0.3127 0.3127 0.3127 0.3127 0.3127 0.3127 0.3127 0.3135 0.3135 0.3135 0.3127 0.3127 0.3127 0.3127 0.3457 0.3457 0.3457 0.3457 0.345704 0.33243 0.33333333 0.3127 0.3457} {curve(which) 0.33333333 0.33767 0.33767 0.329 0.329 0.329 0.33767 0.329 0.351 0.329 0.337673316 0.3376736101 0.3376734472 0.3376734472 0.3376736101 0.3376734472 0.329 0.329 0.329 0.329 0.329 0.329 0.329 0.329 0.3305 0.3305 0.3305 0.329 0.329 0.329 0.329 0.3585 0.3585 0.3585 0.3585 0.35854 0.34744 0.33333333 0.329 0.3585}}
}
Output {
name Output
xpos -40
ypos 86
}
end_group
ColorWheel {
inputs 0
format "512 512 0 0 512 512 1 square_512"
centerSaturation 1
fillFormat false
area {-196 -184 708 696}
name ColorWheel1
xpos -920
ypos 5
}
Crop {
box {0 0 {width} {height}}
name Crop1
xpos -920
ypos 87
}
BlackOutside {
name BlackOutside3
xpos -920
ypos 134
}
set Nc30a2380 [stack 0]
Group {
name RGBToXYZ_GamutC
label "\[if \{\[value invert]\} \{return \"XYZ to \[value gamut]\"\} else \{return \"\[value gamut] to XYZ\"\}]\n\n"
xpos -1140
ypos 176
addUserKnob {20 GamutToXYZ_tab l GamutToXYZ}
addUserKnob {4 gamut t "Choose gamut" M {XYZ ACES ACEScg "Filmlight E-Gamut" "DaVinci WG" Rec709 Rec2020 P3D60 P3D65 P3DCI "Arri AlexaWideGamut" REDDRAGONcolor REDDRAGONcolor2 REDcolor REDcolor2 REDcolor3 REDcolor4 REDWideGamutRGB "GoPro Protune Native" CanonCinemaGamut SonySGamut SonySGamut3Cine PanasonicVGamut "DJI D-Gamut" "Fujifilm F-Gamut" BMDFilmV1 BMD4kFilmV1 BMD4kFilmV3 BMD46kFilmV1 BMD46kFilmV3 BMDWideGamutV4 "AdobeRGB\t" AdobeWideGamutRGB ROMM RIMM ERIMM ProPhotoRGB RusselRGB SharpRGB AppleRGB BestRGB}}
gamut Rec709
addUserKnob {6 invert +STARTLINE}
addUserKnob {26 ""}
addUserKnob {26 chromaticity_coordinates_label l " " T "Chromaticity Coordinates"}
addUserKnob {41 rxy T ColorMatrix.rxy}
addUserKnob {41 gxy T ColorMatrix.gxy}
addUserKnob {41 bxy T ColorMatrix.bxy}
addUserKnob {41 wxy T ColorMatrix.wxy}
addUserKnob {41 matrix T ColorMatrix.matrix}
}
Input {
inputs 0
name Input
xpos -40
ypos -10
}
ColorMatrix {
matrix {
{{curve(which) 1 0.9525524378 0.6624541879 0.7053968906 0.7006223798 0.4123907983 0.6369580626 0.5049495697 0.4865709841 0.4451698363 0.6380076408 0.5070186853 0.4462202489 0.4300414324 0.4581649601 0.4878340662 0.4517004192 0.7352752686 0.5022571683 0.7160496712 0.7064827085 0.5990839601 0.6796444654 0.6481720209 0.6369580626 0.6390493512 0.6141571999 0.3724023998 0.60689044 0.4017650783 0.6065810919 0.5766690373 0.7165006995 0.797760427 0.797760427 0.797760427 0.7976718545 0.7015837431 0.8156226277 0.4496616423 0.6318944097} {curve(which) 0 0 0.1340042055 0.1640413404 0.1487748176 0.3575843275 0.1446169019 0.2646814585 0.2656676769 0.2771343887 0.2147038579 0.3587769568 0.3157556653 0.3700728714 0.3832037449 0.3432727158 0.3178463876 0.06860940903 0.2929667532 0.1296834797 0.1288010478 0.2489254922 0.1522114277 0.1940581352 0.1446169019 0.1578372866 0.2825684249 0.4324877858 0.2193847299 0.4560420811 0.2203479856 0.1855582297 0.1010205746 0.1351858526 0.1351858526 0.1351858526 0.1351878047 0.1554162204 0.04716260359 0.3162561059 0.2053879201} {curve(which) 0 9.367863095e-05 0.1561876982 0.08101774752 0.101058729 0.180480808 0.1688809693 0.1830150485 0.1982172877 0.1722826511 0.09774444997 0.0868505761 0.190669477 0.152531758 0.1112773567 0.1215386018 0.1830992699 0.1465712637 0.1552320272 0.1047228053 0.1151721701 0.1024464965 0.1186000481 0.108225815 0.1688809693 0.1516760886 0.05183707923 0.1436725408 0.124180764 0.09264881909 0.123526901 0.1882286519 0.1467743814 0.03134934977 0.03134934977 0.03134934977 0.03133957833 0.09979832917 0.1372147948 0.1845382005 0.1270133406}}
{{curve(which) 0 0.3439664543 0.2722287476 0.2801307142 0.2741185129 0.2126390189 0.2627002299 0.237623319 0.2289745659 0.209491685 0.2919537723 0.2207257152 0.1942579001 0.2022213936 0.1694435924 0.2289056629 0.2119505703 0.2866941094 0.1387997568 0.2612613738 0.2709796727 0.2150758505 0.2606855333 0.2830046713 0.2627002299 0.1743051857 0.2365771234 0.1383759677 0.1973138005 0.1721783578 0.2680045366 0.2973450124 0.258728236 0.2880711257 0.2880711257 0.2880711257 0.2880405784 0.3152042925 0.3790788651 0.2446159422 0.2276017666} {curve(which) 1 0.7281661034 0.6740817428 0.8202066422 0.8736318946 0.7151686549 0.6779980659 0.6891706586 0.6917385459 0.7215952873 0.8238410354 0.839184761 0.7385566831 0.7585275769 0.8648257852 0.7808576822 0.7230190039 0.8429791331 0.910841465 0.8696421385 0.786606431 0.8850684762 0.7748944759 0.8131960034 0.6779980659 0.951146543 0.8896810412 0.911518693 0.943950057 0.8553914428 0.8326833844 0.6273635626 0.7246823311 0.7118432522 0.7118432522 0.7118432522 0.7118694782 0.6648360491 0.5769088268 0.6720442176 0.7383946776} {curve(which) 0 -0.07213255018 0.05368951708 -0.1003373638 -0.1477504075 0.07219231874 0.05930171534 0.07320601493 0.07928691059 0.06891305745 -0.1157948226 -0.05991046131 0.06718540192 0.03925102949 -0.03426937759 -0.009763340466 0.06503042579 -0.1296732277 -0.04964122549 -0.1309035122 -0.05758608505 -0.1001443192 -0.03558001295 -0.09620071948 0.05930171534 -0.1254517138 -0.1262581497 -0.04989464581 -0.1412638426 -0.02756982669 -0.1006879359 0.07529145479 0.01658944227 8.565396274e-05 8.565396274e-05 8.565396274e-05 8.991353388e-05 0.01995966583 0.04401229322 0.08333983272 0.0340035744}}
{{curve(which) 0 -3.863927134e-08 -0.005574660841 -0.1037815213 -0.09896291792 0.01933082007 0 0 0 0 0.0027982709 -0.0544523783 -0.04792318866 -0.0176958181 -0.1061859056 -0.02100777067 -0.01945115253 -0.07968087494 0.07801423222 -0.009676366113 -0.009677864611 -0.03206583485 -0.009310216643 -0.01825834997 0 -0.11669112 -0.02325225808 -0.1602820009 -0.1427432895 -0.10720893 -0.02941203304 0.02703136392 -2.906408625e-08 -3.236030111e-08 -3.236030111e-08 -3.236030111e-08 0 0 -0.01229703799 0.02518104948 0} {curve(which) 0 0 0.004060741514 -0.07290724665 -0.1378953159 0.1191947311 0.0280726999 0.0449459292 0.04511339962 0.04706057906 -0.06703422964 -0.0003228379355 -0.0002844714036 0.08768811822 0.02554347552 0.01782695204 0.01650637016 -0.3473432064 -0.3148325086 -0.2364816219 0.004600019194 -0.02765839547 -0.004612449091 -0.08316776901 0.0280726999 -0.5518454909 -0.4897170365 -0.171635136 -0.4278847873 0.07809129357 -0.08659287542 0.07068887353 0.05121183768 1.2621717e-08 1.2621717e-08 1.2621717e-08 -1.262213711e-08 0.04317118227 0.01672476344 0.1411857158 0.01001892332} {curve(which) 1 1.008825183 1.010339141 1.265746474 1.325916052 0.950532198 1.060985088 0.9638792276 1.043944359 0.9073553085 1.153293729 1.063571215 1.057001948 0.9388025999 1.089437366 1.01197505 1.011739731 1.51608181 1.325875998 1.335215807 1.094135642 1.148782015 1.102980375 1.190483928 1.060985088 1.745692492 1.590125084 1.409072995 1.65968585 1.118175387 1.205062628 0.9913375378 0.7738927603 0.8251045942 0.8251045942 0.8251045942 0.8248898983 0.8782252669 0.9955722094 0.9226909876 0.8150856495}}
}
invert {{parent.invert}}
name ColorMatrix
label "RGB to XYZ"
xpos -40
ypos 32
addUserKnob {20 Gamut}
addUserKnob {3 which}
which {{parent.gamut}}
addUserKnob {12 rxy}
rxy {{curve(which) 1 0.7347 0.713 0.8 0.8 0.64 0.708 0.68 0.68 0.68 0.684 0.7530442228 0.7530444911 0.6997470013 0.8786825105 0.7011810359 0.7011805919 0.780308 0.69848046 0.74 0.73 0.766 0.73 0.71 0.708 0.9173 0.7422 1.0625 0.9175 0.8608 0.7177 0.64 0.7347 0.7347 0.7347 0.7347 0.734699 0.69 0.6898 0.625 0.7351916376} {curve(which) 0 0.2653 0.293 0.3177 0.313 0.33 0.292 0.32 0.32 0.32 0.313 0.3278305767 0.3278310295 0.3290469303 0.3249640074 0.3290141556 0.3290136991 0.304253 0.19302645 0.27 0.28 0.275 0.28 0.31 0.292 0.2502 0.2859 0.3948 0.2983 0.3689 0.3171 0.33 0.2653 0.2653 0.2653 0.2653 0.265301 0.31 0.3206 0.34 0.2648083624}}
addUserKnob {12 gxy}
gxy {{curve(which) 0 0 0.165 0.18 0.1682 0.3 0.17 0.265 0.265 0.265 0.221 0.2995702285 0.2995704905 0.304264039 0.3008887144 0.3006003047 0.3006003955 0.121595 0.32955538 0.17 0.14 0.225 0.165 0.21 0.17 0.2833 0.414 0.3689 0.2983 0.3282 0.228 0.21 0.1152 0.1596 0.1596 0.1596 0.159597 0.18 0.0736 0.28 0.2153361345} {curve(which) 1 1 0.83 0.9 0.9877 0.6 0.797 0.69 0.69 0.69 0.848 0.700699322 0.7006994156 0.6236411451 0.6790547558 0.6837888343 0.6837888243 1.493994 1.02459662 1.14 0.855 0.8 0.84 0.88 0.797 1.7072 1.3035 0.7775 1.2835 0.6156 0.8616 0.71 0.8264 0.8404 0.8404 0.8404 0.840403 0.77 0.9003 0.595 0.7741596639}}
addUserKnob {12 bxy}
bxy {{curve(which) 0 0.0001 0.128 0.065 0.079 0.15 0.131 0.15 0.15 0.15 0.0861 0.07964206674 0.1450115843 0.1349139613 0.09539869461 0.1081544556 0.1453319462 0.095612 0.10844263 0.08 0.1 0.089 0.1 0.09 0.131 0.0856 0.0342 0.0956 0.0756 0.0783 0.1006 0.15 0.1566 0.0366 0.0366 0.0366 0.036598 0.1 0.1166 0.155 0.1301229508} {curve(which) 0 -0.077 0.044 -0.0805 -0.1155 0.06 0.046 0.06 0.06 0.06 -0.102 -0.05493795109 0.05109712509 0.03471744128 -0.02937932683 -0.008688175787 0.05161680362 -0.084589 -0.03467857 -0.1 -0.05 -0.087 -0.03 -0.08 0.046 -0.0708 -0.0833 -0.0332 -0.086 -0.0233 -0.082 0.06 0.0177 0.0001 0.0001 0.0001 0.000105 0.02 0.0374 0.07 0.03483606557}}
addUserKnob {12 wxy}
wxy {{curve(which) 0.33333333 0.32168 0.32168 0.3127 0.3127 0.3127 0.3127 0.32168 0.3127 0.314 0.3127 0.3216831877 0.3216832104 0.3216832894 0.3216832894 0.3216832104 0.3216832894 0.3127 0.3127 0.3127 0.3127 0.3127 0.3127 0.3127 0.3127 0.3135 0.3135 0.3135 0.3127 0.3127 0.3127 0.3127 0.3457 0.3457 0.3457 0.3457 0.345704 0.33243 0.33333333 0.3127 0.3457} {curve(which) 0.33333333 0.33767 0.33767 0.329 0.329 0.329 0.329 0.33767 0.329 0.351 0.329 0.337673316 0.3376736101 0.3376734472 0.3376734472 0.3376736101 0.3376734472 0.329 0.329 0.329 0.329 0.329 0.329 0.329 0.329 0.3305 0.3305 0.3305 0.329 0.329 0.329 0.329 0.3585 0.3585 0.3585 0.3585 0.35854 0.34744 0.33333333 0.329 0.3585}}
}
Output {
name Output
xpos -40
ypos 86
}
end_group
Position {
translate {{parent.Reformat1.box_width+Rectangle1.area.r+input.width} {parent.ReformatBox4.box_width-input.height}}
name Position6
xpos -1140
ypos 254
}
push $Nc30a2380
Group {
name RGBToXYZ_GamutB
label "\[if \{\[value invert]\} \{return \"XYZ to \[value gamut]\"\} else \{return \"\[value gamut] to XYZ\"\}]\n\n"
xpos -1030
ypos 176
addUserKnob {20 GamutToXYZ_tab l GamutToXYZ}
addUserKnob {4 gamut t "Choose gamut" M {XYZ ACES ACEScg "Filmlight E-Gamut" "DaVinci WG" Rec709 Rec2020 P3D60 P3D65 P3DCI "Arri AlexaWideGamut" REDDRAGONcolor REDDRAGONcolor2 REDcolor REDcolor2 REDcolor3 REDcolor4 REDWideGamutRGB "GoPro Protune Native" CanonCinemaGamut SonySGamut SonySGamut3Cine PanasonicVGamut "DJI D-Gamut" "Fujifilm F-Gamut" BMDFilmV1 BMD4kFilmV1 BMD4kFilmV3 BMD46kFilmV1 BMD46kFilmV3 BMDWideGamutV4 "AdobeRGB\t" AdobeWideGamutRGB ROMM RIMM ERIMM ProPhotoRGB RusselRGB SharpRGB AppleRGB BestRGB}}
gamut P3D65
addUserKnob {6 invert +STARTLINE}
addUserKnob {26 ""}
addUserKnob {26 chromaticity_coordinates_label l " " T "Chromaticity Coordinates"}
addUserKnob {41 rxy T ColorMatrix.rxy}
addUserKnob {41 gxy T ColorMatrix.gxy}
addUserKnob {41 bxy T ColorMatrix.bxy}
addUserKnob {41 wxy T ColorMatrix.wxy}
addUserKnob {41 matrix T ColorMatrix.matrix}
}
Input {
inputs 0
name Input
xpos -40
ypos -10
}
ColorMatrix {
matrix {
{{curve(which) 1 0.9525524378 0.6624541879 0.7053968906 0.7006223798 0.4123907983 0.6369580626 0.5049495697 0.4865709841 0.4451698363 0.6380076408 0.5070186853 0.4462202489 0.4300414324 0.4581649601 0.4878340662 0.4517004192 0.7352752686 0.5022571683 0.7160496712 0.7064827085 0.5990839601 0.6796444654 0.6481720209 0.6369580626 0.6390493512 0.6141571999 0.3724023998 0.60689044 0.4017650783 0.6065810919 0.5766690373 0.7165006995 0.797760427 0.797760427 0.797760427 0.7976718545 0.7015837431 0.8156226277 0.4496616423 0.6318944097} {curve(which) 0 0 0.1340042055 0.1640413404 0.1487748176 0.3575843275 0.1446169019 0.2646814585 0.2656676769 0.2771343887 0.2147038579 0.3587769568 0.3157556653 0.3700728714 0.3832037449 0.3432727158 0.3178463876 0.06860940903 0.2929667532 0.1296834797 0.1288010478 0.2489254922 0.1522114277 0.1940581352 0.1446169019 0.1578372866 0.2825684249 0.4324877858 0.2193847299 0.4560420811 0.2203479856 0.1855582297 0.1010205746 0.1351858526 0.1351858526 0.1351858526 0.1351878047 0.1554162204 0.04716260359 0.3162561059 0.2053879201} {curve(which) 0 9.367863095e-05 0.1561876982 0.08101774752 0.101058729 0.180480808 0.1688809693 0.1830150485 0.1982172877 0.1722826511 0.09774444997 0.0868505761 0.190669477 0.152531758 0.1112773567 0.1215386018 0.1830992699 0.1465712637 0.1552320272 0.1047228053 0.1151721701 0.1024464965 0.1186000481 0.108225815 0.1688809693 0.1516760886 0.05183707923 0.1436725408 0.124180764 0.09264881909 0.123526901 0.1882286519 0.1467743814 0.03134934977 0.03134934977 0.03134934977 0.03133957833 0.09979832917 0.1372147948 0.1845382005 0.1270133406}}
{{curve(which) 0 0.3439664543 0.2722287476 0.2801307142 0.2741185129 0.2126390189 0.2627002299 0.237623319 0.2289745659 0.209491685 0.2919537723 0.2207257152 0.1942579001 0.2022213936 0.1694435924 0.2289056629 0.2119505703 0.2866941094 0.1387997568 0.2612613738 0.2709796727 0.2150758505 0.2606855333 0.2830046713 0.2627002299 0.1743051857 0.2365771234 0.1383759677 0.1973138005 0.1721783578 0.2680045366 0.2973450124 0.258728236 0.2880711257 0.2880711257 0.2880711257 0.2880405784 0.3152042925 0.3790788651 0.2446159422 0.2276017666} {curve(which) 1 0.7281661034 0.6740817428 0.8202066422 0.8736318946 0.7151686549 0.6779980659 0.6891706586 0.6917385459 0.7215952873 0.8238410354 0.839184761 0.7385566831 0.7585275769 0.8648257852 0.7808576822 0.7230190039 0.8429791331 0.910841465 0.8696421385 0.786606431 0.8850684762 0.7748944759 0.8131960034 0.6779980659 0.951146543 0.8896810412 0.911518693 0.943950057 0.8553914428 0.8326833844 0.6273635626 0.7246823311 0.7118432522 0.7118432522 0.7118432522 0.7118694782 0.6648360491 0.5769088268 0.6720442176 0.7383946776} {curve(which) 0 -0.07213255018 0.05368951708 -0.1003373638 -0.1477504075 0.07219231874 0.05930171534 0.07320601493 0.07928691059 0.06891305745 -0.1157948226 -0.05991046131 0.06718540192 0.03925102949 -0.03426937759 -0.009763340466 0.06503042579 -0.1296732277 -0.04964122549 -0.1309035122 -0.05758608505 -0.1001443192 -0.03558001295 -0.09620071948 0.05930171534 -0.1254517138 -0.1262581497 -0.04989464581 -0.1412638426 -0.02756982669 -0.1006879359 0.07529145479 0.01658944227 8.565396274e-05 8.565396274e-05 8.565396274e-05 8.991353388e-05 0.01995966583 0.04401229322 0.08333983272 0.0340035744}}
{{curve(which) 0 -3.863927134e-08 -0.005574660841 -0.1037815213 -0.09896291792 0.01933082007 0 0 0 0 0.0027982709 -0.0544523783 -0.04792318866 -0.0176958181 -0.1061859056 -0.02100777067 -0.01945115253 -0.07968087494 0.07801423222 -0.009676366113 -0.009677864611 -0.03206583485 -0.009310216643 -0.01825834997 0 -0.11669112 -0.02325225808 -0.1602820009 -0.1427432895 -0.10720893 -0.02941203304 0.02703136392 -2.906408625e-08 -3.236030111e-08 -3.236030111e-08 -3.236030111e-08 0 0 -0.01229703799 0.02518104948 0} {curve(which) 0 0 0.004060741514 -0.07290724665 -0.1378953159 0.1191947311 0.0280726999 0.0449459292 0.04511339962 0.04706057906 -0.06703422964 -0.0003228379355 -0.0002844714036 0.08768811822 0.02554347552 0.01782695204 0.01650637016 -0.3473432064 -0.3148325086 -0.2364816219 0.004600019194 -0.02765839547 -0.004612449091 -0.08316776901 0.0280726999 -0.5518454909 -0.4897170365 -0.171635136 -0.4278847873 0.07809129357 -0.08659287542 0.07068887353 0.05121183768 1.2621717e-08 1.2621717e-08 1.2621717e-08 -1.262213711e-08 0.04317118227 0.01672476344 0.1411857158 0.01001892332} {curve(which) 1 1.008825183 1.010339141 1.265746474 1.325916052 0.950532198 1.060985088 0.9638792276 1.043944359 0.9073553085 1.153293729 1.063571215 1.057001948 0.9388025999 1.089437366 1.01197505 1.011739731 1.51608181 1.325875998 1.335215807 1.094135642 1.148782015 1.102980375 1.190483928 1.060985088 1.745692492 1.590125084 1.409072995 1.65968585 1.118175387 1.205062628 0.9913375378 0.7738927603 0.8251045942 0.8251045942 0.8251045942 0.8248898983 0.8782252669 0.9955722094 0.9226909876 0.8150856495}}
}
invert {{parent.invert}}
name ColorMatrix
label "RGB to XYZ"
xpos -40
ypos 32
addUserKnob {20 Gamut}
addUserKnob {3 which}
which {{parent.gamut}}
addUserKnob {12 rxy}
rxy {{curve(which) 1 0.7347 0.713 0.8 0.8 0.64 0.708 0.68 0.68 0.68 0.684 0.7530442228 0.7530444911 0.6997470013 0.8786825105 0.7011810359 0.7011805919 0.780308 0.69848046 0.74 0.73 0.766 0.73 0.71 0.708 0.9173 0.7422 1.0625 0.9175 0.8608 0.7177 0.64 0.7347 0.7347 0.7347 0.7347 0.734699 0.69 0.6898 0.625 0.7351916376} {curve(which) 0 0.2653 0.293 0.3177 0.313 0.33 0.292 0.32 0.32 0.32 0.313 0.3278305767 0.3278310295 0.3290469303 0.3249640074 0.3290141556 0.3290136991 0.304253 0.19302645 0.27 0.28 0.275 0.28 0.31 0.292 0.2502 0.2859 0.3948 0.2983 0.3689 0.3171 0.33 0.2653 0.2653 0.2653 0.2653 0.265301 0.31 0.3206 0.34 0.2648083624}}
addUserKnob {12 gxy}
gxy {{curve(which) 0 0 0.165 0.18 0.1682 0.3 0.17 0.265 0.265 0.265 0.221 0.2995702285 0.2995704905 0.304264039 0.3008887144 0.3006003047 0.3006003955 0.121595 0.32955538 0.17 0.14 0.225 0.165 0.21 0.17 0.2833 0.414 0.3689 0.2983 0.3282 0.228 0.21 0.1152 0.1596 0.1596 0.1596 0.159597 0.18 0.0736 0.28 0.2153361345} {curve(which) 1 1 0.83 0.9 0.9877 0.6 0.797 0.69 0.69 0.69 0.848 0.700699322 0.7006994156 0.6236411451 0.6790547558 0.6837888343 0.6837888243 1.493994 1.02459662 1.14 0.855 0.8 0.84 0.88 0.797 1.7072 1.3035 0.7775 1.2835 0.6156 0.8616 0.71 0.8264 0.8404 0.8404 0.8404 0.840403 0.77 0.9003 0.595 0.7741596639}}
addUserKnob {12 bxy}
bxy {{curve(which) 0 0.0001 0.128 0.065 0.079 0.15 0.131 0.15 0.15 0.15 0.0861 0.07964206674 0.1450115843 0.1349139613 0.09539869461 0.1081544556 0.1453319462 0.095612 0.10844263 0.08 0.1 0.089 0.1 0.09 0.131 0.0856 0.0342 0.0956 0.0756 0.0783 0.1006 0.15 0.1566 0.0366 0.0366 0.0366 0.036598 0.1 0.1166 0.155 0.1301229508} {curve(which) 0 -0.077 0.044 -0.0805 -0.1155 0.06 0.046 0.06 0.06 0.06 -0.102 -0.05493795109 0.05109712509 0.03471744128 -0.02937932683 -0.008688175787 0.05161680362 -0.084589 -0.03467857 -0.1 -0.05 -0.087 -0.03 -0.08 0.046 -0.0708 -0.0833 -0.0332 -0.086 -0.0233 -0.082 0.06 0.0177 0.0001 0.0001 0.0001 0.000105 0.02 0.0374 0.07 0.03483606557}}
addUserKnob {12 wxy}
wxy {{curve(which) 0.33333333 0.32168 0.32168 0.3127 0.3127 0.3127 0.3127 0.32168 0.3127 0.314 0.3127 0.3216831877 0.3216832104 0.3216832894 0.3216832894 0.3216832104 0.3216832894 0.3127 0.3127 0.3127 0.3127 0.3127 0.3127 0.3127 0.3127 0.3135 0.3135 0.3135 0.3127 0.3127 0.3127 0.3127 0.3457 0.3457 0.3457 0.3457 0.345704 0.33243 0.33333333 0.3127 0.3457} {curve(which) 0.33333333 0.33767 0.33767 0.329 0.329 0.329 0.329 0.33767 0.329 0.351 0.329 0.337673316 0.3376736101 0.3376734472 0.3376734472 0.3376736101 0.3376734472 0.329 0.329 0.329 0.329 0.329 0.329 0.329 0.329 0.3305 0.3305 0.3305 0.329 0.329 0.329 0.329 0.3585 0.3585 0.3585 0.3585 0.35854 0.34744 0.33333333 0.329 0.3585}}
}
Output {
name Output
xpos -40
ypos 86
}
end_group
Position {
translate {{parent.Reformat1.box_width+Rectangle1.area.r} {parent.ReformatBox4.box_width-input.height*2}}
name Position5
xpos -1030
ypos 254
}
push $Nc30a2380
Group {
name RGBToXYZ_GamutA
label "\[if \{\[value invert]\} \{return \"XYZ to \[value gamut]\"\} else \{return \"\[value gamut] to XYZ\"\}]\n\n"
xpos -920
ypos 176
addUserKnob {20 GamutToXYZ_tab l GamutToXYZ}
addUserKnob {4 gamut t "Choose gamut" M {XYZ ACES ACEScg "Filmlight E-Gamut" "DaVinci WG" Rec709 Rec2020 P3D60 P3D65 P3DCI "Arri AlexaWideGamut" REDDRAGONcolor REDDRAGONcolor2 REDcolor REDcolor2 REDcolor3 REDcolor4 REDWideGamutRGB "GoPro Protune Native" CanonCinemaGamut SonySGamut SonySGamut3Cine PanasonicVGamut "DJI D-Gamut" "Fujifilm F-Gamut" BMDFilmV1 BMD4kFilmV1 BMD4kFilmV3 BMD46kFilmV1 BMD46kFilmV3 BMDWideGamutV4 "AdobeRGB\t" AdobeWideGamutRGB ROMM RIMM ERIMM ProPhotoRGB RusselRGB SharpRGB AppleRGB BestRGB}}
gamut Rec2020
addUserKnob {6 invert +STARTLINE}
addUserKnob {26 ""}
addUserKnob {26 chromaticity_coordinates_label l " " T "Chromaticity Coordinates"}
addUserKnob {41 rxy T ColorMatrix.rxy}
addUserKnob {41 gxy T ColorMatrix.gxy}
addUserKnob {41 bxy T ColorMatrix.bxy}
addUserKnob {41 wxy T ColorMatrix.wxy}
addUserKnob {41 matrix T ColorMatrix.matrix}
}
Input {
inputs 0
name Input
xpos -40
ypos -10
}
ColorMatrix {
matrix {
{{curve(which) 1 0.9525524378 0.6624541879 0.7053968906 0.7006223798 0.4123907983 0.6369580626 0.5049495697 0.4865709841 0.4451698363 0.6380076408 0.5070186853 0.4462202489 0.4300414324 0.4581649601 0.4878340662 0.4517004192 0.7352752686 0.5022571683 0.7160496712 0.7064827085 0.5990839601 0.6796444654 0.6481720209 0.6369580626 0.6390493512 0.6141571999 0.3724023998 0.60689044 0.4017650783 0.6065810919 0.5766690373 0.7165006995 0.797760427 0.797760427 0.797760427 0.7976718545 0.7015837431 0.8156226277 0.4496616423 0.6318944097} {curve(which) 0 0 0.1340042055 0.1640413404 0.1487748176 0.3575843275 0.1446169019 0.2646814585 0.2656676769 0.2771343887 0.2147038579 0.3587769568 0.3157556653 0.3700728714 0.3832037449 0.3432727158 0.3178463876 0.06860940903 0.2929667532 0.1296834797 0.1288010478 0.2489254922 0.1522114277 0.1940581352 0.1446169019 0.1578372866 0.2825684249 0.4324877858 0.2193847299 0.4560420811 0.2203479856 0.1855582297 0.1010205746 0.1351858526 0.1351858526 0.1351858526 0.1351878047 0.1554162204 0.04716260359 0.3162561059 0.2053879201} {curve(which) 0 9.367863095e-05 0.1561876982 0.08101774752 0.101058729 0.180480808 0.1688809693 0.1830150485 0.1982172877 0.1722826511 0.09774444997 0.0868505761 0.190669477 0.152531758 0.1112773567 0.1215386018 0.1830992699 0.1465712637 0.1552320272 0.1047228053 0.1151721701 0.1024464965 0.1186000481 0.108225815 0.1688809693 0.1516760886 0.05183707923 0.1436725408 0.124180764 0.09264881909 0.123526901 0.1882286519 0.1467743814 0.03134934977 0.03134934977 0.03134934977 0.03133957833 0.09979832917 0.1372147948 0.1845382005 0.1270133406}}
{{curve(which) 0 0.3439664543 0.2722287476 0.2801307142 0.2741185129 0.2126390189 0.2627002299 0.237623319 0.2289745659 0.209491685 0.2919537723 0.2207257152 0.1942579001 0.2022213936 0.1694435924 0.2289056629 0.2119505703 0.2866941094 0.1387997568 0.2612613738 0.2709796727 0.2150758505 0.2606855333 0.2830046713 0.2627002299 0.1743051857 0.2365771234 0.1383759677 0.1973138005 0.1721783578 0.2680045366 0.2973450124 0.258728236 0.2880711257 0.2880711257 0.2880711257 0.2880405784 0.3152042925 0.3790788651 0.2446159422 0.2276017666} {curve(which) 1 0.7281661034 0.6740817428 0.8202066422 0.8736318946 0.7151686549 0.6779980659 0.6891706586 0.6917385459 0.7215952873 0.8238410354 0.839184761 0.7385566831 0.7585275769 0.8648257852 0.7808576822 0.7230190039 0.8429791331 0.910841465 0.8696421385 0.786606431 0.8850684762 0.7748944759 0.8131960034 0.6779980659 0.951146543 0.8896810412 0.911518693 0.943950057 0.8553914428 0.8326833844 0.6273635626 0.7246823311 0.7118432522 0.7118432522 0.7118432522 0.7118694782 0.6648360491 0.5769088268 0.6720442176 0.7383946776} {curve(which) 0 -0.07213255018 0.05368951708 -0.1003373638 -0.1477504075 0.07219231874 0.05930171534 0.07320601493 0.07928691059 0.06891305745 -0.1157948226 -0.05991046131 0.06718540192 0.03925102949 -0.03426937759 -0.009763340466 0.06503042579 -0.1296732277 -0.04964122549 -0.1309035122 -0.05758608505 -0.1001443192 -0.03558001295 -0.09620071948 0.05930171534 -0.1254517138 -0.1262581497 -0.04989464581 -0.1412638426 -0.02756982669 -0.1006879359 0.07529145479 0.01658944227 8.565396274e-05 8.565396274e-05 8.565396274e-05 8.991353388e-05 0.01995966583 0.04401229322 0.08333983272 0.0340035744}}
{{curve(which) 0 -3.863927134e-08 -0.005574660841 -0.1037815213 -0.09896291792 0.01933082007 0 0 0 0 0.0027982709 -0.0544523783 -0.04792318866 -0.0176958181 -0.1061859056 -0.02100777067 -0.01945115253 -0.07968087494 0.07801423222 -0.009676366113 -0.009677864611 -0.03206583485 -0.009310216643 -0.01825834997 0 -0.11669112 -0.02325225808 -0.1602820009 -0.1427432895 -0.10720893 -0.02941203304 0.02703136392 -2.906408625e-08 -3.236030111e-08 -3.236030111e-08 -3.236030111e-08 0 0 -0.01229703799 0.02518104948 0} {curve(which) 0 0 0.004060741514 -0.07290724665 -0.1378953159 0.1191947311 0.0280726999 0.0449459292 0.04511339962 0.04706057906 -0.06703422964 -0.0003228379355 -0.0002844714036 0.08768811822 0.02554347552 0.01782695204 0.01650637016 -0.3473432064 -0.3148325086 -0.2364816219 0.004600019194 -0.02765839547 -0.004612449091 -0.08316776901 0.0280726999 -0.5518454909 -0.4897170365 -0.171635136 -0.4278847873 0.07809129357 -0.08659287542 0.07068887353 0.05121183768 1.2621717e-08 1.2621717e-08 1.2621717e-08 -1.262213711e-08 0.04317118227 0.01672476344 0.1411857158 0.01001892332} {curve(which) 1 1.008825183 1.010339141 1.265746474 1.325916052 0.950532198 1.060985088 0.9638792276 1.043944359 0.9073553085 1.153293729 1.063571215 1.057001948 0.9388025999 1.089437366 1.01197505 1.011739731 1.51608181 1.325875998 1.335215807 1.094135642 1.148782015 1.102980375 1.190483928 1.060985088 1.745692492 1.590125084 1.409072995 1.65968585 1.118175387 1.205062628 0.9913375378 0.7738927603 0.8251045942 0.8251045942 0.8251045942 0.8248898983 0.8782252669 0.9955722094 0.9226909876 0.8150856495}}
}
invert {{parent.invert}}
name ColorMatrix
label "RGB to XYZ"
xpos -40
ypos 32
addUserKnob {20 Gamut}
addUserKnob {3 which}
which {{parent.gamut}}
addUserKnob {12 rxy}
rxy {{curve(which) 1 0.7347 0.713 0.8 0.8 0.64 0.708 0.68 0.68 0.68 0.684 0.7530442228 0.7530444911 0.6997470013 0.8786825105 0.7011810359 0.7011805919 0.780308 0.69848046 0.74 0.73 0.766 0.73 0.71 0.708 0.9173 0.7422 1.0625 0.9175 0.8608 0.7177 0.64 0.7347 0.7347 0.7347 0.7347 0.734699 0.69 0.6898 0.625 0.7351916376} {curve(which) 0 0.2653 0.293 0.3177 0.313 0.33 0.292 0.32 0.32 0.32 0.313 0.3278305767 0.3278310295 0.3290469303 0.3249640074 0.3290141556 0.3290136991 0.304253 0.19302645 0.27 0.28 0.275 0.28 0.31 0.292 0.2502 0.2859 0.3948 0.2983 0.3689 0.3171 0.33 0.2653 0.2653 0.2653 0.2653 0.265301 0.31 0.3206 0.34 0.2648083624}}
addUserKnob {12 gxy}
gxy {{curve(which) 0 0 0.165 0.18 0.1682 0.3 0.17 0.265 0.265 0.265 0.221 0.2995702285 0.2995704905 0.304264039 0.3008887144 0.3006003047 0.3006003955 0.121595 0.32955538 0.17 0.14 0.225 0.165 0.21 0.17 0.2833 0.414 0.3689 0.2983 0.3282 0.228 0.21 0.1152 0.1596 0.1596 0.1596 0.159597 0.18 0.0736 0.28 0.2153361345} {curve(which) 1 1 0.83 0.9 0.9877 0.6 0.797 0.69 0.69 0.69 0.848 0.700699322 0.7006994156 0.6236411451 0.6790547558 0.6837888343 0.6837888243 1.493994 1.02459662 1.14 0.855 0.8 0.84 0.88 0.797 1.7072 1.3035 0.7775 1.2835 0.6156 0.8616 0.71 0.8264 0.8404 0.8404 0.8404 0.840403 0.77 0.9003 0.595 0.7741596639}}
addUserKnob {12 bxy}
bxy {{curve(which) 0 0.0001 0.128 0.065 0.079 0.15 0.131 0.15 0.15 0.15 0.0861 0.07964206674 0.1450115843 0.1349139613 0.09539869461 0.1081544556 0.1453319462 0.095612 0.10844263 0.08 0.1 0.089 0.1 0.09 0.131 0.0856 0.0342 0.0956 0.0756 0.0783 0.1006 0.15 0.1566 0.0366 0.0366 0.0366 0.036598 0.1 0.1166 0.155 0.1301229508} {curve(which) 0 -0.077 0.044 -0.0805 -0.1155 0.06 0.046 0.06 0.06 0.06 -0.102 -0.05493795109 0.05109712509 0.03471744128 -0.02937932683 -0.008688175787 0.05161680362 -0.084589 -0.03467857 -0.1 -0.05 -0.087 -0.03 -0.08 0.046 -0.0708 -0.0833 -0.0332 -0.086 -0.0233 -0.082 0.06 0.0177 0.0001 0.0001 0.0001 0.000105 0.02 0.0374 0.07 0.03483606557}}
addUserKnob {12 wxy}
wxy {{curve(which) 0.33333333 0.32168 0.32168 0.3127 0.3127 0.3127 0.3127 0.32168 0.3127 0.314 0.3127 0.3216831877 0.3216832104 0.3216832894 0.3216832894 0.3216832104 0.3216832894 0.3127 0.3127 0.3127 0.3127 0.3127 0.3127 0.3127 0.3127 0.3135 0.3135 0.3135 0.3127 0.3127 0.3127 0.3127 0.3457 0.3457 0.3457 0.3457 0.345704 0.33243 0.33333333 0.3127 0.3457} {curve(which) 0.33333333 0.33767 0.33767 0.329 0.329 0.329 0.329 0.33767 0.329 0.351 0.329 0.337673316 0.3376736101 0.3376734472 0.3376734472 0.3376736101 0.3376734472 0.329 0.329 0.329 0.329 0.329 0.329 0.329 0.329 0.3305 0.3305 0.3305 0.329 0.329 0.329 0.329 0.3585 0.3585 0.3585 0.3585 0.35854 0.34744 0.33333333 0.329 0.3585}}
}
Output {
name Output
xpos -40
ypos 86
}
end_group
Position {
translate {{parent.Reformat1.box_width+Rectangle1.area.r} {parent.ReformatBox4.box_width-input.height}}
name Position4
xpos -920
ypos 254
}
push $Na6a64980
Reformat {
type scale
scale 0.8
turn true
filter Impulse
black_outside true
name Reformat2
xpos -920
ypos -129
}
BlackOutside {
name BlackOutside2
xpos -920
ypos -106
}
Position {
translate {{Rectangle1.area.r} {parent.Position3.translate.y-input.height}}
name Position2
xpos -920
ypos -81
}
Group {
inputs 0
name ColorChecker24_After_November_2014
label "CIE XYZ D50"
xpos -920
ypos -352
addUserKnob {20 colorchecker_tab l "ColorChecker24 - After November 2014"}
addUserKnob {3 patch_resolution}
patch_resolution 48
}
Group {
inputs 0
name bluish_green
xpos 622
ypos -321
postage_stamp true
addUserKnob {20 sample_Tab l Sample}
addUserKnob {19 colour_RGBA_Color_Knob l Colour}
colour_RGBA_Color_Knob {0.30451114 0.4143554688 0.344352688 1}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {1 name_Text_Knob l Name}
name_Text_Knob "bluish green"
addUserKnob {1 index_Text_Knob l Index}
index_Text_Knob 6
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {3 resolution}
resolution {{parent.patch_resolution}}
}
Constant {
inputs 0
color {{parent.colour_RGBA_Color_Knob.r} {parent.colour_RGBA_Color_Knob.g} {parent.colour_RGBA_Color_Knob.b} {parent.colour_RGBA_Color_Knob.a}}
format "512 512 0 0 512 512 1 square_512"
name Constant
xpos 262
ypos 53
}
Reformat {
type "to box"
box_width {{parent.resolution}}
box_height {{parent.resolution}}
box_fixed true
filter Impulse
black_outside true
name Reformat1
xpos 262
ypos 125
}
Output {
name Output
xpos 262
ypos 173
}
end_group
Group {
inputs 0
name blue_flower
xpos 512
ypos -321
postage_stamp true
addUserKnob {20 sample_Tab l Sample}
addUserKnob {19 colour_RGBA_Color_Knob l Colour}
colour_RGBA_Color_Knob {0.2419823988 0.2287175998 0.3282104382 1}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {1 name_Text_Knob l Name}
name_Text_Knob "blue flower"
addUserKnob {1 index_Text_Knob l Index}
index_Text_Knob 5
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {3 resolution}
resolution {{parent.patch_resolution}}
}
Constant {
inputs 0
color {{parent.colour_RGBA_Color_Knob.r} {parent.colour_RGBA_Color_Knob.g} {parent.colour_RGBA_Color_Knob.b} {parent.colour_RGBA_Color_Knob.a}}
format "512 512 0 0 512 512 1 square_512"
name Constant
xpos 262
ypos 53
}
Reformat {
type "to box"
box_width {{parent.resolution}}
box_height {{parent.resolution}}
box_fixed true
filter Impulse
black_outside true
name Reformat1
}
Output {
name Output
xpos 262
ypos 173
}
end_group
Group {
inputs 0
name foliage
xpos 402
ypos -321
postage_stamp true
addUserKnob {20 sample_Tab l Sample}
addUserKnob {19 colour_RGBA_Color_Knob l Colour}
colour_RGBA_Color_Knob {0.1114392339 0.1346792679 0.05239320311 1}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {1 name_Text_Knob l Name}
name_Text_Knob foliage
addUserKnob {1 index_Text_Knob l Index}
index_Text_Knob 4
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {3 resolution}
resolution {{parent.patch_resolution}}
}
Constant {
inputs 0
color {{parent.colour_RGBA_Color_Knob.r} {parent.colour_RGBA_Color_Knob.g} {parent.colour_RGBA_Color_Knob.b} {parent.colour_RGBA_Color_Knob.a}}
format "512 512 0 0 512 512 1 square_512"
name Constant
xpos 262
ypos 53
}
Reformat {
type "to box"
box_width {{parent.resolution}}
box_height {{parent.resolution}}
box_fixed true
filter Impulse
black_outside true
name Reformat1
}
Output {
name Output
xpos 262
ypos 173
}
end_group
Group {
inputs 0
name blue_sky
xpos 292
ypos -321
postage_stamp true
addUserKnob {20 sample_Tab l Sample}
addUserKnob {19 colour_RGBA_Color_Knob l Colour}
colour_RGBA_Color_Knob {0.1652470004 0.1785519348 0.2546024121 1}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {1 name_Text_Knob l Name}
name_Text_Knob "blue sky"
addUserKnob {1 index_Text_Knob l Index}
index_Text_Knob 3
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {3 resolution}
resolution {{parent.patch_resolution}}
}
Constant {
inputs 0
color {{parent.colour_RGBA_Color_Knob.r} {parent.colour_RGBA_Color_Knob.g} {parent.colour_RGBA_Color_Knob.b} {parent.colour_RGBA_Color_Knob.a}}
format "512 512 0 0 512 512 1 square_512"
name Constant
xpos 262
ypos 53
}
Reformat {
type "to box"
box_width {{parent.resolution}}
box_height {{parent.resolution}}
box_fixed true
filter Impulse
black_outside true
name Reformat1
}
Output {
name Output
xpos 262
ypos 173
}
end_group
Group {
inputs 0
name light_skin
xpos 180
ypos -321
postage_stamp true
addUserKnob {20 sample_Tab l Sample}
addUserKnob {19 colour_RGBA_Color_Knob l Colour}
colour_RGBA_Color_Knob {0.3811104477 0.336202304 0.1852590702 1}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {1 name_Text_Knob l Name}
name_Text_Knob "light skin"
addUserKnob {1 index_Text_Knob l Index}
index_Text_Knob 2
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {3 resolution}
resolution {{parent.patch_resolution}}
}
Constant {
inputs 0
color {{parent.colour_RGBA_Color_Knob.r} {parent.colour_RGBA_Color_Knob.g} {parent.colour_RGBA_Color_Knob.b} {parent.colour_RGBA_Color_Knob.a}}
format "512 512 0 0 512 512 1 square_512"
name Constant
xpos 262
ypos 63
}
Reformat {
type "to box"
box_width {{parent.resolution}}
box_height {{parent.resolution}}
box_fixed true
filter Impulse
black_outside true
name Reformat1
xpos 262
ypos 135
}
Output {
name Output
xpos 262
ypos 173
}
end_group
Group {
inputs 0
name dark_skin
xpos 70
ypos -321
postage_stamp true
addUserKnob {20 sample_Tab l Sample}
addUserKnob {19 colour_RGBA_Color_Knob l Colour}
colour_RGBA_Color_Knob {0.1136398927 0.09832436105 0.047793811 1}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {1 name_Text_Knob l Name}
name_Text_Knob "dark skin"
addUserKnob {1 index_Text_Knob l Index}
index_Text_Knob 1
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {3 resolution}
resolution {{parent.patch_resolution}}
}
Constant {
inputs 0
color {{parent.colour_RGBA_Color_Knob.r} {parent.colour_RGBA_Color_Knob.g} {parent.colour_RGBA_Color_Knob.b} {parent.colour_RGBA_Color_Knob.a}}
format "512 512 0 0 512 512 1 square_512"
name Constant
xpos 290
ypos 63
}
Reformat {
type "to box"
box_width {{parent.resolution}}
box_height {{parent.resolution}}
box_fixed true
filter Impulse
black_outside true
name Reformat1
xpos 290
ypos 158
}
Output {
name Output
xpos 290
ypos 230
}
end_group
Group {
inputs 0
name orange_yellow
xpos 622
ypos -201
postage_stamp true
addUserKnob {20 sample_Tab l Sample}
addUserKnob {19 colour_RGBA_Color_Knob l Colour}
colour_RGBA_Color_Knob {0.4769723742 0.4293377578 0.06005041429 1}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {1 name_Text_Knob l Name}
name_Text_Knob "orange yellow"
addUserKnob {1 index_Text_Knob l Index}
index_Text_Knob 12
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {3 resolution}
resolution {{parent.patch_resolution}}
}
Constant {
inputs 0
color {{parent.colour_RGBA_Color_Knob.r} {parent.colour_RGBA_Color_Knob.g} {parent.colour_RGBA_Color_Knob.b} {parent.colour_RGBA_Color_Knob.a}}
format "512 512 0 0 512 512 1 square_512"
name Constant
xpos 262
ypos 53
}
Reformat {
type "to box"
box_width {{parent.resolution}}
box_height {{parent.resolution}}
box_fixed true
filter Impulse
black_outside true
name Reformat1
}
Output {
name Output
xpos 262
ypos 173
}
end_group
Group {
inputs 0
name yellow_green
xpos 512
ypos -201
postage_stamp true
addUserKnob {20 sample_Tab l Sample}
addUserKnob {19 colour_RGBA_Color_Knob l Colour}
colour_RGBA_Color_Knob {0.3427379502 0.4331759409 0.08330791241 1}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {1 name_Text_Knob l Name}
name_Text_Knob "yellow green"
addUserKnob {1 index_Text_Knob l Index}
index_Text_Knob 11
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {3 resolution}
resolution {{parent.patch_resolution}}
}
Constant {
inputs 0
color {{parent.colour_RGBA_Color_Knob.r} {parent.colour_RGBA_Color_Knob.g} {parent.colour_RGBA_Color_Knob.b} {parent.colour_RGBA_Color_Knob.a}}
format "512 512 0 0 512 512 1 square_512"
name Constant
xpos 262
ypos 53
}
Reformat {
type "to box"
box_width {{parent.resolution}}
box_height {{parent.resolution}}
box_fixed true
filter Impulse
black_outside true
name Reformat1
}
Output {
name Output
xpos 262
ypos 173
}
end_group
Group {
inputs 0
name purple
xpos 401
ypos -201
postage_stamp true
addUserKnob {20 sample_Tab l Sample}
addUserKnob {19 colour_RGBA_Color_Knob l Colour}
colour_RGBA_Color_Knob {0.08353888545 0.06276662955 0.1042075686 1}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {1 name_Text_Knob l Name}
name_Text_Knob purple
addUserKnob {1 index_Text_Knob l Index}
index_Text_Knob 10
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {3 resolution}
resolution {{parent.patch_resolution}}
}
Constant {
inputs 0
color {{parent.colour_RGBA_Color_Knob.r} {parent.colour_RGBA_Color_Knob.g} {parent.colour_RGBA_Color_Knob.b} {parent.colour_RGBA_Color_Knob.a}}
format "512 512 0 0 512 512 1 square_512"
name Constant
xpos 262
ypos 53
}
Reformat {
type "to box"
box_width {{parent.resolution}}
box_height {{parent.resolution}}
box_fixed true
filter Impulse
black_outside true
name Reformat1
}
Output {
name Output
xpos 262
ypos 173
}
end_group
Group {
inputs 0
name moderate_red
xpos 290
ypos -201
postage_stamp true
addUserKnob {20 sample_Tab l Sample}
addUserKnob {19 colour_RGBA_Color_Knob l Colour}
colour_RGBA_Color_Knob {0.2915036416 0.188999956 0.09736350318 1}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {1 name_Text_Knob l Name}
name_Text_Knob "moderate red"
addUserKnob {1 index_Text_Knob l Index}
index_Text_Knob 9
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {3 resolution}
resolution {{parent.patch_resolution}}
}
Constant {
inputs 0
color {{parent.colour_RGBA_Color_Knob.r} {parent.colour_RGBA_Color_Knob.g} {parent.colour_RGBA_Color_Knob.b} {parent.colour_RGBA_Color_Knob.a}}
format "512 512 0 0 512 512 1 square_512"
name Constant
xpos 262
ypos 53
}
Reformat {
type "to box"
box_width {{parent.resolution}}
box_height {{parent.resolution}}
box_fixed true
filter Impulse
black_outside true
name Reformat1
}
Output {
name Output
xpos 262
ypos 173
}
end_group
Group {
inputs 0
name purplish_blue
xpos 180
ypos -201
postage_stamp true
addUserKnob {20 sample_Tab l Sample}
addUserKnob {19 colour_RGBA_Color_Knob l Colour}
colour_RGBA_Color_Knob {0.1200518326 0.1091090233 0.2874447494 1}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {1 name_Text_Knob l Name}
name_Text_Knob "purplish blue"
addUserKnob {1 index_Text_Knob l Index}
index_Text_Knob 8
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {3 resolution}
resolution {{parent.patch_resolution}}
}
Constant {
inputs 0
color {{parent.colour_RGBA_Color_Knob.r} {parent.colour_RGBA_Color_Knob.g} {parent.colour_RGBA_Color_Knob.b} {parent.colour_RGBA_Color_Knob.a}}
format "512 512 0 0 512 512 1 square_512"
name Constant
xpos 262
ypos 53
}
Reformat {
type "to box"
box_width {{parent.resolution}}
box_height {{parent.resolution}}
box_fixed true
filter Impulse
black_outside true
name Reformat1
}
Output {
name Output
xpos 262
ypos 173
}
end_group
Group {
inputs 0
name orange
xpos 74
ypos -201
postage_stamp true
addUserKnob {20 sample_Tab l Sample}
addUserKnob {19 colour_RGBA_Color_Knob l Colour}
colour_RGBA_Color_Knob {0.4073691399 0.3126416159 0.05130591012 1}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {1 name_Text_Knob l Name}
name_Text_Knob orange
addUserKnob {1 index_Text_Knob l Index}
index_Text_Knob 7
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {3 resolution}
resolution {{parent.patch_resolution}}
}
Constant {
inputs 0
color {{parent.colour_RGBA_Color_Knob.r} {parent.colour_RGBA_Color_Knob.g} {parent.colour_RGBA_Color_Knob.b} {parent.colour_RGBA_Color_Knob.a}}
format "512 512 0 0 512 512 1 square_512"
name Constant
xpos 262
ypos 53
}
Reformat {
type "to box"
box_width {{parent.resolution}}
box_height {{parent.resolution}}
box_fixed true
filter Impulse
black_outside true
name Reformat1
}
Output {
name Output
xpos 262
ypos 173
}
end_group
Group {
inputs 0
name cyan
xpos 622
ypos -81
postage_stamp true
addUserKnob {20 sample_Tab l Sample}
addUserKnob {19 colour_RGBA_Color_Knob l Colour}
colour_RGBA_Color_Knob {0.1247966941 0.180609913 0.2913392383 1}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {1 name_Text_Knob l Name}
name_Text_Knob cyan
addUserKnob {1 index_Text_Knob l Index}
index_Text_Knob 18
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {3 resolution}
resolution {{parent.patch_resolution}}
}
Constant {
inputs 0
color {{parent.colour_RGBA_Color_Knob.r} {parent.colour_RGBA_Color_Knob.g} {parent.colour_RGBA_Color_Knob.b} {parent.colour_RGBA_Color_Knob.a}}
format "512 512 0 0 512 512 1 square_512"
name Constant
xpos 262
ypos 53
}
Reformat {
type "to box"
box_width {{parent.resolution}}
box_height {{parent.resolution}}
box_fixed true
filter Impulse
black_outside true
name Reformat1
}
Output {
name Output
xpos 262
ypos 173
}
end_group
Group {
inputs 0
name magenta
xpos 512
ypos -81
postage_stamp true
addUserKnob {20 sample_Tab l Sample}
addUserKnob {19 colour_RGBA_Color_Knob l Colour}
colour_RGBA_Color_Knob {0.299122798 0.1895114577 0.2213469194 1}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {1 name_Text_Knob l Name}
name_Text_Knob magenta
addUserKnob {1 index_Text_Knob l Index}
index_Text_Knob 17
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {3 resolution}
resolution {{parent.patch_resolution}}
}
Constant {
inputs 0
color {{parent.colour_RGBA_Color_Knob.r} {parent.colour_RGBA_Color_Knob.g} {parent.colour_RGBA_Color_Knob.b} {parent.colour_RGBA_Color_Knob.a}}
format "512 512 0 0 512 512 1 square_512"
name Constant
xpos 262
ypos 53
}
Reformat {
type "to box"
box_width {{parent.resolution}}
box_height {{parent.resolution}}
box_fixed true
filter Impulse
black_outside true
name Reformat1
}
Output {
name Output
xpos 262
ypos 173
}
end_group
Group {
inputs 0
name yellow
xpos 399
ypos -81
postage_stamp true
addUserKnob {20 sample_Tab l Sample}
addUserKnob {19 colour_RGBA_Color_Knob l Colour}
colour_RGBA_Color_Knob {0.5888922356 0.5992976803 0.07077420003 1}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {1 name_Text_Knob l Name}
name_Text_Knob yellow
addUserKnob {1 index_Text_Knob l Index}
index_Text_Knob 16
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {3 resolution}
resolution {{parent.patch_resolution}}
}
Constant {
inputs 0
color {{parent.colour_RGBA_Color_Knob.r} {parent.colour_RGBA_Color_Knob.g} {parent.colour_RGBA_Color_Knob.b} {parent.colour_RGBA_Color_Knob.a}}
format "512 512 0 0 512 512 1 square_512"
name Constant
xpos 262
ypos 53
}
Reformat {
type "to box"
box_width {{parent.resolution}}
box_height {{parent.resolution}}
box_fixed true
filter Impulse
black_outside true
name Reformat1
xpos 262
ypos 125
}
Output {
name Output
xpos 262
ypos 182
}
end_group
Group {
inputs 0
name red
xpos 292
ypos -81
postage_stamp true
addUserKnob {20 sample_Tab l Sample}
addUserKnob {19 colour_RGBA_Color_Knob l Colour}
colour_RGBA_Color_Knob {0.2143728424 0.127800835 0.03868150726 1}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {1 name_Text_Knob l Name}
name_Text_Knob red
addUserKnob {1 index_Text_Knob l Index}
index_Text_Knob 15
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {3 resolution}
resolution {{parent.patch_resolution}}
}
Constant {
inputs 0
color {{parent.colour_RGBA_Color_Knob.r} {parent.colour_RGBA_Color_Knob.g} {parent.colour_RGBA_Color_Knob.b} {parent.colour_RGBA_Color_Knob.a}}
format "512 512 0 0 512 512 1 square_512"
name Constant
xpos 262
ypos 53
}
Reformat {
type "to box"
box_width {{parent.resolution}}
box_height {{parent.resolution}}
box_fixed true
filter Impulse
black_outside true
name Reformat1
}
Output {
name Output
xpos 262
ypos 173
}
end_group
Group {
inputs 0
name green
xpos 182
ypos -81
postage_stamp true
addUserKnob {20 sample_Tab l Sample}
addUserKnob {19 colour_RGBA_Color_Knob l Colour}
colour_RGBA_Color_Knob {0.1413517689 0.2233437582 0.07287461742 1}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {1 name_Text_Knob l Name}
name_Text_Knob green
addUserKnob {1 index_Text_Knob l Index}
index_Text_Knob 14
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {3 resolution}
resolution {{parent.patch_resolution}}
}
Constant {
inputs 0
color {{parent.colour_RGBA_Color_Knob.r} {parent.colour_RGBA_Color_Knob.g} {parent.colour_RGBA_Color_Knob.b} {parent.colour_RGBA_Color_Knob.a}}
format "512 512 0 0 512 512 1 square_512"
name Constant
xpos 262
ypos 53
}
Reformat {
type "to box"
box_width {{parent.resolution}}
box_height {{parent.resolution}}
box_fixed true
filter Impulse
black_outside true
name Reformat1
}
Output {
name Output
xpos 262
ypos 173
}
end_group
Group {
inputs 0
name blue
xpos 72
ypos -81
postage_stamp true
addUserKnob {20 sample_Tab l Sample}
addUserKnob {19 colour_RGBA_Color_Knob l Colour}
colour_RGBA_Color_Knob {0.06809095613 0.05596214063 0.2077405936 1}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {1 name_Text_Knob l Name}
name_Text_Knob blue
addUserKnob {1 index_Text_Knob l Index}
index_Text_Knob 13
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {3 resolution}
resolution {{parent.patch_resolution}}
}
Constant {
inputs 0
color {{parent.colour_RGBA_Color_Knob.r} {parent.colour_RGBA_Color_Knob.g} {parent.colour_RGBA_Color_Knob.b} {parent.colour_RGBA_Color_Knob.a}}
format "512 512 0 0 512 512 1 square_512"
name Constant
xpos 262
ypos 53
}
Reformat {
type "to box"
box_width {{parent.resolution}}
box_height {{parent.resolution}}
box_fixed true
filter Impulse
black_outside true
name Reformat1
}
Output {
name Output
xpos 262
ypos 173
}
end_group
Group {
inputs 0
name black_2
xpos 623
ypos 39
postage_stamp true
addUserKnob {20 sample_Tab l Sample}
addUserKnob {19 colour_RGBA_Color_Knob l Colour}
colour_RGBA_Color_Knob {0.03042544265 0.03151319431 0.02656724434 1}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {1 name_Text_Knob l Name}
name_Text_Knob "black 2 (1.5 D)"
addUserKnob {1 index_Text_Knob l Index}
index_Text_Knob 24
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {3 resolution}
resolution {{parent.patch_resolution}}
}
Constant {
inputs 0
color {{parent.colour_RGBA_Color_Knob.r} {parent.colour_RGBA_Color_Knob.g} {parent.colour_RGBA_Color_Knob.b} {parent.colour_RGBA_Color_Knob.a}}
format "512 512 0 0 512 512 1 square_512"
name Constant
xpos 262
ypos 53
}
Reformat {
type "to box"
box_width {{parent.resolution}}
box_height {{parent.resolution}}
box_fixed true
filter Impulse
black_outside true
name Reformat1
xpos 262
ypos 125
}
Output {
name Output
xpos 262
ypos 173
}
end_group
Group {
inputs 0
name neutral_3
xpos 512
ypos 39
postage_stamp true
addUserKnob {20 sample_Tab l Sample}
addUserKnob {19 colour_RGBA_Color_Knob l Colour}
colour_RGBA_Color_Knob {0.08448968042 0.08817234828 0.07391630753 1}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {1 name_Text_Knob l Name}
name_Text_Knob "neutral 3.5 (1.05 D)"
addUserKnob {1 index_Text_Knob l Index}
index_Text_Knob 23
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {3 resolution}
resolution {{parent.patch_resolution}}
}
Constant {
inputs 0
color {{parent.colour_RGBA_Color_Knob.r} {parent.colour_RGBA_Color_Knob.g} {parent.colour_RGBA_Color_Knob.b} {parent.colour_RGBA_Color_Knob.a}}
format "512 512 0 0 512 512 1 square_512"
name Constant
xpos 262
ypos 53
}
Reformat {
type "to box"
box_width {{parent.resolution}}
box_height {{parent.resolution}}
box_fixed true
filter Impulse
black_outside true
name Reformat1
}
Output {
name Output
xpos 262
ypos 173
}
end_group
Group {
inputs 0
name neutral_5
xpos 403
ypos 39
postage_stamp true
addUserKnob {20 sample_Tab l Sample}
addUserKnob {19 colour_RGBA_Color_Knob l Colour}
colour_RGBA_Color_Knob {0.1835495863 0.1906228754 0.1566717383 1}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {1 name_Text_Knob l Name}
name_Text_Knob "neutral 5 (.70 D)"
addUserKnob {1 index_Text_Knob l Index}
index_Text_Knob 22
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {3 resolution}
resolution {{parent.patch_resolution}}
}
Constant {
inputs 0
color {{parent.colour_RGBA_Color_Knob.r} {parent.colour_RGBA_Color_Knob.g} {parent.colour_RGBA_Color_Knob.b} {parent.colour_RGBA_Color_Knob.a}}
format "512 512 0 0 512 512 1 square_512"
name Constant
xpos 262
ypos 53
}
Reformat {
type "to box"
box_width {{parent.resolution}}
box_height {{parent.resolution}}
box_fixed true
filter Impulse
black_outside true
name Reformat1
}
Output {
name Output
xpos 262
ypos 173
}
end_group
Group {
inputs 0
name neutral_6
xpos 292
ypos 39
postage_stamp true
addUserKnob {20 sample_Tab l Sample}
addUserKnob {19 colour_RGBA_Color_Knob l Colour}
colour_RGBA_Color_Knob {0.3495921991 0.3648652066 0.3013565492 1}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {1 name_Text_Knob l Name}
name_Text_Knob "neutral 6.5 (.44 D)"
addUserKnob {1 index_Text_Knob l Index}
index_Text_Knob 21
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {3 resolution}
resolution {{parent.patch_resolution}}
}
Constant {
inputs 0
color {{parent.colour_RGBA_Color_Knob.r} {parent.colour_RGBA_Color_Knob.g} {parent.colour_RGBA_Color_Knob.b} {parent.colour_RGBA_Color_Knob.a}}
format "512 512 0 0 512 512 1 square_512"
name Constant
xpos 262
ypos 53
}
Reformat {
type "to box"
box_width {{parent.resolution}}
box_height {{parent.resolution}}
box_fixed true
filter Impulse
black_outside true
name Reformat1
}
Output {
name Output
xpos 262
ypos 173
}
end_group
Group {
inputs 0
name neutral_8
xpos 179
ypos 39
postage_stamp true
addUserKnob {20 sample_Tab l Sample}
addUserKnob {19 colour_RGBA_Color_Knob l Colour}
colour_RGBA_Color_Knob {0.5665335579 0.5899709702 0.4828473821 1}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {1 name_Text_Knob l Name}
name_Text_Knob "neutral 8 (.23 D)"
addUserKnob {1 index_Text_Knob l Index}
index_Text_Knob 20
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {3 resolution}
resolution {{parent.patch_resolution}}
}
Constant {
inputs 0
color {{parent.colour_RGBA_Color_Knob.r} {parent.colour_RGBA_Color_Knob.g} {parent.colour_RGBA_Color_Knob.b} {parent.colour_RGBA_Color_Knob.a}}
format "512 512 0 0 512 512 1 square_512"
name Constant
xpos 262
ypos 53
}
Reformat {
type "to box"
box_width {{parent.resolution}}
box_height {{parent.resolution}}
box_fixed true
filter Impulse
black_outside true
name Reformat1
}
Output {
name Output
xpos 262
ypos 173
}
end_group
Group {
inputs 0
name white_9
xpos 70
ypos 39
postage_stamp true
addUserKnob {20 sample_Tab l Sample}
addUserKnob {19 colour_RGBA_Color_Knob l Colour}
colour_RGBA_Color_Knob {0.8436985288 0.8806903203 0.6936778752 1}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 colour_RGBA_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {1 name_Text_Knob l Name}
name_Text_Knob "white 9.5 (.05 D)"
addUserKnob {1 index_Text_Knob l Index}
index_Text_Knob 19
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {6 label_colour_RGB_Color_Knob_panelDropped_1_1 l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {3 resolution}
resolution {{parent.patch_resolution}}
}
Constant {
inputs 0
color {{parent.colour_RGBA_Color_Knob.r} {parent.colour_RGBA_Color_Knob.g} {parent.colour_RGBA_Color_Knob.b} {parent.colour_RGBA_Color_Knob.a}}
format "512 512 0 0 512 512 1 square_512"
name Constant
xpos 262
ypos 53
}
Reformat {
type "to box"
box_width {{parent.resolution}}
box_height {{parent.resolution}}
box_fixed true
filter Impulse
black_outside true
name Reformat1
xpos 262
ypos 134
}
Output {
name Output
xpos 262
ypos 173
}
end_group
ContactSheet {
inputs 24
width {{"rint(parent.patch_resolution * 6 + gap * 7)"}}
height {{"rint(parent.patch_resolution * 4 + gap * 5)"}}
rows 4
columns 6
startframe 1
endframe 1
name ContactSheet
xpos 620
ypos 206
}
Unpremult {
name Unpremult1
xpos 620
ypos 278
}
Output {
name Output
xpos 620
ypos 446
}
end_group
BlackOutside {
name BlackOutside4
xpos -920
ypos -298
}
Position {
translate {{parent.Reformat1.box_width*3+Rectangle1.area.r} {parent.ReformatBox4.box_width-input.height}}
name Position7
xpos -920
ypos -273
}
Constant {
inputs 0
format "256 256 0 0 256 256 1 square_256"
name Constant5
xpos -700
ypos -1354
postage_stamp false
}
Dot {
name Dot25
xpos -666
ypos -1302
}
set N9f4058b0 [stack 0]
Dot {
name Dot27
xpos -1546
ypos -1302
}
Reformat {
type "to box"
box_width {{parent.Reformat1.box_width}}
box_height 100
box_fixed true
name ReformatBox1
xpos -1580
ypos -994
}
Ramp {
p0 {0 0}
p1 {{input.width} 0}
color {{p1}}
name Ramp3
xpos -1580
ypos -898
}
ColorLookup {
lut {master {}
red {curve 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.31 0.397 0.397 0.397 0.397 0.397 0.397 0.397 0.397 0.397 0.397 0.397 0.397 0.397 0.397 0.397 0.397 0.397 0.397 0.397 0.397 0.397 0.397 0.397 0.397 0.397 0.397 0.397 0.397 0.397 0.397 0.397 0.397 0.397 0.397 0.397 0.397 0.397 0.483 0.483 0.483 0.483 0.483 0.483 0.483 0.483 0.483 0.483 0.483 0.483 0.483 0.483 0.483 0.483 0.483 0.483 0.483 0.483 0.483 0.483 0.483 0.483 0.483 0.483 0.483 0.483 0.483 0.483 0.483 0.483 0.483 0.483 0.483 0.483 0.483 0.569 0.569 0.569 0.569 0.569 0.569 0.569 0.569 0.569 0.569 0.569 0.569 0.569 0.569 0.569 0.569 0.569 0.569 0.569 0.569 0.569 0.569 0.569 0.569 0.569 0.569 0.569 0.569 0.569 0.569 0.569 0.569 0.569 0.569 0.569 0.569 0.569 0.655 0.655 0.655 0.655 0.655 0.655 0.655 0.655 0.655 0.655 0.655 0.655 0.655 0.655 0.655 0.655 0.655 0.655 0.655 0.655 0.655 0.655 0.655 0.655 0.655 0.655 0.655 0.655 0.655 0.655 0.655 0.655 0.655 0.655 0.655 0.655 0.655 0.741 0.741 0.741 0.741 0.741 0.741 0.741 0.741 0.741 0.741 0.741 0.741 0.741 0.741 0.741 0.741 0.741 0.741 0.741 0.741 0.741 0.741 0.741 0.741 0.741 0.741 0.741 0.741 0.741 0.741 0.741 0.741 0.741 0.741 0.741 0.741 0.741 0.828 0.828 0.828 0.828 0.828 0.828 0.828 0.828 0.828 0.828 0.828 0.828 0.828 0.828 0.828 0.828 0.828 0.828 0.828 0.828 0.828 0.828 0.828 0.828 0.828 0.828 0.828 0.828 0.828 0.828 0.828 0.828 0.828 0.828 0.828 0.828 0.828 0.914 0.914 0.914 0.914 0.914 0.914 0.914 0.914 0.914 0.914 0.914 0.914 0.914 0.914 0.914 0.914 0.914 0.914 0.914 0.914 0.914 0.914 0.914 0.914 0.914 0.914 0.914 0.914 0.914 0.914 0.914 0.914 0.914 0.914 0.914 0.914 0.914}
green {curve 0.433 0.464 0.513 0.611 0.576 0.46 0.426 0.412 0.404 0.397 0.384 0.374 0.346 0.333 0.311 0.287 0.257 0.23 0.21 0.219 0.208 0.211 0.208 0.187 0.191 0.187 0.18 0.164 0.17 0.177 0.175 0.188 0.252 0.325 0.385 0.416 0.433 0.487 0.532 0.588 0.637 0.634 0.549 0.506 0.49 0.458 0.426 0.412 0.397 0.365 0.337 0.301 0.262 0.221 0.192 0.164 0.167 0.162 0.176 0.179 0.148 0.156 0.142 0.148 0.138 0.145 0.145 0.161 0.197 0.256 0.324 0.393 0.451 0.487 0.508 0.538 0.587 0.634 0.659 0.611 0.552 0.526 0.484 0.452 0.428 0.406 0.371 0.334 0.293 0.243 0.204 0.177 0.151 0.151 0.162 0.158 0.161 0.142 0.141 0.129 0.134 0.14 0.156 0.166 0.192 0.221 0.265 0.325 0.392 0.451 0.508 0.48 0.513 0.554 0.597 0.63 0.634 0.58 0.546 0.499 0.466 0.434 0.408 0.372 0.332 0.288 0.242 0.202 0.179 0.16 0.157 0.162 0.157 0.159 0.149 0.153 0.147 0.154 0.164 0.18 0.199 0.226 0.25 0.279 0.325 0.38 0.439 0.48 0.436 0.468 0.502 0.541 0.57 0.605 0.594 0.555 0.511 0.473 0.439 0.409 0.371 0.332 0.288 0.252 0.217 0.196 0.181 0.178 0.185 0.176 0.173 0.168 0.176 0.178 0.19 0.202 0.214 0.235 0.254 0.27 0.291 0.323 0.366 0.41 0.436 0.396 0.414 0.438 0.465 0.485 0.527 0.566 0.557 0.523 0.478 0.442 0.409 0.371 0.334 0.294 0.265 0.244 0.223 0.225 0.212 0.218 0.211 0.211 0.207 0.214 0.217 0.229 0.237 0.244 0.264 0.275 0.285 0.3 0.321 0.348 0.376 0.396 0.357 0.368 0.377 0.391 0.402 0.431 0.481 0.503 0.521 0.482 0.444 0.409 0.372 0.337 0.307 0.286 0.27 0.257 0.247 0.251 0.257 0.255 0.254 0.25 0.258 0.259 0.265 0.269 0.278 0.284 0.292 0.297 0.305 0.317 0.33 0.344 0.357 0.321 0.322 0.328 0.332 0.333 0.346 0.365 0.389 0.411 0.459 0.443 0.399 0.352 0.327 0.313 0.304 0.3 0.294 0.295 0.294 0.293 0.292 0.291 0.295 0.3 0.301 0.302 0.304 0.304 0.304 0.305 0.307 0.309 0.312 0.313 0.316 0.321}
blue {curve 0.26 0.281 0.298 0.306 0.342 0.365 0.39 0.381 0.392 0.416 0.413 0.43 0.448 0.446 0.433 0.425 0.419 0.394 0.362 0.328 0.305 0.298 0.286 0.247 0.26 0.219 0.199 0.168 0.178 0.14 0.11 0.084 0.104 0.158 0.18 0.225 0.26 0.235 0.26 0.28 0.298 0.327 0.372 0.395 0.417 0.43 0.435 0.455 0.488 0.479 0.521 0.522 0.515 0.49 0.436 0.383 0.331 0.295 0.282 0.258 0.219 0.208 0.179 0.168 0.141 0.129 0.106 0.094 0.095 0.112 0.127 0.165 0.199 0.235 0.226 0.258 0.28 0.298 0.316 0.361 0.399 0.427 0.446 0.461 0.482 0.52 0.521 0.553 0.563 0.573 0.524 0.454 0.389 0.33 0.295 0.266 0.247 0.214 0.195 0.168 0.178 0.142 0.14 0.128 0.129 0.126 0.131 0.144 0.167 0.199 0.226 0.238 0.266 0.289 0.31 0.329 0.351 0.395 0.428 0.453 0.475 0.494 0.533 0.542 0.568 0.584 0.576 0.53 0.451 0.385 0.331 0.299 0.266 0.245 0.22 0.206 0.184 0.174 0.167 0.166 0.166 0.173 0.172 0.165 0.172 0.187 0.208 0.238 0.258 0.28 0.3 0.321 0.343 0.362 0.391 0.427 0.458 0.482 0.503 0.546 0.554 0.573 0.582 0.546 0.499 0.431 0.375 0.33 0.304 0.275 0.254 0.234 0.225 0.212 0.209 0.206 0.203 0.21 0.215 0.212 0.204 0.208 0.214 0.231 0.258 0.277 0.294 0.31 0.328 0.348 0.372 0.397 0.427 0.462 0.487 0.51 0.544 0.558 0.559 0.556 0.503 0.444 0.402 0.355 0.329 0.309 0.289 0.275 0.26 0.254 0.245 0.245 0.241 0.238 0.249 0.249 0.245 0.241 0.242 0.246 0.258 0.277 0.295 0.305 0.315 0.327 0.339 0.359 0.39 0.421 0.461 0.491 0.515 0.54 0.546 0.522 0.478 0.429 0.393 0.368 0.345 0.325 0.313 0.303 0.295 0.286 0.284 0.279 0.277 0.274 0.277 0.277 0.28 0.276 0.273 0.274 0.279 0.285 0.295 0.311 0.314 0.316 0.32 0.323 0.331 0.346 0.367 0.397 0.468 0.513 0.494 0.425 0.388 0.372 0.348 0.336 0.331 0.326 0.32 0.316 0.314 0.312 0.309 0.321 0.32 0.319 0.305 0.317 0.316 0.316 0.315 0.316 0.317 0.319 0.321 0.311}
alpha {}}
name ColorLookup7
label "Pointers Samples Yxy\nSource: https://www.rit.edu/cos/colorscience/rc_useful_data.php"
xpos -1580
ypos -790
}
Colorspace {
colorspace_in CIE-Yxy
primary_in "Adobe (1998)"
colorspace_out CIE-XYZ
name Colorspace12
label "\[value colorspace_in] -> \[value colorspace_out]"
xpos -1580
ypos -688
}
Fill {
output alpha
name Fill5
xpos -1580
ypos -639
}
BlackOutside {
name BlackOutside7
xpos -1580
ypos -562
}
Position {
translate {6 {parent.Position1.translate.y-input.height}}
name Position3
xpos -1580
ypos -538
}
Dot {
name Dot15
xpos -1546
ypos -414
}
push $N9f4058b0
Reformat {
type "to box"
box_width 2048
box_height 2048
box_fixed true
name ReformatBox4
xpos -700
ypos -1258
}
Expression {
temp_name0 n
temp_expr0 input.width/8
channel0 {rgba.red rgba.green rgba.blue none}
expr0 x/width*(1-y/height)
channel3 alpha
expr3 1
name Expression7
xpos -700
ypos -1209
}
Dot {
name Dot10
xpos -666
ypos -1158
}
set N578fe2b0 [stack 0]
Dot {
name Dot26
xpos -886
ypos -1158
}
set N49ff3920 [stack 0]
Dot {
name Dot23
xpos -1106
ypos -1158
}
set N49ff8780 [stack 0]
Dot {
name Dot12
xpos -1326
ypos -1158
}
Mirror2 {
flip true
flop true
name Mirror2_1
xpos -1360
ypos -1042
}
Reformat {
type "to box"
box_width 512
box_height {{box_width}}
box_fixed true
name Reformat1
xpos -1360
ypos -994
}
Gamma {
channels rgb
value 2
name Gamma1
xpos -1360
ypos -898
}
Multiply {
channels rgb
value 8000
name Multiply1
label "\[value value]"
xpos -1360
ypos -811
}
ColorLookup {
lut {master {}
red {curve R 0.4830000103 x50 0.5045000315 0.5260000229 0.5475000143 0.5690000057 0.5904999971 0.6119999886 0.63349998 0.6549999714 0.6805312037 0.7087500095 0.7315937281 0.7409999967 0.7409999967 0.7409999967 0.7409999967 0.7409999967 0.75459373 0.7845000029 0.8144062757 0.8280000091 0.8280000091 0.8280000091 0.8280000091 0.8280000091 0.8009687662 0.74150002 0.6820312142 0.6549999714 0.6684374809 0.6980000138 0.7275624871 0.7409999967 0.7315937281 0.7087500095 0.6805312037 0.6549999714 0.629468739 0.6012499928 0.5784062743 0.5690000057 0.5690000057 0.5690000057 0.5690000057 0.5690000057 0.5690000057 0.5690000057 0.5690000057 0.5690000057 0.5555624962 0.5260000229 0.4964375198 0.4830000103 0.4830000103 0.4830000103 0.4830000103 0.4830000103 0.4830000103 0.4830000103 0.4830000103 0.4830000103 0.4964375198 0.5260000229 0.5555624962 0.5690000057 0.5690000057 0.5690000057 0.5690000057 0.5690000057 0.5690000057 0.5690000057 0.5690000057 0.5690000057 0.5690000057 0.5690000057 0.5690000057 0.5690000057 0.5690000057 0.5690000057 0.5690000057 0.5690000057 0.5653046966 0.5555624962 0.5417890549 0.5260000229 0.5102109313 0.4964375198 0.4866953194 0.4830000103 0.4830000103 0.4830000103 0.4830000103 0.4830000103 0.4830000103 0.4830000103 0.4830000103 0.4830000103 0.4830000103 0.4830000103 0.4830000103 0.4830000103 0.4695625007 0.4400000274 0.4104375243 0.3970000148 0.3970000148 0.3970000148 0.3970000148 0.3970000148 0.3970000148 0.3970000148 0.3970000148 0.3970000148 0.3970000148 0.3970000148 0.3970000148 0.3970000148 0.3970000148 0.3970000148 0.3970000148 0.3970000148 0.3970000148 0.3970000148 0.3970000148 0.3970000148 0.3970000148 0.3970000148 0.3970000148 0.3970000148 0.3970000148 0.3970000148 0.3970000148 0.3970000148 0.3970000148 0.3970000148 0.3970000148 0.3970000148 0.4104375243 0.4400000274 0.4695625007 0.4830000103 0.4830000103 0.4830000103 0.4830000103 0.4830000103 0.4830000103 0.4830000103 0.4830000103 0.4830000103 0.4830000103 0.4830000103 0.4830000103 0.4830000103 0.4830000103 0.4830000103 0.4830000103 0.4830000103 0.4830000103 0.4830000103 0.4830000103 0.4830000103}
green {curve R 0.6589999795 x50 0.6542205811 0.6484853029 0.6414804459 0.6340000033 0.6249843836 0.6147499681 0.6041406393 0.5939999819 0.5844687223 0.575124979 0.5659687519 0.5569999814 0.5484530926 0.5402500033 0.5319218636 0.5230000019 0.5131718516 0.5027499795 0.4922031164 0.4819999933 0.4722187519 0.4626249969 0.4532187581 0.4440000057 0.4351093769 0.4265000224 0.4178906381 0.4090000093 0.3997343779 0.3902499974 0.380640626 0.3709999919 0.3614374995 0.3518749774 0.3421249986 0.3319999874 0.321398437 0.3104375005 0.2992577851 0.2879999876 0.2764999866 0.2647500038 0.2531249821 0.2419999987 0.2312265635 0.2206875086 0.2108047009 0.202000007 0.1947187632 0.1886250079 0.1829687506 0.1770000011 0.1693515629 0.1608124971 0.1538671851 0.1509999931 0.1509999931 0.1509999931 0.1509999931 0.1509999931 0.1527187377 0.1564999968 0.1602812558 0.1620000005 0.1620000005 0.1620000005 0.1620000005 0.1620000005 0.1612187475 0.1595000029 0.1577812582 0.1570000052 0.1573124975 0.1579999924 0.1586875021 0.1589999944 0.1575781256 0.1543750018 0.1509843767 0.1490000039 0.1485625058 0.1484999955 0.1484375 0.1480000019 0.1467812508 0.1449999958 0.1432187557 0.1420000046 0.1415625066 0.1414999962 0.1414375007 0.1410000026 0.1397656202 0.1378750056 0.1357968748 0.1340000033 0.1323750019 0.1307500005 0.1295000017 0.1289999932 0.130031243 0.1324999928 0.1354687512 0.1379999965 0.1402187496 0.1424999982 0.1442812532 0.1449999958 0.1449999958 0.1449999958 0.1449999958 0.1449999958 0.1464921832 0.1503124982 0.1554765552 0.1609999985 0.1673984379 0.1749375015 0.1822578013 0.1879999936 0.1906718612 0.1913749874 0.1926406175 0.1969999969 0.2064140588 0.2199375033 0.2357421964 0.2520000041 0.2688750029 0.2871249914 0.3058125079 0.324000001 0.3417187631 0.359375 0.3765937686 0.3930000067 0.4082968831 0.4227499962 0.4368281364 0.451000005 0.4659531415 0.4812500179 0.4956718981 0.5080000162 0.5169296861 0.5234375 0.5297265649 0.5379999876 0.5491171479 0.5618124604 0.5751015544 0.5879999995 0.6009531021 0.6142500043 0.6266719103 0.6370000243 0.6457066536 0.6532088518 0.6575522423 0.6589999795}
blue {curve R 0.3160000145 x50 0.324739933 0.3330312669 0.3418398499 0.351000011 0.3607422113 0.3709374964 0.3811640739 0.3910000026 0.4003046751 0.4093124866 0.4181640446 0.4269999862 0.4359609187 0.4449374974 0.453695327 0.4620000124 0.4697890878 0.4771875143 0.4842422009 0.4909999967 0.4971874952 0.5028749704 0.5086249709 0.5149999857 0.5227031112 0.53125 0.5394218564 0.5460000038 0.5502656102 0.5530000329 0.5552343726 0.5580000281 0.561632812 0.5655625463 0.5694609284 0.5730000138 0.5765469074 0.5801249743 0.5828906298 0.5839999914 0.5838750005 0.5830000043 0.5806249976 0.5759999752 0.5682968497 0.5576249957 0.5446406007 0.5299999714 0.5128515363 0.4931874871 0.4729296863 0.4539999962 0.4368359447 0.420437485 0.4045703113 0.3889999986 0.3731718659 0.3573749959 0.3426406384 0.3300000131 0.3193906248 0.310375005 0.3034218848 0.298999995 0.2972500026 0.2969999909 0.2967499793 0.2949999869 0.2899531126 0.2821249962 0.2734843791 0.2660000026 0.2602812648 0.2552500069 0.2503437698 0.2450000048 0.2380000055 0.2300000042 0.2232500017 0.2199999988 0.2195625007 0.2194999903 0.2194374949 0.2189999968 0.2183593661 0.2176249921 0.2163281292 0.2140000015 0.2101874948 0.205249995 0.1999374926 0.1949999928 0.1904453039 0.185937494 0.1817109436 0.1780000031 0.1754062474 0.1736250073 0.1715312451 0.1679999977 0.1620937437 0.1546249986 0.147093758 0.1410000026 0.1372031271 0.1347499937 0.1324218661 0.1289999932 0.1237656176 0.1174999923 0.1112343743 0.1059999987 0.1021796837 0.09918750077 0.09660156071 0.09399999678 0.09089062363 0.0876249969 0.0850468725 0.08399999887 0.08524999768 0.0882499963 0.09187500179 0.09499999881 0.09706249833 0.09875000268 0.1008125022 0.1040000021 0.1084140688 0.1136875004 0.1198671907 0.1270000041 0.1355390698 0.145312503 0.1554296911 0.1650000066 0.1739453226 0.1826875061 0.1910859346 0.199000001 0.2061250061 0.2126249969 0.2190624923 0.2259999961 0.2338827997 0.2423124909 0.2505859137 0.2579999864 0.2642968595 0.26987499 0.2750156224 0.2800000012 0.2847812474 0.2892500162 0.2935937643 0.2980000079 0.3025000095 0.3070000112 0.3115000129 0.3160000145}
alpha {}}
name ColorLookup5
label "Pointer's Gamut Boundary Yxy\ninterpolated: incr 50 - 0 to 8000"
xpos -1360
ypos -775
}
Multiply {
channels rgb
value {0.31 1 1 1}
name Multiply2
label "dim boundary"
xpos -1360
ypos -725
}
Colorspace {
colorspace_in CIE-Yxy
primary_in "Adobe (1998)"
colorspace_out CIE-XYZ
name Colorspace5
label "\[value colorspace_in] -> \[value colorspace_out]"
xpos -1360
ypos -688
}
Fill {
output alpha
name Fill4
xpos -1360
ypos -639
}
BlackOutside {
name BlackOutside1
xpos -1360
ypos -562
}
Position {
translate {6 {ReformatBox4.box_width-input.width}}
name Position1
xpos -1360
ypos -538
}
Dot {
name Dot24
xpos -1326
ypos -486
}
push $N49ff8780
Reformat {
type "to box"
box_width {{parent.Reformat1.box_width}}
box_height 100
box_fixed true
name ReformatBox2
xpos -1140
ypos -994
}
set Ncfdfd7b0 [stack 0]
Expression {
temp_name0 n
temp_expr0 input.width/8
channel0 {rgba.red rgba.green rgba.blue none}
expr0 x/width*(1-y/height)
channel3 alpha
expr3 1
name Expression1
xpos -1140
ypos -898
}
set Nd8e3b590 [stack 0]
Dot {
name Dot8
xpos -996
ypos -894
}
ColorLookup {
lut {master {curve L 0 s0 t0.9499999881 C k x0.308139503 1 s0}
red {}
green {}
blue {}
alpha {}}
name ColorLookup1
xpos -1030
ypos -849
}
Dot {
name Dot14
xpos -996
ypos -750
}
push $Nd8e3b590
Multiply {
channels rgb
value 269
name Multiply5
label "\[value value]"
xpos -1140
ypos -856
}
ColorLookup {
lut {master {}
red {curve C 1.8783474 1.85965741 1.8410753 1.82260251 1.80424976 1.78602886 1.76794314 1.75000143 1.73221421 1.71458244 1.69711792 1.67982578 1.66271067 1.6457777 1.62903571 1.6124835 1.59613538 1.57998943 1.56404996 1.54832447 1.5328095 1.51751649 1.50244594 1.48759735 1.47297573 1.45858264 1.44442391 1.43049574 1.41680288 1.40334678 1.39012623 1.37714779 1.36440396 1.35190022 1.33963728 1.32761216 1.31582856 1.30428183 1.29297352 1.28190565 1.27107596 1.2604804 1.25012183 1.23999798 1.23010659 1.22044563 1.21101499 1.20181489 1.19284034 1.18408906 1.17556167 1.16725397 1.15916491 1.15129638 1.14363372 1.13618886 1.12895167 1.12192106 1.11509454 1.10846853 1.10204577 1.09580922 1.08977199 1.08392429 1.07826447 1.07278681 1.06749392 1.06237841 1.05743873 1.05267084 1.04807138 1.04364109 1.03937256 1.03526449 1.03131545 1.02751946 1.02387333 1.02037668 1.01702523 1.01381445 1.01074362 1.00780725 1.00500631 1.00233305 0.99978602 0.99736285 0.9950608 0.99287677 0.99080539 0.98884678 0.98699367 0.9852494 0.98361033 0.98206747 0.98062134 0.97926998 0.97800934 0.97683728 0.97575116 0.97474778 0.97382426 0.97297859 0.97220623 0.97150886 0.97087657 0.97031689 0.96981871 0.96938527 0.96900952 0.96869147 0.96842706 0.96821606 0.96805781 0.96794283 0.96787858 0.96785843 0.96787864 0.96793604 0.96803701 0.96817231 0.96833968 0.96854311 0.96877253 0.96903455 0.96932232 0.96963543 0.96997368 0.97033387 0.97071254 0.9711163 0.97153723 0.97197378 0.97242606 0.97289121 0.97337079 0.97386622 0.97437072 0.97488332 0.97540969 0.97594237 0.97647977 0.97702706 0.97757769 0.97813445 0.97869468 0.97925854 0.97982538 0.98039114 0.98096472 0.98153675 0.98210776 0.98267955 0.98325121 0.98382008 0.98438704 0.9849571 0.98552132 0.98608243 0.98664182 0.98719966 0.98775077 0.98829895 0.98884273 0.98938417 0.98991877 0.9904511 0.99097681 0.99149919 0.99201453 0.99252397 0.99303031 0.99353105 0.99402624 0.99451613 0.99499857 0.99547589 0.99594522 0.99641174 0.99687338 0.99732745 0.99777603 0.9982177 0.99865389 0.999084 0.99950838 0.99992663 1.00033772 1.00074494 1.00114489 1.00153947 1.00192833 1.00231075 1.00268865 1.00305855 1.00342607 1.00378489 1.00413895 1.00448751 1.00483036 1.00517035 1.00550389 1.00583148 1.00615203 1.00646758 1.00678015 1.00708604 1.00738645 1.00768471 1.00797844 1.0082655 1.00854778 1.00882483 1.00909901 1.00936711 1.00963116 1.00989032 1.0101465 1.01039672 1.01064491 1.01088691 1.0111258 1.01135957 1.01158977 1.01181614 1.01203847 1.01225793 1.01247287 1.01268291 1.01289058 1.01309609 1.01329684 1.01349473 1.0136888 1.0138787 1.01406395 1.01424909 1.01442885 1.01460576 1.01478052 1.01495218 1.01512218 1.01528883 1.01545072 1.01561022 1.01576698 1.01592219 1.01607502 1.01622343 1.01636875 1.0165143 1.01665616 1.01679492 1.0169313 1.01706588 1.01719737 1.01732695 1.01745498 1.01757956 1.01770294 1.01782393 1.01794255 1.0180583 1.01817465 1.01828551 1.01839495 1.01850486 1.01861191 1.01871693 1.01882088 1.01891339}
green {curve C 1}
blue {curve C 0.00879261 0.00962762 0.010532 0.01151017 0.01256675 0.01370643 0.01493413 0.01625487 0.01767381 0.01919618 0.02082733 0.02257277 0.02443803 0.02642871 0.02855051 0.03080913 0.0332104 0.0357601 0.03846392 0.04132775 0.04435719 0.04755813 0.05093599 0.05449668 0.0582453 0.0621875 0.06632853 0.07067341 0.07522713 0.07999477 0.08498063 0.09018957 0.09562518 0.10129225 0.10719412 0.11333443 0.11971687 0.12634411 0.133219 0.14034435 0.14772213 0.15535444 0.16324303 0.17138906 0.179794 0.18845794 0.197382 0.20656651 0.21601067 0.22571453 0.23567709 0.24589771 0.25637382 0.26710594 0.2780903 0.28932518 0.30080822 0.3125369 0.32450783 0.33671761 0.34916404 0.36183971 0.37474373 0.38787127 0.40121818 0.41477671 0.42854655 0.44251823 0.45668846 0.47105014 0.48559928 0.50033116 0.5152359 0.5303098 0.5455451 0.56093836 0.5764783 0.59215891 0.60797763 0.62392306 0.63999057 0.65616876 0.6724565 0.68884456 0.70532417 0.72188419 0.73852479 0.7552371 0.77200818 0.78883314 0.80570388 0.82261622 0.83956301 0.8565321 0.87351894 0.89051074 0.90751225 0.92450547 0.94148719 0.95845115 0.97538745 0.99229181 1.00915313 1.02597356 1.04273522 1.05944169 1.07608175 1.09265125 1.10914159 1.12555146 1.14187002 1.15809321 1.1742171 1.190238 1.20614767 1.22194457 1.23762202 1.2531724 1.26859927 1.28389311 1.29905295 1.31407428 1.32895291 1.34368753 1.35827363 1.3727088 1.38699389 1.40111876 1.41508293 1.42889357 1.44254065 1.45602405 1.46934104 1.48249614 1.49548101 1.50830269 1.5209527 1.53343177 1.54574537 1.5578897 1.56985986 1.5816654 1.59329891 1.60476208 1.61605716 1.62718153 1.63813758 1.64892519 1.65955138 1.67000985 1.68030369 1.69043732 1.70040607 1.71021223 1.71985734 1.72934508 1.73867714 1.74785423 1.75688136 1.76575518 1.77447391 1.78304338 1.79146802 1.79975164 1.80788386 1.81587982 1.82373333 1.83144975 1.83902776 1.84647095 1.85378456 1.86096811 1.86802399 1.87495112 1.88175035 1.88842535 1.89497983 1.90141833 1.90774179 1.91394711 1.92004013 1.92602086 1.93188739 1.93765306 1.94330883 1.94886208 1.95430994 1.95965815 1.96490622 1.97005856 1.97511387 1.98007631 1.98494554 1.98972344 1.99441445 1.99901712 2.00353193 2.00796437 2.01231384 2.01658392 2.02076721 2.02487659 2.02890825 2.03286695 2.03675175 2.04056406 2.04430199 2.04797506 2.05157685 2.05511236 2.0585804 2.06198287 2.06532407 2.06860161 2.07181907 2.07497644 2.07807779 2.0811162 2.08409977 2.08702946 2.08990335 2.09272337 2.09549189 2.0982089 2.10087585 2.10349345 2.10606146 2.1085825 2.11105394 2.11348104 2.11586332 2.11820364 2.12050176 2.12275648 2.12496805 2.127141 2.12927723 2.13136625 2.13341999 2.13543844 2.13741732 2.13936305 2.1412704 2.1431427 2.14498401 2.14678812 2.14856291 2.1503005 2.15200949 2.15368938 2.15533352 2.15695238 2.15853977 2.16009951 2.16162968 2.16313291 2.16460824 2.16605687 2.16747928 2.16887903 2.17024994 2.1715951 2.17291784 2.17421341 2.17548871 2.17674041 2.17797112 2.17918396 2.18036819 2.18143296}
alpha {}}
name ColorLookup3
label "Planckian Locus 0-269"
xpos -1140
ypos -808
}
Multiply {
inputs 1+1
channels rgb
value 0
maskChannelMask rgba.red
invert_mask true
name Multiply3
label dim
xpos -1140
ypos -760
}
BlackOutside {
name BlackOutside6
xpos -1140
ypos -706
}
Position {
translate {6 {parent.Position2.translate.y-input.height}}
name Position8
xpos -1140
ypos -682
}
Dot {
name Dot28
xpos -1106
ypos -654
}
push $N49ff3920
Dot {
name Dot4
xpos -886
ypos -1086
}
set N5cca67b0 [stack 0]
Rectangle {
replace true
area {0 0 6 {height}}
name Rectangle1
xpos -810
ypos -1089
}
BlackOutside {
name BlackOutside5
xpos -810
ypos -1041
}
push $N5cca67b0
Radial {
inputs 1+1
replace true
area {-5422 -3542 7470 5590}
softness 0
ramp linear
color {0.0719 0.02604 0.0001 1}
p1 {0 0}
color0 {0.039378 0.001097 0.188331 1}
p0 {0 2048}
name Radial1
xpos -920
ypos -1041
}
Dot {
name Dot9
xpos -886
ypos -894
}
push $N578fe2b0
Gamma {
channels rgba
value 0.5
name Gamma2
xpos -700
ypos -1120
}
Expression {
temp_name0 start
temp_expr0 360
temp_name1 end
temp_expr1 830
channel0 {rgba.red rgba.green rgba.blue none}
expr0 r*(end-start)+start
channel1 none
channel2 none
expr3 1
name Expression2
label "360nm to 830nm"
xpos -700
ypos -1096
}
ColorLookup {
lut {master {}
red {curve x360 0.0001299 C 0.00014585 0.0001638 0.000184 0.00020669 0.0002321 0.00026073 0.00029307 0.00032939 0.00036991 0.0004149 0.00046416 0.00051899 0.00058185 0.00065523 0.0007416 0.00084503 0.00096453 0.00109495 0.00123115 0.001368 0.00150205 0.00164233 0.00180238 0.00199576 0.002236 0.00253539 0.0028926 0.00330083 0.00375324 0.004243 0.00476239 0.00533005 0.00597871 0.00674112 0.00765 0.00875137 0.01002888 0.0114217 0.01286901 0.01431 0.01570443 0.01714744 0.01878122 0.02074801 0.02319 0.02620736 0.02978248 0.03388092 0.03846824 0.04351 0.0489956 0.0550226 0.0617188 0.069212 0.07763 0.08695811 0.09717672 0.1084063 0.1207672 0.13438 0.1493582 0.16539571 0.1819831 0.19861101 0.21477 0.23018681 0.24487969 0.25877729 0.27180791 0.28389999 0.29494381 0.3048965 0.31378731 0.32164541 0.3285 0.3343513 0.33921009 0.34312129 0.3461296 0.34828001 0.3495999 0.3501474 0.35001299 0.349287 0.34806001 0.34637329 0.34426239 0.3418088 0.3390941 0.3362 0.33319771 0.33004111 0.32663569 0.32288679 0.31869999 0.3140251 0.30888399 0.3032904 0.2972579 0.29080001 0.28397009 0.27672139 0.2689178 0.26042271 0.2511 0.2408475 0.2298512 0.2184072 0.2068115 0.19536 0.18421359 0.1733273 0.16268811 0.1522833 0.14210001 0.1321786 0.1225696 0.1132752 0.1042979 0.09564 0.08729955 0.07930804 0.07171776 0.06458099 0.05795001 0.05186211 0.04628152 0.04115088 0.03641283 0.03201 0.0279172 0.0241444 0.020687 0.0175404 0.0147 0.01216179 0.00991996 0.00796724 0.00629635 0.0049 0.00377717 0.00294532 0.00242488 0.00223629 0.0024 0.00292552 0.00383656 0.00517484 0.00698208 0.0093 0.01214949 0.01553588 0.01947752 0.02399277 0.0291 0.03481485 0.04112016 0.04798504 0.05537861 0.06327 0.07163501 0.08046224 0.08973996 0.09945645 0.1096 0.1201674 0.1311145 0.1423679 0.15385421 0.1655 0.17725711 0.18914001 0.2011694 0.21336579 0.2257499 0.2383209 0.2510668 0.26399219 0.2771017 0.2904 0.30389121 0.31757259 0.33143839 0.3454828 0.35969999 0.37408391 0.3886396 0.4033784 0.41831151 0.43344989 0.44879529 0.46433601 0.480064 0.49597129 0.51205009 0.52829587 0.54469162 0.56120938 0.57782149 0.59450001 0.6112209 0.62797582 0.64476019 0.66156971 0.67839998 0.69523919 0.7120586 0.72882837 0.7455188 0.76209998 0.77854317 0.79482561 0.81092638 0.82682478 0.84249997 0.85793251 0.87308162 0.88789439 0.90231812 0.9163 0.9297995 0.94279838 0.95527762 0.96721792 0.97860003 0.9893856 0.99954879 1.00908923 1.01800644 1.02629995 1.03398275 1.04098594 1.04718804 1.05246675 1.05669999 1.05979443 1.06179917 1.06280684 1.0629096 1.06219995 1.06073523 1.05844355 1.05522442 1.05097675 1.04560006 1.03903687 1.03136074 1.02266622 1.0130477 1.00259995 0.99136752 0.97933137 0.96649158 0.9528479 0.93839997 0.92319399 0.90724403 0.89050198 0.87291998 0.85444993 0.83508402 0.814946 0.794186 0.77295399 0.75139999 0.72958362 0.70758879 0.68560219 0.66381037 0.64240003 0.62151492 0.6011138 0.58110517 0.56139767 0.54189998 0.52259952 0.50354642 0.4847436 0.46619391 0.4479 0.42986131 0.41209799 0.39464399 0.37753329 0.3608 0.34445629 0.32851681 0.31301919 0.29800111 0.28349999 0.26954481 0.25611839 0.2431896 0.2307272 0.21870001 0.2070971 0.19592319 0.1851708 0.1748323 0.1649 0.1553667 0.14623 0.13749 0.1291467 0.1212 0.1136397 0.106465 0.09969044 0.09333061 0.0874 0.08190096 0.07680428 0.07207712 0.06768664 0.0636 0.05980685 0.05628216 0.05297104 0.04981861 0.04677 0.04378405 0.04087536 0.03807264 0.03540461 0.0329 0.03056419 0.02838056 0.02634484 0.02445275 0.0227 0.02108429 0.01959988 0.01823732 0.01698717 0.01584 0.01479064 0.01383132 0.01294868 0.0121292 0.01135916 0.01062935 0.00993885 0.00928842 0.00867885 0.00811092 0.00758239 0.00708875 0.00662731 0.00619541 0.00579035 0.00540983 0.00505258 0.00471751 0.00440351 0.00410946 0.00383391 0.00357575 0.00333434 0.00310907 0.00289933 0.00270435 0.00252302 0.00235417 0.00219662 0.00204919 0.00191096 0.00178144 0.00166011 0.00154646 0.00143997 0.00134004 0.00124628 0.00115847 0.00107643 0.00099995 0.00092874 0.00086243 0.00080075 0.0007434 0.00069008 0.00064052 0.0005945 0.00055186 0.00051243 0.00047602 0.00044245 0.00041151 0.00038298 0.00035665 0.0003323 0.00030976 0.00028889 0.00026954 0.00025157 0.00023483 0.00021917 0.00020453 0.00019084 0.00017807 0.00016615 0.00015502 0.00014462 0.00013491 0.00012585 0.00011741 0.00010955 0.00010222 9.539e-05 8.902e-05 8.308e-05 7.751e-05 7.231e-05 6.746e-05 6.293e-05 5.871e-05 5.477e-05 5.11e-05 4.768e-05 4.449e-05 4.151e-05 3.873e-05 3.614e-05 3.372e-05 3.146e-05 2.935e-05 2.738e-05 2.552e-05 2.379e-05 2.218e-05 2.067e-05 1.927e-05 1.797e-05 1.675e-05 1.562e-05 1.456e-05 1.357e-05 1.265e-05 1.18e-05 1.1e-05 1.025e-05 9.56e-06 8.91e-06 8.31e-06 7.75e-06 7.22e-06 6.73e-06 6.28e-06 5.85e-06 5.46e-06 5.09e-06 4.74e-06 4.42e-06 4.12e-06 3.84e-06 3.58e-06 3.34e-06 3.11e-06 2.9e-06 2.71e-06 2.52e-06 2.35e-06 2.19e-06 2.04e-06 1.91e-06 1.78e-06 1.66e-06 1.54e-06 1.44e-06 1.34e-06 S 1.25e-06}
green {curve x360 3.92e-06 C 4.39e-06 4.93e-06 5.53e-06 6.21e-06 6.97e-06 7.81e-06 8.77e-06 9.84e-06 1.104e-05 1.239e-05 1.389e-05 1.556e-05 1.744e-05 1.958e-05 2.202e-05 2.484e-05 2.804e-05 3.153e-05 3.522e-05 3.9e-05 4.283e-05 4.691e-05 5.159e-05 5.718e-05 6.4e-05 7.234e-05 8.221e-05 9.351e-05 0.00010614 0.00012 0.00013498 0.00015149 0.00017021 0.00019182 0.000217 0.00024691 0.00028124 0.00031852 0.00035727 0.000396 0.00043371 0.00047302 0.00051788 0.00057222 0.00064 0.00072456 0.0008255 0.00094116 0.00106988 0.00121 0.00136209 0.00153075 0.00172037 0.00193532 0.00218 0.0024548 0.002764 0.0031178 0.0035264 0.004 0.00454624 0.00515932 0.00582928 0.00654616 0.0073 0.00808651 0.00890872 0.00976768 0.01066443 0.0116 0.01257317 0.01358272 0.01462968 0.01571509 0.01684 0.01800736 0.01921448 0.02045392 0.02171824 0.023 0.02429461 0.02561024 0.02695857 0.02835125 0.0298 0.03131083 0.03288368 0.03452112 0.03622571 0.038 0.03984667 0.041768 0.043766 0.04584267 0.048 0.05024368 0.05257304 0.05498056 0.05745872 0.06 0.06260197 0.06527752 0.06804208 0.07091109 0.0739 0.077016 0.0802664 0.0836668 0.0872328 0.09098 0.09491755 0.09904584 0.1033674 0.1078846 0.1126 0.117532 0.1226744 0.12799279 0.1334528 0.13902 0.1446764 0.1504693 0.15646189 0.1627177 0.1693 0.1762431 0.18355811 0.1912735 0.19941799 0.20802 0.2171199 0.2267345 0.2368571 0.2474812 0.2586 0.2701849 0.28229389 0.2950505 0.30857801 0.32300001 0.33840209 0.35468581 0.37169859 0.3892875 0.4073 0.42562991 0.44430959 0.4633944 0.48293951 0.50300002 0.52356929 0.54451197 0.56568998 0.58696532 0.60820001 0.6293456 0.65030682 0.67087519 0.69084239 0.70999998 0.72818518 0.74546361 0.76196939 0.7778368 0.79320002 0.80811042 0.82249618 0.83630681 0.8494916 0.86199999 0.87381083 0.88496238 0.89549363 0.90544319 0.91485012 0.92373478 0.93209243 0.93992257 0.94722521 0.954 0.9602561 0.96600741 0.97126061 0.97602248 0.98030001 0.98409241 0.98741817 0.99031281 0.99281162 0.99495012 0.99671078 0.99809831 0.99911201 0.99974817 1 0.99985671 0.99930459 0.99832553 0.99689871 0.995 0.9926005 0.98974258 0.98644441 0.98272407 0.97860003 0.97408372 0.96917123 0.96385682 0.95813489 0.95200002 0.94545043 0.93849921 0.93116277 0.92345762 0.91540003 0.90700638 0.89827722 0.8892048 0.8797816 0.87 0.85986131 0.849392 0.83862197 0.82758129 0.81629997 0.80479473 0.793082 0.781192 0.76915473 0.75700003 0.74475408 0.73242241 0.7200036 0.70749652 0.69489998 0.68221921 0.66947162 0.65667439 0.64384478 0.63099998 0.61815548 0.60531437 0.59247559 0.57963789 0.5668 0.5539611 0.54113722 0.5283528 0.51563227 0.50300002 0.4904688 0.47803041 0.46567759 0.4534032 0.44119999 0.42908001 0.417036 0.40503201 0.39303201 0.38100001 0.36891839 0.3568272 0.34477681 0.33281761 0.32100001 0.30933809 0.2978504 0.28659359 0.27562451 0.26499999 0.25476319 0.2448896 0.2353344 0.22605281 0.21699999 0.20816161 0.1995488 0.1911552 0.1829744 0.175 0.1672235 0.15964641 0.1522776 0.1451259 0.1382 0.1315003 0.1250248 0.1187792 0.1127691 0.107 0.1014762 0.09618864 0.09112296 0.08626485 0.0816 0.07712064 0.07282552 0.06871008 0.06476976 0.061 0.05739621 0.05395504 0.05067376 0.04754965 0.04458 0.04175872 0.03908496 0.03656384 0.03420048 0.032 0.02996261 0.02807664 0.02632936 0.02470805 0.0232 0.02180077 0.02050112 0.01928108 0.01812069 0.017 0.01590379 0.01483718 0.01381068 0.01283478 0.01192 0.01106831 0.01027339 0.00953331 0.00884616 0.00821 0.00762378 0.00708542 0.00659148 0.00613848 0.005723 0.00534306 0.0049958 0.0046764 0.00438007 0.004102 0.00383845 0.0035891 0.00335422 0.00313409 0.002929 0.00273814 0.00255988 0.00239324 0.00223728 0.002091 0.00195359 0.00182458 0.00170358 0.00159019 0.001484 0.0013845 0.00129127 0.00120409 0.00112274 0.001047 0.00097659 0.00091111 0.00085013 0.00079324 0.00074 0.00069008 0.00064331 0.0005995 0.00055845 0.00052 0.00048391 0.00045005 0.00041835 0.00038872 0.0003611 0.00033538 0.00031144 0.00028917 0.00026845 0.0002492 0.0002313 0.00021469 0.00019929 0.00018505 0.0001719 0.00015978 0.0001486 0.0001383 0.00012879 0.00012 0.00011186 0.00010432 9.734e-05 9.085e-05 8.48e-05 7.915e-05 7.386e-05 6.892e-05 6.43e-05 6e-05 5.598e-05 5.223e-05 4.872e-05 4.545e-05 4.24e-05 3.956e-05 3.692e-05 3.445e-05 3.215e-05 3e-05 2.799e-05 2.611e-05 2.436e-05 2.272e-05 2.12e-05 1.978e-05 1.845e-05 1.722e-05 1.606e-05 1.499e-05 1.399e-05 1.305e-05 1.218e-05 1.136e-05 1.06e-05 9.89e-06 9.22e-06 8.59e-06 8.01e-06 7.47e-06 6.96e-06 6.49e-06 6.05e-06 5.64e-06 5.26e-06 4.9e-06 4.57e-06 4.26e-06 3.97e-06 3.7e-06 3.45e-06 3.22e-06 3e-06 2.8e-06 2.61e-06 2.43e-06 2.27e-06 2.11e-06 1.97e-06 1.84e-06 1.71e-06 1.6e-06 1.49e-06 1.39e-06 1.29e-06 1.21e-06 1.12e-06 1.05e-06 9.8e-07 9.1e-07 8.5e-07 7.9e-07 7.4e-07 6.9e-07 6.4e-07 6e-07 5.6e-07 5.2e-07 4.8e-07 S 4.5e-07}
blue {curve x360 0.0006061 C 0.00068088 0.00076515 0.00086001 0.00096659 0.001086 0.00122059 0.00137273 0.00154358 0.00173429 0.001946 0.00217778 0.00243581 0.00273195 0.00307806 0.003486 0.00397523 0.00454088 0.00515832 0.00580291 0.00645 0.00708322 0.00774549 0.00850115 0.00941454 0.01054999 0.0119658 0.01365587 0.01558805 0.01773015 0.02005001 0.02251136 0.02520288 0.02827972 0.03189704 0.03621 0.04143771 0.04750372 0.05411988 0.06099803 0.06785001 0.07448632 0.08136156 0.08915364 0.09854048 0.1102 0.1246133 0.1417017 0.16130351 0.1832568 0.20739999 0.23369209 0.26261139 0.29477459 0.33079851 0.37130001 0.4162091 0.4654642 0.51969481 0.5795303 0.64560002 0.71848381 0.79671329 0.87784588 0.95943898 1.0390501 1.11536729 1.18849707 1.25812328 1.32392955 1.38559997 1.44263518 1.49480355 1.54219031 1.58488071 1.62295997 1.65640485 1.68529594 1.70987451 1.73038209 1.74705994 1.76004458 1.76962328 1.77626371 1.78043342 1.78260004 1.78296816 1.78169978 1.77919817 1.7758671 1.77210998 1.76825893 1.76403904 1.7589438 1.75246632 1.74409997 1.73355949 1.7208581 1.70593691 1.68873715 1.66919994 1.64752865 1.62341273 1.59602225 1.56452799 1.52810001 1.4861114 1.43952155 1.38987994 1.33873618 1.28763998 1.23742235 1.18782425 1.13876104 1.09014797 1.04190004 0.99419761 0.94734728 0.90145308 0.8566193 0.81295007 0.77051729 0.7294448 0.68991357 0.65210491 0.61619997 0.58232862 0.55041617 0.52033758 0.49196729 0.46518001 0.4399246 0.41618359 0.39388219 0.3729459 0.35330001 0.33485779 0.31755209 0.30133751 0.28616861 0.27200001 0.25881711 0.2464838 0.2347718 0.2234533 0.2123 0.20116919 0.19011959 0.1792254 0.1685608 0.1582 0.1481383 0.1383758 0.1289942 0.1200751 0.1117 0.1039048 0.09666748 0.08998272 0.08384531 0.07824999 0.07320899 0.06867816 0.06456784 0.06078835 0.05725001 0.05390435 0.05074664 0.04775276 0.04489859 0.04216 0.03950728 0.03693564 0.03445836 0.03208872 0.02984 0.02771181 0.02569444 0.02378716 0.02198925 0.0203 0.01871805 0.01724036 0.01586364 0.01458461 0.0134 0.01230723 0.01130188 0.01037792 0.00952931 0.00875 0.0080352 0.0073816 0.0067854 0.0062428 0.00575 0.0053036 0.0048998 0.0045342 0.0042024 0.0039 0.0036232 0.0033706 0.0031414 0.0029348 0.00275 0.0025852 0.0024386 0.0023094 0.0021968 0.0021 0.00201773 0.0019482 0.0018898 0.00184093 0.0018 0.00176627 0.0017378 0.0017112 0.00168307 0.00165 0.00161013 0.0015644 0.0015136 0.00145853 0.0014 0.00133667 0.00127 0.001205 0.00114667 0.0011 0.0010688 0.0010494 0.0010356 0.0010212 0.001 0.00096864 0.00092992 0.00088688 0.00084256 0.0008 0.00076096 0.00072368 0.00068592 0.00064544 0.0006 0.00054787 0.0004916 0.0004354 0.00038347 0.00034 0.00030725 0.00028316 0.00026544 0.00025181 0.00024 0.00022955 0.00022064 0.00021196 0.00020219 0.00019 0.00017421 0.00015564 0.00013596 0.00011685 0.0001 8.613e-05 7.46e-05 6.5e-05 5.693e-05 5e-05 4.416e-05 3.948e-05 3.572e-05 3.264e-05 3e-05 2.765e-05 2.556e-05 2.364e-05 2.181e-05 2e-05 1.813e-05 1.62e-05 1.42e-05 1.213e-05 1e-05 7.73e-06 5.4e-06 3.2e-06 1.33e-06 0 0 0 0 0 0 0 0 S 0}
alpha {}}
name ColorLookup4
label "CIE 1931 2 Degree Standard Observer\n360nm to 830nm"
xpos -700
ypos -1030
}
Merge2 {
inputs 2
bbox B
name MergeLineOfPurples
xpos -700
ypos -897
disable {{!parent.draw_line_of_purples}}
}
Fill {
color {0 0 0 1}
name Disable_SpectralLocus
xpos -700
ypos -826
disable {{parent.draw_spectral_locus}}
}
Merge2 {
inputs 2
bbox B
name MergePlanckianLocus
xpos -700
ypos -658
disable {{!parent.draw_planckian_locus}}
}
Merge2 {
inputs 2
bbox B
name MergePointerGamut
xpos -700
ypos -489
disable {{!parent.draw_pointers_gamut}}
}
Merge2 {
inputs 2
bbox B
name MergePointerGamut_Samples
xpos -700
ypos -417
disable {{!draw_pointers_samples}}
}
Merge2 {
inputs 2
bbox B
name MergeMacbeth
xpos -700
ypos -273
disable {{!parent.draw_macbeth_chart}}
}
Merge2 {
inputs 2
bbox B
name MergeGamutGrid
xpos -700
ypos -81
disable {{!parent.gamut_grid}}
}
Merge2 {
inputs 2
bbox B
name MergeGamutA
xpos -700
ypos 255
disable {{!parent.gamut_a}}
}
Merge2 {
inputs 2
bbox B
name MergeGamutB
xpos -700
ypos 279
disable {{!parent.gamut_b}}
}
Merge2 {
inputs 2
bbox B
name MergeGamutC
xpos -700
ypos 303
disable {{!parent.gamut_c}}
}
Dot {
name Dot2
label " "
note_font "Helvetica Bold"
note_font_size 24
note_font_color 0xa5a5a501
xpos -666
ypos 450
}
set Nf044d580 [stack 0]
Dot {
name Dot5
label " "
note_font "Helvetica Bold"
note_font_size 24
note_font_color 0xa5a5a501
xpos -556
ypos 450
}
Colorspace {
colorspace_in CIE-XYZ
primary_in "Adobe (1998)"
colorspace_out CIE-Yxy
name Colorspace6
label "\[value colorspace_in] -> \[value colorspace_out]"
xpos -590
ypos 486
}
Expression {
expr0 r
expr1 "4*g / ( -2*g + 12*b + 3)"
expr2 "9*b / ( -2*g + 12*b + 3)"
name Expression5
label "CIE Yxy to CIELuv"
xpos -590
ypos 537
disable {{!parent.diagram}}
}
Dot {
name Dot11
label " "
note_font "Helvetica Bold"
note_font_size 24
note_font_color 0xa5a5a501
xpos -556
ypos 618
}
push $Nf044d580
ColorMatrix {
matrix {
{{parent.GamutToXYZ.ColorMatrix.matrix} {parent.GamutToXYZ.ColorMatrix.matrix} {parent.GamutToXYZ.ColorMatrix.matrix}}
{{parent.GamutToXYZ.ColorMatrix.matrix} {parent.GamutToXYZ.ColorMatrix.matrix} {parent.GamutToXYZ.ColorMatrix.matrix}}
{{parent.GamutToXYZ.ColorMatrix.matrix} {parent.GamutToXYZ.ColorMatrix.matrix} {parent.GamutToXYZ.ColorMatrix.matrix}}
}
invert true
name ColorMatrix1
label "XYZ to working"
xpos -700
ypos 488
disable {{!map_overlays_to_input_gamut}}
}
BlinkScript {
inputs 2
KernelDescription "2 \"PlotChromaticity_grid\" iterate pixelWise b2e7b5f8a89bdb0629aa8cc2eae387ef3436f24cb0af642eeba41235874506c4 3 \"col\" Read Random \"Yxy\" Read Random \"dst\" Write Random 6 \"padding\" Float 1 AAAAAA== \"left_margin\" Float 1 AAAAAA== \"tolerance\" Float 1 AAAAAA== \"antialias\" Bool 1 AA== \"draw_axes\" Bool 1 AA== \"grid_color\" Float 4 AAAAAAAAAAAAAAAAAAAAAA== 6 \"padding\" 1 1 \"left_margin\" 1 1 \"tolerance\" 1 1 \"antialias\" 1 1 \"draw_axes\" 1 1 \"grid_color\" 4 1 2 \"outsize\" Float 1 1 AAAAAA== \"offset\" Float 1 1 AAAAAA=="
kernelSource "kernel PlotChromaticity_grid : public ImageComputationKernel\n\{\n Image col;\n Image Yxy;\n Image dst;\n\nparam:\n float padding;\n float left_margin;\n float tolerance;\n bool antialias;\n bool draw_axes;\n float4 grid_color;\n\nlocal:\n float outsize;\n float offset;\n\n void init() \{\n // calculate output width and height and offset based on padding\n outsize = float(dst.bounds.height()/padding);\n // xy offset for margin on lower left corner\n offset = dst.bounds.height()*left_margin;\n \}\n\n float gaussian(float d, float a, float expv) \{\n return max(0.0f, exp(-a*d*d)-expv);\n \}\n\n float gaussian_filter(float x, float y, float r) \{\n // return gaussian weighted distance from origin (0, 0)\n // given coordinate (x, y) and radius r\n float a = 1.5f; // rate falloff\n float expv = exp(-a*r*r);\n return gaussian(x, a, expv) * gaussian(y, a, expv);\n \}\n\n void write_aa(float x, float y, float4 rgb) \{\n // skip black pixels\n if (rgb.x == 0.0f && rgb.y == 0.0f && rgb.z == 0.0f) return;\n \n // size of pixel neighborhood = n*2+1 by n*2+1\n int n = 2;\n\n // center of neighborhood\n int u0 = round(x);\n int v0 = round(y);\n\n // skip if center pixel weight is greater than tolerance\n if ( dst.bounds.inside(u0, v0)) \{\n if (dst(u0, v0, 3) >= tolerance) return;\n \}\n\n // loop over neighborhood\n for (int j = -n; j <= n; j++) \{\n int v = v0 + j;\n for (int i = -n; i <= n; i++) \{\n int u = u0 + i;\n if ( dst.bounds.inside(u, v)) \{\n // get filter weight for coord (u,v)\n float w = gaussian_filter(u-x, v-y, float(n));\n float4 c0 = dst(u, v); // existing color\n\n // merge current color sample over existing color sample\n for (int k=0; k<3; k++) \{\n dst(u, v, k) = rgb\[k]*w+c0\[k]*(1-w); \n \}\n\n // merge current weight over existing weight\n float w0 = dst(u, v, 3);\n dst(u, v, 3) = w+w0*(1-w);\n \}\n \}\n \}\n \}\n\n void draw_grid() \{\n // grid width in pixels. expresses a 0 to 1 range in CIE xy\n float grid_width = 1.0f * outsize + offset;\n // draw grid lines\n float i = offset;\n while (i <= grid_width && i > 0.0f) \{\n write_aa(offset, i, grid_color);\n write_aa(i, offset, grid_color);\n i += 1.0;\n \}\n // cross-hatching interval in pixels\n float hatch_interval = (grid_width - offset) * 0.1f;\n // cross-hatch length in pixels\n float hatch_width = outsize * 0.01f;\n i = offset;\n while (i <= grid_width) \{\n i += hatch_interval;\n float j = 0.0;\n while (j <= hatch_width/2) \{\n write_aa(offset+j, i, grid_color);\n write_aa(offset-j, i, grid_color);\n write_aa(i, offset+j, grid_color);\n write_aa(i, offset-j, grid_color);\n j += 1.0;\n \}\n \}\n \}\n\n void process(int2 pos) \{\n float4 rgba = col(pos.x, pos.y);\n \n // Get CIE xy position from Yxy input for current pixel\n float2 xy = float2(Yxy(pos.x, pos.y, 1), Yxy(pos.x, pos.y, 2));\n \n // Find output pixel coordinate for this CIE xy pixel value\n float2 out_coord = float2(xy.x * outsize + offset, xy.y * outsize + offset);\n\n // For each RGB component, write value from color input to output coordinate\n if (antialias) \{\n write_aa(out_coord.x, out_coord.y, rgba);\n \} else \{\n // For each RGB component, write value from color input to output coordinate\n int2 p = int2(round(out_coord.x), round(out_coord.y));\n if (dst.bounds.inside(p.x, p.y)) \{\n for (int k=0; k<3; k++) \{\n dst(p.x, p.y, k) = col(pos.x, pos.y, k);\n \}\n dst(p.x, p.y, 3) = 1.0f;\n \}\n \}\n\n // draw CIExy coordinate system axes\n if (draw_axes && pos.x == 0 && pos.y == 0) \{\n draw_grid();\n \}\n \}\n\};"
useGPUIfAvailable {{parent.use_gpu}}
rebuild ""
PlotChromaticity_grid_padding {{parent.PlotChromaticities.PlotChromaticity_padding}}
PlotChromaticity_grid_left_margin {{parent.PlotChromaticities.PlotChromaticity_left_margin}}
PlotChromaticity_grid_tolerance 0.8
PlotChromaticity_grid_antialias true
PlotChromaticity_grid_draw_axes {{parent.coordinate_system}}
PlotChromaticity_grid_grid_color {0.15 0 0.005 1}
format "2048 2048 0 0 2048 2048 1 square_2K"
rebuild_finalise ""
name PlotInput2
xpos -700
ypos 608
}
FrameHold {
first_frame 1
name FrameHold1
xpos -700
ypos 680
cached true
}
Dot {
name Dot3
label " "
note_font "Helvetica Bold"
note_font_size 24
note_font_color 0xa5a5a501
xpos -666
ypos 762
}
Input {
inputs 0
name Input
xpos 620
ypos -1426
}
AddChannels {
name AddChannels1
xpos 620
ypos -1360
}
Reformat {
type "to box"
box_width {{parent.resolution}}
box_height {{box_width}}
box_fixed true
box_pixel_aspect {{input.pixel_aspect}}
resize distort
filter Impulse
name OutputFormat
xpos 620
ypos -1282
disable {{!parent.resample_input}}
}
Crop {
box {0 0 {width} {height}}
crop false
name CropBBox
xpos 620
ypos -1257
}
Dot {
name Dot7
label " "
note_font "Helvetica Bold"
note_font_size 24
note_font_color 0xa5a5a501
xpos 654
ypos 162
}
set N53256990 [stack 0]
Constant {
inputs 0
channels rgb
color {0 0 0 1}
format "256 256 0 0 256 256 1 square_256"
name Constant2
xpos 400
ypos 38
postage_stamp false
}
Reformat {
type "to box"
box_width {{parent.resolution}}
box_height {{box_width}}
box_fixed true
box_pixel_aspect {{input.pixel_aspect}}
resize distort
filter Impulse
name OutputFormat1
xpos 400
ypos 64
disable {{!parent.resample_input}}
}
Switch {
inputs 2
which {{"\[exists parent.input0]"}}
name Switch1
xpos 400
ypos 158
}
Fill {
output rgb
color 0.18
name SampleColor
xpos 290
ypos 158
}
Crop {
box {0 0 {width} {height}}
crop false
name Crop2
xpos 290
ypos 184
}
Fill {
output alpha
name Fill3
xpos 290
ypos 224
}
Dot {
name Dot6
xpos 324
ypos 282
}
set N3b3ad490 [stack 0]
ColorMatrix {
matrix {
{{parent.GamutToXYZ.ColorMatrix.matrix} {parent.GamutToXYZ.ColorMatrix.matrix} {parent.GamutToXYZ.ColorMatrix.matrix}}
{{parent.GamutToXYZ.ColorMatrix.matrix} {parent.GamutToXYZ.ColorMatrix.matrix} {parent.GamutToXYZ.ColorMatrix.matrix}}
{{parent.GamutToXYZ.ColorMatrix.matrix} {parent.GamutToXYZ.ColorMatrix.matrix} {parent.GamutToXYZ.ColorMatrix.matrix}}
}
name ColorMatrix4
label "working to XYZ"
xpos 180
ypos 272
}
Colorspace {
colorspace_in CIE-XYZ
primary_in "Adobe (1998)"
colorspace_out CIE-Yxy
name Colorspace1
label "\[value colorspace_in] -> \[value colorspace_out]"
xpos 180
ypos 320
}
Expression {
expr0 r
expr1 "4*g / ( -2*g + 12*b + 3)"
expr2 "9*b / ( -2*g + 12*b + 3)"
name Expression6
label "CIE Yxy to CIELuv"
xpos 180
ypos 368
disable {{!parent.diagram}}
}
push $N3b3ad490
BlinkScript {
inputs 2
KernelDescription "2 \"PlotChromaticity_sample\" iterate pixelWise 20e14b615a937bac78c1a771cbdfd10cc7c5fb6c487f65d0bb2d6633e404b958 3 \"col\" Read Random \"Yxy\" Read Random \"dst\" Write Random 3 \"padding\" Float 1 AAAAAA== \"left_margin\" Float 1 AAAAAA== \"tolerance\" Float 1 AAAAAA== 3 \"padding\" 1 1 \"left_margin\" 1 1 \"tolerance\" 1 1 2 \"outsize\" Float 1 1 AAAAAA== \"offset\" Float 1 1 AAAAAA=="
kernelSource "kernel PlotChromaticity_sample : public ImageComputationKernel\n\{\n Image col;\n Image Yxy;\n Image dst;\n\nparam:\n float padding;\n float left_margin;\n float tolerance;\n\nlocal:\n float outsize;\n float offset;\n\n void init() \{\n // calculate output width and height and offset based on padding\n outsize = float(dst.bounds.height()/padding);\n // xy offset for margin on lower left corner\n offset = dst.bounds.height()*left_margin;\n \}\n\n void process(int2 pos) \{\n // only process the first pixel\n if (pos.x > 0 && pos.y > 0) return;\n\n // Get CIE xy position from Yxy input for current pixel\n float2 xy = float2(Yxy(pos.x, pos.y, 1), Yxy(pos.x, pos.y, 2));\n \n // Find output pixel coordinate for this CIE xy pixel value\n float2 out_coord = float2(xy.x * outsize + offset, xy.y * outsize + offset);\n\n // For each RGB component, write value from color input to output coordinate\n int2 p = int2(round(out_coord.x), round(out_coord.y));\n if (dst.bounds.inside(p.x, p.y)) \{\n for (int k=0; k<3; k++) \{\n dst(p.x, p.y, k) = col(pos.x, pos.y, k);\n \}\n dst(p.x, p.y, 3) = 1.0f;\n \}\n \}\n\};"
useGPUIfAvailable {{parent.use_gpu}}
rebuild ""
PlotChromaticity_sample_padding {{"parent.diagram ? parent.right_margin*0.8 : parent.right_margin"}}
PlotChromaticity_sample_left_margin {{parent.left_margin}}
PlotChromaticity_sample_tolerance 1
format "2048 2048 0 0 2048 2048 1 square_2K"
rebuild_finalise ""
name PlotChromaticities1
xpos 290
ypos 368
}
Dot {
name Dot22
xpos 324
ypos 450
}
set N1b9ecd50 [stack 0]
Dilate {
channels rgba
size {{Output.width/2048}}
name Dilate1
label "\[value size]"
xpos 290
ypos 488
}
set N1b9f1b00 [stack 0]
Dilate {
channels rgba
size {{Output.width/2048*2}}
name Dilate2
label "\[value size]"
xpos 180
ypos 488
}
push $N1b9ecd50
Dot {
name Dot21
xpos -6
ypos 450
}
FilterErode {
channels rgba
size {{-Output.width/2048/5}}
filter triangle
name FilterErode1
label "\[value size]"
xpos -40
ypos 489
}
set N52f37b90 [stack 0]
Dilate {
channels rgba
size {0 {parent.Dilate3.size.w}}
name Dilate4
label "\[value size]"
xpos -40
ypos 584
}
push $N52f37b90
Dilate {
channels rgba
size {{Output.width*plus_size/100} 0}
name Dilate3
label "\[value size]"
xpos 70
ypos 488
addUserKnob {20 User}
addUserKnob {7 plus_size R 0 4}
plus_size 0.8
}
Merge2 {
inputs 2
operation screen
bbox B
name Merge9
xpos 70
ypos 591
}
Merge2 {
inputs 2
operation stencil
bbox B
name Merge10
xpos 180
ypos 591
}
Group {
name HueRotate
xpos 180
ypos 639
}
Input {
inputs 0
name Input
xpos -40
ypos -24
}
Unpremult {
name Unpremult1
xpos -40
ypos 15
}
Colorspace {
colorspace_out HSV
name Colorspace1
xpos -40
ypos 72
}
Add {
channels {rgba.red -rgba.green -rgba.blue none}
value 0.5
name Add1
xpos -40
ypos 111
}
Fill {
output {-rgba.red -rgba.green rgba.blue none}
name Fill1
xpos -40
ypos 147
}
Colorspace {
colorspace_in HSV
name Colorspace2
xpos -40
ypos 183
}
Premult {
name Premult1
xpos -40
ypos 231
}
Output {
name Output1
xpos -40
ypos 302
}
end_group
push $N1b9f1b00
Merge2 {
inputs 2
bbox B
name Merge8
xpos 290
ypos 638
}
Dot {
name Dot20
label " "
note_font "Helvetica Bold"
note_font_size 24
note_font_color 0xa5a5a501
xpos 324
ypos 690
}
push $N53256990
Dot {
name Dot1
label " "
note_font "Helvetica Bold"
note_font_size 24
note_font_color 0xa5a5a501
xpos 764
ypos 162
}
Group {
name GamutToXYZ
label "\[if \{\[value invert]\} \{return \"XYZ to \[value gamut]\"\} else \{return \"\[value gamut] to XYZ\"\}]\n\n"
xpos 730
ypos 247
addUserKnob {20 GamutToXYZ_tab l GamutToXYZ}
addUserKnob {4 gamut t "Choose gamut" M {XYZ ACES ACEScg "Filmlight E-Gamut" Rec709 Rec2020 P3D60 P3D65 P3DCI "Arri AlexaWideGamut" REDDRAGONcolor REDDRAGONcolor2 REDcolor REDcolor2 REDcolor3 REDcolor4 REDWideGamutRGB "GoPro Protune Native" CanonCinemaGamut SonySGamut SonySGamut3Cine PanasonicVGamut "DJI D-Gamut" "Fujifilm F-Gamut" BMDFilmV1 BMD4kFilmV1 BMD4kFilmV3 BMD46kFilmV1 BMD46kFilmV3 BMDWideGamutV4 "AdobeRGB\t" AdobeWideGamutRGB ROMM RIMM ERIMM ProPhotoRGB RusselRGB SharpRGB AppleRGB BestRGB}}
gamut ACEScg
addUserKnob {6 invert +STARTLINE}
addUserKnob {26 ""}
addUserKnob {26 chromaticity_coordinates_label l " " T "Chromaticity Coordinates"}
addUserKnob {41 rxy T ColorMatrix.rxy}
addUserKnob {41 gxy T ColorMatrix.gxy}
addUserKnob {41 bxy T ColorMatrix.bxy}
addUserKnob {41 wxy T ColorMatrix.wxy}
addUserKnob {41 matrix T ColorMatrix.matrix}
}
Input {
inputs 0
name Input
xpos -40
ypos -10
}
ColorMatrix {
matrix {
{{curve(which) 1 0.9525524378 0.6624541879 0.7053968906 0.4123907983 0.6369580626 0.5049495697 0.4865709841 0.4451698363 0.6380076408 0.5070186853 0.4462202489 0.4300414324 0.4581649601 0.4878340662 0.4517004192 0.7352752686 0.5022571683 0.7160496712 0.7064827085 0.5990839601 0.6796444654 0.6481720209 0.6369580626 0.6390493512 0.6141571999 0.3724023998 0.60689044 0.4017650783 0.6065810919 0.5766690373 0.7165006995 0.797760427 0.797760427 0.797760427 0.7976718545 0.7015837431 0.8156226277 0.4496616423 0.6318944097} {curve(which) 0 0 0.1340042055 0.1640413404 0.3575843275 0.1446169019 0.2646814585 0.2656676769 0.2771343887 0.2147038579 0.3587769568 0.3157556653 0.3700728714 0.3832037449 0.3432727158 0.3178463876 0.06860940903 0.2929667532 0.1296834797 0.1288010478 0.2489254922 0.1522114277 0.1940581352 0.1446169019 0.1578372866 0.2825684249 0.4324877858 0.2193847299 0.4560420811 0.2203479856 0.1855582297 0.1010205746 0.1351858526 0.1351858526 0.1351858526 0.1351878047 0.1554162204 0.04716260359 0.3162561059 0.2053879201} {curve(which) 0 9.367863095e-05 0.1561876982 0.08101774752 0.180480808 0.1688809693 0.1830150485 0.1982172877 0.1722826511 0.09774444997 0.0868505761 0.190669477 0.152531758 0.1112773567 0.1215386018 0.1830992699 0.1465712637 0.1552320272 0.1047228053 0.1151721701 0.1024464965 0.1186000481 0.108225815 0.1688809693 0.1516760886 0.05183707923 0.1436725408 0.124180764 0.09264881909 0.123526901 0.1882286519 0.1467743814 0.03134934977 0.03134934977 0.03134934977 0.03133957833 0.09979832917 0.1372147948 0.1845382005 0.1270133406}}
{{curve(which) 0 0.3439664543 0.2722287476 0.2801307142 0.2126390189 0.2627002299 0.237623319 0.2289745659 0.209491685 0.2919537723 0.2207257152 0.1942579001 0.2022213936 0.1694435924 0.2289056629 0.2119505703 0.2866941094 0.1387997568 0.2612613738 0.2709796727 0.2150758505 0.2606855333 0.2830046713 0.2627002299 0.1743051857 0.2365771234 0.1383759677 0.1973138005 0.1721783578 0.2680045366 0.2973450124 0.258728236 0.2880711257 0.2880711257 0.2880711257 0.2880405784 0.3152042925 0.3790788651 0.2446159422 0.2276017666} {curve(which) 1 0.7281661034 0.6740817428 0.8202066422 0.7151686549 0.6779980659 0.6891706586 0.6917385459 0.7215952873 0.8238410354 0.839184761 0.7385566831 0.7585275769 0.8648257852 0.7808576822 0.7230190039 0.8429791331 0.910841465 0.8696421385 0.786606431 0.8850684762 0.7748944759 0.8131960034 0.6779980659 0.951146543 0.8896810412 0.911518693 0.943950057 0.8553914428 0.8326833844 0.6273635626 0.7246823311 0.7118432522 0.7118432522 0.7118432522 0.7118694782 0.6648360491 0.5769088268 0.6720442176 0.7383946776} {curve(which) 0 -0.07213255018 0.05368951708 -0.1003373638 0.07219231874 0.05930171534 0.07320601493 0.07928691059 0.06891305745 -0.1157948226 -0.05991046131 0.06718540192 0.03925102949 -0.03426937759 -0.009763340466 0.06503042579 -0.1296732277 -0.04964122549 -0.1309035122 -0.05758608505 -0.1001443192 -0.03558001295 -0.09620071948 0.05930171534 -0.1254517138 -0.1262581497 -0.04989464581 -0.1412638426 -0.02756982669 -0.1006879359 0.07529145479 0.01658944227 8.565396274e-05 8.565396274e-05 8.565396274e-05 8.991353388e-05 0.01995966583 0.04401229322 0.08333983272 0.0340035744}}
{{curve(which) 0 -3.863927134e-08 -0.005574660841 -0.1037815213 0.01933082007 0 0 0 0 0.0027982709 -0.0544523783 -0.04792318866 -0.0176958181 -0.1061859056 -0.02100777067 -0.01945115253 -0.07968087494 0.07801423222 -0.009676366113 -0.009677864611 -0.03206583485 -0.009310216643 -0.01825834997 0 -0.11669112 -0.02325225808 -0.1602820009 -0.1427432895 -0.10720893 -0.02941203304 0.02703136392 -2.906408625e-08 -3.236030111e-08 -3.236030111e-08 -3.236030111e-08 0 0 -0.01229703799 0.02518104948 0} {curve(which) 0 0 0.004060741514 -0.07290724665 0.1191947311 0.0280726999 0.0449459292 0.04511339962 0.04706057906 -0.06703422964 -0.0003228379355 -0.0002844714036 0.08768811822 0.02554347552 0.01782695204 0.01650637016 -0.3473432064 -0.3148325086 -0.2364816219 0.004600019194 -0.02765839547 -0.004612449091 -0.08316776901 0.0280726999 -0.5518454909 -0.4897170365 -0.171635136 -0.4278847873 0.07809129357 -0.08659287542 0.07068887353 0.05121183768 1.2621717e-08 1.2621717e-08 1.2621717e-08 -1.262213711e-08 0.04317118227 0.01672476344 0.1411857158 0.01001892332} {curve(which) 1 1.008825183 1.010339141 1.265746474 0.950532198 1.060985088 0.9638792276 1.043944359 0.9073553085 1.153293729 1.063571215 1.057001948 0.9388025999 1.089437366 1.01197505 1.011739731 1.51608181 1.325875998 1.335215807 1.094135642 1.148782015 1.102980375 1.190483928 1.060985088 1.745692492 1.590125084 1.409072995 1.65968585 1.118175387 1.205062628 0.9913375378 0.7738927603 0.8251045942 0.8251045942 0.8251045942 0.8248898983 0.8782252669 0.9955722094 0.9226909876 0.8150856495}}
}
invert {{parent.invert}}
name ColorMatrix
label "RGB to XYZ"
xpos -40
ypos 32
addUserKnob {20 Gamut}
addUserKnob {3 which}
which {{parent.gamut}}
addUserKnob {12 rxy}
rxy {{curve(which) 1 0.7347 0.713 0.8 0.64 0.708 0.68 0.68 0.68 0.684 0.7530442228 0.7530444911 0.6997470013 0.8786825105 0.7011810359 0.7011805919 0.780308 0.69848046 0.74 0.73 0.766 0.73 0.71 0.708 0.9173 0.7422 1.0625 0.9175 0.8608 0.7177 0.64 0.7347 0.7347 0.7347 0.7347 0.734699 0.69 0.6898 0.625 0.7351916376} {curve(which) 0 0.2653 0.293 0.3177 0.33 0.292 0.32 0.32 0.32 0.313 0.3278305767 0.3278310295 0.3290469303 0.3249640074 0.3290141556 0.3290136991 0.304253 0.19302645 0.27 0.28 0.275 0.28 0.31 0.292 0.2502 0.2859 0.3948 0.2983 0.3689 0.3171 0.33 0.2653 0.2653 0.2653 0.2653 0.265301 0.31 0.3206 0.34 0.2648083624}}
addUserKnob {12 gxy}
gxy {{curve(which) 0 0 0.165 0.18 0.3 0.17 0.265 0.265 0.265 0.221 0.2995702285 0.2995704905 0.304264039 0.3008887144 0.3006003047 0.3006003955 0.121595 0.32955538 0.17 0.14 0.225 0.165 0.21 0.17 0.2833 0.414 0.3689 0.2983 0.3282 0.228 0.21 0.1152 0.1596 0.1596 0.1596 0.159597 0.18 0.0736 0.28 0.2153361345} {curve(which) 1 1 0.83 0.9 0.6 0.797 0.69 0.69 0.69 0.848 0.700699322 0.7006994156 0.6236411451 0.6790547558 0.6837888343 0.6837888243 1.493994 1.02459662 1.14 0.855 0.8 0.84 0.88 0.797 1.7072 1.3035 0.7775 1.2835 0.6156 0.8616 0.71 0.8264 0.8404 0.8404 0.8404 0.840403 0.77 0.9003 0.595 0.7741596639}}
addUserKnob {12 bxy}
bxy {{curve(which) 0 0.0001 0.128 0.065 0.15 0.131 0.15 0.15 0.15 0.0861 0.07964206674 0.1450115843 0.1349139613 0.09539869461 0.1081544556 0.1453319462 0.095612 0.10844263 0.08 0.1 0.089 0.1 0.09 0.131 0.0856 0.0342 0.0956 0.0756 0.0783 0.1006 0.15 0.1566 0.0366 0.0366 0.0366 0.036598 0.1 0.1166 0.155 0.1301229508} {curve(which) 0 -0.077 0.044 -0.0805 0.06 0.046 0.06 0.06 0.06 -0.102 -0.05493795109 0.05109712509 0.03471744128 -0.02937932683 -0.008688175787 0.05161680362 -0.084589 -0.03467857 -0.1 -0.05 -0.087 -0.03 -0.08 0.046 -0.0708 -0.0833 -0.0332 -0.086 -0.0233 -0.082 0.06 0.0177 0.0001 0.0001 0.0001 0.000105 0.02 0.0374 0.07 0.03483606557}}
addUserKnob {12 wxy}
wxy {{curve(which) 0.33333333 0.32168 0.32168 0.3127 0.3127 0.3127 0.32168 0.3127 0.314 0.3127 0.3216831877 0.3216832104 0.3216832894 0.3216832894 0.3216832104 0.3216832894 0.3127 0.3127 0.3127 0.3127 0.3127 0.3127 0.3127 0.3127 0.3135 0.3135 0.3135 0.3127 0.3127 0.3127 0.3127 0.3457 0.3457 0.3457 0.3457 0.345704 0.33243 0.33333333 0.3127 0.3457} {curve(which) 0.33333333 0.33767 0.33767 0.329 0.329 0.329 0.33767 0.329 0.351 0.329 0.337673316 0.3376736101 0.3376734472 0.3376734472 0.3376736101 0.3376734472 0.329 0.329 0.329 0.329 0.329 0.329 0.329 0.329 0.3305 0.3305 0.3305 0.329 0.329 0.329 0.329 0.3585 0.3585 0.3585 0.3585 0.35854 0.34744 0.33333333 0.329 0.3585}}
}
Output {
name Output
xpos -40
ypos 86
}
end_group
Colorspace {
colorspace_in CIE-XYZ
primary_in "Adobe (1998)"
colorspace_out CIE-Yxy
name Colorspace2
label "\[value colorspace_in] -> \[value colorspace_out]"
xpos 730
ypos 296
}
Expression {
expr0 r
expr1 "4*g / ( -2*g + 12*b + 3)"
expr2 "9*b / ( -2*g + 12*b + 3)"
name Expression4
label "CIE Yxy to CIELuv"
xpos 730
ypos 344
disable {{!parent.diagram}}
}
Dot {
name Dot13
label " Pos"
note_font "Helvetica Bold"
note_font_size 24
note_font_color 0xa5a5a501
xpos 764
ypos 546
}
push $N53256990
Dot {
name Dot16
label " Col"
note_font "Helvetica Bold"
note_font_size 24
note_font_color 0xa5a5a501
xpos 654
ypos 450
}
BlinkScript {
inputs 2
KernelDescription "2 \"PlotChromaticity\" iterate pixelWise 3e86399c7642fe5c35c23528a644f88a8bf13f967de084ae6842f8be55098c6b 3 \"col\" Read Random \"Yxy\" Read Random \"dst\" Write Random 4 \"padding\" Float 1 AAAAAA== \"left_margin\" Float 1 AAAAAA== \"tolerance\" Float 1 AAAAAA== \"antialias\" Bool 1 AA== 4 \"padding\" 1 1 \"left_margin\" 1 1 \"tolerance\" 1 1 \"antialias\" 1 1 2 \"outsize\" Float 1 1 AAAAAA== \"offset\" Float 1 1 AAAAAA=="
kernelSource "kernel PlotChromaticity : public ImageComputationKernel\n\{\n Image col;\n Image Yxy;\n Image dst;\n\nparam:\n float padding;\n float left_margin;\n float tolerance;\n bool antialias;\n\nlocal:\n float outsize;\n float offset;\n\n void init() \{\n // calculate output width and height and offset based on padding\n outsize = float(dst.bounds.height()/padding);\n // xy offset for margin on lower left corner\n offset = dst.bounds.height()*left_margin;\n \}\n\n float gaussian(float d, float a, float expv) \{\n return max(0.0f, exp(-a*d*d)-expv);\n \}\n\n float gaussian_filter(float x, float y, float r) \{\n // return gaussian weighted distance from origin (0, 0)\n // given coordinate (x, y) and radius r\n float a = 1.5f; // rate falloff\n float expv = exp(-a*r*r);\n return gaussian(x, a, expv) * gaussian(y, a, expv);\n \}\n\n void write_aa(float x, float y, float4 rgb) \{\n // skip black pixels\n if (rgb.x == 0.0f && rgb.y == 0.0f && rgb.z == 0.0f) return;\n \n // size of pixel neighborhood = n*2+1 by n*2+1\n int n = 2;\n\n // center of neighborhood\n int u0 = round(x);\n int v0 = round(y);\n\n // skip if center pixel weight is greater than tolerance\n if ( dst.bounds.inside(u0, v0)) \{\n if (dst(u0, v0, 3) >= tolerance) return;\n \}\n\n // loop over neighborhood\n for (int j = -n; j <= n; j++) \{\n int v = v0 + j;\n for (int i = -n; i <= n; i++) \{\n int u = u0 + i;\n if ( dst.bounds.inside(u, v)) \{\n // get filter weight for coord (u,v)\n float w = gaussian_filter(u-x, v-y, float(n));\n float4 c0 = dst(u, v); // existing color\n\n // merge current color sample over existing color sample\n for (int k=0; k<3; k++) \{\n dst(u, v, k) = rgb\[k]*w+c0\[k]*(1-w); \n \}\n\n // merge current weight over existing weight\n float w0 = dst(u, v, 3);\n dst(u, v, 3) = w+w0*(1-w);\n \}\n \}\n \}\n \}\n\n\n void process(int2 pos) \{\n float4 rgba = col(pos.x, pos.y);\n \n // Get CIE xy position from Yxy input for current pixel\n float2 xy = float2(Yxy(pos.x, pos.y, 1), Yxy(pos.x, pos.y, 2));\n \n // Find output pixel coordinate for this CIE xy pixel value\n float2 out_coord = float2(xy.x * outsize + offset, xy.y * outsize + offset);\n\n // For each RGB component, write value from color input to output coordinate\n if (antialias) \{\n write_aa(out_coord.x, out_coord.y, rgba);\n \} else \{\n // For each RGB component, write value from color input to output coordinate\n int2 p = int2(round(out_coord.x), round(out_coord.y));\n if (dst.bounds.inside(p.x, p.y)) \{\n for (int k=0; k<3; k++) \{\n dst(p.x, p.y, k) = col(pos.x, pos.y, k);\n \}\n dst(p.x, p.y, 3) = 1.0f;\n \}\n \}\n \}\n\};"
useGPUIfAvailable {{parent.use_gpu}}
rebuild ""
PlotChromaticity_padding {{"parent.diagram ? parent.right_margin*0.8 : parent.right_margin"}}
PlotChromaticity_left_margin {{parent.left_margin}}
PlotChromaticity_tolerance 2
PlotChromaticity_antialias true
format "2048 2048 0 0 2048 2048 1 square_2K"
rebuild_finalise ""
name PlotChromaticities
xpos 620
ypos 536
disable {{!parent.plot_input}}
}
Fill {
color 0
name BLACK
tile_color 0x111111ff
xpos 620
ypos 591
disable {{parent.plot_input}}
}
Merge2 {
inputs 2
bbox B
name Merge7
xpos 620
ypos 686
disable {{!parent.enable_sample_color}}
}
Merge2 {
inputs 2
name Merge1
xpos 620
ypos 758
}
Output {
name Output
xpos 620
ypos 1046
}
push $Ncfdfd7b0
Viewer {
frame 27
frame_range 1-100
viewerProcess "sRGB (default)"
name Viewer1
note_font Helvetica
xpos -1140
ypos -1134
}
end_group