-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathparse_scattering_data.js
226 lines (191 loc) · 24.5 KB
/
parse_scattering_data.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
let data = `Saunderson,k1 ,k2 ,kins,,,,,,,,,,,,,,,,,,,,,,
,0.030,0.650,1.000,,,,,,,,,,,,,,,,,,,,,,
,,Bone black,Arylide (Hansa) yellow,Diarylide yellow,Cadmium orange,Pyrrole orange,k cadmium red,k pyrrole red,k quinacridone red,k quinacridone magenta,dioxazine purple tints,k ultramarine blue,k cobalt blue,k cerulean blue,Phthalo blue red shade,Phathalo blue green shade tints,Phathlo Green blue shade,Phathlo green yellow shade,Biz vanadate yellow,PH G and Biz Y mix,PH G and Biz Y mix,PH G and Biz Y mix,Phthalo B (GS) and Phthalo G (BS),Quin Mag and Dioxazine P,Titanium White
,,,,,,,,,,,,,,,,,,,,,,,,,
Absorption (k),,,,,,,,,,,,,,,,,,,,,,,,,
,380,0.317811398,0.512100081,0.387758117,0.213736207,0.00963475,0.553969164,0.483940381,0.323017253,0.281837612,0.187093087,0.206246588,0.004622221,0.013335405,0.577725248,0.163807055,0.939626043,0.504770383,0.305172279,0.355071805,0.31764716,0.308290999,0.551716549,0.27236316,0.530000769
,390,0.2339524,0.811954107,0.81250721,0.519796708,0.061386174,0.523636831,0.363848467,0.138453393,0.131111438,0.245613658,0.0664182,0.00439132,0.012093233,0.320193866,0.241745092,1.05942217,0.580076418,0.57773997,0.578324082,0.577885998,0.577776477,0.650583631,0.14256166,0.227441172
,400,0.204520371,0.996835843,1.085039654,0.709203896,0.2,0.507909346,0.359078025,0.088863426,0.087008467,0.282241423,0.025946848,0.004248897,0.011651704,0.196421415,0.305359695,1.134921727,0.611778658,0.744127028,0.711039935,0.735855255,0.742059085,0.720140711,0.106531763,0.049813112
,410,0.189464091,1.035420973,1.139217292,0.676285254,0.273338339,0.506956347,0.377389904,0.071729523,0.071711407,0.232551711,0.01473895,0.003970302,0.011784701,0.130005251,0.192750529,0.972166649,0.570216255,0.716311826,0.679787933,0.707180853,0.714029083,0.582458589,0.087795437,0.00576033
,420,0.188813601,1.143802755,1.274059619,0.692274282,0.309512713,0.523245608,0.428871497,0.074496878,0.069747908,0.206233894,0.009165112,0.003419851,0.010083672,0.101201555,0.154859879,0.86522328,0.536408977,0.737850179,0.687489878,0.725260104,0.73470266,0.510041579,0.083396506,0.000366132
,430,0.193179768,1.267675848,1.430012897,0.717320993,0.35592063,0.541847699,0.490580608,0.092721016,0.079202588,0.18784403,0.0065302,0.003166591,0.008823018,0.079198194,0.108597814,0.749365319,0.490610077,0.767812815,0.69851213,0.750487644,0.763481522,0.428981566,0.090066732,2.17208E-05
,440,0.197596003,1.387755811,1.566876765,0.742775509,0.405143943,0.560535606,0.549133547,0.125674445,0.098199278,0.185708691,0.005486027,0.003314259,0.008516282,0.053831334,0.051224299,0.631272688,0.434790091,0.783711318,0.696481011,0.761903742,0.778259424,0.341248494,0.10695022,6.05126E-06
,450,0.20125973,1.480494501,1.679481453,0.764608554,0.466047444,0.576575533,0.59981763,0.171372399,0.125923582,0.20556359,0.005341095,0.003991958,0.008190676,0.032081221,0.028519056,0.485755708,0.372505603,0.760562783,0.663548488,0.736309209,0.754499389,0.257137382,0.133887583,3.37163E-06
,460,0.205476953,1.565093133,1.785741426,0.788832116,0.516983226,0.593778132,0.652313368,0.223029577,0.16252314,0.254072929,0.007007436,0.004810019,0.007556183,0.025416955,0.025338544,0.320486137,0.28487852,0.642181554,0.552855796,0.619850114,0.636598694,0.17291234,0.171678119,3.49994E-06
,470,0.210521267,1.645370982,1.826797633,0.815815863,0.557818026,0.612453207,0.704438578,0.296523111,0.209055286,0.333540107,0.011774886,0.006693304,0.007283146,0.027924911,0.027897833,0.180032505,0.161412245,0.433346883,0.365363223,0.416350968,0.429097904,0.103965169,0.221503768,5.73282E-06
,480,0.214665979,1.607715823,1.810934125,0.8389413,0.630805001,0.628597716,0.74319183,0.393424112,0.277696638,0.474428087,0.021564168,0.009204548,0.00748933,0.037410664,0.037498339,0.10014644,0.05649325,0.163579303,0.136807789,0.156886424,0.161906083,0.068822389,0.297369783,5.83632E-06
,490,0.219283264,1.234762904,1.855055607,0.864324939,0.716566781,0.64549133,0.778248991,0.464187547,0.368056483,0.746615826,0.039833512,0.008182262,0.006994247,0.05713796,0.058115958,0.058082321,0.021221995,0.051685294,0.044069469,0.049781338,0.051209305,0.058099139,0.405912417,7.89426E-06
,500,0.223502971,0.552126303,1.827913315,0.876431417,0.759567172,0.661393431,0.816447916,0.522941912,0.455802723,1.148412219,0.068642336,0.01155231,0.007282971,0.09112245,0.09280463,0.048543762,0.011811442,0.016739364,0.015507383,0.016431369,0.016662365,0.070674196,0.525063672,8.81093E-06
,510,0.227027697,0.112331063,1.462056851,0.856880368,0.735506495,0.66839357,0.856553054,0.655905597,0.573752352,1.648904353,0.107445588,0.024384051,0.011198083,0.148398717,0.136087752,0.058691665,0.009700854,0.005605293,0.006629183,0.005861266,0.005669286,0.097389709,0.681267552,9.48798E-06
,520,0.23194861,0.022930407,0.73692483,0.838734963,0.80605241,0.666008864,0.892458956,0.803316059,0.806135168,2.393068843,0.159076539,0.053564483,0.022291612,0.246638798,0.223426815,0.080492498,0.011177859,0.00178515,0.004133327,0.002372194,0.001931911,0.151959656,0.964828535,1.20088E-05
,530,0.235609648,0.005007538,0.170015808,0.802192825,0.963509729,0.656807465,0.90218073,0.778561767,1.062691148,3.247660251,0.215666457,0.101331124,0.041682212,0.403129976,0.371032436,0.112493171,0.015492772,0.000552916,0.00428788,0.001486657,0.000786351,0.241762803,1.281188059,1.12716E-05
,540,0.239626944,0.001285474,0.035920786,0.613911682,1.048406174,0.654071047,0.942924941,0.736406755,1.121670084,3.605524093,0.27513885,0.16635269,0.070266019,0.643616727,0.609419307,0.171329501,0.025548203,0.000219558,0.006551719,0.001802598,0.000615318,0.390374404,1.370055485,1.20686E-05
,550,0.243894992,0.000509307,0.009341151,0.281177976,0.88425102,0.645514511,1.027593454,0.880995836,1.084380419,3.721895841,0.333574493,0.207823374,0.098857059,0.998720712,1.006276554,0.269556795,0.051023738,0.000128607,0.01285239,0.003309553,0.000923844,0.637916675,1.348131961,1.41485E-05
,560,0.248467549,0.00030773,0.002851163,0.072204281,0.407907215,0.581021787,1.101420637,0.948360048,1.13962715,4.039742514,0.387949335,0.24032942,0.124062124,1.479868949,1.64206261,0.420962431,0.108097883,0.000101737,0.027100773,0.006851496,0.001789176,1.031512521,1.429638687,1.75276E-05
,570,0.252355642,0.000228205,0.000978595,0.019284595,0.088233708,0.378367517,1.098300608,0.665474501,1.013705482,4.198033745,0.434792003,0.294115419,0.147582975,1.942394287,2.458098374,0.631828726,0.188271088,8.93804E-05,0.047134807,0.011850737,0.00302972,1.54496355,1.332138309,1.85529E-05
,580,0.256408501,0.000182383,0.000480452,0.005261758,0.021487038,0.146304268,0.894734699,0.302495771,0.599388627,3.591969231,0.474067371,0.337289082,0.1695272,2.212544599,3.233303234,0.938822467,0.261583415,7.72609E-05,0.065453799,0.016421396,0.004163295,2.08606285,0.898646687,2.01566E-05
,590,0.261395775,0.000157227,0.000355123,0.001606491,0.005909967,0.042478149,0.334737074,0.117817659,0.273590679,2.621649569,0.507306614,0.354079282,0.187172352,2.358989644,3.845116785,1.377000727,0.435907304,6.81763E-05,0.109027958,0.027308122,0.006878163,2.611058756,0.508396568,2.38469E-05
,600,0.266028527,0.000137001,0.000305049,0.000557931,0.001583792,0.011268683,0.067649484,0.039309164,0.110808686,2.009773455,0.529976984,0.351313857,0.195369269,2.518364865,4.507572633,1.945479574,0.726010333,6.65427E-05,0.18155249,0.04543803,0.011409414,3.226526104,0.300705163,2.56222E-05
,610,0.270996614,0.0001269,0.000282268,0.000278656,0.00068651,0.003597745,0.018712515,0.013152466,0.044006723,1.980808233,0.542217978,0.341750824,0.192733007,2.616478026,5.113856689,2.499971633,1.169786714,6.89645E-05,0.292498402,0.073176324,0.018345804,3.806914161,0.237686874,2.95603E-05
,620,0.275253177,0.000113462,0.000258581,0.000178128,0.000416459,0.001407124,0.006205348,0.005992039,0.018021545,2.345854721,0.542599941,0.352233001,0.194365917,2.501797011,5.377355262,2.909949606,1.563256074,6.7525E-05,0.390864662,0.097766809,0.024492346,4.143652434,0.250804863,2.99354E-05
,630,0.280079217,9.73201E-05,0.000228932,0.000130893,0.000322791,0.000708804,0.002297593,0.003779621,0.008786539,2.450138457,0.530975065,0.344732096,0.196851836,2.195464839,5.502373005,3.235015033,1.871025798,5.75958E-05,0.467799646,0.116993108,0.029291474,4.368694019,0.252921731,2.92077E-05
,640,0.284478263,8.53529E-05,0.000201696,0.000106743,0.000260443,0.000440523,0.00109297,0.002824396,0.005101489,1.859921319,0.50694324,0.279405351,0.184640097,1.872113998,5.528621121,3.589358143,2.084604248,5.49599E-05,0.521192282,0.13033929,0.032626042,4.558989632,0.190583472,2.88941E-05
,650,0.289275813,8.15868E-05,0.000191589,9.69084E-05,0.000217585,0.000306505,0.000686227,0.002308498,0.003442234,1.117763219,0.470621678,0.173484572,0.152554092,1.644228378,5.317024055,4.082011729,2.232379156,5.79857E-05,0.558138278,0.139578059,0.034938004,4.699517892,0.114874332,2.6411E-05
,660,0.2936566,6.66797E-05,0.000163575,7.86912E-05,0.000159618,0.000219871,0.000480882,0.001964147,0.002565406,0.600372851,0.420350009,0.084282076,0.106534659,1.54260142,4.974935676,4.211860351,2.193302898,4.56002E-05,0.548359925,0.137124181,0.034315245,4.593398013,0.062346151,2.46098E-05
,670,0.297691583,6.10226E-05,0.000154095,7.22525E-05,0.000127981,0.000169407,0.000383144,0.001734846,0.002109591,0.318098636,0.360048835,0.03478265,0.059353949,1.623999304,4.9357427,3.824358384,2.058508329,4.12445E-05,0.514658016,0.128695437,0.032204793,4.380050542,0.033708495,2.44348E-05
,680,0.302184295,6.17024E-05,0.000153799,6.83075E-05,0.000109892,0.000137346,0.000336725,0.001550456,0.001834758,0.170307796,0.294584213,0.013272112,0.026312511,1.87623291,5.190236397,3.299827935,1.874109975,3.97948E-05,0.46855734,0.117169181,0.029322141,4.245032166,0.018682062,2.60245E-05
,690,0.306968348,5.95032E-05,0.000149972,6.4015E-05,9.5411E-05,0.000117026,0.000305892,0.001392051,0.001638742,0.095653915,0.22804449,0.004568251,0.009757209,2.116442736,5.639723072,2.873273034,1.682011233,3.6606E-05,0.420530263,0.10516002,0.02631746,4.256498053,0.01104026,2.82724E-05
,700,0.311668469,5.6519E-05,0.00014206,6.04633E-05,8.44697E-05,9.26257E-05,0.000269494,0.001223624,0.001434427,0.051197586,0.168788443,0.001561294,0.003366369,2.145070372,6.276040972,2.602463793,1.507063789,3.39604E-05,0.376791418,0.094223325,0.023581302,4.439252383,0.006410743,2.67212E-05
,710,0.316528351,5.28966E-05,0.000133945,5.63683E-05,7.55228E-05,8.11265E-05,0.000257742,0.001122759,0.001300045,0.032487417,0.122837242,0.000671209,0.001262431,2.022118186,6.883270399,2.517117908,1.421520845,3.04776E-05,0.35540307,0.088873626,0.022241265,4.700194153,0.004418782,2.73611E-05
,720,0.321364208,4.64662E-05,0.000121703,4.95568E-05,6.63074E-05,6.40305E-05,0.000209287,0.001009714,0.001139778,0.029550124,0.087613394,0.000370609,0.000595668,1.845737534,6.621920205,2.632268858,1.398416511,2.60555E-05,0.34962367,0.087425459,0.021875906,4.627094532,0.003980813,2.52046E-05
,730,0.326021322,3.91244E-05,0.000109698,4.22617E-05,5.67406E-05,5.48303E-05,0.000161412,0.000938946,0.001024305,0.001262122,0.064493879,0.000253467,0.000368745,1.642431366,5.539695391,2.67068884,1.372878109,2.1916E-05,0.343235964,0.085825428,0.021472794,4.105192116,0.001048087,2.3099E-05
,740,0.330457843,3.145E-05,9.60751E-05,3.53121E-05,4.74016E-05,4.48117E-05,0.000104387,0.000866034,0.000902326,0.010146242,0.049425082,0.000190536,0.000266651,1.31716915,3.63707453,2.380640946,1.259489501,1.87386E-05,0.314886429,0.078735661,0.019697969,3.008857738,0.001826718,1.82916E-05
,750,0.335491913,2.09851E-05,7.64329E-05,2.56052E-05,2.52862E-05,3.20765E-05,5.76431E-05,0.0007986,0.000789966,0.005920978,0.040079977,0.000148232,0.000207391,0.968507365,1.880364084,1.990596175,1.127695728,1.33726E-05,0.281933961,0.07049352,0.017633409,1.93548013,0.001303067,1.24766E-05
Scattering (s),,,,,,,,,,,,,,,,,,,,,,,,,
,380,0.036802481,0.103984479,0.075949239,0.033461465,0.001183171,0.087558941,0.052485678,0.16702013,0.136879646,0.021802663,0.036864151,0.01983423,0.035628749,0.092782368,0.049565266,0.114740423,0.052777396,0.060313147,0.05842921,0.059842163,0.060195401,0.082152844,0.125371948,1
,390,0.0256145,0.157386511,0.148023458,0.072295208,0.006215544,0.074237574,0.032888289,0.078197301,0.062994233,0.028649391,0.01325174,0.022304523,0.039389035,0.053507627,0.073252551,0.130412248,0.061109573,0.100112567,0.090361819,0.09767488,0.099503145,0.1018324,0.059559749,1
,400,0.021268877,0.189152296,0.182747535,0.091966046,0.015,0.067817045,0.028222572,0.051179308,0.042968947,0.032953786,0.006797904,0.0239515,0.041124684,0.035118007,0.094494663,0.140489098,0.064055301,0.121137254,0.106866766,0.117569632,0.120245349,0.11749188,0.041967431,1
,410,0.018724579,0.192470839,0.176802001,0.082771164,0.021288213,0.064317411,0.027004,0.037425351,0.032198819,0.025560972,0.005670381,0.027115672,0.04058377,0.023883735,0.067659337,0.119997032,0.059443765,0.114850352,0.100998705,0.11138744,0.113984624,0.093828184,0.031535035,1
,420,0.018116559,0.208077724,0.182355975,0.082284475,0.022552882,0.064051377,0.029050666,0.031051115,0.02738564,0.021354796,0.00537932,0.033443337,0.037008006,0.017983491,0.053150945,0.108214787,0.055790206,0.119988672,0.103939056,0.115976268,0.118985571,0.080682866,0.026782556,1
,430,0.017954182,0.229191971,0.188622462,0.084186254,0.025361685,0.06526941,0.032925184,0.028797263,0.025824064,0.018465067,0.005914392,0.036423879,0.035933636,0.014380501,0.040767676,0.097088708,0.052410522,0.12887726,0.109760576,0.124098089,0.127682467,0.068928192,0.025088164,1
,440,0.018008081,0.243586484,0.191268143,0.087007737,0.028573727,0.066625866,0.03628089,0.028400568,0.025590662,0.016836284,0.006990354,0.036608854,0.036133611,0.011527896,0.026874306,0.085875239,0.049345958,0.139718247,0.117125175,0.134069979,0.13830618,0.056374772,0.024715225,1
,450,0.018142763,0.246757705,0.196617964,0.089393157,0.033408122,0.068665997,0.040399043,0.029452054,0.02616861,0.017362904,0.007605419,0.036074781,0.035912816,0.009940005,0.018726484,0.073237423,0.045657096,0.15692572,0.129108564,0.149971431,0.155187147,0.045981954,0.02528804,1
,460,0.018424032,0.261959729,0.205176279,0.092724075,0.03700444,0.07086043,0.044630305,0.03150583,0.027524879,0.020010314,0.007524339,0.035719709,0.035958065,0.00967453,0.015678099,0.058711758,0.040832768,0.198355038,0.15897447,0.188509896,0.195893752,0.037194928,0.026773423,1
,470,0.018450828,0.291371974,0.202684083,0.096173765,0.039914028,0.072909548,0.04771688,0.035596889,0.02962379,0.024689263,0.006448341,0.035222301,0.035970369,0.00939221,0.014208961,0.043324788,0.028614973,0.286119587,0.221743434,0.270025549,0.282096077,0.028766874,0.029130337,1
,480,0.018630667,0.320059907,0.193479976,0.100543307,0.048063499,0.075719067,0.049974514,0.042403869,0.03341831,0.033641379,0.004589699,0.033920344,0.035776095,0.008346126,0.01318211,0.032850681,0.013967829,0.297219415,0.226406519,0.279516191,0.292793609,0.023016395,0.033440617,1
,490,0.018729128,0.382814528,0.203315074,0.106655671,0.057421545,0.078530104,0.05213209,0.048356682,0.038878009,0.049816207,0.003203452,0.0344474,0.0359121,0.006982628,0.012314659,0.024119934,0.00746533,0.287933287,0.217816298,0.27040404,0.283550976,0.018217296,0.039971829,1
,500,0.01891371,0.486895075,0.236903989,0.115105013,0.058924298,0.082489161,0.05546143,0.052728222,0.044036766,0.07397127,0.003283432,0.033528084,0.035980636,0.006537874,0.011065591,0.019606583,0.00590454,0.289509507,0.218608265,0.271784197,0.28507818,0.015336087,0.047030217,1
,510,0.019226863,0.402960723,0.296382037,0.125767783,0.05307024,0.088209146,0.060202486,0.0657278,0.052164412,0.109245274,0.004315185,0.030381763,0.035194443,0.00815416,0.009741495,0.017671697,0.005643242,0.29222619,0.220580453,0.274314756,0.287748331,0.013706596,0.057872499,1
,520,0.019396009,0.346376724,0.394610077,0.135752446,0.061850578,0.09529305,0.060487293,0.083400043,0.068466678,0.172118313,0.005657179,0.027323877,0.033711827,0.012086984,0.011734758,0.015451441,0.005770916,0.264033431,0.199467802,0.247892024,0.259998079,0.0135931,0.078831841,1
,530,0.019541844,0.27912466,0.355882281,0.152503051,0.090531281,0.102432347,0.058525951,0.087660799,0.092628019,0.272787182,0.007261528,0.024823193,0.030779451,0.018846464,0.017521774,0.013396041,0.005810241,0.214967899,0.162678484,0.201895545,0.21169981,0.015458908,0.110643935,1
,540,0.019787307,0.207870306,0.314096559,0.206753976,0.114171549,0.108959191,0.064295358,0.082650375,0.10392926,0.333131759,0.008835817,0.024498511,0.028214558,0.028841966,0.027914536,0.013481155,0.006091104,0.195873921,0.148428217,0.184012495,0.192908565,0.020697846,0.12684951,1
,550,0.020096701,0.162818387,0.262396098,0.290148891,0.145864898,0.119882851,0.081167334,0.100029251,0.104261711,0.358084855,0.010288475,0.025350668,0.026683801,0.043882427,0.045616501,0.016018739,0.006736517,0.212502202,0.161060781,0.199641847,0.209287114,0.03081762,0.129644025,1
,560,0.02024139,0.141690553,0.206681585,0.26554047,0.217428864,0.149723983,0.101885486,0.130378864,0.115898283,0.415048856,0.011212056,0.025908009,0.026145022,0.06517112,0.072472626,0.020772179,0.008384412,0.250519465,0.189985702,0.235386024,0.246736105,0.046622402,0.145813341,1
,570,0.020546601,0.130726598,0.159572156,0.260094061,0.185131807,0.225929494,0.127361969,0.132528402,0.12081486,0.497284063,0.012470077,0.027595952,0.026496654,0.096410253,0.113974353,0.028493655,0.010781596,0.285816785,0.217057988,0.268627085,0.28151936,0.071234004,0.158461781,1
,580,0.020821353,0.12339245,0.135222279,0.238716689,0.160817378,0.31766465,0.176044008,0.106208884,0.091439943,0.471270333,0.013497922,0.030242983,0.027205466,0.125257274,0.161678074,0.040059343,0.012978663,0.294381138,0.22403052,0.276793484,0.289984225,0.100868709,0.129422982,1
,590,0.020878598,0.120892885,0.12823085,0.203344765,0.139313972,0.358347158,0.319653308,0.079921037,0.058177325,0.353473862,0.014279919,0.032800434,0.028258054,0.145903359,0.206372337,0.056273544,0.019875973,0.283109319,0.217300983,0.266657235,0.278996298,0.13132294,0.087706978,1
,600,0.021317981,0.121175964,0.126393019,0.166189409,0.124433144,0.347064972,0.34017704,0.064593144,0.038617062,0.253605485,0.015200035,0.034502402,0.029556108,0.173177038,0.270384169,0.08355884,0.031626698,0.304792174,0.236500805,0.287719332,0.300523964,0.176971505,0.060115905,1
,610,0.021440706,0.123473812,0.125618485,0.146943797,0.14965382,0.306365859,0.293086027,0.058915742,0.032788962,0.22383458,0.015849762,0.035556046,0.030801629,0.200648967,0.345647136,0.122600667,0.049633266,0.322823393,0.254525861,0.30574901,0.318554797,0.234123901,0.051893524,1
,620,0.021770308,0.123462947,0.12346504,0.139464376,0.16281554,0.260374191,0.247974637,0.060850893,0.036285891,0.258416403,0.016179943,0.037419566,0.031821965,0.213630903,0.404663331,0.167747879,0.066309747,0.334148521,0.267188827,0.317408597,0.32996354,0.286205605,0.058498942,1
,630,0.021933311,0.117567634,0.115874335,0.132548298,0.163628007,0.225605327,0.214774394,0.065873089,0.044711617,0.299983271,0.016093628,0.040599756,0.033168858,0.197666284,0.447813346,0.212393244,0.082121076,0.298273251,0.244235207,0.28476374,0.294895873,0.330103295,0.070238782,1
,640,0.022198258,0.114613464,0.108351073,0.129517818,0.16261058,0.202608174,0.20172858,0.071372973,0.054568711,0.267944668,0.016133612,0.044619867,0.035283961,0.170493104,0.484981102,0.269348793,0.096949561,0.296282658,0.246449384,0.28382434,0.293168078,0.377164948,0.075906307,1
,650,0.022484235,0.120387191,0.108073703,0.134367011,0.171338904,0.186118641,0.198762046,0.076493668,0.063943599,0.193133592,0.015362339,0.048228927,0.038046053,0.145263373,0.484321958,0.353467293,0.113538652,0.323939721,0.271339454,0.310789654,0.320652204,0.418894625,0.076862598,1
,660,0.022672093,0.107511182,0.097536761,0.12016333,0.158081132,0.171642306,0.194319784,0.080323697,0.07112577,0.130075946,0.014523559,0.051140947,0.04216645,0.130237858,0.454416566,0.419077223,0.12696932,0.268872749,0.233396892,0.260003784,0.266655508,0.436746895,0.077020787,1
,670,0.023074517,0.107497725,0.096210877,0.121932607,0.150220696,0.163888388,0.201508664,0.083605841,0.077388016,0.090032848,0.013507342,0.054106675,0.04774813,0.128699018,0.435919998,0.412865453,0.13490435,0.259912875,0.228660744,0.252099842,0.257959616,0.424392726,0.0786525,1
,680,0.023304968,0.115852179,0.097618633,0.12257807,0.143067663,0.159805066,0.219842784,0.086420058,0.082475685,0.064914378,0.012074313,0.060263014,0.052469195,0.144539871,0.449296565,0.368828492,0.134631276,0.253690793,0.223925914,0.246249573,0.251830488,0.409062528,0.080719555,1
,690,0.023673922,0.119551716,0.097144725,0.121347719,0.132445166,0.158358541,0.2412153,0.089887139,0.087588271,0.052767996,0.010769671,0.075867592,0.057048126,0.172180975,0.497896785,0.323165913,0.129904986,0.237808472,0.2108326,0.231064504,0.23612248,0.410531349,0.084106244,1
,700,0.023868446,0.12244997,0.095377588,0.123190215,0.128649188,0.148048818,0.25704615,0.092635902,0.091690597,0.04339792,0.009584383,0.092227877,0.060195843,0.18931385,0.600379366,0.288930023,0.121309525,0.227827542,0.201198038,0.221170166,0.226163198,0.444654695,0.086861329,1
,710,0.024246792,0.12064866,0.091585181,0.120410047,0.124780646,0.146249418,0.286498657,0.098269699,0.098236234,0.045726914,0.008821281,0.101608642,0.063794048,0.192276573,0.767373642,0.271270171,0.114718209,0.204597311,0.182127536,0.198979867,0.20319295,0.519321906,0.092985302,1
,720,0.024533806,0.113408148,0.085158356,0.113437095,0.120857666,0.134018527,0.274989328,0.102463649,0.10216428,0.045726914,0.008707218,0.10208126,0.066942377,0.186352175,0.880742891,0.28482649,0.113842488,0.180087048,0.163525908,0.175946763,0.179051976,0.58278469,0.099777975,1
,730,0.024798391,0.101750181,0.078635234,0.102305759,0.114837929,0.127842174,0.242950274,0.107463866,0.10654287,0.045726914,0.009196247,0.102103814,0.06941495,0.177797806,0.858870398,0.306694861,0.114082981,0.15605839,0.145564537,0.153434926,0.155402524,0.582782629,0.106575713,1
,740,0.025157286,0.090169865,0.071392557,0.092967027,0.111404519,0.11805768,0.186404799,0.111559684,0.109171245,0.045726914,0.010550822,0.101917177,0.070152519,0.157404189,0.698094801,0.297933245,0.112985752,0.142660117,0.135241526,0.140805469,0.142196455,0.498014023,0.105424565,1
,750,0.025640655,0.066288346,0.058505652,0.073049483,0.072962345,0.097329858,0.125017646,0.114848554,0.110911265,0.045726914,0.012100478,0.100824147,0.069572364,0.131573671,0.516444163,0.26850376,0.108900985,0.108010164,0.108232869,0.10806584,0.108024083,0.392473962,0.106076375,1`
data = data.replace(/[\r]/g, "");
let lines = data.split("\n");
function parseIfFloat(f) {
f = f.trim();
if (!isNaN(parseFloat(f))) {
f = parseFloat(f);
}
return f;
}
lines = lines.map(l => l.split(",").map(f => parseIfFloat(f)));
let Saunderson = {k1: 0.03, k2: 0.650};
let table = [];
let wavelengths = [];
for (let i = 2; i < lines[2].length; i++) {
table.push({
name: lines[2][i],
K : [],
S : []
});
}
;
let key = "K";
for (let l of lines.slice(5, lines.length)) {
if (l[0].startsWith("Scattering")) {
key = "S";
continue;
}
if (key !== "S") {
wavelengths.push(l[1]);
}
for (let i = 2; i < l.length; i++) {
table[i - 2][key].push(l[i]);
}
}
console.log(wavelengths);
function myStringify(obj, replacer, ws, depth = 0) {
let tab = '';
for (let i = 0; i < depth; i++) {
tab += " ";
}
if (typeof obj === "number") {
return "" + obj;
} else if (typeof obj === "boolean") {
return obj ? "true" : "false";
} else if (typeof obj === "string") {
return `"${obj}"`;
} else if (typeof obj === "object") {
if (obj.toJSON) {
return myStringify(obj.toJSON(), replacer, ws, depth);
}
if (obj instanceof Array) {
let s = "[";
let addNewline = false;
if (obj.length > 0 && typeof obj[0] !== "number") {
s += "\n";
addNewline = true;
}
for (let i = 0; i < obj.length; i++) {
if (i > 0) {
s += ",";
s += addNewline ? "\n" : " ";
}
let chunk = myStringify(obj[i], replacer, ws, depth+1);
if (chunk.endsWith("\n")) {
chunk = chunk.slice(0, chunk.length-1);
}
s += chunk;
}
if (addNewline) {
s += "\n";
}
s += "]";
return s;
} else {
let s = tab + "{\n";
for (let k in obj) {
let v = obj[k];
if (typeof v === "function" || v instanceof Function) {
continue;
}
s += tab + ` "${k}" : ${myStringify(v, replacer, ws, depth+1)},\n`
}
s += tab + "}\n";
return s;
}
}
return "" + obj;
}
function replacer(key, val) {
if (Array.isArray(val) && typeof val[0] === "number") {
let ret = JSON.stringify(val);
return ret;
} else {
return val;
}
}
let code = `/* WARNING: auto-generated file! */
export const wavelengths = ${JSON.stringify(wavelengths)};
export const pigmentKS = ${myStringify(table, replacer, 1)};
export function getPigment(name) {
for (let pigment of pigmentKS) {
if (pigment.name === name) {
return name;
}
}
}
`;
console.log(code);
require("fs").writeFileSync("scripts/core/pigment_data.js", code);