deployable app
This commit is contained in:
1
.python-version
Normal file
1
.python-version
Normal file
@@ -0,0 +1 @@
|
|||||||
|
3.10
|
||||||
334
data/2022-04-20 Argon_696_15.CSV
Normal file
334
data/2022-04-20 Argon_696_15.CSV
Normal file
@@ -0,0 +1,334 @@
|
|||||||
|
70CSV
|
||||||
|
// AQ6370 OPTICAL SPECTRUM ANALYZER //
|
||||||
|
25
|
||||||
|
"CTRWL", 696.400000
|
||||||
|
"SPAN", 0.600000
|
||||||
|
"START WL", 696.100000
|
||||||
|
"STOP WL", 696.700000
|
||||||
|
"WLFREQ", 0
|
||||||
|
"REFL", -60.000
|
||||||
|
"LSCL",-2.0
|
||||||
|
"BASEL",0.00000000000
|
||||||
|
"RESLN",0.100
|
||||||
|
"AVG", 1
|
||||||
|
"SMPLAUTO", 1
|
||||||
|
"SMPL", 301
|
||||||
|
"SMPLINTVL",0.0020
|
||||||
|
"HIGH3"
|
||||||
|
"RAVG", 20
|
||||||
|
"LSUNT",1
|
||||||
|
"NMSKH","OFF"
|
||||||
|
"RESCOR",0
|
||||||
|
"RESPARM",10177
|
||||||
|
"FREQPARM",10177
|
||||||
|
|
||||||
|
# Complementary values
|
||||||
|
"GAS FLOW",500
|
||||||
|
"VOLTAGE",7900
|
||||||
|
"FREQUENCY",38800
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
"[TRACE DATA]"
|
||||||
|
696.1000,7.338E-009
|
||||||
|
696.1020,7.591E-009
|
||||||
|
696.1040,9.639E-009
|
||||||
|
696.1060,8.682E-009
|
||||||
|
696.1080,5.240E-009
|
||||||
|
696.1100,2.041E-008
|
||||||
|
696.1120,4.934E-009
|
||||||
|
696.1140,7.068E-009
|
||||||
|
696.1160,2.225E-008
|
||||||
|
696.1180,1.875E-008
|
||||||
|
696.1200,1.231E-008
|
||||||
|
696.1220,2.037E-008
|
||||||
|
696.1240,2.496E-008
|
||||||
|
696.1260,1.785E-008
|
||||||
|
696.1280,1.672E-008
|
||||||
|
696.1300,2.225E-008
|
||||||
|
696.1320,4.458E-009
|
||||||
|
696.1340,2.409E-008
|
||||||
|
696.1360,1.587E-008
|
||||||
|
696.1380,8.883E-009
|
||||||
|
696.1400,9.415E-009
|
||||||
|
696.1420,4.547E-009
|
||||||
|
696.1440,1.358E-008
|
||||||
|
696.1460,2.302E-008
|
||||||
|
696.1480,1.370E-008
|
||||||
|
696.1500,5.619E-009
|
||||||
|
696.1520,2.849E-008
|
||||||
|
696.1540,1.897E-008
|
||||||
|
696.1560,2.569E-008
|
||||||
|
696.1580,7.989E-009
|
||||||
|
696.1600,1.109E-008
|
||||||
|
696.1620,2.978E-008
|
||||||
|
696.1640,3.374E-008
|
||||||
|
696.1660,4.647E-009
|
||||||
|
696.1680,1.471E-008
|
||||||
|
696.1700,2.971E-008
|
||||||
|
696.1720,1.358E-008
|
||||||
|
696.1740,2.331E-008
|
||||||
|
696.1760,6.827E-010
|
||||||
|
696.1780,8.818E-009
|
||||||
|
696.1800,2.340E-008
|
||||||
|
696.1820,1.988E-008
|
||||||
|
696.1840,3.221E-008
|
||||||
|
696.1860,1.569E-008
|
||||||
|
696.1880,2.894E-008
|
||||||
|
696.1900,1.944E-008
|
||||||
|
696.1920,2.562E-008
|
||||||
|
696.1940,1.391E-008
|
||||||
|
696.1960,2.334E-008
|
||||||
|
696.1980,2.119E-008
|
||||||
|
696.2000,1.438E-008
|
||||||
|
696.2020,1.362E-008
|
||||||
|
696.2040,2.040E-008
|
||||||
|
696.2060,2.266E-008
|
||||||
|
696.2080,3.277E-008
|
||||||
|
696.2100,1.639E-008
|
||||||
|
696.2120,2.603E-008
|
||||||
|
696.2140,2.250E-008
|
||||||
|
696.2160,1.801E-008
|
||||||
|
696.2180,2.338E-008
|
||||||
|
696.2200,1.527E-008
|
||||||
|
696.2220,2.057E-008
|
||||||
|
696.2240,2.250E-008
|
||||||
|
696.2260,3.479E-008
|
||||||
|
696.2280,2.111E-008
|
||||||
|
696.2300,2.669E-008
|
||||||
|
696.2320,2.601E-008
|
||||||
|
696.2340,3.034E-008
|
||||||
|
696.2360,2.754E-008
|
||||||
|
696.2380,3.175E-008
|
||||||
|
696.2400,1.585E-008
|
||||||
|
696.2420,3.666E-008
|
||||||
|
696.2440,2.487E-008
|
||||||
|
696.2460,1.633E-008
|
||||||
|
696.2480,2.161E-008
|
||||||
|
696.2500,2.462E-008
|
||||||
|
696.2520,1.165E-008
|
||||||
|
696.2540,2.986E-008
|
||||||
|
696.2560,2.710E-008
|
||||||
|
696.2580,1.281E-008
|
||||||
|
696.2600,3.003E-008
|
||||||
|
696.2620,2.028E-008
|
||||||
|
696.2640,4.174E-008
|
||||||
|
696.2660,2.350E-008
|
||||||
|
696.2680,4.735E-008
|
||||||
|
696.2700,4.693E-008
|
||||||
|
696.2720,3.607E-008
|
||||||
|
696.2740,4.648E-008
|
||||||
|
696.2760,5.627E-008
|
||||||
|
696.2780,3.976E-008
|
||||||
|
696.2800,4.811E-008
|
||||||
|
696.2820,5.326E-008
|
||||||
|
696.2840,5.671E-008
|
||||||
|
696.2860,6.082E-008
|
||||||
|
696.2880,6.519E-008
|
||||||
|
696.2900,6.144E-008
|
||||||
|
696.2920,6.282E-008
|
||||||
|
696.2940,7.846E-008
|
||||||
|
696.2960,9.078E-008
|
||||||
|
696.2980,7.970E-008
|
||||||
|
696.3000,7.075E-008
|
||||||
|
696.3020,8.600E-008
|
||||||
|
696.3040,9.402E-008
|
||||||
|
696.3060,9.820E-008
|
||||||
|
696.3080,1.017E-007
|
||||||
|
696.3100,1.074E-007
|
||||||
|
696.3120,1.174E-007
|
||||||
|
696.3140,1.083E-007
|
||||||
|
696.3160,1.169E-007
|
||||||
|
696.3180,1.267E-007
|
||||||
|
696.3200,1.252E-007
|
||||||
|
696.3220,1.545E-007
|
||||||
|
696.3240,1.492E-007
|
||||||
|
696.3260,1.611E-007
|
||||||
|
696.3280,1.730E-007
|
||||||
|
696.3300,1.523E-007
|
||||||
|
696.3320,1.797E-007
|
||||||
|
696.3340,2.001E-007
|
||||||
|
696.3360,1.936E-007
|
||||||
|
696.3380,1.940E-007
|
||||||
|
696.3400,2.151E-007
|
||||||
|
696.3420,1.997E-007
|
||||||
|
696.3440,2.122E-007
|
||||||
|
696.3460,2.186E-007
|
||||||
|
696.3480,2.179E-007
|
||||||
|
696.3500,2.212E-007
|
||||||
|
696.3520,2.357E-007
|
||||||
|
696.3540,2.452E-007
|
||||||
|
696.3560,2.565E-007
|
||||||
|
696.3580,2.388E-007
|
||||||
|
696.3600,2.591E-007
|
||||||
|
696.3620,2.553E-007
|
||||||
|
696.3640,2.612E-007
|
||||||
|
696.3660,2.628E-007
|
||||||
|
696.3680,2.748E-007
|
||||||
|
696.3700,2.864E-007
|
||||||
|
696.3720,2.698E-007
|
||||||
|
696.3740,2.803E-007
|
||||||
|
696.3760,2.809E-007
|
||||||
|
696.3780,2.827E-007
|
||||||
|
696.3800,3.039E-007
|
||||||
|
696.3820,2.903E-007
|
||||||
|
696.3840,3.197E-007
|
||||||
|
696.3860,3.081E-007
|
||||||
|
696.3880,3.171E-007
|
||||||
|
696.3900,3.201E-007
|
||||||
|
696.3920,3.154E-007
|
||||||
|
696.3940,3.119E-007
|
||||||
|
696.3960,3.128E-007
|
||||||
|
696.3980,3.215E-007
|
||||||
|
696.4000,3.178E-007
|
||||||
|
696.4020,3.341E-007
|
||||||
|
696.4040,3.088E-007
|
||||||
|
696.4060,3.054E-007
|
||||||
|
696.4080,3.143E-007
|
||||||
|
696.4100,3.173E-007
|
||||||
|
696.4120,3.203E-007
|
||||||
|
696.4140,3.235E-007
|
||||||
|
696.4160,3.110E-007
|
||||||
|
696.4180,3.091E-007
|
||||||
|
696.4200,3.180E-007
|
||||||
|
696.4220,3.152E-007
|
||||||
|
696.4240,3.091E-007
|
||||||
|
696.4260,3.110E-007
|
||||||
|
696.4280,3.067E-007
|
||||||
|
696.4300,2.975E-007
|
||||||
|
696.4320,2.991E-007
|
||||||
|
696.4340,2.985E-007
|
||||||
|
696.4360,2.946E-007
|
||||||
|
696.4380,2.847E-007
|
||||||
|
696.4400,2.906E-007
|
||||||
|
696.4420,2.777E-007
|
||||||
|
696.4440,2.713E-007
|
||||||
|
696.4460,2.834E-007
|
||||||
|
696.4480,2.714E-007
|
||||||
|
696.4500,2.474E-007
|
||||||
|
696.4520,2.759E-007
|
||||||
|
696.4540,2.481E-007
|
||||||
|
696.4560,2.476E-007
|
||||||
|
696.4580,2.455E-007
|
||||||
|
696.4600,2.646E-007
|
||||||
|
696.4620,2.473E-007
|
||||||
|
696.4640,2.289E-007
|
||||||
|
696.4660,2.390E-007
|
||||||
|
696.4680,2.323E-007
|
||||||
|
696.4700,2.220E-007
|
||||||
|
696.4720,2.133E-007
|
||||||
|
696.4740,2.128E-007
|
||||||
|
696.4760,1.975E-007
|
||||||
|
696.4780,1.954E-007
|
||||||
|
696.4800,1.911E-007
|
||||||
|
696.4820,1.957E-007
|
||||||
|
696.4840,1.738E-007
|
||||||
|
696.4860,1.734E-007
|
||||||
|
696.4880,1.748E-007
|
||||||
|
696.4900,1.684E-007
|
||||||
|
696.4920,1.565E-007
|
||||||
|
696.4940,1.355E-007
|
||||||
|
696.4960,1.414E-007
|
||||||
|
696.4980,1.400E-007
|
||||||
|
696.5000,1.272E-007
|
||||||
|
696.5020,1.316E-007
|
||||||
|
696.5040,1.267E-007
|
||||||
|
696.5060,1.181E-007
|
||||||
|
696.5080,1.138E-007
|
||||||
|
696.5100,1.010E-007
|
||||||
|
696.5120,1.101E-007
|
||||||
|
696.5140,1.065E-007
|
||||||
|
696.5160,8.187E-008
|
||||||
|
696.5180,8.912E-008
|
||||||
|
696.5200,9.110E-008
|
||||||
|
696.5220,8.377E-008
|
||||||
|
696.5240,8.179E-008
|
||||||
|
696.5260,8.251E-008
|
||||||
|
696.5280,7.279E-008
|
||||||
|
696.5300,6.516E-008
|
||||||
|
696.5320,7.550E-008
|
||||||
|
696.5340,5.438E-008
|
||||||
|
696.5360,6.593E-008
|
||||||
|
696.5380,5.066E-008
|
||||||
|
696.5400,4.232E-008
|
||||||
|
696.5420,4.845E-008
|
||||||
|
696.5440,6.049E-008
|
||||||
|
696.5460,4.499E-008
|
||||||
|
696.5480,3.859E-008
|
||||||
|
696.5500,3.534E-008
|
||||||
|
696.5520,5.310E-008
|
||||||
|
696.5540,4.068E-008
|
||||||
|
696.5560,2.990E-008
|
||||||
|
696.5580,2.782E-008
|
||||||
|
696.5600,2.569E-008
|
||||||
|
696.5620,2.951E-008
|
||||||
|
696.5640,3.309E-008
|
||||||
|
696.5660,2.027E-008
|
||||||
|
696.5680,3.353E-008
|
||||||
|
696.5700,4.190E-008
|
||||||
|
696.5720,2.809E-008
|
||||||
|
696.5740,2.238E-008
|
||||||
|
696.5760,2.847E-008
|
||||||
|
696.5780,3.224E-008
|
||||||
|
696.5800,2.280E-008
|
||||||
|
696.5820,2.183E-008
|
||||||
|
696.5840,2.698E-008
|
||||||
|
696.5860,2.896E-008
|
||||||
|
696.5880,1.712E-008
|
||||||
|
696.5900,1.085E-008
|
||||||
|
696.5920,2.582E-008
|
||||||
|
696.5940,7.439E-009
|
||||||
|
696.5960,2.304E-008
|
||||||
|
696.5980,2.363E-008
|
||||||
|
696.6000,9.333E-010
|
||||||
|
696.6020,2.625E-008
|
||||||
|
696.6040,2.148E-008
|
||||||
|
696.6060,2.759E-008
|
||||||
|
696.6080,2.690E-008
|
||||||
|
696.6100,1.554E-008
|
||||||
|
696.6120,1.041E-008
|
||||||
|
696.6140,1.773E-008
|
||||||
|
696.6160,1.559E-008
|
||||||
|
696.6180,1.580E-008
|
||||||
|
696.6200,2.129E-008
|
||||||
|
696.6220,2.126E-008
|
||||||
|
696.6240,4.100E-009
|
||||||
|
696.6260,2.839E-008
|
||||||
|
696.6280,2.455E-008
|
||||||
|
696.6300,9.609E-009
|
||||||
|
696.6320,1.258E-008
|
||||||
|
696.6340,1.437E-008
|
||||||
|
696.6360,2.004E-008
|
||||||
|
696.6380,2.800E-008
|
||||||
|
696.6400,2.104E-008
|
||||||
|
696.6420,1.205E-008
|
||||||
|
696.6440,2.049E-009
|
||||||
|
696.6460,2.654E-008
|
||||||
|
696.6480,1.741E-008
|
||||||
|
696.6500,2.169E-008
|
||||||
|
696.6520,1.174E-008
|
||||||
|
696.6540,2.097E-008
|
||||||
|
696.6560,1.105E-008
|
||||||
|
696.6580,1.130E-008
|
||||||
|
696.6600,2.942E-008
|
||||||
|
696.6620,2.298E-008
|
||||||
|
696.6640,1.540E-008
|
||||||
|
696.6660,2.112E-008
|
||||||
|
696.6680,1.575E-008
|
||||||
|
696.6700,1.168E-008
|
||||||
|
696.6720,1.591E-008
|
||||||
|
696.6740,3.348E-008
|
||||||
|
696.6760,1.864E-008
|
||||||
|
696.6780,7.248E-009
|
||||||
|
696.6800,7.188E-009
|
||||||
|
696.6820,1.960E-008
|
||||||
|
696.6840,1.900E-008
|
||||||
|
696.6860,1.921E-008
|
||||||
|
696.6880,1.618E-008
|
||||||
|
696.6900,1.524E-008
|
||||||
|
696.6920,2.712E-008
|
||||||
|
696.6940,2.281E-008
|
||||||
|
696.6960,8.831E-009
|
||||||
|
696.6980,1.317E-008
|
||||||
|
696.7000,2.163E-008
|
||||||
|
280
data/Argon_696_11.CSV
Normal file
280
data/Argon_696_11.CSV
Normal file
@@ -0,0 +1,280 @@
|
|||||||
|
70CSV
|
||||||
|
// AQ6370 OPTICAL SPECTRUM ANALYZER //
|
||||||
|
25
|
||||||
|
"CTRWL", 696.408000
|
||||||
|
"SPAN", 0.500000
|
||||||
|
"START WL", 696.158000
|
||||||
|
"STOP WL", 696.658000
|
||||||
|
"WLFREQ", 0
|
||||||
|
"REFL", -60.000
|
||||||
|
"LSCL",-2.0
|
||||||
|
"BASEL",0.00000000000
|
||||||
|
"RESLN",0.100
|
||||||
|
"AVG", 100
|
||||||
|
"SMPLAUTO", 1
|
||||||
|
"SMPL", 251
|
||||||
|
"SMPLINTVL",0.0020
|
||||||
|
"HIGH3"
|
||||||
|
"MEAS"
|
||||||
|
"LSUNT",1
|
||||||
|
"NMSKH","OFF"
|
||||||
|
"RESCOR",0
|
||||||
|
"RESPARM",10177
|
||||||
|
"FREQPARM",10177
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
"[TRACE DATA]"
|
||||||
|
696.1580,-2.652E-009
|
||||||
|
696.1600,-6.013E-009
|
||||||
|
696.1620,-5.654E-009
|
||||||
|
696.1640,3.338E-010
|
||||||
|
696.1660,-3.481E-009
|
||||||
|
696.1680,2.329E-010
|
||||||
|
696.1700,8.646E-009
|
||||||
|
696.1720,7.403E-010
|
||||||
|
696.1740,-2.472E-009
|
||||||
|
696.1760,3.735E-009
|
||||||
|
696.1780,2.148E-010
|
||||||
|
696.1800,7.293E-009
|
||||||
|
696.1820,4.382E-009
|
||||||
|
696.1840,8.916E-009
|
||||||
|
696.1860,7.805E-009
|
||||||
|
696.1880,2.781E-009
|
||||||
|
696.1900,1.076E-008
|
||||||
|
696.1920,1.078E-008
|
||||||
|
696.1940,9.574E-009
|
||||||
|
696.1960,1.395E-008
|
||||||
|
696.1980,1.045E-008
|
||||||
|
696.2000,1.709E-008
|
||||||
|
696.2020,1.241E-008
|
||||||
|
696.2040,1.680E-008
|
||||||
|
696.2060,1.188E-008
|
||||||
|
696.2080,1.439E-008
|
||||||
|
696.2100,2.016E-008
|
||||||
|
696.2120,1.776E-008
|
||||||
|
696.2140,1.023E-008
|
||||||
|
696.2160,1.638E-008
|
||||||
|
696.2180,1.483E-008
|
||||||
|
696.2200,1.728E-008
|
||||||
|
696.2220,1.859E-008
|
||||||
|
696.2240,2.320E-008
|
||||||
|
696.2260,2.260E-008
|
||||||
|
696.2280,2.236E-008
|
||||||
|
696.2300,2.352E-008
|
||||||
|
696.2320,2.208E-008
|
||||||
|
696.2340,1.902E-008
|
||||||
|
696.2360,2.709E-008
|
||||||
|
696.2380,3.076E-008
|
||||||
|
696.2400,2.748E-008
|
||||||
|
696.2420,2.941E-008
|
||||||
|
696.2440,2.492E-008
|
||||||
|
696.2460,2.228E-008
|
||||||
|
696.2480,2.250E-008
|
||||||
|
696.2500,2.710E-008
|
||||||
|
696.2520,2.630E-008
|
||||||
|
696.2540,2.814E-008
|
||||||
|
696.2560,3.116E-008
|
||||||
|
696.2580,3.136E-008
|
||||||
|
696.2600,4.005E-008
|
||||||
|
696.2620,3.765E-008
|
||||||
|
696.2640,3.827E-008
|
||||||
|
696.2660,4.425E-008
|
||||||
|
696.2680,3.514E-008
|
||||||
|
696.2700,3.930E-008
|
||||||
|
696.2720,4.831E-008
|
||||||
|
696.2740,4.621E-008
|
||||||
|
696.2760,4.491E-008
|
||||||
|
696.2780,5.241E-008
|
||||||
|
696.2800,5.580E-008
|
||||||
|
696.2820,6.405E-008
|
||||||
|
696.2840,5.765E-008
|
||||||
|
696.2860,7.375E-008
|
||||||
|
696.2880,7.076E-008
|
||||||
|
696.2900,7.493E-008
|
||||||
|
696.2920,7.695E-008
|
||||||
|
696.2940,8.514E-008
|
||||||
|
696.2960,9.450E-008
|
||||||
|
696.2980,9.688E-008
|
||||||
|
696.3000,1.041E-007
|
||||||
|
696.3020,1.205E-007
|
||||||
|
696.3040,1.314E-007
|
||||||
|
696.3060,1.361E-007
|
||||||
|
696.3080,1.474E-007
|
||||||
|
696.3100,1.510E-007
|
||||||
|
696.3120,1.637E-007
|
||||||
|
696.3140,1.761E-007
|
||||||
|
696.3160,1.900E-007
|
||||||
|
696.3180,1.845E-007
|
||||||
|
696.3200,2.030E-007
|
||||||
|
696.3220,2.135E-007
|
||||||
|
696.3240,2.279E-007
|
||||||
|
696.3260,2.377E-007
|
||||||
|
696.3280,2.529E-007
|
||||||
|
696.3300,2.553E-007
|
||||||
|
696.3320,2.747E-007
|
||||||
|
696.3340,2.874E-007
|
||||||
|
696.3360,3.022E-007
|
||||||
|
696.3380,3.057E-007
|
||||||
|
696.3400,3.282E-007
|
||||||
|
696.3420,3.401E-007
|
||||||
|
696.3440,3.542E-007
|
||||||
|
696.3460,3.653E-007
|
||||||
|
696.3480,3.671E-007
|
||||||
|
696.3500,3.787E-007
|
||||||
|
696.3520,3.895E-007
|
||||||
|
696.3540,3.950E-007
|
||||||
|
696.3560,3.989E-007
|
||||||
|
696.3580,4.192E-007
|
||||||
|
696.3600,4.274E-007
|
||||||
|
696.3620,4.357E-007
|
||||||
|
696.3640,4.311E-007
|
||||||
|
696.3660,4.459E-007
|
||||||
|
696.3680,4.511E-007
|
||||||
|
696.3700,4.649E-007
|
||||||
|
696.3720,4.609E-007
|
||||||
|
696.3740,4.814E-007
|
||||||
|
696.3760,4.845E-007
|
||||||
|
696.3780,5.020E-007
|
||||||
|
696.3800,5.070E-007
|
||||||
|
696.3820,5.202E-007
|
||||||
|
696.3840,5.118E-007
|
||||||
|
696.3860,5.157E-007
|
||||||
|
696.3880,5.163E-007
|
||||||
|
696.3900,5.196E-007
|
||||||
|
696.3920,5.331E-007
|
||||||
|
696.3940,5.338E-007
|
||||||
|
696.3960,5.411E-007
|
||||||
|
696.3980,5.297E-007
|
||||||
|
696.4000,5.368E-007
|
||||||
|
696.4020,5.288E-007
|
||||||
|
696.4040,5.483E-007
|
||||||
|
696.4060,5.385E-007
|
||||||
|
696.4080,5.434E-007
|
||||||
|
696.4100,5.547E-007
|
||||||
|
696.4120,5.491E-007
|
||||||
|
696.4140,5.356E-007
|
||||||
|
696.4160,5.326E-007
|
||||||
|
696.4180,5.302E-007
|
||||||
|
696.4200,5.254E-007
|
||||||
|
696.4220,5.300E-007
|
||||||
|
696.4240,5.070E-007
|
||||||
|
696.4260,5.212E-007
|
||||||
|
696.4280,5.070E-007
|
||||||
|
696.4300,4.950E-007
|
||||||
|
696.4320,4.964E-007
|
||||||
|
696.4340,4.929E-007
|
||||||
|
696.4360,4.894E-007
|
||||||
|
696.4380,4.865E-007
|
||||||
|
696.4400,4.747E-007
|
||||||
|
696.4420,4.587E-007
|
||||||
|
696.4440,4.485E-007
|
||||||
|
696.4460,4.387E-007
|
||||||
|
696.4480,4.303E-007
|
||||||
|
696.4500,4.192E-007
|
||||||
|
696.4520,4.067E-007
|
||||||
|
696.4540,3.935E-007
|
||||||
|
696.4560,3.871E-007
|
||||||
|
696.4580,3.841E-007
|
||||||
|
696.4600,3.628E-007
|
||||||
|
696.4620,3.491E-007
|
||||||
|
696.4640,3.499E-007
|
||||||
|
696.4660,3.370E-007
|
||||||
|
696.4680,3.269E-007
|
||||||
|
696.4700,3.225E-007
|
||||||
|
696.4720,3.133E-007
|
||||||
|
696.4740,2.938E-007
|
||||||
|
696.4760,2.849E-007
|
||||||
|
696.4780,2.648E-007
|
||||||
|
696.4800,2.647E-007
|
||||||
|
696.4820,2.513E-007
|
||||||
|
696.4840,2.252E-007
|
||||||
|
696.4860,2.128E-007
|
||||||
|
696.4880,1.962E-007
|
||||||
|
696.4900,1.973E-007
|
||||||
|
696.4920,1.830E-007
|
||||||
|
696.4940,1.751E-007
|
||||||
|
696.4960,1.649E-007
|
||||||
|
696.4980,1.576E-007
|
||||||
|
696.5000,1.422E-007
|
||||||
|
696.5020,1.376E-007
|
||||||
|
696.5040,1.290E-007
|
||||||
|
696.5060,1.220E-007
|
||||||
|
696.5080,1.110E-007
|
||||||
|
696.5100,1.013E-007
|
||||||
|
696.5120,1.063E-007
|
||||||
|
696.5140,9.347E-008
|
||||||
|
696.5160,7.902E-008
|
||||||
|
696.5180,8.026E-008
|
||||||
|
696.5200,7.148E-008
|
||||||
|
696.5220,6.915E-008
|
||||||
|
696.5240,6.696E-008
|
||||||
|
696.5260,6.043E-008
|
||||||
|
696.5280,5.573E-008
|
||||||
|
696.5300,5.292E-008
|
||||||
|
696.5320,4.888E-008
|
||||||
|
696.5340,4.077E-008
|
||||||
|
696.5360,3.848E-008
|
||||||
|
696.5380,3.864E-008
|
||||||
|
696.5400,3.314E-008
|
||||||
|
696.5420,3.398E-008
|
||||||
|
696.5440,3.643E-008
|
||||||
|
696.5460,3.276E-008
|
||||||
|
696.5480,3.325E-008
|
||||||
|
696.5500,2.282E-008
|
||||||
|
696.5520,2.532E-008
|
||||||
|
696.5540,2.031E-008
|
||||||
|
696.5560,1.488E-008
|
||||||
|
696.5580,2.121E-008
|
||||||
|
696.5600,1.881E-008
|
||||||
|
696.5620,1.912E-008
|
||||||
|
696.5640,2.126E-008
|
||||||
|
696.5660,1.864E-008
|
||||||
|
696.5680,2.285E-008
|
||||||
|
696.5700,1.166E-008
|
||||||
|
696.5720,1.783E-008
|
||||||
|
696.5740,1.971E-008
|
||||||
|
696.5760,7.183E-009
|
||||||
|
696.5780,1.252E-008
|
||||||
|
696.5800,1.423E-008
|
||||||
|
696.5820,2.143E-008
|
||||||
|
696.5840,1.401E-008
|
||||||
|
696.5860,1.529E-008
|
||||||
|
696.5880,1.162E-008
|
||||||
|
696.5900,1.382E-008
|
||||||
|
696.5920,9.576E-009
|
||||||
|
696.5940,5.124E-009
|
||||||
|
696.5960,2.831E-009
|
||||||
|
696.5980,8.726E-009
|
||||||
|
696.6000,6.335E-009
|
||||||
|
696.6020,6.944E-009
|
||||||
|
696.6040,9.192E-009
|
||||||
|
696.6060,3.007E-009
|
||||||
|
696.6080,3.406E-009
|
||||||
|
696.6100,5.318E-009
|
||||||
|
696.6120,1.298E-008
|
||||||
|
696.6140,1.569E-009
|
||||||
|
696.6160,5.036E-009
|
||||||
|
696.6180,4.995E-009
|
||||||
|
696.6200,-6.243E-010
|
||||||
|
696.6220,7.831E-009
|
||||||
|
696.6240,-9.772E-011
|
||||||
|
696.6260,1.631E-009
|
||||||
|
696.6280,1.110E-008
|
||||||
|
696.6300,7.807E-010
|
||||||
|
696.6320,2.456E-009
|
||||||
|
696.6340,-1.710E-009
|
||||||
|
696.6360,5.976E-009
|
||||||
|
696.6380,6.977E-009
|
||||||
|
696.6400,-2.287E-009
|
||||||
|
696.6420,2.853E-009
|
||||||
|
696.6440,2.240E-009
|
||||||
|
696.6460,5.319E-009
|
||||||
|
696.6480,4.714E-009
|
||||||
|
696.6500,2.596E-009
|
||||||
|
696.6520,5.668E-009
|
||||||
|
696.6540,6.630E-009
|
||||||
|
696.6560,3.599E-009
|
||||||
|
696.6580,3.105E-009
|
||||||
|
251
data/Argon_696_11_subtracted.csv
Normal file
251
data/Argon_696_11_subtracted.csv
Normal file
@@ -0,0 +1,251 @@
|
|||||||
|
6.961580000000001117e-07,-9.002999999999999620e-09
|
||||||
|
6.961600000000000610e-07,-8.484999999999999547e-09
|
||||||
|
6.961620000000001162e-07,-1.175500000000000004e-08
|
||||||
|
6.961640000000000655e-07,-4.718200000000000519e-09
|
||||||
|
6.961660000000001207e-07,-4.860000000000000174e-09
|
||||||
|
6.961680000000000701e-07,-6.557100000000000032e-09
|
||||||
|
6.961700000000000194e-07,-7.210000000000003020e-10
|
||||||
|
6.961720000000000746e-07,-5.776999999999999800e-10
|
||||||
|
6.961740000000000239e-07,-3.299200000000000353e-09
|
||||||
|
6.961760000000000791e-07,-5.819999999999998514e-10
|
||||||
|
6.961780000000000285e-07,-9.380199999999999516e-09
|
||||||
|
6.961799999999999778e-07,-6.816999999999999931e-09
|
||||||
|
6.961820000000000330e-07,-3.327999999999999261e-09
|
||||||
|
6.961839999999999823e-07,2.739999999999996742e-10
|
||||||
|
6.961860000000000375e-07,-1.717000000000001412e-09
|
||||||
|
6.961879999999999869e-07,-5.915000000000000357e-09
|
||||||
|
6.961900000000001480e-07,-1.119999999999999441e-09
|
||||||
|
6.961920000000000973e-07,1.259999999999999371e-09
|
||||||
|
6.961940000000000466e-07,-2.616000000000000065e-09
|
||||||
|
6.961960000000001018e-07,8.099999999999986504e-10
|
||||||
|
6.961980000000000511e-07,-1.350000000000000508e-09
|
||||||
|
6.962000000000001064e-07,1.412799999999999919e-08
|
||||||
|
6.962020000000000557e-07,8.115999999999999684e-09
|
||||||
|
6.962040000000000050e-07,6.841000000000001502e-09
|
||||||
|
6.962060000000000602e-07,1.869999999999999540e-09
|
||||||
|
6.962080000000000095e-07,9.599999999999999936e-10
|
||||||
|
6.962100000000000647e-07,2.400000000000008256e-10
|
||||||
|
6.962120000000000141e-07,1.186800000000000079e-08
|
||||||
|
6.962140000000000693e-07,4.375999999999999778e-09
|
||||||
|
6.962160000000000186e-07,4.719999999999998590e-09
|
||||||
|
6.962179999999999679e-07,3.560000000000000114e-09
|
||||||
|
6.962200000000000231e-07,2.530000000000000156e-09
|
||||||
|
6.962219999999999725e-07,1.344999999999999967e-08
|
||||||
|
6.962240000000001336e-07,1.149999999999999875e-08
|
||||||
|
6.962260000000000829e-07,1.272600000000000093e-08
|
||||||
|
6.962280000000000322e-07,8.299999999999999876e-09
|
||||||
|
6.962300000000000874e-07,1.522499999999999902e-08
|
||||||
|
6.962320000000000368e-07,1.353999999999999915e-08
|
||||||
|
6.962340000000000920e-07,1.639299999999999995e-08
|
||||||
|
6.962360000000000413e-07,2.009199999999999886e-08
|
||||||
|
6.962380000000000965e-07,2.703599999999999804e-08
|
||||||
|
6.962400000000000458e-07,1.665999999999999830e-08
|
||||||
|
6.962419999999999952e-07,2.216200000000000019e-08
|
||||||
|
6.962440000000000504e-07,1.200000000000000157e-08
|
||||||
|
6.962459999999999997e-07,1.535999999999999990e-08
|
||||||
|
6.962480000000000549e-07,9.699999999999999177e-09
|
||||||
|
6.962500000000000042e-07,1.021000000000000010e-08
|
||||||
|
6.962519999999999536e-07,1.422000000000000094e-08
|
||||||
|
6.962540000000001146e-07,1.543999999999999797e-08
|
||||||
|
6.962560000000000640e-07,1.503000000000000290e-08
|
||||||
|
6.962580000000001192e-07,2.860299999999999811e-08
|
||||||
|
6.962600000000000685e-07,2.249999999999999633e-08
|
||||||
|
6.962620000000000178e-07,2.225000000000000402e-08
|
||||||
|
6.962640000000000730e-07,3.013399999999999706e-08
|
||||||
|
6.962660000000000224e-07,3.225999999999999903e-08
|
||||||
|
6.962680000000000776e-07,2.839500000000000379e-08
|
||||||
|
6.962700000000000269e-07,3.103200000000000285e-08
|
||||||
|
6.962720000000000821e-07,4.235400000000000325e-08
|
||||||
|
6.962740000000000314e-07,3.280000000000000254e-08
|
||||||
|
6.962759999999999808e-07,2.690000000000000265e-08
|
||||||
|
6.962780000000000360e-07,4.555600000000000109e-08
|
||||||
|
6.962799999999999853e-07,4.255999999999999861e-08
|
||||||
|
6.962820000000000405e-07,5.213999999999999572e-08
|
||||||
|
6.962839999999999898e-07,5.222999999999999852e-08
|
||||||
|
6.962859999999999392e-07,5.873999999999999527e-08
|
||||||
|
6.962880000000001003e-07,5.591000000000000235e-08
|
||||||
|
6.962900000000000496e-07,5.841999999999999637e-08
|
||||||
|
6.962920000000001048e-07,6.325999999999999868e-08
|
||||||
|
6.962940000000000541e-07,7.484999999999999857e-08
|
||||||
|
6.962960000000001093e-07,8.138000000000000477e-08
|
||||||
|
6.962980000000000587e-07,8.734800000000000897e-08
|
||||||
|
6.963000000000000080e-07,8.626000000000000611e-08
|
||||||
|
6.963020000000000632e-07,1.089000000000000024e-07
|
||||||
|
6.963040000000000125e-07,1.196499999999999895e-07
|
||||||
|
6.963060000000000677e-07,1.219400000000000186e-07
|
||||||
|
6.963080000000000171e-07,1.391380000000000115e-07
|
||||||
|
6.963099999999999664e-07,1.377799999999999804e-07
|
||||||
|
6.963120000000000216e-07,1.496800000000000009e-07
|
||||||
|
6.963139999999999709e-07,1.708520000000000002e-07
|
||||||
|
6.963160000000000261e-07,1.758899999999999954e-07
|
||||||
|
6.963179999999999755e-07,1.689799999999999951e-07
|
||||||
|
6.963200000000001365e-07,1.903300000000000109e-07
|
||||||
|
6.963220000000000859e-07,2.026899999999999972e-07
|
||||||
|
6.963240000000000352e-07,2.107299999999999818e-07
|
||||||
|
6.963260000000000904e-07,2.254799999999999782e-07
|
||||||
|
6.963280000000000397e-07,2.394600000000000015e-07
|
||||||
|
6.963300000000000949e-07,2.429200000000000073e-07
|
||||||
|
6.963320000000000443e-07,2.644500000000000155e-07
|
||||||
|
6.963339999999999936e-07,2.735399999999999996e-07
|
||||||
|
6.963360000000000488e-07,2.940389999999999769e-07
|
||||||
|
6.963379999999999981e-07,2.921899999999999714e-07
|
||||||
|
6.963400000000000533e-07,3.111599999999999884e-07
|
||||||
|
6.963420000000000027e-07,3.368520000000000043e-07
|
||||||
|
6.963440000000000579e-07,3.435300000000000063e-07
|
||||||
|
6.963460000000000072e-07,3.524600000000000207e-07
|
||||||
|
6.963479999999999565e-07,3.561099999999999773e-07
|
||||||
|
6.963500000000001176e-07,3.675100000000000397e-07
|
||||||
|
6.963520000000000669e-07,3.748799999999999793e-07
|
||||||
|
6.963540000000001222e-07,3.798599999999999617e-07
|
||||||
|
6.963560000000000715e-07,3.930840000000000277e-07
|
||||||
|
6.963580000000000208e-07,4.102299999999999881e-07
|
||||||
|
6.963600000000000760e-07,4.138599999999999750e-07
|
||||||
|
6.963620000000000253e-07,4.272470000000000405e-07
|
||||||
|
6.963640000000000806e-07,4.187000000000000104e-07
|
||||||
|
6.963660000000000299e-07,4.314999999999999662e-07
|
||||||
|
6.963680000000000851e-07,4.368499999999999975e-07
|
||||||
|
6.963700000000000344e-07,4.551379999999999824e-07
|
||||||
|
6.963719999999999837e-07,4.517279999999999803e-07
|
||||||
|
6.963740000000000390e-07,4.718099999999999347e-07
|
||||||
|
6.963759999999999883e-07,4.762989999999999692e-07
|
||||||
|
6.963780000000000435e-07,4.923590000000000746e-07
|
||||||
|
6.963799999999999928e-07,4.952399999999999797e-07
|
||||||
|
6.963819999999999421e-07,5.100700000000000139e-07
|
||||||
|
6.963840000000001032e-07,5.049310000000000366e-07
|
||||||
|
6.963860000000000526e-07,5.144010000000000280e-07
|
||||||
|
6.963880000000001078e-07,5.077620000000000438e-07
|
||||||
|
6.963900000000000571e-07,5.105439999999999691e-07
|
||||||
|
6.963920000000001123e-07,5.220500000000000458e-07
|
||||||
|
6.963940000000000616e-07,5.238219999999999375e-07
|
||||||
|
6.963960000000000110e-07,5.367079999999999908e-07
|
||||||
|
6.963980000000000662e-07,5.218500000000000308e-07
|
||||||
|
6.964000000000000155e-07,5.215799999999999893e-07
|
||||||
|
6.964020000000000707e-07,5.123500000000000582e-07
|
||||||
|
6.964040000000000200e-07,5.428350000000000297e-07
|
||||||
|
6.964059999999999694e-07,5.294429999999999850e-07
|
||||||
|
6.964080000000000246e-07,5.296899999999999210e-07
|
||||||
|
6.964099999999999739e-07,5.448509999999999864e-07
|
||||||
|
6.964120000000000291e-07,5.340399999999999301e-07
|
||||||
|
6.964139999999999784e-07,5.317639999999999963e-07
|
||||||
|
6.964160000000001395e-07,5.197799999999999599e-07
|
||||||
|
6.964180000000000888e-07,5.173100000000000708e-07
|
||||||
|
6.964200000000000382e-07,5.095199999999999726e-07
|
||||||
|
6.964220000000000934e-07,5.246329999999999836e-07
|
||||||
|
6.964240000000000427e-07,4.987069999999999671e-07
|
||||||
|
6.964260000000000979e-07,5.117310000000000180e-07
|
||||||
|
6.964280000000000472e-07,4.999419999999999645e-07
|
||||||
|
6.964299999999999966e-07,4.869049999999999782e-07
|
||||||
|
6.964320000000000518e-07,4.881280000000000680e-07
|
||||||
|
6.964340000000000011e-07,4.796699999999999535e-07
|
||||||
|
6.964360000000000563e-07,4.754800000000000199e-07
|
||||||
|
6.964380000000000056e-07,4.753400000000000199e-07
|
||||||
|
6.964400000000000609e-07,4.604199999999999896e-07
|
||||||
|
6.964420000000000102e-07,4.562780000000000045e-07
|
||||||
|
6.964439999999999595e-07,4.391720000000000365e-07
|
||||||
|
6.964460000000001206e-07,4.280099999999999793e-07
|
||||||
|
6.964480000000000699e-07,4.152799999999999970e-07
|
||||||
|
6.964500000000001251e-07,4.038199999999999724e-07
|
||||||
|
6.964520000000000745e-07,3.956900000000000181e-07
|
||||||
|
6.964540000000000238e-07,3.821700000000000400e-07
|
||||||
|
6.964560000000000790e-07,3.741200000000000175e-07
|
||||||
|
6.964580000000000283e-07,3.757880000000000031e-07
|
||||||
|
6.964600000000000835e-07,3.552649999999999986e-07
|
||||||
|
6.964620000000000329e-07,3.362900000000000023e-07
|
||||||
|
6.964640000000000881e-07,3.471019999999999803e-07
|
||||||
|
6.964660000000000374e-07,3.313810000000000211e-07
|
||||||
|
6.964679999999999867e-07,3.147200000000000018e-07
|
||||||
|
6.964700000000000419e-07,3.125689999999999715e-07
|
||||||
|
6.964719999999999913e-07,3.059959999999999562e-07
|
||||||
|
6.964740000000000465e-07,2.862020000000000107e-07
|
||||||
|
6.964759999999999958e-07,2.798800000000000418e-07
|
||||||
|
6.964779999999999451e-07,2.581749999999999676e-07
|
||||||
|
6.964800000000001062e-07,2.557810000000000058e-07
|
||||||
|
6.964820000000000555e-07,2.458039999999999953e-07
|
||||||
|
6.964840000000001107e-07,2.114100000000000117e-07
|
||||||
|
6.964860000000000601e-07,2.053279999999999974e-07
|
||||||
|
6.964880000000001153e-07,1.858700000000000093e-07
|
||||||
|
6.964900000000000646e-07,1.863100000000000053e-07
|
||||||
|
6.964920000000000139e-07,1.748910000000000008e-07
|
||||||
|
6.964940000000000691e-07,1.670389999999999911e-07
|
||||||
|
6.964960000000000185e-07,1.576309999999999905e-07
|
||||||
|
6.964980000000000737e-07,1.445700000000000035e-07
|
||||||
|
6.965000000000000230e-07,1.369839999999999778e-07
|
||||||
|
6.965019999999999723e-07,1.243199999999999909e-07
|
||||||
|
6.965040000000000275e-07,1.169400000000000003e-07
|
||||||
|
6.965059999999999769e-07,1.146750000000000127e-07
|
||||||
|
6.965080000000000321e-07,9.652000000000000666e-08
|
||||||
|
6.965099999999999814e-07,8.906000000000000472e-08
|
||||||
|
6.965120000000000366e-07,9.556000000000000336e-08
|
||||||
|
6.965140000000000918e-07,8.716499999999999999e-08
|
||||||
|
6.965160000000000412e-07,7.364799999999999879e-08
|
||||||
|
6.965180000000000964e-07,7.451800000000000592e-08
|
||||||
|
6.965200000000000457e-07,6.672499999999999695e-08
|
||||||
|
6.965220000000001009e-07,5.898999999999999420e-08
|
||||||
|
6.965240000000000502e-07,5.938100000000000081e-08
|
||||||
|
6.965259999999999996e-07,5.685600000000000301e-08
|
||||||
|
6.965280000000000548e-07,5.357399999999999387e-08
|
||||||
|
6.965300000000000041e-07,4.590299999999999751e-08
|
||||||
|
6.965320000000000593e-07,4.297700000000000162e-08
|
||||||
|
6.965340000000000086e-07,3.502099999999999973e-08
|
||||||
|
6.965359999999999580e-07,2.381999999999999757e-08
|
||||||
|
6.965380000000000132e-07,3.434999999999999987e-08
|
||||||
|
6.965399999999999625e-07,2.276999999999999809e-08
|
||||||
|
6.965420000000001236e-07,3.071599999999999526e-08
|
||||||
|
6.965440000000000729e-07,2.993600000000000416e-08
|
||||||
|
6.965460000000001281e-07,3.010399999999999613e-08
|
||||||
|
6.965480000000000774e-07,2.889400000000000383e-08
|
||||||
|
6.965500000000000268e-07,1.585299999999999975e-08
|
||||||
|
6.965520000000000820e-07,1.514000000000000190e-08
|
||||||
|
6.965540000000000313e-07,1.301500000000000107e-08
|
||||||
|
6.965560000000000865e-07,5.718000000000000314e-09
|
||||||
|
6.965580000000000358e-07,5.799999999999998996e-09
|
||||||
|
6.965599999999999852e-07,1.544600000000000146e-08
|
||||||
|
6.965620000000000404e-07,1.329899999999999885e-08
|
||||||
|
6.965639999999999897e-07,8.360000000000000082e-09
|
||||||
|
6.965660000000000449e-07,6.290000000000000406e-09
|
||||||
|
6.965679999999999942e-07,1.330499999999999903e-08
|
||||||
|
6.965700000000000494e-07,1.081410000000000053e-08
|
||||||
|
6.965719999999999988e-07,1.167100000000000240e-08
|
||||||
|
6.965739999999999481e-07,9.732999999999998546e-09
|
||||||
|
6.965760000000001092e-07,1.543999999999999631e-09
|
||||||
|
6.965780000000000585e-07,4.510999999999999829e-09
|
||||||
|
6.965800000000001137e-07,4.210000000000000972e-09
|
||||||
|
6.965820000000000631e-07,1.646400000000000105e-08
|
||||||
|
6.965840000000000124e-07,7.263999999999999731e-09
|
||||||
|
6.965860000000000676e-07,6.959999999999999127e-09
|
||||||
|
6.965880000000000169e-07,1.530000000000001127e-09
|
||||||
|
6.965900000000000721e-07,1.040000000000000048e-08
|
||||||
|
6.965920000000000215e-07,-1.504000000000001424e-09
|
||||||
|
6.965940000000000767e-07,-3.633999999999999652e-09
|
||||||
|
6.965960000000000260e-07,-4.168000000000000496e-09
|
||||||
|
6.965979999999999753e-07,-2.964000000000000932e-09
|
||||||
|
6.966000000000000305e-07,6.061500000000000213e-09
|
||||||
|
6.966019999999999799e-07,3.890000000000002077e-10
|
||||||
|
6.966040000000000351e-07,5.855000000000000151e-09
|
||||||
|
6.966060000000000903e-07,7.999999999999972374e-12
|
||||||
|
6.966080000000000396e-07,-6.050000000000002889e-10
|
||||||
|
6.966100000000000948e-07,3.609999999999998908e-10
|
||||||
|
6.966120000000000441e-07,1.141199999999999988e-08
|
||||||
|
6.966140000000000993e-07,-1.205999999999999971e-09
|
||||||
|
6.966160000000000487e-07,1.579000000000000441e-09
|
||||||
|
6.966180000000001039e-07,1.692000000000000361e-09
|
||||||
|
6.966200000000000532e-07,-2.373300000000000066e-09
|
||||||
|
6.966220000000000025e-07,6.863400000000000928e-09
|
||||||
|
6.966240000000000577e-07,2.966280000000000225e-09
|
||||||
|
6.966260000000000071e-07,-7.183000000000000528e-09
|
||||||
|
6.966280000000000623e-07,5.885999999999999733e-09
|
||||||
|
6.966300000000000116e-07,-5.854300000000000349e-09
|
||||||
|
6.966319999999999609e-07,-1.825999999999999691e-09
|
||||||
|
6.966340000000000161e-07,-9.542000000000000757e-10
|
||||||
|
6.966359999999999655e-07,2.244000000000000109e-09
|
||||||
|
6.966380000000001266e-07,-5.400000000000002032e-11
|
||||||
|
6.966400000000000759e-07,-3.291000000000000319e-09
|
||||||
|
6.966420000000001311e-07,-4.588000000000000287e-09
|
||||||
|
6.966440000000000804e-07,-2.419999999999997847e-10
|
||||||
|
6.966460000000000297e-07,-3.329000000000000395e-09
|
||||||
|
6.966480000000000850e-07,1.268000000000000171e-09
|
||||||
|
6.966500000000000343e-07,3.543199999999999924e-09
|
||||||
|
6.966520000000000895e-07,4.907499999999999442e-09
|
||||||
|
6.966540000000000388e-07,1.111399999999999946e-08
|
||||||
|
6.966559999999999881e-07,6.621000000000000194e-09
|
||||||
|
6.966580000000000434e-07,2.632699999999999811e-09
|
||||||
|
0
data/Argon_750nm.CSV
Executable file → Normal file
0
data/Argon_750nm.CSV
Executable file → Normal file
326
data/Balcon2008.csv
Normal file
326
data/Balcon2008.csv
Normal file
@@ -0,0 +1,326 @@
|
|||||||
|
485.40000 0.00498
|
||||||
|
485.40517 0.00498
|
||||||
|
485.41004 0.00214
|
||||||
|
485.41522 0.00356
|
||||||
|
485.42009 0.00118
|
||||||
|
485.42526 0.00308
|
||||||
|
485.43013 0.00379
|
||||||
|
485.43530 0.00095
|
||||||
|
485.44018 0.00356
|
||||||
|
485.44535 0.00047
|
||||||
|
485.45021 0.00427
|
||||||
|
485.45539 0.00237
|
||||||
|
485.46026 0.01067
|
||||||
|
485.46543 0.00569
|
||||||
|
485.47030 0.00403
|
||||||
|
485.47548 0.00521
|
||||||
|
485.48035 0.00427
|
||||||
|
485.48552 0.00189
|
||||||
|
485.49039 0.00498
|
||||||
|
485.49556 0.00237
|
||||||
|
485.50044 0.00237
|
||||||
|
485.50561 0.00237
|
||||||
|
485.51047 0.00545
|
||||||
|
485.51565 0.00474
|
||||||
|
485.52053 0.00616
|
||||||
|
485.52569 0.01114
|
||||||
|
485.53056 0.00474
|
||||||
|
485.53574 0.00118
|
||||||
|
485.54061 0.00521
|
||||||
|
485.54578 0.00024
|
||||||
|
485.55065 0.00024
|
||||||
|
485.55582 0.00332
|
||||||
|
485.56070 0.00403
|
||||||
|
485.56587 0.01209
|
||||||
|
485.57074 0.00616
|
||||||
|
485.57591 0.00498
|
||||||
|
485.58079 0.00189
|
||||||
|
485.58595 0.00071
|
||||||
|
485.59082 0.00521
|
||||||
|
485.59600 0.00758
|
||||||
|
485.60087 0.00616
|
||||||
|
485.60604 0.00332
|
||||||
|
485.61091 0.00332
|
||||||
|
485.61609 0.00427
|
||||||
|
485.62096 0.00308
|
||||||
|
485.62613 0.00118
|
||||||
|
485.63100 0.00592
|
||||||
|
485.63617 0.00308
|
||||||
|
485.64105 0.00521
|
||||||
|
485.64622 0.00189
|
||||||
|
485.65108 0.00047
|
||||||
|
485.65626 0.00142
|
||||||
|
485.66113 0.00189
|
||||||
|
485.66630 0.00450
|
||||||
|
485.67117 0.00450
|
||||||
|
485.67635 0.00285
|
||||||
|
485.68122 0.00166
|
||||||
|
485.68639 0.00308
|
||||||
|
485.69126 0.00332
|
||||||
|
485.69643 0.00142
|
||||||
|
485.70131 0.00024
|
||||||
|
485.70648 0.00024
|
||||||
|
485.71135 0.00474
|
||||||
|
485.71652 0.01161
|
||||||
|
485.72140 0.00260
|
||||||
|
485.72656 0.00948
|
||||||
|
485.73143 0.00332
|
||||||
|
485.73661 0.00900
|
||||||
|
485.74148 0.00592
|
||||||
|
485.74665 0.00616
|
||||||
|
485.75152 0.00285
|
||||||
|
485.75669 0.00592
|
||||||
|
485.76157 0.00332
|
||||||
|
485.76674 0.00166
|
||||||
|
485.77161 0.00900
|
||||||
|
485.77678 0.00971
|
||||||
|
485.78166 0.01185
|
||||||
|
485.78682 0.00900
|
||||||
|
485.79169 0.00663
|
||||||
|
485.79687 0.00948
|
||||||
|
485.80174 0.01161
|
||||||
|
485.80691 0.00640
|
||||||
|
485.81178 0.01778
|
||||||
|
485.81696 0.01564
|
||||||
|
485.82183 0.01730
|
||||||
|
485.82700 0.01303
|
||||||
|
485.83187 0.02488
|
||||||
|
485.83704 0.04147
|
||||||
|
485.84192 0.05166
|
||||||
|
485.84709 0.04526
|
||||||
|
485.85195 0.03388
|
||||||
|
485.85713 0.07038
|
||||||
|
485.86201 0.05616
|
||||||
|
485.86717 0.06303
|
||||||
|
485.87204 0.05498
|
||||||
|
485.87722 0.06564
|
||||||
|
485.88209 0.07227
|
||||||
|
485.88726 0.07701
|
||||||
|
485.89213 0.08602
|
||||||
|
485.89730 0.09384
|
||||||
|
485.90218 0.08720
|
||||||
|
485.90735 0.09455
|
||||||
|
485.91222 0.09526
|
||||||
|
485.91739 0.06967
|
||||||
|
485.92227 0.07133
|
||||||
|
485.92743 0.07512
|
||||||
|
485.93230 0.07725
|
||||||
|
485.93748 0.09171
|
||||||
|
485.94235 0.09692
|
||||||
|
485.94752 0.08531
|
||||||
|
485.95239 0.09621
|
||||||
|
485.95756 0.10924
|
||||||
|
485.96244 0.10497
|
||||||
|
485.96761 0.08862
|
||||||
|
485.97248 0.10355
|
||||||
|
485.97765 0.10332
|
||||||
|
485.98253 0.11990
|
||||||
|
485.98770 0.10497
|
||||||
|
485.99256 0.11517
|
||||||
|
485.99774 0.12749
|
||||||
|
486.00261 0.14526
|
||||||
|
486.00778 0.16493
|
||||||
|
486.01265 0.15734
|
||||||
|
486.01783 0.17749
|
||||||
|
486.02270 0.19005
|
||||||
|
486.02787 0.22275
|
||||||
|
486.03274 0.21256
|
||||||
|
486.03791 0.21185
|
||||||
|
486.04279 0.22630
|
||||||
|
486.04796 0.22796
|
||||||
|
486.05282 0.22369
|
||||||
|
486.05800 0.23009
|
||||||
|
486.06288 0.25450
|
||||||
|
486.06804 0.27512
|
||||||
|
486.07291 0.28341
|
||||||
|
486.07809 0.32417
|
||||||
|
486.08296 0.35261
|
||||||
|
486.08813 0.34881
|
||||||
|
486.09300 0.42488
|
||||||
|
486.09817 0.45474
|
||||||
|
486.10305 0.49597
|
||||||
|
486.10822 0.52725
|
||||||
|
486.11309 0.58625
|
||||||
|
486.11826 0.60213
|
||||||
|
486.12314 0.60308
|
||||||
|
486.12830 0.61019
|
||||||
|
486.13317 0.65545
|
||||||
|
486.13835 0.73175
|
||||||
|
486.14322 0.79383
|
||||||
|
486.14839 0.81967
|
||||||
|
486.15326 0.83981
|
||||||
|
486.15843 0.87441
|
||||||
|
486.16331 0.90473
|
||||||
|
486.16848 0.93530
|
||||||
|
486.17335 0.94573
|
||||||
|
486.17852 0.98246
|
||||||
|
486.18340 0.97274
|
||||||
|
486.18857 0.94360
|
||||||
|
486.19343 0.93957
|
||||||
|
486.19861 0.99928
|
||||||
|
486.20348 1.00166
|
||||||
|
486.20865 0.95403
|
||||||
|
486.21352 0.96753
|
||||||
|
486.21870 0.97014
|
||||||
|
486.22357 0.93080
|
||||||
|
486.22874 0.93554
|
||||||
|
486.23361 0.91635
|
||||||
|
486.23878 0.94526
|
||||||
|
486.24366 0.90379
|
||||||
|
486.24883 0.83270
|
||||||
|
486.25369 0.79454
|
||||||
|
486.25887 0.74810
|
||||||
|
486.26375 0.72251
|
||||||
|
486.26891 0.67938
|
||||||
|
486.27378 0.62701
|
||||||
|
486.27896 0.64383
|
||||||
|
486.28383 0.59028
|
||||||
|
486.28900 0.52061
|
||||||
|
486.29387 0.45616
|
||||||
|
486.29904 0.45711
|
||||||
|
486.30392 0.39407
|
||||||
|
486.30909 0.35379
|
||||||
|
486.31396 0.34502
|
||||||
|
486.31913 0.31113
|
||||||
|
486.32401 0.28554
|
||||||
|
486.32917 0.26304
|
||||||
|
486.33404 0.24644
|
||||||
|
486.33922 0.25971
|
||||||
|
486.34409 0.23696
|
||||||
|
486.34926 0.26422
|
||||||
|
486.35413 0.21208
|
||||||
|
486.35931 0.22583
|
||||||
|
486.36418 0.21279
|
||||||
|
486.36935 0.20687
|
||||||
|
486.37422 0.20119
|
||||||
|
486.37939 0.21683
|
||||||
|
486.38427 0.21848
|
||||||
|
486.38944 0.21943
|
||||||
|
486.39430 0.20284
|
||||||
|
486.39948 0.19218
|
||||||
|
486.40435 0.17227
|
||||||
|
486.40952 0.17749
|
||||||
|
486.41439 0.17441
|
||||||
|
486.41957 0.15971
|
||||||
|
486.42444 0.12583
|
||||||
|
486.42961 0.11682
|
||||||
|
486.43448 0.11208
|
||||||
|
486.43965 0.09715
|
||||||
|
486.44453 0.08554
|
||||||
|
486.44970 0.08554
|
||||||
|
486.45457 0.07607
|
||||||
|
486.45974 0.10853
|
||||||
|
486.46462 0.05569
|
||||||
|
486.46978 0.09573
|
||||||
|
486.47465 0.07986
|
||||||
|
486.47983 0.09005
|
||||||
|
486.48470 0.08507
|
||||||
|
486.48987 0.08887
|
||||||
|
486.49474 0.06683
|
||||||
|
486.49991 0.07323
|
||||||
|
486.50479 0.09076
|
||||||
|
486.50996 0.07962
|
||||||
|
486.51483 0.06019
|
||||||
|
486.52000 0.05948
|
||||||
|
486.52488 0.06137
|
||||||
|
486.53004 0.05237
|
||||||
|
486.53491 0.04621
|
||||||
|
486.54009 0.05332
|
||||||
|
486.54496 0.03697
|
||||||
|
486.55013 0.04597
|
||||||
|
486.55500 0.04526
|
||||||
|
486.56018 0.03484
|
||||||
|
486.56505 0.02891
|
||||||
|
486.57022 0.02441
|
||||||
|
486.57509 0.01991
|
||||||
|
486.58026 0.01185
|
||||||
|
486.58514 0.02535
|
||||||
|
486.59031 0.00782
|
||||||
|
486.59517 0.02014
|
||||||
|
486.60035 0.00877
|
||||||
|
486.60523 0.01327
|
||||||
|
486.61039 0.00806
|
||||||
|
486.61526 0.01351
|
||||||
|
486.62044 0.01374
|
||||||
|
486.62531 0.00214
|
||||||
|
486.63048 0.00403
|
||||||
|
486.63535 0.01303
|
||||||
|
486.64052 0.00403
|
||||||
|
486.64540 0.00285
|
||||||
|
486.65057 0.00000
|
||||||
|
486.65544 0.00403
|
||||||
|
486.66061 0.00403
|
||||||
|
486.66549 0.00095
|
||||||
|
486.67065 0.00237
|
||||||
|
486.67552 0.00427
|
||||||
|
486.68070 0.00640
|
||||||
|
486.68557 0.00285
|
||||||
|
486.69074 0.00545
|
||||||
|
486.69561 0.00427
|
||||||
|
486.70078 0.00166
|
||||||
|
486.70566 0.00592
|
||||||
|
486.71083 0.00047
|
||||||
|
486.71570 0.00260
|
||||||
|
486.72087 0.00711
|
||||||
|
486.72575 0.00166
|
||||||
|
486.73092 0.01114
|
||||||
|
486.73578 0.00260
|
||||||
|
486.74096 0.00829
|
||||||
|
486.74583 0.00427
|
||||||
|
486.75100 0.00616
|
||||||
|
486.75587 0.00592
|
||||||
|
486.76105 0.00616
|
||||||
|
486.76592 0.00308
|
||||||
|
486.77109 0.00379
|
||||||
|
486.77596 0.00332
|
||||||
|
486.78113 0.00332
|
||||||
|
486.78601 0.00356
|
||||||
|
486.79118 0.00237
|
||||||
|
486.79604 0.00142
|
||||||
|
486.80122 0.00332
|
||||||
|
486.80610 0.00474
|
||||||
|
486.81126 0.00308
|
||||||
|
486.81613 0.00616
|
||||||
|
486.82131 0.00142
|
||||||
|
486.82618 0.00616
|
||||||
|
486.83135 0.00640
|
||||||
|
486.83622 0.00356
|
||||||
|
486.84139 0.00948
|
||||||
|
486.84627 0.00545
|
||||||
|
486.85144 0.00308
|
||||||
|
486.85631 0.00569
|
||||||
|
486.86148 0.00829
|
||||||
|
486.86636 0.00095
|
||||||
|
486.87152 0.00640
|
||||||
|
486.87639 0.00356
|
||||||
|
486.88157 0.00214
|
||||||
|
486.88644 0.00450
|
||||||
|
486.89161 0.00047
|
||||||
|
486.89648 0.00521
|
||||||
|
486.90165 0.00047
|
||||||
|
486.90653 0.00782
|
||||||
|
486.91170 0.00071
|
||||||
|
486.91657 0.00403
|
||||||
|
486.92174 0.01398
|
||||||
|
486.92662 0.00095
|
||||||
|
486.93179 0.00474
|
||||||
|
486.93665 0.00545
|
||||||
|
486.94183 0.00450
|
||||||
|
486.94670 0.00924
|
||||||
|
486.95187 0.00450
|
||||||
|
486.95674 0.00403
|
||||||
|
486.96192 0.00782
|
||||||
|
486.96679 0.00616
|
||||||
|
486.97196 0.00521
|
||||||
|
486.97683 0.00640
|
||||||
|
486.98200 0.00521
|
||||||
|
486.98688 0.00592
|
||||||
|
486.99205 0.00071
|
||||||
|
486.99691 0.00569
|
||||||
|
487.00209 0.00521
|
||||||
|
487.00697 0.01469
|
||||||
|
487.01213 0.00285
|
||||||
|
487.01700 0.00569
|
||||||
|
487.02218 0.00189
|
||||||
|
487.02705 0.00095
|
||||||
|
487.03192 0.00379
|
||||||
|
333
data/Balcon2008.svg
Normal file
333
data/Balcon2008.svg
Normal file
@@ -0,0 +1,333 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg width="100%" height="100%" viewBox="0 0 595 842" version="1.1"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve"
|
||||||
|
xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;">
|
||||||
|
<path d="M26.584,16.5l-0,175.834l191.666,0" style="fill:none;stroke:#000;stroke-width:1px;"/>
|
||||||
|
<rect x="25.376" y="190.25" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="26.084" y="190.25" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="26.75" y="190.75" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="27.459" y="190.5" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="28.126" y="190.918" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="28.834" y="190.584" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="29.5" y="190.459" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="30.209" y="190.959" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="30.876" y="190.5" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="31.584" y="191.043" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="32.25" y="190.375" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="32.959" y="190.709" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="33.626" y="189.25" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="34.334" y="190.125" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="35" y="190.418" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="35.709" y="190.209" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="36.376" y="190.375" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="37.084" y="190.793" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="37.75" y="190.25" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="38.459" y="190.709" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="39.126" y="190.709" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="39.834" y="190.709" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="40.5" y="190.168" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="41.209" y="190.293" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="41.876" y="190.043" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="42.584" y="189.168" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="43.25" y="190.293" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="43.959" y="190.918" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="44.626" y="190.209" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="45.334" y="191.084" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="46" y="191.084" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="46.709" y="190.543" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="47.376" y="190.418" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="48.084" y="189" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="48.75" y="190.043" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="49.459" y="190.25" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="50.126" y="190.793" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="50.834" y="191" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="51.5" y="190.209" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="52.209" y="189.793" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="52.876" y="190.043" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="53.584" y="190.543" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="54.25" y="190.543" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="54.959" y="190.375" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="55.626" y="190.584" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="56.334" y="190.918" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="57" y="190.084" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="57.709" y="190.584" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="58.376" y="190.209" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="59.084" y="190.793" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="59.75" y="191.043" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="60.459" y="190.875" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="61.126" y="190.793" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="61.834" y="190.334" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="62.5" y="190.334" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="63.209" y="190.625" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="63.876" y="190.834" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="64.584" y="190.584" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="65.25" y="190.543" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="65.959" y="190.875" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="66.626" y="191.084" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="67.334" y="191.084" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="68" y="190.293" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="68.709" y="189.084" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="69.376" y="190.668" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="70.084" y="189.459" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="70.75" y="190.543" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="71.459" y="189.543" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="72.126" y="190.084" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="72.834" y="190.043" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="73.5" y="190.625" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="74.209" y="190.084" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="74.876" y="190.543" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="75.584" y="190.834" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="76.25" y="189.543" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="76.959" y="189.418" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="77.626" y="189.043" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="78.334" y="189.543" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="79" y="189.959" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="79.709" y="189.459" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="80.376" y="189.084" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="81.084" y="190" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="81.75" y="188" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="82.459" y="188.375" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="83.126" y="188.084" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="83.834" y="188.834" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="84.5" y="186.75" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="85.209" y="183.834" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="85.876" y="182.043" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="86.584" y="183.168" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="87.25" y="185.168" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="87.959" y="178.75" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="88.626" y="181.25" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="89.334" y="180.043" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="90" y="181.459" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="90.709" y="179.584" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="91.376" y="178.418" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="92.084" y="177.584" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="92.75" y="176" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="93.459" y="174.625" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="94.126" y="175.793" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="94.834" y="174.5" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="95.5" y="174.375" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="96.209" y="178.875" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="96.876" y="178.584" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="97.584" y="177.918" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="98.25" y="177.543" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="98.959" y="175" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="99.626" y="174.084" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="100.334" y="176.125" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="101" y="174.209" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="101.709" y="171.918" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="102.376" y="172.668" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="103.084" y="175.543" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="103.75" y="172.918" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="104.459" y="172.959" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="105.126" y="170.043" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="105.834" y="172.668" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="106.5" y="170.875" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="107.209" y="168.709" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="107.876" y="165.584" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="108.584" y="162.125" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="109.25" y="163.459" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="109.959" y="159.918" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="110.626" y="157.709" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="111.334" y="151.959" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="112" y="153.75" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="112.709" y="153.875" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="113.376" y="151.334" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="114.084" y="151.043" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="114.75" y="151.793" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="115.459" y="150.668" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="116.126" y="146.375" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="116.834" y="142.75" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="117.5" y="141.293" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="118.209" y="134.125" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="118.876" y="129.125" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="119.584" y="129.793" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="120.25" y="116.418" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="120.959" y="111.168" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="121.626" y="103.918" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="122.334" y="98.418" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="123" y="88.043" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="123.709" y="85.25" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="124.376" y="85.084" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="125.084" y="83.834" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="125.75" y="75.875" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="126.459" y="62.459" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="127.126" y="51.543" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="127.834" y="47" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="128.5" y="43.459" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="129.209" y="37.375" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="129.876" y="32.043" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="130.584" y="26.668" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="131.25" y="24.834" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="131.959" y="18.375" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="132.626" y="20.084" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="133.334" y="25.209" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="134" y="25.918" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="134.709" y="15.418" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="135.376" y="15" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="136.084" y="23.375" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="136.75" y="21" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="137.459" y="20.543" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="138.126" y="27.459" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="138.834" y="26.625" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="139.5" y="30" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="140.209" y="24.918" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="140.876" y="32.209" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="141.584" y="44.709" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="142.25" y="51.418" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="142.959" y="59.584" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="143.626" y="64.084" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="144.334" y="71.668" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="145" y="80.875" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="145.709" y="77.918" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="146.376" y="87.334" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect id="Special" x="147.084" y="99.584" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="147.75" y="110.918" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="148.459" y="110.75" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="149.126" y="121.834" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="149.834" y="128.918" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="150.5" y="130.459" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="151.209" y="136.418" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="151.876" y="140.918" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="152.584" y="144.875" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="153.25" y="147.793" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="153.959" y="145.459" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="154.626" y="149.459" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="155.334" y="144.668" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="156" y="153.834" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="156.709" y="151.418" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="157.376" y="153.709" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="158.084" y="154.75" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="158.75" y="155.75" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="159.459" y="153" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="160.126" y="152.709" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="160.834" y="152.543" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="161.5" y="155.459" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="162.209" y="157.334" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="162.876" y="160.834" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="163.584" y="159.918" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="164.25" y="160.459" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="164.959" y="163.043" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="165.626" y="169" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="166.334" y="170.584" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="167" y="171.418" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="167.709" y="174.043" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="168.376" y="176.084" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="169.084" y="176.084" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="169.75" y="177.75" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="170.459" y="172.043" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="171.126" y="181.334" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="171.834" y="174.293" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="172.5" y="177.084" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="173.209" y="175.293" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="173.876" y="176.168" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="174.584" y="175.5" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="175.25" y="179.375" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="175.959" y="178.25" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="176.626" y="175.168" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="177.334" y="177.125" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="178" y="180.543" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="178.709" y="180.668" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="179.376" y="180.334" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="180.084" y="181.918" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="180.75" y="183" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="181.459" y="181.75" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="182.126" y="184.625" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="182.834" y="183.043" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="183.5" y="183.168" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="184.209" y="185" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="184.876" y="186.043" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="185.584" y="186.834" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="186.25" y="187.625" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="186.959" y="189.043" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="187.626" y="186.668" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="188.334" y="189.75" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="189" y="187.584" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="189.709" y="189.584" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="190.376" y="188.793" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="191.084" y="189.709" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="191.75" y="188.75" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="192.459" y="188.709" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="193.126" y="190.75" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="193.834" y="190.418" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="194.5" y="188.834" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="195.209" y="190.418" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="195.876" y="190.625" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="196.584" y="191.125" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="197.25" y="190.418" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="197.959" y="190.418" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="198.626" y="190.959" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="199.334" y="190.709" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="200" y="190.375" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="200.709" y="190" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="201.376" y="190.625" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="202.084" y="190.168" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="202.75" y="190.375" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="203.459" y="190.834" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="204.126" y="190.084" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="204.834" y="191.043" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="205.5" y="190.668" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="206.209" y="189.875" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="206.876" y="190.834" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="207.584" y="189.168" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="208.25" y="190.668" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="208.959" y="189.668" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="209.626" y="190.375" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="210.334" y="190.043" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="211" y="190.084" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="211.709" y="190.043" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="212.376" y="190.584" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="213.084" y="190.459" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="213.75" y="190.543" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="214.459" y="190.543" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="215.126" y="190.5" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="215.834" y="190.709" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="216.5" y="190.875" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="217.209" y="190.543" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="217.876" y="190.293" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="218.584" y="190.584" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="219.25" y="190.043" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="219.959" y="190.875" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="220.626" y="190.043" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="221.334" y="190" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="222" y="190.5" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="222.709" y="189.459" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="223.376" y="190.168" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="224.084" y="190.584" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="224.75" y="190.125" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="225.459" y="189.668" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="226.126" y="190.959" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="226.834" y="190" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="227.5" y="190.5" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="228.209" y="190.75" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="228.876" y="190.334" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="229.584" y="191.043" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="230.25" y="190.209" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="230.959" y="191.043" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="231.626" y="189.75" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="232.334" y="191" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="233" y="190.418" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="233.709" y="188.668" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="234.376" y="190.959" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="235.084" y="190.293" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="235.75" y="190.168" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="236.459" y="190.334" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="237.126" y="189.5" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="237.834" y="190.334" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="238.5" y="190.418" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="239.209" y="189.75" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="239.876" y="190.043" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="240.584" y="190.209" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="241.25" y="190" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="241.959" y="190.209" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="242.626" y="190.084" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="243.334" y="191" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="244" y="190.125" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="244.709" y="190.209" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="245.376" y="188.543" width="2.417" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="246.084" y="190.625" width="2.416" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="246.75" y="190.125" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="247.459" y="190.793" width="2.416" height="2.416" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="248.126" y="190.959" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
<rect x="248.792" y="190.459" width="2.417" height="2.417" style="fill:none;stroke:#000;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 57 KiB |
40
data/Dong2005.csv
Normal file
40
data/Dong2005.csv
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
696.04381 -0.00225
|
||||||
|
696.06985 -0.00171
|
||||||
|
696.09435 -0.00123
|
||||||
|
696.11929 -0.00174
|
||||||
|
696.14330 0.00124
|
||||||
|
696.16934 -0.00203
|
||||||
|
696.19456 0.00118
|
||||||
|
696.21864 -0.00106
|
||||||
|
696.24349 0.01082
|
||||||
|
696.26966 0.01746
|
||||||
|
696.29466 0.05565
|
||||||
|
696.32044 0.09549
|
||||||
|
696.34446 0.15323
|
||||||
|
696.37012 0.21849
|
||||||
|
696.39437 0.32768
|
||||||
|
696.41937 0.42239
|
||||||
|
696.44434 0.53908
|
||||||
|
696.46883 0.62126
|
||||||
|
696.49316 0.73833
|
||||||
|
696.51814 0.78971
|
||||||
|
696.54375 0.82117
|
||||||
|
696.56909 0.75724
|
||||||
|
696.59373 0.66981
|
||||||
|
696.61780 0.56221
|
||||||
|
696.64289 0.45523
|
||||||
|
696.66866 0.31559
|
||||||
|
696.69373 0.22316
|
||||||
|
696.71749 0.14534
|
||||||
|
696.74393 0.08920
|
||||||
|
696.76871 0.04367
|
||||||
|
696.79312 0.03693
|
||||||
|
696.81843 0.02175
|
||||||
|
696.84298 0.02580
|
||||||
|
696.86809 0.00841
|
||||||
|
696.89345 0.01944
|
||||||
|
696.91828 0.00520
|
||||||
|
696.94331 0.01124
|
||||||
|
696.96830 -0.00045
|
||||||
|
696.99416 0.00808
|
||||||
|
697.01875 -0.00009
|
||||||
|
|
Before Width: | Height: | Size: 448 KiB After Width: | Height: | Size: 448 KiB |
48
data/Dong2005.svg
Normal file
48
data/Dong2005.svg
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg width="100%" height="100%" viewBox="0 0 1237 806" version="1.1"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve"
|
||||||
|
xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;">
|
||||||
|
<path d="M105,40l0,679l1053,0" style="fill:none;stroke:#000;stroke-width:1px;"/>
|
||||||
|
<circle cx="473" cy="480" r="12" style="fill:#eee;"/>
|
||||||
|
<circle cx="451.063" cy="533.587" r="12" style="fill:#eee;"/>
|
||||||
|
<circle cx="429.778" cy="595.369" r="12" style="fill:#eee;"/>
|
||||||
|
<circle cx="407.261" cy="632.298" r="12" style="fill:#eee;"/>
|
||||||
|
<circle cx="386.188" cy="664.969" r="12" style="fill:#eee;"/>
|
||||||
|
<circle cx="363.561" cy="687.509" r="12" style="fill:#eee;"/>
|
||||||
|
<circle cx="341.631" cy="709.123" r="12" style="fill:#eee;"/>
|
||||||
|
<circle cx="318.665" cy="712.879" r="12" style="fill:#eee;"/>
|
||||||
|
<circle cx="296.854" cy="719.597" r="12" style="fill:#eee;"/>
|
||||||
|
<circle cx="275.727" cy="718.332" r="12" style="fill:#eee;"/>
|
||||||
|
<circle cx="253.6" cy="720.149" r="12" style="fill:#eee;"/>
|
||||||
|
<circle cx="230.745" cy="718.3" r="12" style="fill:#eee;"/>
|
||||||
|
<circle cx="209.68" cy="719.985" r="12" style="fill:#eee;"/>
|
||||||
|
<circle cx="187.79" cy="719.694" r="12" style="fill:#eee;"/>
|
||||||
|
<circle cx="166.29" cy="719.969" r="12" style="fill:#eee;"/>
|
||||||
|
<circle cx="143.44" cy="720.274" r="12" style="fill:#eee;"/>
|
||||||
|
<circle cx="494.912" cy="413.973" r="12" style="fill:#eee;"/>
|
||||||
|
<circle cx="516.402" cy="367.472" r="12" style="fill:#eee;"/>
|
||||||
|
<circle cx="537.751" cy="301.227" r="12" style="fill:#eee;"/>
|
||||||
|
<circle cx="559.666" cy="272.154" r="12" style="fill:#eee;"/>
|
||||||
|
<circle cx="582.142" cy="254.357" r="12" style="fill:#eee;"/>
|
||||||
|
<circle cx="626" cy="340" r="12" style="fill:#eee;"/>
|
||||||
|
<circle cx="647.121" cy="400.882" r="12" style="fill:#eee;"/>
|
||||||
|
<circle cx="669.14" cy="461.414" r="12" style="fill:#eee;"/>
|
||||||
|
<circle cx="691.753" cy="540.431" r="12" style="fill:#eee;"/>
|
||||||
|
<circle cx="713.748" cy="592.727" r="12" style="fill:#eee;"/>
|
||||||
|
<circle cx="734.6" cy="636.761" r="12" style="fill:#eee;"/>
|
||||||
|
<circle cx="757.795" cy="668.528" r="12" style="fill:#eee;"/>
|
||||||
|
<circle cx="779.544" cy="694.291" r="12" style="fill:#eee;"/>
|
||||||
|
<circle cx="800.965" cy="698.101" r="12" style="fill:#eee;"/>
|
||||||
|
<circle cx="823.168" cy="706.692" r="12" style="fill:#eee;"/>
|
||||||
|
<circle cx="844.711" cy="704.403" r="12" style="fill:#eee;"/>
|
||||||
|
<circle cx="866.747" cy="714.243" r="12" style="fill:#eee;"/>
|
||||||
|
<circle cx="889" cy="708" r="12" style="fill:#eee;"/>
|
||||||
|
<circle cx="910.788" cy="716.055" r="12" style="fill:#eee;"/>
|
||||||
|
<circle cx="932.757" cy="712.642" r="12" style="fill:#eee;"/>
|
||||||
|
<circle cx="954.687" cy="719.253" r="12" style="fill:#eee;"/>
|
||||||
|
<circle cx="977.379" cy="714.43" r="12" style="fill:#eee;"/>
|
||||||
|
<circle cx="998.955" cy="719.049" r="12" style="fill:#eee;"/>
|
||||||
|
<circle cx="604.38" cy="290.527" r="12" style="fill:#eee;"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 3.1 KiB |
430
data/PureArgonMix_696_12v_1.CSV
Normal file
430
data/PureArgonMix_696_12v_1.CSV
Normal file
@@ -0,0 +1,430 @@
|
|||||||
|
70CSV
|
||||||
|
// AQ6370 OPTICAL SPECTRUM ANALYZER //
|
||||||
|
25
|
||||||
|
"CTRWL", 696.400000
|
||||||
|
"SPAN", 0.800000
|
||||||
|
"START WL", 696.000000
|
||||||
|
"STOP WL", 696.800000
|
||||||
|
"WLFREQ", 0
|
||||||
|
"REFL", -66.990
|
||||||
|
"LSCL",-2.0
|
||||||
|
"BASEL",0.00000000000
|
||||||
|
"RESLN",0.100
|
||||||
|
"AVG", 1
|
||||||
|
"SMPLAUTO", 1
|
||||||
|
"SMPL", 401
|
||||||
|
"SMPLINTVL",0.0020
|
||||||
|
"HIGH3"
|
||||||
|
"RAVG", 20
|
||||||
|
"LSUNT",1
|
||||||
|
"NMSKH","OFF"
|
||||||
|
"RESCOR",0
|
||||||
|
"RESPARM",10177
|
||||||
|
"FREQPARM",10177
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
"[TRACE DATA]"
|
||||||
|
696.0000,4.249E-008
|
||||||
|
696.0020,4.205E-008
|
||||||
|
696.0040,7.176E-008
|
||||||
|
696.0060,5.372E-008
|
||||||
|
696.0080,-2.693E-008
|
||||||
|
696.0100,2.163E-008
|
||||||
|
696.0120,-1.628E-009
|
||||||
|
696.0140,5.692E-008
|
||||||
|
696.0160,5.643E-008
|
||||||
|
696.0180,3.346E-008
|
||||||
|
696.0200,2.735E-008
|
||||||
|
696.0220,-6.197E-009
|
||||||
|
696.0240,5.382E-008
|
||||||
|
696.0260,8.566E-008
|
||||||
|
696.0280,-4.472E-008
|
||||||
|
696.0300,-8.057E-009
|
||||||
|
696.0320,6.685E-008
|
||||||
|
696.0340,2.873E-008
|
||||||
|
696.0360,1.553E-008
|
||||||
|
696.0380,3.476E-008
|
||||||
|
696.0400,4.466E-008
|
||||||
|
696.0420,3.341E-008
|
||||||
|
696.0440,2.025E-009
|
||||||
|
696.0460,-4.633E-008
|
||||||
|
696.0480,2.762E-008
|
||||||
|
696.0500,7.107E-009
|
||||||
|
696.0520,1.023E-008
|
||||||
|
696.0540,5.168E-008
|
||||||
|
696.0560,7.146E-010
|
||||||
|
696.0580,7.894E-009
|
||||||
|
696.0600,2.068E-009
|
||||||
|
696.0620,1.288E-008
|
||||||
|
696.0640,1.629E-008
|
||||||
|
696.0660,-3.342E-008
|
||||||
|
696.0680,2.956E-008
|
||||||
|
696.0700,3.387E-008
|
||||||
|
696.0720,4.733E-008
|
||||||
|
696.0740,-5.026E-008
|
||||||
|
696.0760,1.830E-008
|
||||||
|
696.0780,1.262E-008
|
||||||
|
696.0800,1.235E-008
|
||||||
|
696.0820,1.945E-008
|
||||||
|
696.0840,1.323E-008
|
||||||
|
696.0860,1.805E-008
|
||||||
|
696.0880,2.436E-008
|
||||||
|
696.0900,2.200E-008
|
||||||
|
696.0920,2.812E-008
|
||||||
|
696.0940,2.478E-008
|
||||||
|
696.0960,8.516E-009
|
||||||
|
696.0980,1.246E-008
|
||||||
|
696.1000,6.559E-009
|
||||||
|
696.1020,2.245E-008
|
||||||
|
696.1040,1.988E-008
|
||||||
|
696.1060,1.963E-008
|
||||||
|
696.1080,1.372E-008
|
||||||
|
696.1100,7.153E-009
|
||||||
|
696.1120,2.892E-008
|
||||||
|
696.1140,1.043E-008
|
||||||
|
696.1160,3.273E-008
|
||||||
|
696.1180,2.124E-008
|
||||||
|
696.1200,1.628E-008
|
||||||
|
696.1220,2.159E-008
|
||||||
|
696.1240,2.808E-008
|
||||||
|
696.1260,1.900E-008
|
||||||
|
696.1280,8.474E-009
|
||||||
|
696.1300,1.769E-008
|
||||||
|
696.1320,2.346E-008
|
||||||
|
696.1340,6.457E-009
|
||||||
|
696.1360,7.899E-009
|
||||||
|
696.1380,2.174E-008
|
||||||
|
696.1400,1.305E-008
|
||||||
|
696.1420,3.251E-008
|
||||||
|
696.1440,1.036E-008
|
||||||
|
696.1460,2.650E-008
|
||||||
|
696.1480,1.609E-008
|
||||||
|
696.1500,1.265E-008
|
||||||
|
696.1520,1.264E-008
|
||||||
|
696.1540,1.488E-008
|
||||||
|
696.1560,1.795E-008
|
||||||
|
696.1580,5.327E-009
|
||||||
|
696.1600,2.983E-008
|
||||||
|
696.1620,1.238E-008
|
||||||
|
696.1640,1.790E-008
|
||||||
|
696.1660,-4.108E-009
|
||||||
|
696.1680,1.395E-008
|
||||||
|
696.1700,2.177E-008
|
||||||
|
696.1720,3.178E-008
|
||||||
|
696.1740,1.984E-008
|
||||||
|
696.1760,2.438E-008
|
||||||
|
696.1780,1.479E-008
|
||||||
|
696.1800,1.756E-008
|
||||||
|
696.1820,1.972E-008
|
||||||
|
696.1840,1.535E-008
|
||||||
|
696.1860,1.302E-009
|
||||||
|
696.1880,2.121E-008
|
||||||
|
696.1900,1.935E-008
|
||||||
|
696.1920,8.729E-009
|
||||||
|
696.1940,1.324E-008
|
||||||
|
696.1960,2.326E-008
|
||||||
|
696.1980,1.499E-008
|
||||||
|
696.2000,2.739E-008
|
||||||
|
696.2020,1.988E-008
|
||||||
|
696.2040,1.295E-008
|
||||||
|
696.2060,2.970E-008
|
||||||
|
696.2080,9.848E-009
|
||||||
|
696.2100,8.328E-009
|
||||||
|
696.2120,3.321E-008
|
||||||
|
696.2140,1.024E-008
|
||||||
|
696.2160,1.714E-008
|
||||||
|
696.2180,1.377E-009
|
||||||
|
696.2200,1.796E-008
|
||||||
|
696.2220,1.615E-008
|
||||||
|
696.2240,1.684E-008
|
||||||
|
696.2260,9.584E-009
|
||||||
|
696.2280,2.560E-008
|
||||||
|
696.2300,2.236E-008
|
||||||
|
696.2320,9.972E-009
|
||||||
|
696.2340,1.161E-008
|
||||||
|
696.2360,1.205E-008
|
||||||
|
696.2380,8.755E-009
|
||||||
|
696.2400,1.989E-008
|
||||||
|
696.2420,1.437E-008
|
||||||
|
696.2440,2.235E-008
|
||||||
|
696.2460,-5.355E-010
|
||||||
|
696.2480,1.583E-008
|
||||||
|
696.2500,7.850E-009
|
||||||
|
696.2520,2.724E-008
|
||||||
|
696.2540,1.724E-008
|
||||||
|
696.2560,1.556E-008
|
||||||
|
696.2580,7.003E-009
|
||||||
|
696.2600,3.208E-008
|
||||||
|
696.2620,1.199E-008
|
||||||
|
696.2640,1.514E-008
|
||||||
|
696.2660,1.899E-008
|
||||||
|
696.2680,2.346E-008
|
||||||
|
696.2700,1.015E-008
|
||||||
|
696.2720,2.317E-008
|
||||||
|
696.2740,2.603E-008
|
||||||
|
696.2760,4.479E-008
|
||||||
|
696.2780,2.125E-008
|
||||||
|
696.2800,1.480E-008
|
||||||
|
696.2820,1.927E-008
|
||||||
|
696.2840,2.876E-008
|
||||||
|
696.2860,1.808E-008
|
||||||
|
696.2880,3.035E-008
|
||||||
|
696.2900,3.362E-008
|
||||||
|
696.2920,2.027E-008
|
||||||
|
696.2940,1.173E-008
|
||||||
|
696.2960,1.483E-008
|
||||||
|
696.2980,2.433E-008
|
||||||
|
696.3000,2.582E-008
|
||||||
|
696.3020,1.589E-008
|
||||||
|
696.3040,1.518E-008
|
||||||
|
696.3060,3.039E-008
|
||||||
|
696.3080,2.150E-008
|
||||||
|
696.3100,1.886E-008
|
||||||
|
696.3120,2.677E-008
|
||||||
|
696.3140,6.738E-009
|
||||||
|
696.3160,3.003E-008
|
||||||
|
696.3180,1.940E-008
|
||||||
|
696.3200,2.978E-008
|
||||||
|
696.3220,4.505E-008
|
||||||
|
696.3240,1.884E-008
|
||||||
|
696.3260,2.766E-008
|
||||||
|
696.3280,3.305E-008
|
||||||
|
696.3300,4.083E-008
|
||||||
|
696.3320,3.923E-008
|
||||||
|
696.3340,5.902E-008
|
||||||
|
696.3360,3.221E-008
|
||||||
|
696.3380,3.809E-008
|
||||||
|
696.3400,4.573E-008
|
||||||
|
696.3420,5.441E-008
|
||||||
|
696.3440,5.111E-008
|
||||||
|
696.3460,3.893E-008
|
||||||
|
696.3480,4.787E-008
|
||||||
|
696.3500,5.196E-008
|
||||||
|
696.3520,5.863E-008
|
||||||
|
696.3540,6.471E-008
|
||||||
|
696.3560,5.732E-008
|
||||||
|
696.3580,5.635E-008
|
||||||
|
696.3600,5.743E-008
|
||||||
|
696.3620,7.430E-008
|
||||||
|
696.3640,7.266E-008
|
||||||
|
696.3660,5.455E-008
|
||||||
|
696.3680,6.577E-008
|
||||||
|
696.3700,6.819E-008
|
||||||
|
696.3720,7.750E-008
|
||||||
|
696.3740,8.329E-008
|
||||||
|
696.3760,6.680E-008
|
||||||
|
696.3780,6.697E-008
|
||||||
|
696.3800,8.997E-008
|
||||||
|
696.3820,7.986E-008
|
||||||
|
696.3840,7.744E-008
|
||||||
|
696.3860,8.465E-008
|
||||||
|
696.3880,8.155E-008
|
||||||
|
696.3900,8.882E-008
|
||||||
|
696.3920,9.971E-008
|
||||||
|
696.3940,9.204E-008
|
||||||
|
696.3960,9.632E-008
|
||||||
|
696.3980,9.824E-008
|
||||||
|
696.4000,8.538E-008
|
||||||
|
696.4020,8.209E-008
|
||||||
|
696.4040,1.019E-007
|
||||||
|
696.4060,8.518E-008
|
||||||
|
696.4080,1.128E-007
|
||||||
|
696.4100,9.314E-008
|
||||||
|
696.4120,1.018E-007
|
||||||
|
696.4140,1.042E-007
|
||||||
|
696.4160,1.090E-007
|
||||||
|
696.4180,8.962E-008
|
||||||
|
696.4200,1.154E-007
|
||||||
|
696.4220,1.090E-007
|
||||||
|
696.4240,1.129E-007
|
||||||
|
696.4260,1.111E-007
|
||||||
|
696.4280,1.156E-007
|
||||||
|
696.4300,1.034E-007
|
||||||
|
696.4320,1.184E-007
|
||||||
|
696.4340,1.143E-007
|
||||||
|
696.4360,1.021E-007
|
||||||
|
696.4380,1.001E-007
|
||||||
|
696.4400,1.093E-007
|
||||||
|
696.4420,1.096E-007
|
||||||
|
696.4440,1.094E-007
|
||||||
|
696.4460,1.044E-007
|
||||||
|
696.4480,1.247E-007
|
||||||
|
696.4500,1.094E-007
|
||||||
|
696.4520,1.105E-007
|
||||||
|
696.4540,1.120E-007
|
||||||
|
696.4560,1.076E-007
|
||||||
|
696.4580,1.167E-007
|
||||||
|
696.4600,9.959E-008
|
||||||
|
696.4620,9.672E-008
|
||||||
|
696.4640,1.049E-007
|
||||||
|
696.4660,1.037E-007
|
||||||
|
696.4680,8.314E-008
|
||||||
|
696.4700,9.654E-008
|
||||||
|
696.4720,9.038E-008
|
||||||
|
696.4740,9.516E-008
|
||||||
|
696.4760,1.124E-007
|
||||||
|
696.4780,9.128E-008
|
||||||
|
696.4800,9.862E-008
|
||||||
|
696.4820,8.927E-008
|
||||||
|
696.4840,7.415E-008
|
||||||
|
696.4860,8.364E-008
|
||||||
|
696.4880,9.555E-008
|
||||||
|
696.4900,9.106E-008
|
||||||
|
696.4920,9.195E-008
|
||||||
|
696.4940,5.989E-008
|
||||||
|
696.4960,7.083E-008
|
||||||
|
696.4980,7.905E-008
|
||||||
|
696.5000,7.130E-008
|
||||||
|
696.5020,6.422E-008
|
||||||
|
696.5040,6.787E-008
|
||||||
|
696.5060,7.520E-008
|
||||||
|
696.5080,6.274E-008
|
||||||
|
696.5100,5.099E-008
|
||||||
|
696.5120,6.238E-008
|
||||||
|
696.5140,5.296E-008
|
||||||
|
696.5160,4.944E-008
|
||||||
|
696.5180,5.319E-008
|
||||||
|
696.5200,4.690E-008
|
||||||
|
696.5220,6.096E-008
|
||||||
|
696.5240,4.520E-008
|
||||||
|
696.5260,7.005E-008
|
||||||
|
696.5280,6.278E-008
|
||||||
|
696.5300,3.913E-008
|
||||||
|
696.5320,4.941E-008
|
||||||
|
696.5340,4.851E-008
|
||||||
|
696.5360,3.214E-008
|
||||||
|
696.5380,3.922E-008
|
||||||
|
696.5400,5.762E-008
|
||||||
|
696.5420,2.454E-008
|
||||||
|
696.5440,4.306E-008
|
||||||
|
696.5460,3.971E-008
|
||||||
|
696.5480,3.372E-008
|
||||||
|
696.5500,3.131E-008
|
||||||
|
696.5520,2.588E-008
|
||||||
|
696.5540,1.783E-008
|
||||||
|
696.5560,3.261E-008
|
||||||
|
696.5580,3.939E-008
|
||||||
|
696.5600,2.644E-008
|
||||||
|
696.5620,2.638E-008
|
||||||
|
696.5640,8.500E-009
|
||||||
|
696.5660,2.834E-008
|
||||||
|
696.5680,1.919E-008
|
||||||
|
696.5700,1.995E-008
|
||||||
|
696.5720,6.568E-009
|
||||||
|
696.5740,2.209E-008
|
||||||
|
696.5760,2.433E-008
|
||||||
|
696.5780,2.169E-008
|
||||||
|
696.5800,1.979E-008
|
||||||
|
696.5820,1.618E-008
|
||||||
|
696.5840,1.616E-008
|
||||||
|
696.5860,5.835E-009
|
||||||
|
696.5880,3.124E-008
|
||||||
|
696.5900,1.401E-008
|
||||||
|
696.5920,1.932E-008
|
||||||
|
696.5940,1.284E-008
|
||||||
|
696.5960,3.616E-008
|
||||||
|
696.5980,7.565E-009
|
||||||
|
696.6000,1.777E-008
|
||||||
|
696.6020,3.018E-008
|
||||||
|
696.6040,2.756E-008
|
||||||
|
696.6060,2.632E-008
|
||||||
|
696.6080,2.508E-008
|
||||||
|
696.6100,1.610E-008
|
||||||
|
696.6120,2.048E-008
|
||||||
|
696.6140,2.276E-008
|
||||||
|
696.6160,3.312E-008
|
||||||
|
696.6180,1.827E-008
|
||||||
|
696.6200,1.413E-008
|
||||||
|
696.6220,1.066E-008
|
||||||
|
696.6240,2.336E-008
|
||||||
|
696.6260,2.827E-008
|
||||||
|
696.6280,2.613E-008
|
||||||
|
696.6300,2.697E-008
|
||||||
|
696.6320,2.651E-008
|
||||||
|
696.6340,2.774E-008
|
||||||
|
696.6360,2.892E-008
|
||||||
|
696.6380,1.307E-008
|
||||||
|
696.6400,6.363E-009
|
||||||
|
696.6420,1.860E-008
|
||||||
|
696.6440,8.710E-009
|
||||||
|
696.6460,1.427E-008
|
||||||
|
696.6480,2.932E-008
|
||||||
|
696.6500,2.683E-008
|
||||||
|
696.6520,1.777E-008
|
||||||
|
696.6540,2.264E-008
|
||||||
|
696.6560,-1.402E-009
|
||||||
|
696.6580,5.626E-009
|
||||||
|
696.6600,2.977E-008
|
||||||
|
696.6620,3.118E-008
|
||||||
|
696.6640,1.082E-008
|
||||||
|
696.6660,1.869E-008
|
||||||
|
696.6680,1.849E-008
|
||||||
|
696.6700,2.608E-008
|
||||||
|
696.6720,2.053E-008
|
||||||
|
696.6740,2.180E-008
|
||||||
|
696.6760,1.776E-008
|
||||||
|
696.6780,2.488E-008
|
||||||
|
696.6800,1.753E-008
|
||||||
|
696.6820,1.883E-008
|
||||||
|
696.6840,2.158E-008
|
||||||
|
696.6860,2.333E-008
|
||||||
|
696.6880,4.083E-009
|
||||||
|
696.6900,1.714E-009
|
||||||
|
696.6920,2.130E-008
|
||||||
|
696.6940,2.228E-008
|
||||||
|
696.6960,2.503E-008
|
||||||
|
696.6980,2.694E-008
|
||||||
|
696.7000,2.636E-008
|
||||||
|
696.7020,5.236E-009
|
||||||
|
696.7040,2.383E-008
|
||||||
|
696.7060,2.497E-008
|
||||||
|
696.7080,1.581E-008
|
||||||
|
696.7100,2.930E-008
|
||||||
|
696.7120,1.767E-008
|
||||||
|
696.7140,1.976E-008
|
||||||
|
696.7160,1.555E-008
|
||||||
|
696.7180,1.269E-008
|
||||||
|
696.7200,4.294E-008
|
||||||
|
696.7220,2.694E-008
|
||||||
|
696.7240,2.286E-008
|
||||||
|
696.7260,1.887E-008
|
||||||
|
696.7280,2.019E-008
|
||||||
|
696.7300,1.563E-008
|
||||||
|
696.7320,2.339E-008
|
||||||
|
696.7340,2.159E-008
|
||||||
|
696.7360,1.241E-008
|
||||||
|
696.7380,1.705E-008
|
||||||
|
696.7400,2.943E-008
|
||||||
|
696.7420,3.443E-008
|
||||||
|
696.7440,1.792E-008
|
||||||
|
696.7460,1.642E-008
|
||||||
|
696.7480,1.766E-008
|
||||||
|
696.7500,1.664E-008
|
||||||
|
696.7520,1.081E-008
|
||||||
|
696.7540,2.831E-008
|
||||||
|
696.7560,1.767E-008
|
||||||
|
696.7580,2.383E-008
|
||||||
|
696.7600,1.637E-008
|
||||||
|
696.7620,2.354E-008
|
||||||
|
696.7640,1.244E-008
|
||||||
|
696.7660,1.427E-008
|
||||||
|
696.7680,2.304E-008
|
||||||
|
696.7700,2.030E-008
|
||||||
|
696.7720,1.823E-008
|
||||||
|
696.7740,2.385E-008
|
||||||
|
696.7760,1.225E-008
|
||||||
|
696.7780,2.137E-008
|
||||||
|
696.7800,2.524E-008
|
||||||
|
696.7820,2.150E-008
|
||||||
|
696.7840,1.369E-008
|
||||||
|
696.7860,1.434E-008
|
||||||
|
696.7880,9.798E-009
|
||||||
|
696.7900,2.189E-008
|
||||||
|
696.7920,2.465E-008
|
||||||
|
696.7940,3.869E-008
|
||||||
|
696.7960,2.886E-008
|
||||||
|
696.7980,2.891E-008
|
||||||
|
696.8000,2.910E-008
|
||||||
|
18
deploy.nu
Normal file
18
deploy.nu
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
#!/usr/bin/env nu
|
||||||
|
|
||||||
|
let version = (open pyproject.toml).project.version
|
||||||
|
let zipfile = $"linemeasurement-($version).zip"
|
||||||
|
|
||||||
|
let filelist = (
|
||||||
|
git ls-files |
|
||||||
|
lines |
|
||||||
|
where {not ($in | str ends-with ".afphoto")} |
|
||||||
|
where {$in != "deploy.nu"}
|
||||||
|
)
|
||||||
|
|
||||||
|
^zip $zipfile ...$filelist
|
||||||
|
|
||||||
|
scp -O $zipfile $"fibnas:/volume1/web/($zipfile)"
|
||||||
|
scp -O $zipfile $"fibnas:/volume1/web/linemeasurement-latest.zip"
|
||||||
|
|
||||||
|
rm $zipfile
|
||||||
138
extract_points_balcon.py
Normal file
138
extract_points_balcon.py
Normal file
@@ -0,0 +1,138 @@
|
|||||||
|
from typing import Union
|
||||||
|
from xml.dom import minidom
|
||||||
|
import numpy as np
|
||||||
|
import matplotlib.pyplot as plt
|
||||||
|
|
||||||
|
MX = [485.4, 485.4, 486.8]
|
||||||
|
MY = [1, 0, 0]
|
||||||
|
|
||||||
|
|
||||||
|
def str_pair_to_float(s: str) -> np.ndarray:
|
||||||
|
return np.array([float(el) for el in s.split(",")])
|
||||||
|
|
||||||
|
|
||||||
|
def parse_buffer(s: str) -> Union[float, complex]:
|
||||||
|
x, *y = s.split(",")
|
||||||
|
if y:
|
||||||
|
return float(x) + 1j * float(y[0])
|
||||||
|
else:
|
||||||
|
return float(x)
|
||||||
|
|
||||||
|
|
||||||
|
def transform_matrix_and_offset(
|
||||||
|
x: tuple[float, float, float],
|
||||||
|
y: tuple[float, float, float],
|
||||||
|
rx: tuple[float, float, float],
|
||||||
|
ry: tuple[float, float, float],
|
||||||
|
) -> tuple[np.ndarray, np.ndarray]:
|
||||||
|
a = -(
|
||||||
|
rx[0] * y[1] - rx[0] * y[2] - rx[1] * y[0] + rx[1] * y[2] + rx[2] * y[0] - rx[2] * y[1]
|
||||||
|
) / (x[1] * y[0] - x[2] * y[0] - x[0] * y[1] + x[2] * y[1] + x[0] * y[2] - x[1] * y[2])
|
||||||
|
b = -(
|
||||||
|
rx[0] * x[1] - rx[0] * x[2] - rx[1] * x[0] + rx[1] * x[2] + rx[2] * x[0] - rx[2] * x[1]
|
||||||
|
) / (-x[1] * y[0] + x[2] * y[0] + x[0] * y[1] - x[2] * y[1] - x[0] * y[2] + x[1] * y[2])
|
||||||
|
c = -(
|
||||||
|
ry[0] * y[1] - ry[0] * y[2] - ry[1] * y[0] + ry[1] * y[2] + ry[2] * y[0] - ry[2] * y[1]
|
||||||
|
) / (x[1] * y[0] - x[2] * y[0] - x[0] * y[1] + x[2] * y[1] + x[0] * y[2] - x[1] * y[2])
|
||||||
|
d = -(
|
||||||
|
-ry[0] * x[1] + ry[0] * x[2] + ry[1] * x[0] - ry[1] * x[2] - ry[2] * x[0] + ry[2] * x[1]
|
||||||
|
) / (x[1] * y[0] - x[2] * y[0] - x[0] * y[1] + x[2] * y[1] + x[0] * y[2] - x[1] * y[2])
|
||||||
|
e = -(
|
||||||
|
rx[0] * x[2] * y[1]
|
||||||
|
- rx[0] * x[1] * y[2]
|
||||||
|
- rx[1] * x[2] * y[0]
|
||||||
|
+ rx[1] * x[0] * y[2]
|
||||||
|
+ rx[2] * x[1] * y[0]
|
||||||
|
- rx[2] * x[0] * y[1]
|
||||||
|
) / (-x[1] * y[0] + x[2] * y[0] + x[0] * y[1] - x[2] * y[1] - x[0] * y[2] + x[1] * y[2])
|
||||||
|
f = -(
|
||||||
|
-ry[0] * x[2] * y[1]
|
||||||
|
+ ry[0] * x[1] * y[2]
|
||||||
|
+ ry[1] * x[2] * y[0]
|
||||||
|
- ry[1] * x[0] * y[2]
|
||||||
|
- ry[2] * x[1] * y[0]
|
||||||
|
+ ry[2] * x[0] * y[1]
|
||||||
|
) / (x[1] * y[0] - x[2] * y[0] - x[0] * y[1] + x[2] * y[1] + x[0] * y[2] - x[1] * y[2])
|
||||||
|
return np.array([[a, b], [c, d]]), np.array([e, f])
|
||||||
|
|
||||||
|
|
||||||
|
def parse_path(s: str) -> list[tuple[np.ndarray, np.ndarray]]:
|
||||||
|
INSTRUCTIONS = "mMlLhHvV"
|
||||||
|
lines: list[list[complex]] = []
|
||||||
|
current_line: list[complex] = []
|
||||||
|
pos = 0 + 0j
|
||||||
|
|
||||||
|
def add_line_point(new_pos):
|
||||||
|
nonlocal pos
|
||||||
|
if not current_line:
|
||||||
|
current_line.append(pos)
|
||||||
|
pos = new_pos
|
||||||
|
current_line.append(pos)
|
||||||
|
|
||||||
|
s = iter(s + "M")
|
||||||
|
instr = next(s)
|
||||||
|
buffer = ""
|
||||||
|
for char in s:
|
||||||
|
if char not in INSTRUCTIONS:
|
||||||
|
buffer += char
|
||||||
|
continue
|
||||||
|
arg = parse_buffer(buffer)
|
||||||
|
buffer = ""
|
||||||
|
if instr == "m":
|
||||||
|
if current_line:
|
||||||
|
lines.append(current_line)
|
||||||
|
current_line = []
|
||||||
|
pos += arg
|
||||||
|
elif instr == "M":
|
||||||
|
if current_line:
|
||||||
|
lines.append(current_line)
|
||||||
|
current_line = []
|
||||||
|
pos = arg
|
||||||
|
elif instr == "l":
|
||||||
|
add_line_point(pos + arg)
|
||||||
|
elif instr == "L":
|
||||||
|
add_line_point(arg)
|
||||||
|
elif instr == "v":
|
||||||
|
add_line_point(pos + 1j * arg)
|
||||||
|
elif instr == "V":
|
||||||
|
add_line_point(0 + 1j * arg)
|
||||||
|
elif instr == "h":
|
||||||
|
add_line_point(pos + arg)
|
||||||
|
elif instr == "H":
|
||||||
|
add_line_point(arg)
|
||||||
|
instr = char
|
||||||
|
if current_line:
|
||||||
|
lines.append(current_line)
|
||||||
|
|
||||||
|
lines = np.array(lines)
|
||||||
|
return [(line.real, line.imag) for line in lines]
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
with minidom.parse("./data/Balcon2008.svg") as doc:
|
||||||
|
rects = [
|
||||||
|
(
|
||||||
|
float(rect.getAttribute("x")) + float(rect.getAttribute("width")) / 2,
|
||||||
|
float(rect.getAttribute("y")) + float(rect.getAttribute("height")) / 2,
|
||||||
|
)
|
||||||
|
for rect in doc.getElementsByTagName("rect")
|
||||||
|
]
|
||||||
|
path_strings = [path.getAttribute("d") for path in doc.getElementsByTagName("path")]
|
||||||
|
|
||||||
|
px, py = parse_path(path_strings[0])[0]
|
||||||
|
|
||||||
|
M, off = transform_matrix_and_offset(px, py, MX, MY)
|
||||||
|
|
||||||
|
x, y = (np.array(rects).dot(M.T) + off).T
|
||||||
|
s = x.argsort()
|
||||||
|
x = x[s]
|
||||||
|
y = y[s]
|
||||||
|
|
||||||
|
np.savetxt("data/Balcon2008.csv", np.c_[x, y], fmt="%.5f")
|
||||||
|
|
||||||
|
plt.plot(x, y)
|
||||||
|
plt.show()
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
135
extract_points_dong.py
Normal file
135
extract_points_dong.py
Normal file
@@ -0,0 +1,135 @@
|
|||||||
|
from typing import Union
|
||||||
|
from xml.dom import minidom
|
||||||
|
import numpy as np
|
||||||
|
import matplotlib.pyplot as plt
|
||||||
|
|
||||||
|
MX = [696, 696, 697.2]
|
||||||
|
MY = [1.2, 0, 0]
|
||||||
|
|
||||||
|
|
||||||
|
def str_pair_to_float(s: str) -> np.ndarray:
|
||||||
|
return np.array([float(el) for el in s.split(",")])
|
||||||
|
|
||||||
|
|
||||||
|
def parse_buffer(s: str) -> Union[float, complex]:
|
||||||
|
x, *y = s.split(",")
|
||||||
|
if y:
|
||||||
|
return float(x) + 1j * float(y[0])
|
||||||
|
else:
|
||||||
|
return float(x)
|
||||||
|
|
||||||
|
|
||||||
|
def transform_matrix_and_offset(
|
||||||
|
x: tuple[float, float, float],
|
||||||
|
y: tuple[float, float, float],
|
||||||
|
rx: tuple[float, float, float],
|
||||||
|
ry: tuple[float, float, float],
|
||||||
|
) -> tuple[np.ndarray, np.ndarray]:
|
||||||
|
a = -(
|
||||||
|
rx[0] * y[1] - rx[0] * y[2] - rx[1] * y[0] + rx[1] * y[2] + rx[2] * y[0] - rx[2] * y[1]
|
||||||
|
) / (x[1] * y[0] - x[2] * y[0] - x[0] * y[1] + x[2] * y[1] + x[0] * y[2] - x[1] * y[2])
|
||||||
|
b = -(
|
||||||
|
rx[0] * x[1] - rx[0] * x[2] - rx[1] * x[0] + rx[1] * x[2] + rx[2] * x[0] - rx[2] * x[1]
|
||||||
|
) / (-x[1] * y[0] + x[2] * y[0] + x[0] * y[1] - x[2] * y[1] - x[0] * y[2] + x[1] * y[2])
|
||||||
|
c = -(
|
||||||
|
ry[0] * y[1] - ry[0] * y[2] - ry[1] * y[0] + ry[1] * y[2] + ry[2] * y[0] - ry[2] * y[1]
|
||||||
|
) / (x[1] * y[0] - x[2] * y[0] - x[0] * y[1] + x[2] * y[1] + x[0] * y[2] - x[1] * y[2])
|
||||||
|
d = -(
|
||||||
|
-ry[0] * x[1] + ry[0] * x[2] + ry[1] * x[0] - ry[1] * x[2] - ry[2] * x[0] + ry[2] * x[1]
|
||||||
|
) / (x[1] * y[0] - x[2] * y[0] - x[0] * y[1] + x[2] * y[1] + x[0] * y[2] - x[1] * y[2])
|
||||||
|
e = -(
|
||||||
|
rx[0] * x[2] * y[1]
|
||||||
|
- rx[0] * x[1] * y[2]
|
||||||
|
- rx[1] * x[2] * y[0]
|
||||||
|
+ rx[1] * x[0] * y[2]
|
||||||
|
+ rx[2] * x[1] * y[0]
|
||||||
|
- rx[2] * x[0] * y[1]
|
||||||
|
) / (-x[1] * y[0] + x[2] * y[0] + x[0] * y[1] - x[2] * y[1] - x[0] * y[2] + x[1] * y[2])
|
||||||
|
f = -(
|
||||||
|
-ry[0] * x[2] * y[1]
|
||||||
|
+ ry[0] * x[1] * y[2]
|
||||||
|
+ ry[1] * x[2] * y[0]
|
||||||
|
- ry[1] * x[0] * y[2]
|
||||||
|
- ry[2] * x[1] * y[0]
|
||||||
|
+ ry[2] * x[0] * y[1]
|
||||||
|
) / (x[1] * y[0] - x[2] * y[0] - x[0] * y[1] + x[2] * y[1] + x[0] * y[2] - x[1] * y[2])
|
||||||
|
return np.array([[a, b], [c, d]]), np.array([e, f])
|
||||||
|
|
||||||
|
|
||||||
|
def parse_path(s: str) -> list[tuple[np.ndarray, np.ndarray]]:
|
||||||
|
INSTRUCTIONS = "mMlLhHvV"
|
||||||
|
lines: list[list[complex]] = []
|
||||||
|
current_line: list[complex] = []
|
||||||
|
pos = 0 + 0j
|
||||||
|
|
||||||
|
def add_line_point(new_pos):
|
||||||
|
nonlocal pos
|
||||||
|
if not current_line:
|
||||||
|
current_line.append(pos)
|
||||||
|
pos = new_pos
|
||||||
|
current_line.append(pos)
|
||||||
|
|
||||||
|
s = iter(s + "M")
|
||||||
|
instr = next(s)
|
||||||
|
buffer = ""
|
||||||
|
for char in s:
|
||||||
|
if char not in INSTRUCTIONS:
|
||||||
|
buffer += char
|
||||||
|
continue
|
||||||
|
arg = parse_buffer(buffer)
|
||||||
|
buffer = ""
|
||||||
|
if instr == "m":
|
||||||
|
if current_line:
|
||||||
|
lines.append(current_line)
|
||||||
|
current_line = []
|
||||||
|
pos += arg
|
||||||
|
elif instr == "M":
|
||||||
|
if current_line:
|
||||||
|
lines.append(current_line)
|
||||||
|
current_line = []
|
||||||
|
pos = arg
|
||||||
|
elif instr == "l":
|
||||||
|
add_line_point(pos + arg)
|
||||||
|
elif instr == "L":
|
||||||
|
add_line_point(arg)
|
||||||
|
elif instr == "v":
|
||||||
|
add_line_point(pos + 1j * arg)
|
||||||
|
elif instr == "V":
|
||||||
|
add_line_point(0 + 1j * arg)
|
||||||
|
elif instr == "h":
|
||||||
|
add_line_point(pos + arg)
|
||||||
|
elif instr == "H":
|
||||||
|
add_line_point(arg)
|
||||||
|
instr = char
|
||||||
|
if current_line:
|
||||||
|
lines.append(current_line)
|
||||||
|
|
||||||
|
lines = np.array(lines)
|
||||||
|
return [(line.real, line.imag) for line in lines]
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
with minidom.parse("./data/Dong2005.svg") as doc:
|
||||||
|
circles = [
|
||||||
|
(float(circ.getAttribute("cx")), float(circ.getAttribute("cy")))
|
||||||
|
for circ in doc.getElementsByTagName("circle")
|
||||||
|
]
|
||||||
|
path_strings = [path.getAttribute("d") for path in doc.getElementsByTagName("path")]
|
||||||
|
|
||||||
|
px, py = parse_path(path_strings[0])[0]
|
||||||
|
|
||||||
|
M, off = transform_matrix_and_offset(px, py, MX, MY)
|
||||||
|
|
||||||
|
x, y = (np.array(circles).dot(M.T) + off).T
|
||||||
|
s = x.argsort()
|
||||||
|
x = x[s]
|
||||||
|
y = y[s]
|
||||||
|
|
||||||
|
np.savetxt("data/Dong2005.csv", np.c_[x, y], fmt="%.5f")
|
||||||
|
|
||||||
|
plt.plot(x, y)
|
||||||
|
plt.show()
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
50
playground.py
Normal file
50
playground.py
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
from collections import namedtuple
|
||||||
|
import itertools
|
||||||
|
from scipy.optimize import root
|
||||||
|
|
||||||
|
Args = namedtuple("Args", ["alpha", "w", "Te"])
|
||||||
|
|
||||||
|
ARG1 = Args(0.04, 0.00409, 5_000)
|
||||||
|
ARG2 = Args(0.032, 0.00537, 10_000)
|
||||||
|
ARG3 = Args(0.023, 0.00873, 40_000)
|
||||||
|
|
||||||
|
|
||||||
|
def L_stark(Ne: float, alpha: float, w: float, Te: float) -> float:
|
||||||
|
"""computes stark broadening
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
Ne : float
|
||||||
|
free electron density in 1e15 / cm^3
|
||||||
|
alpha : float
|
||||||
|
static ion-broadening parameter
|
||||||
|
w : float
|
||||||
|
electron impact parameter in nm/1e16/cm^3
|
||||||
|
Te : float
|
||||||
|
electron temperature in K
|
||||||
|
|
||||||
|
Returns
|
||||||
|
-------
|
||||||
|
float
|
||||||
|
Stark broadening in nm
|
||||||
|
"""
|
||||||
|
Ne = 1e15 * Ne
|
||||||
|
return (
|
||||||
|
2e-16
|
||||||
|
* (1 + 1.75e-4 * (Ne ** 0.25) * alpha * (1 - 0.068 * (Te ** -0.5) * (Ne ** (1 / 6))))
|
||||||
|
* w
|
||||||
|
* Ne
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
for ls, args in itertools.product([0.001, 0.003, 0.009], [ARG1, ARG2, ARG3]):
|
||||||
|
|
||||||
|
def to_root(Ne):
|
||||||
|
return L_stark(Ne, *args) - ls
|
||||||
|
|
||||||
|
print(ls, args.Te, root(to_root, 1.0).x)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
18
pyproject.toml
Normal file
18
pyproject.toml
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
[build-system]
|
||||||
|
requires = ["setuptools >= 65.0.0"]
|
||||||
|
build-backend = "setuptools.build_meta"
|
||||||
|
|
||||||
|
[project]
|
||||||
|
name = "linemeasurement"
|
||||||
|
version = "0.1.0"
|
||||||
|
description = "Add your description here"
|
||||||
|
readme = "README.md"
|
||||||
|
requires-python = ">=3.10"
|
||||||
|
dependencies = ["click", "numpy", "plotapp", "scipy"]
|
||||||
|
|
||||||
|
[project.scripts]
|
||||||
|
linemeasurement = "linemeasurement.__main__:main"
|
||||||
|
|
||||||
|
|
||||||
|
[tool.uv.sources]
|
||||||
|
plotapp = { url = "http://130.92.113.172/plotapp-0.1.1.zip" }
|
||||||
296
src/linemeasurement/__main__.py
Normal file
296
src/linemeasurement/__main__.py
Normal file
@@ -0,0 +1,296 @@
|
|||||||
|
import click
|
||||||
|
import numpy as np
|
||||||
|
from linemeasurement.osa import load as osaload
|
||||||
|
from linemeasurement.profiles import (
|
||||||
|
VoigtFitResult,
|
||||||
|
add_noise,
|
||||||
|
convolve,
|
||||||
|
elevated_gaussian,
|
||||||
|
fft_gaussian,
|
||||||
|
fft_lorentzian,
|
||||||
|
fft_voigt,
|
||||||
|
gaussian,
|
||||||
|
linear_direct_voigt_fit,
|
||||||
|
linear_fft_voigt_fit,
|
||||||
|
log_direct_voigt_fit,
|
||||||
|
lorentzian,
|
||||||
|
single_func_fit,
|
||||||
|
voigt,
|
||||||
|
)
|
||||||
|
from plotapp import PlotApp
|
||||||
|
from scipy.interpolate import interp1d
|
||||||
|
from scipy.signal import wiener
|
||||||
|
|
||||||
|
LN2 = np.log(2)
|
||||||
|
|
||||||
|
|
||||||
|
def setup_axes(n: int, lims=(-10, 10)) -> tuple[np.ndarray, float, np.ndarray, float]:
|
||||||
|
"""Creates a time-like and a frequency-like array and returns their respective spacing"""
|
||||||
|
x, dx = np.linspace(*lims, n, retstep=True)
|
||||||
|
f = np.fft.fftfreq(n, dx)
|
||||||
|
return x, dx, f, f[1] - f[0]
|
||||||
|
|
||||||
|
|
||||||
|
def freq_axis(x: np.ndarray) -> tuple[np.ndarray, np.ndarray, float]:
|
||||||
|
"""
|
||||||
|
given an array with equally spaced values, returns a corresponding frequency array,
|
||||||
|
an array of indices to automatically sort ffts and the x spacing
|
||||||
|
"""
|
||||||
|
dx = np.diff(x).mean()
|
||||||
|
f = np.fft.fftfreq(len(x), dx)
|
||||||
|
ind = np.argsort(f)
|
||||||
|
return f[ind], ind, dx
|
||||||
|
|
||||||
|
|
||||||
|
@click.group()
|
||||||
|
def main():
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
@main.command(help="fit a lorentzian with a gaussian")
|
||||||
|
def demo1():
|
||||||
|
x = np.linspace(-10, 10, 501)
|
||||||
|
with PlotApp(
|
||||||
|
FWHM=np.geomspace(0.1, 10),
|
||||||
|
relative_noise=np.linspace(0, 2),
|
||||||
|
absolute_noise=[0, *np.geomspace(0.001, 1)],
|
||||||
|
) as app:
|
||||||
|
app.set_antialiasing(True)
|
||||||
|
app.params["FWHM"].value = 3.7
|
||||||
|
|
||||||
|
@app.update
|
||||||
|
def draw(FWHM, relative_noise, absolute_noise):
|
||||||
|
lo = lorentzian(x, 1, FWHM, 0)
|
||||||
|
lo = add_noise(lo, absolute_noise, relative_noise * 0.04)
|
||||||
|
fit = single_func_fit(x, lo, gaussian)
|
||||||
|
app[0].set_line_data("Lorentzian", x, lo, width=2)
|
||||||
|
app[0].set_line_data(
|
||||||
|
"gaus fit", x, fit.curve, width=2, label=f"Gaussian fit : FWHM = {fit.width}"
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@main.command(name="default", help="illustrate the influence of noises and fit a voigt profile")
|
||||||
|
def demo2():
|
||||||
|
with PlotApp(
|
||||||
|
n=np.arange(256, 2046),
|
||||||
|
lorentz_fwhm=np.geomspace(0.1, 1),
|
||||||
|
gauss_fwhm=np.linspace(1, 10),
|
||||||
|
relative_noise=np.linspace(0, 2),
|
||||||
|
absolute_noise=[0, *np.geomspace(1e-6, 1, 201)],
|
||||||
|
) as app:
|
||||||
|
app.set_antialiasing(True)
|
||||||
|
v_ax = app["Voigt"]
|
||||||
|
l_ax = app["Lorentz"]
|
||||||
|
g_ax = app["Gauss"]
|
||||||
|
l_ax.link_x(v_ax)
|
||||||
|
g_ax.link_x(v_ax)
|
||||||
|
|
||||||
|
app.params["gauss_fwhm"].value = 5
|
||||||
|
app.params["n"].value = 1024
|
||||||
|
app.params_layout.setSpacing(0)
|
||||||
|
|
||||||
|
@app.update
|
||||||
|
def draw(n, lorentz_fwhm, gauss_fwhm, absolute_noise, relative_noise):
|
||||||
|
x, dx, f, df = setup_axes(n, (-20, 20))
|
||||||
|
gaus = gaussian(x, 1, gauss_fwhm, 0)
|
||||||
|
lore = lorentzian(x, 1, lorentz_fwhm, 0)
|
||||||
|
g_ax.set_line_data("Gaussian", x, gaus / gaus.max(), width=2)
|
||||||
|
l_ax.set_line_data("Lorentz", x, lore / lore.max(), width=2)
|
||||||
|
|
||||||
|
conv = convolve(gaus, lore)
|
||||||
|
conv /= conv.max()
|
||||||
|
conv_noise = add_noise(conv, absolute_noise, relative_noise * 0.1)
|
||||||
|
gaus_noise = add_noise(gaus, absolute_noise, relative_noise * 0.1)
|
||||||
|
v_ax.set_line_data("Voigt", x, conv, width=2)
|
||||||
|
v_ax.set_line_data("Noisy Voigt", x, conv_noise, width=2)
|
||||||
|
g_ax.set_line_data("Noisy Gaussian", x, gaus_noise, width=2)
|
||||||
|
|
||||||
|
lin_fit = linear_direct_voigt_fit(x, conv_noise)
|
||||||
|
log_fit = log_direct_voigt_fit(x, conv_noise)
|
||||||
|
transfo = np.fft.fft(np.fft.fftshift(conv_noise)).real
|
||||||
|
fft_fit = linear_fft_voigt_fit(f, transfo, x, dx)
|
||||||
|
for fit in lin_fit, log_fit, fft_fit:
|
||||||
|
display_fit(x, fit)
|
||||||
|
|
||||||
|
def display_fit(x: np.ndarray, fit: VoigtFitResult):
|
||||||
|
v_ax.set_line_data(fit.name, x, fit.curve)
|
||||||
|
g_ax.set_line_data(
|
||||||
|
fit.name + "gauss",
|
||||||
|
x,
|
||||||
|
gaussian(x, fit.amp, fit.gaussian_width, 0),
|
||||||
|
label=f"{fit.name} - Gaussian {fit.gaussian_width:.2f}",
|
||||||
|
width=1.5,
|
||||||
|
)
|
||||||
|
l_ax.set_line_data(
|
||||||
|
fit.name + "loren",
|
||||||
|
x,
|
||||||
|
lorentzian(x, fit.amp, fit.lorentzian_width, 0),
|
||||||
|
label=f"{fit.name} - Lorentzian {fit.lorentzian_width:.2f}",
|
||||||
|
width=1.5,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@main.command(help="Explore fft fitting")
|
||||||
|
def demo3():
|
||||||
|
x, dx, f, df = setup_axes(1001, (-20, 20))
|
||||||
|
with PlotApp(
|
||||||
|
lorentz_fwhm=np.geomspace(0.1, 1),
|
||||||
|
gauss_fwhm=np.linspace(1, 10),
|
||||||
|
relative_noise=np.linspace(0, 2),
|
||||||
|
absolute_noise=[0, *np.geomspace(1e-6, 1, 201)],
|
||||||
|
) as app:
|
||||||
|
app.set_antialiasing(True)
|
||||||
|
|
||||||
|
ax = app[0]
|
||||||
|
ind = np.argsort(f)
|
||||||
|
|
||||||
|
@app.update
|
||||||
|
def draw(lorentz_fwhm, gauss_fwhm, absolute_noise, relative_noise):
|
||||||
|
gaus_clean = gaussian(x, 1, gauss_fwhm, 0)
|
||||||
|
lore_clean = lorentzian(x, 1, lorentz_fwhm, 0)
|
||||||
|
voig_clean = convolve(gaus_clean, lore_clean)
|
||||||
|
|
||||||
|
gaus = add_noise(gaus_clean, absolute_noise, relative_noise * 0.1)
|
||||||
|
lore = add_noise(lore_clean, absolute_noise, relative_noise * 0.1)
|
||||||
|
voig = add_noise(voig_clean, absolute_noise, relative_noise * 0.1)
|
||||||
|
|
||||||
|
gaus_f = np.fft.fft(np.fft.fftshift(gaus)).real
|
||||||
|
lore_f = np.fft.fft(np.fft.fftshift(lore)).real
|
||||||
|
voig_f = np.fft.fft(np.fft.fftshift(voig)).real
|
||||||
|
|
||||||
|
ax.set_line_data("Transformed Gaussian", f[ind], gaus_f[ind])
|
||||||
|
ax.set_line_data("Transformed Lorentz", f[ind], lore_f[ind])
|
||||||
|
ax.set_line_data("Transformed Voigt", f[ind], voig_f[ind])
|
||||||
|
|
||||||
|
gaus_ff = fft_gaussian(f, dx, 1, gauss_fwhm)
|
||||||
|
lore_ff = fft_lorentzian(f, dx, 1, lorentz_fwhm)
|
||||||
|
voig_ff = fft_voigt(f, dx, gauss_fwhm, lorentz_fwhm) * voig_clean.sum()
|
||||||
|
|
||||||
|
ax.set_line_data("Expected Gaussian", f[ind], gaus_ff[ind], width=1)
|
||||||
|
ax.set_line_data("Expected Lorentz", f[ind], lore_ff[ind], width=1)
|
||||||
|
ax.set_line_data("Expected Voigt", f[ind], voig_ff[ind], width=1)
|
||||||
|
|
||||||
|
|
||||||
|
@click.option("--all", "show_all", default=False, is_flag=True)
|
||||||
|
@click.option("--file", "-f", type=click.Path(True, dir_okay=False), required=True, prompt=True)
|
||||||
|
@main.command(name="fit")
|
||||||
|
def fit_measurement(file, show_all):
|
||||||
|
raw_wl, raw_intens = osaload(file, normalize=True)
|
||||||
|
_o = raw_wl.argsort()
|
||||||
|
raw_intens = raw_intens[_o]
|
||||||
|
raw_wl = raw_wl[_o]
|
||||||
|
del _o
|
||||||
|
if raw_wl[0] < 1:
|
||||||
|
raw_wl *= 1e9
|
||||||
|
|
||||||
|
with PlotApp(
|
||||||
|
center_wl=np.linspace(raw_wl.min(), raw_wl.max(), 8192),
|
||||||
|
span=np.geomspace(0.001, raw_wl[-1] - raw_wl[0], 1024),
|
||||||
|
filter=range(0, 30, 3),
|
||||||
|
) as app:
|
||||||
|
app.set_antialiasing(True)
|
||||||
|
|
||||||
|
ax1 = app["Measurement"]
|
||||||
|
ax2 = app["Fourier domain"]
|
||||||
|
baseline = 0.0
|
||||||
|
|
||||||
|
app.params["center_wl"].value = raw_wl[raw_intens.argmax()]
|
||||||
|
app.params["span"].value = app.params["span"].values()[-1]
|
||||||
|
|
||||||
|
@app.update
|
||||||
|
def draw(center_wl, span, filter):
|
||||||
|
nonlocal baseline
|
||||||
|
|
||||||
|
# Crop spectrum around peak
|
||||||
|
left_index = np.argmin(np.abs(raw_wl - (center_wl - span / 2)))
|
||||||
|
right_index = np.argmin(np.abs(raw_wl - (center_wl + span / 2)))
|
||||||
|
intens = raw_intens[left_index : right_index + 1]
|
||||||
|
wl = raw_wl[left_index : right_index + 1]
|
||||||
|
|
||||||
|
print(len(wl), len(intens))
|
||||||
|
|
||||||
|
# Fit rough gaussian to find peak
|
||||||
|
gauss_fit = single_func_fit(wl, intens, elevated_gaussian, extra_params=1)
|
||||||
|
wl0 = gauss_fit.x0
|
||||||
|
baseline = intens[:10].mean()
|
||||||
|
# intens -= baseline
|
||||||
|
# gauss_fit.curve -= baseline
|
||||||
|
intens[intens < 0] = 0
|
||||||
|
|
||||||
|
# center spectrum around 0
|
||||||
|
ax1.set_line_data("Measured spectrum", raw_wl - wl0, raw_intens, width=2, color="red")
|
||||||
|
# ax1.set_line_data(
|
||||||
|
# "Initial Guassian fit", raw_wl - wl0, gauss_fit.curve, width=2, color="blue"
|
||||||
|
# )
|
||||||
|
|
||||||
|
new_wl = np.linspace(-span / 2, span / 2, 1024)
|
||||||
|
intens = interp1d(wl - wl0, intens, bounds_error=False, fill_value=0)(new_wl)
|
||||||
|
wl = new_wl
|
||||||
|
# wl -= wl0
|
||||||
|
|
||||||
|
intens_fit = intens - baseline
|
||||||
|
if filter:
|
||||||
|
intens_fit = wiener(intens_fit, filter)
|
||||||
|
f, ind, dwl = freq_axis(wl)
|
||||||
|
|
||||||
|
ax1.set_line_data("Spectrum to fit", wl, intens_fit + baseline)
|
||||||
|
|
||||||
|
trans = np.abs(np.fft.fft(intens_fit))[ind]
|
||||||
|
ax2.set_line_data("Transformed", f, trans)
|
||||||
|
ax2.lines["Transformed"].setZValue(10)
|
||||||
|
|
||||||
|
display_fit(wl, dwl, f, linear_direct_voigt_fit(wl, intens_fit))
|
||||||
|
# display_fit(wl, dwl, f, linear_fft_voigt_fit(f, trans, wl, dwl))
|
||||||
|
# display_fit(wl, dwl, f, log_direct_voigt_fit(wl, intens_fit))
|
||||||
|
|
||||||
|
def display_fit(x: np.ndarray, dx: float, f: np.ndarray, fit: VoigtFitResult):
|
||||||
|
ax2.set_line_data(
|
||||||
|
fit.name,
|
||||||
|
f,
|
||||||
|
fft_voigt(f, dx, fit.amp, fit.gaussian_width, fit.lorentzian_width),
|
||||||
|
)
|
||||||
|
ax1.set_line_data(fit.name, x, fit.curve + baseline)
|
||||||
|
if show_all:
|
||||||
|
ax1.set_line_data(
|
||||||
|
fit.name + "gauss",
|
||||||
|
x,
|
||||||
|
gaussian(x, 1, fit.gaussian_width, 0) + baseline,
|
||||||
|
label=f"{fit.name} - Gaussian {fit.gaussian_width:.4g}",
|
||||||
|
width=1.5,
|
||||||
|
)
|
||||||
|
ax1.set_line_data(
|
||||||
|
fit.name + "lorentz",
|
||||||
|
x,
|
||||||
|
lorentzian(x, 1, fit.lorentzian_width, 0) + baseline,
|
||||||
|
label=f"{fit.name} - Lorentzian {fit.lorentzian_width:.4g}",
|
||||||
|
width=1.5,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@main.command(name="test", help="test scaling of voigt profile")
|
||||||
|
def test_amp():
|
||||||
|
x, dx, f, df = setup_axes(1001, (-20, 20))
|
||||||
|
with PlotApp(
|
||||||
|
lorentz_fwhm=np.geomspace(0.1, 1), gauss_fwhm=np.linspace(1, 10), amp=np.linspace(1, 7)
|
||||||
|
) as app:
|
||||||
|
app.set_antialiasing(True)
|
||||||
|
|
||||||
|
ax1 = app["Main"]
|
||||||
|
ax2 = app["Fourrier"]
|
||||||
|
ind = np.argsort(f)
|
||||||
|
|
||||||
|
@app.update
|
||||||
|
def draw(lorentz_fwhm, gauss_fwhm, amp):
|
||||||
|
vo = voigt(x, amp, gauss_fwhm, lorentz_fwhm)
|
||||||
|
trans = np.fft.fft(np.fft.fftshift(vo))
|
||||||
|
expected = fft_voigt(f, dx, amp, gauss_fwhm, lorentz_fwhm)
|
||||||
|
back_transformed = np.fft.fftshift(np.fft.ifft(expected).real)
|
||||||
|
|
||||||
|
ax1.set_line_data("original", x, vo)
|
||||||
|
ax1.set_line_data("back tranformed", x, back_transformed)
|
||||||
|
ax2.set_line_data("expected", f[ind], expected[ind])
|
||||||
|
ax2.set_line_data("original transformed", f[ind], trans[ind].real)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
@@ -2,11 +2,13 @@ from dataclasses import dataclass, field
|
|||||||
from typing import Callable
|
from typing import Callable
|
||||||
|
|
||||||
import click
|
import click
|
||||||
import labmodule as lab
|
|
||||||
import numpy as np
|
import numpy as np
|
||||||
from customfunc.app import PlotApp
|
from plotapp import PlotApp
|
||||||
from scipy.optimize import curve_fit
|
|
||||||
from scipy.interpolate import interp1d
|
from scipy.interpolate import interp1d
|
||||||
|
from scipy.optimize import curve_fit
|
||||||
|
from scipy.signal import wiener
|
||||||
|
|
||||||
|
from .osa import load as osaload
|
||||||
|
|
||||||
LN2 = np.log(2)
|
LN2 = np.log(2)
|
||||||
|
|
||||||
@@ -43,6 +45,56 @@ class VoigtFitResult:
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def load_osa_spectrum(
|
||||||
|
data: Union[os.PathLike, str], lvl_col: int = 1, normalize: bool = True, ret_props=False
|
||||||
|
) -> tuple[np.ndarray, np.ndarray]:
|
||||||
|
"""Read files from Yokogawa optical spectrum analyzers
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
data : os.PathLike | str
|
||||||
|
path to the file or raw data
|
||||||
|
lvl_col : int, optional
|
||||||
|
index of the intensity column, by default 1
|
||||||
|
normalize : bool, optional
|
||||||
|
whether to shift the maximum to 0, by default True
|
||||||
|
|
||||||
|
Returns
|
||||||
|
-------
|
||||||
|
wavelength : np.ndarray
|
||||||
|
wavelength in m
|
||||||
|
intensity : np.ndarray
|
||||||
|
recorded intensity in dB
|
||||||
|
"""
|
||||||
|
props = {}
|
||||||
|
if isinstance(data, str) and not os.path.exists(data):
|
||||||
|
s = data.splitlines()
|
||||||
|
else:
|
||||||
|
with open(data) as f:
|
||||||
|
s = f.readlines()
|
||||||
|
s = iter(s)
|
||||||
|
for line in s:
|
||||||
|
if "[TRACE DATA]" in line:
|
||||||
|
break
|
||||||
|
if ret_props and line.startswith('"'):
|
||||||
|
k, v = parse_osa_prop_line(line)
|
||||||
|
props[k] = v
|
||||||
|
to_load = "\n".join([el.strip() for el in s])
|
||||||
|
wl, intens = np.loadtxt(
|
||||||
|
StringIO(to_load), delimiter=",", usecols=(0, lvl_col), unpack=True, comments='"'
|
||||||
|
)
|
||||||
|
if normalize:
|
||||||
|
if (intens < 0).sum() < len(intens) / 10:
|
||||||
|
intens -= intens.min()
|
||||||
|
intens /= intens.max()
|
||||||
|
else:
|
||||||
|
intens -= intens.max()
|
||||||
|
if ret_props:
|
||||||
|
return 1e-9 * wl, intens, props
|
||||||
|
else:
|
||||||
|
return 1e-9 * wl, intens
|
||||||
|
|
||||||
|
|
||||||
def setup_axes(n: int, lims=(-10, 10)) -> tuple[np.ndarray, float, np.ndarray, float]:
|
def setup_axes(n: int, lims=(-10, 10)) -> tuple[np.ndarray, float, np.ndarray, float]:
|
||||||
"""Creates a time-like and a frequency-like array and returns their respective spacing"""
|
"""Creates a time-like and a frequency-like array and returns their respective spacing"""
|
||||||
x, dx = np.linspace(*lims, n, retstep=True)
|
x, dx = np.linspace(*lims, n, retstep=True)
|
||||||
@@ -61,6 +113,15 @@ def freq_axis(x: np.ndarray) -> tuple[np.ndarray, np.ndarray, float]:
|
|||||||
return f[ind], ind, dx
|
return f[ind], ind, dx
|
||||||
|
|
||||||
|
|
||||||
|
def rough_fwhm(x: np.ndarray, y: np.ndarray) -> float:
|
||||||
|
m2 = y.max() / 2
|
||||||
|
ind = np.where(y >= m2)[0]
|
||||||
|
return (
|
||||||
|
x[np.minimum(ind + 1, len(x) - 1)][x[ind].argmax()]
|
||||||
|
- x[np.maximum(0, ind - 1)][x[ind].argmin()]
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def lorentzian(x: np.ndarray, amp: float, width: float, x0: float) -> np.ndarray:
|
def lorentzian(x: np.ndarray, amp: float, width: float, x0: float) -> np.ndarray:
|
||||||
"""Lorentzian function of max `amp`, FWHM `width` and position `x0`"""
|
"""Lorentzian function of max `amp`, FWHM `width` and position `x0`"""
|
||||||
gamma = (width * 0.5) ** 2
|
gamma = (width * 0.5) ** 2
|
||||||
@@ -177,15 +238,25 @@ def single_func_fit(
|
|||||||
|
|
||||||
fct = _fct
|
fct = _fct
|
||||||
am = y.argmax()
|
am = y.argmax()
|
||||||
|
xm = x.mean()
|
||||||
|
fwhm = rough_fwhm(x, y)
|
||||||
params, cov = curve_fit(
|
params, cov = curve_fit(
|
||||||
fct, x, y, sigma=1 / y if use_weights else None, p0=[y[am], 1, x[am]] + [0] * extra_params
|
fct,
|
||||||
|
x - xm,
|
||||||
|
y,
|
||||||
|
sigma=1 / y if use_weights else None,
|
||||||
|
p0=[y[am], fwhm, x[am] - xm] + [0] * extra_params,
|
||||||
)
|
)
|
||||||
|
params[2] += xm
|
||||||
curve = fct(x, *params)
|
curve = fct(x, *params)
|
||||||
return FitResult(curve, cov, params[0], params[1], params[2], tuple(params))
|
return FitResult(curve, cov, params[0], params[1], params[2], tuple(params))
|
||||||
|
|
||||||
|
|
||||||
def linear_direct_voigt_fit(x: np.ndarray, y: np.ndarray, use_weights=False) -> VoigtFitResult:
|
def linear_direct_voigt_fit(x: np.ndarray, y: np.ndarray, use_weights=False) -> VoigtFitResult:
|
||||||
params, cov = curve_fit(voigt, x, y, sigma=1 / y if use_weights else None)
|
fwhm = rough_fwhm(x, y)
|
||||||
|
params, cov = curve_fit(
|
||||||
|
voigt, x, y, sigma=1 / y if use_weights else None, p0=[y.max(), fwhm / 2, fwhm / 2]
|
||||||
|
)
|
||||||
curve = voigt(x, *params)
|
curve = voigt(x, *params)
|
||||||
return VoigtFitResult("Linear direct fit", curve, cov, *params)
|
return VoigtFitResult("Linear direct fit", curve, cov, *params)
|
||||||
|
|
||||||
@@ -200,8 +271,13 @@ def log_direct_voigt_fit(x: np.ndarray, y: np.ndarray) -> VoigtFitResult:
|
|||||||
|
|
||||||
|
|
||||||
def linear_fft_voigt_fit(f: np.ndarray, A: np.ndarray, x: np.ndarray, dx: float) -> VoigtFitResult:
|
def linear_fft_voigt_fit(f: np.ndarray, A: np.ndarray, x: np.ndarray, dx: float) -> VoigtFitResult:
|
||||||
|
fwhm = 4 * LN2 / (np.pi * rough_fwhm(f, A))
|
||||||
params, cov = curve_fit(
|
params, cov = curve_fit(
|
||||||
lambda _f, _a, _g, _l: fft_voigt(_f, dx, _a, _g, _l), f, A, bounds=[1e-12, np.inf]
|
lambda _f, _amp, _gau, _lor: fft_voigt(_f, dx, _amp, _gau, _lor),
|
||||||
|
f,
|
||||||
|
A,
|
||||||
|
bounds=[1e-12, np.inf],
|
||||||
|
p0=[A.max(), fwhm, fwhm / 10],
|
||||||
)
|
)
|
||||||
curve = voigt(x, *params)
|
curve = voigt(x, *params)
|
||||||
return VoigtFitResult("Linear FFT fit", curve, cov, *params)
|
return VoigtFitResult("Linear FFT fit", curve, cov, *params)
|
||||||
@@ -249,7 +325,11 @@ def demo2():
|
|||||||
absolute_noise=[0, *np.geomspace(1e-6, 1, 201)],
|
absolute_noise=[0, *np.geomspace(1e-6, 1, 201)],
|
||||||
) as app:
|
) as app:
|
||||||
app.set_antialiasing(True)
|
app.set_antialiasing(True)
|
||||||
ax = app["Main Plot"]
|
v_ax = app["Voigt"]
|
||||||
|
l_ax = app["Lorentz"]
|
||||||
|
g_ax = app["Gauss"]
|
||||||
|
l_ax.link_x(v_ax)
|
||||||
|
g_ax.link_x(v_ax)
|
||||||
|
|
||||||
app.params["gauss_fwhm"].value = 5
|
app.params["gauss_fwhm"].value = 5
|
||||||
app.params["n"].value = 1024
|
app.params["n"].value = 1024
|
||||||
@@ -260,37 +340,37 @@ def demo2():
|
|||||||
x, dx, f, df = setup_axes(n, (-20, 20))
|
x, dx, f, df = setup_axes(n, (-20, 20))
|
||||||
gaus = gaussian(x, 1, gauss_fwhm, 0)
|
gaus = gaussian(x, 1, gauss_fwhm, 0)
|
||||||
lore = lorentzian(x, 1, lorentz_fwhm, 0)
|
lore = lorentzian(x, 1, lorentz_fwhm, 0)
|
||||||
ax.set_line_data("Gaussian", x, gaus / gaus.max(), width=2)
|
g_ax.set_line_data("Gaussian", x, gaus / gaus.max(), width=2)
|
||||||
ax.set_line_data("Lorentz", x, lore / lore.max(), width=2)
|
l_ax.set_line_data("Lorentz", x, lore / lore.max(), width=2)
|
||||||
|
|
||||||
conv = convolve(gaus, lore)
|
conv = convolve(gaus, lore)
|
||||||
conv /= conv.max()
|
conv /= conv.max()
|
||||||
conv_noise = add_noise(conv, absolute_noise, relative_noise * 0.1)
|
conv_noise = add_noise(conv, absolute_noise, relative_noise * 0.1)
|
||||||
gaus_noise = add_noise(gaus, absolute_noise, relative_noise * 0.1)
|
gaus_noise = add_noise(gaus, absolute_noise, relative_noise * 0.1)
|
||||||
ax.set_line_data("Voigt", x, conv, width=2)
|
v_ax.set_line_data("Voigt", x, conv, width=2)
|
||||||
ax.set_line_data("Noisy Voigt", x, conv_noise, width=2)
|
v_ax.set_line_data("Noisy Voigt", x, conv_noise, width=2)
|
||||||
ax.set_line_data("Noisy Gaussian", x, gaus_noise, width=2)
|
g_ax.set_line_data("Noisy Gaussian", x, gaus_noise, width=2)
|
||||||
|
|
||||||
lin_fit = linear_direct_voigt_fit(x, conv_noise)
|
lin_fit = linear_direct_voigt_fit(x, conv_noise)
|
||||||
log_fit = log_direct_voigt_fit(x, conv_noise)
|
log_fit = log_direct_voigt_fit(x, conv_noise)
|
||||||
transfo = np.fft.fft(np.fft.fftshift(conv_noise)).real
|
transfo = np.fft.fft(np.fft.fftshift(conv_noise)).real
|
||||||
fft_fit = linear_fft_voigt_fit(f, transfo / transfo.max(), x, dx)
|
fft_fit = linear_fft_voigt_fit(f, transfo, x, dx)
|
||||||
for fit in lin_fit, log_fit, fft_fit:
|
for fit in lin_fit, log_fit, fft_fit:
|
||||||
display_fit(x, fit)
|
display_fit(x, fit)
|
||||||
|
|
||||||
def display_fit(x: np.ndarray, fit: VoigtFitResult):
|
def display_fit(x: np.ndarray, fit: VoigtFitResult):
|
||||||
ax.set_line_data(fit.name, x, fit.curve)
|
v_ax.set_line_data(fit.name, x, fit.curve)
|
||||||
ax.set_line_data(
|
g_ax.set_line_data(
|
||||||
fit.name + "gauss",
|
fit.name + "gauss",
|
||||||
x,
|
x,
|
||||||
gaussian(x, 1, fit.gaussian_width, 0),
|
gaussian(x, fit.amp, fit.gaussian_width, 0),
|
||||||
label=f"{fit.name} - Gaussian {fit.gaussian_width:.2f}",
|
label=f"{fit.name} - Gaussian {fit.gaussian_width:.2f}",
|
||||||
width=1.5,
|
width=1.5,
|
||||||
)
|
)
|
||||||
ax.set_line_data(
|
l_ax.set_line_data(
|
||||||
fit.name + "loren",
|
fit.name + "loren",
|
||||||
x,
|
x,
|
||||||
lorentzian(x, 1, fit.lorentzian_width, 0),
|
lorentzian(x, fit.amp, fit.lorentzian_width, 0),
|
||||||
label=f"{fit.name} - Lorentzian {fit.lorentzian_width:.2f}",
|
label=f"{fit.name} - Lorentzian {fit.lorentzian_width:.2f}",
|
||||||
width=1.5,
|
width=1.5,
|
||||||
)
|
)
|
||||||
@@ -337,25 +417,26 @@ def demo3():
|
|||||||
ax.set_line_data("Expected Voigt", f[ind], voig_ff[ind], width=1)
|
ax.set_line_data("Expected Voigt", f[ind], voig_ff[ind], width=1)
|
||||||
|
|
||||||
|
|
||||||
@click.argument("file", type=click.Path(True, dir_okay=False))
|
|
||||||
@click.option("--all", "show_all", default=False, is_flag=True)
|
@click.option("--all", "show_all", default=False, is_flag=True)
|
||||||
|
@click.option("--file", "-f", type=click.Path(True, dir_okay=False), required=True, prompt=True)
|
||||||
@main.command(name="fit")
|
@main.command(name="fit")
|
||||||
def fit_measurement(file, show_all):
|
def fit_measurement(file, show_all):
|
||||||
raw_wl, intens = lab.osa.load_osa_spectrum(file)
|
raw_wl, intens = osaload(file, normalize=True)
|
||||||
|
if raw_wl[0] < 1:
|
||||||
raw_wl *= 1e9
|
raw_wl *= 1e9
|
||||||
gauss_fit = single_func_fit(raw_wl, intens, elevated_gaussian, extra_params=1)
|
gauss_fit = single_func_fit(raw_wl, intens, elevated_gaussian, extra_params=1)
|
||||||
wl0 = gauss_fit.x0
|
wl0 = gauss_fit.x0
|
||||||
baseline = gauss_fit.params[-1]
|
baseline = intens[:10].mean()
|
||||||
intens -= baseline
|
# intens -= baseline
|
||||||
gauss_fit.curve -= baseline
|
# gauss_fit.curve -= baseline
|
||||||
intens[intens < 0] = 0
|
intens[intens < 0] = 0
|
||||||
|
|
||||||
lim = np.max(np.abs(raw_wl - wl0))
|
lim = np.max(np.abs(raw_wl - wl0))
|
||||||
new_wl = np.linspace(-lim, lim, 2048)
|
new_wl = np.linspace(-lim, lim, 1024)
|
||||||
intens = interp1d(raw_wl - wl0, intens, bounds_error=False, fill_value=0)(new_wl)
|
intens = interp1d(raw_wl - wl0, intens, bounds_error=False, fill_value=0)(new_wl)
|
||||||
wl = new_wl
|
wl = new_wl
|
||||||
|
|
||||||
with PlotApp(n=np.arange(len(wl) // 2)) as app:
|
with PlotApp(num_skipped=np.arange(len(wl) // 2), filter=range(0, 30, 3)) as app:
|
||||||
app.set_antialiasing(True)
|
app.set_antialiasing(True)
|
||||||
|
|
||||||
ax1 = app["Measurement"]
|
ax1 = app["Measurement"]
|
||||||
@@ -367,14 +448,17 @@ def fit_measurement(file, show_all):
|
|||||||
# ax1.plot_widget.plotItem.setLogMode(y=True)
|
# ax1.plot_widget.plotItem.setLogMode(y=True)
|
||||||
|
|
||||||
@app.update
|
@app.update
|
||||||
def draw(n):
|
def draw(num_skipped, filter):
|
||||||
s = slice(n, -n) if n else slice(None)
|
n, r = divmod(num_skipped, 2)
|
||||||
|
s = slice(n + r, -n) if n else slice(None)
|
||||||
|
|
||||||
wl_fit = wl[s]
|
wl_fit = wl[s]
|
||||||
intens_fit = intens[s] - intens[s].min()
|
intens_fit = intens[s] - baseline
|
||||||
|
if filter:
|
||||||
|
intens_fit = wiener(intens_fit, filter)
|
||||||
f, ind, dwl = freq_axis(wl_fit)
|
f, ind, dwl = freq_axis(wl_fit)
|
||||||
|
|
||||||
ax1.set_line_data("Fitted spectrum", wl_fit, intens_fit)
|
ax1.set_line_data("Fitted spectrum", wl_fit, intens_fit + baseline)
|
||||||
|
|
||||||
trans = np.abs(np.fft.fft(intens_fit))[ind]
|
trans = np.abs(np.fft.fft(intens_fit))[ind]
|
||||||
ax2.set_line_data("Transformed", f, trans)
|
ax2.set_line_data("Transformed", f, trans)
|
||||||
@@ -392,20 +476,20 @@ def fit_measurement(file, show_all):
|
|||||||
f,
|
f,
|
||||||
fft_voigt(f, dx, fit.amp, fit.gaussian_width, fit.lorentzian_width),
|
fft_voigt(f, dx, fit.amp, fit.gaussian_width, fit.lorentzian_width),
|
||||||
)
|
)
|
||||||
ax1.set_line_data(fit.name, x, fit.curve)
|
ax1.set_line_data(fit.name, x, fit.curve + baseline)
|
||||||
if show_all:
|
if show_all:
|
||||||
ax1.set_line_data(
|
ax1.set_line_data(
|
||||||
fit.name + "gauss",
|
fit.name + "gauss",
|
||||||
x,
|
x,
|
||||||
gaussian(x, 1, fit.gaussian_width, 0),
|
gaussian(x, 1, fit.gaussian_width, 0) + baseline,
|
||||||
label=f"{fit.name} - Gaussian {fit.gaussian_width:.3f}",
|
label=f"{fit.name} - Gaussian {fit.gaussian_width:.4g}",
|
||||||
width=1.5,
|
width=1.5,
|
||||||
)
|
)
|
||||||
ax1.set_line_data(
|
ax1.set_line_data(
|
||||||
fit.name + "lorentz",
|
fit.name + "lorentz",
|
||||||
x,
|
x,
|
||||||
lorentzian(x, 1, fit.lorentzian_width, 0),
|
lorentzian(x, 1, fit.lorentzian_width, 0) + baseline,
|
||||||
label=f"{fit.name} - Lorentzian {fit.lorentzian_width:.3f}",
|
label=f"{fit.name} - Lorentzian {fit.lorentzian_width:.4g}",
|
||||||
width=1.5,
|
width=1.5,
|
||||||
)
|
)
|
||||||
|
|
||||||
112
src/linemeasurement/osa.py
Normal file
112
src/linemeasurement/osa.py
Normal file
@@ -0,0 +1,112 @@
|
|||||||
|
import os
|
||||||
|
from functools import lru_cache
|
||||||
|
from io import StringIO
|
||||||
|
from pathlib import Path
|
||||||
|
from typing import Any, Union
|
||||||
|
|
||||||
|
import numpy as np
|
||||||
|
|
||||||
|
|
||||||
|
def parse_osa_prop_line(s: str) -> tuple[str, Any]:
|
||||||
|
vals = s.split('"')
|
||||||
|
if vals[0]:
|
||||||
|
raise ValueError()
|
||||||
|
key = vals[1].lower().replace(" ", "_")
|
||||||
|
if len(vals) <= 2:
|
||||||
|
return key, True
|
||||||
|
val_str = vals[2].replace(",", "").strip()
|
||||||
|
if val_str == '"OFF"':
|
||||||
|
return key, False
|
||||||
|
for fct in int, float:
|
||||||
|
try:
|
||||||
|
val = fct(val_str)
|
||||||
|
return key, val
|
||||||
|
except ValueError:
|
||||||
|
continue
|
||||||
|
|
||||||
|
return key, val_str
|
||||||
|
|
||||||
|
|
||||||
|
@lru_cache
|
||||||
|
def load_osa_spectrum(
|
||||||
|
data: Union[os.PathLike, str], lvl_col: int = 1, normalize: bool = True, ret_props=False
|
||||||
|
) -> tuple[np.ndarray, np.ndarray]:
|
||||||
|
"""Read files from Yokogawa optical spectrum analyzers
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
data : os.PathLike | str
|
||||||
|
path to the file or raw data
|
||||||
|
lvl_col : int, optional
|
||||||
|
index of the intensity column, by default 1
|
||||||
|
normalize : bool, optional
|
||||||
|
whether to shift the maximum to 0, by default True
|
||||||
|
|
||||||
|
Returns
|
||||||
|
-------
|
||||||
|
wavelength : np.ndarray
|
||||||
|
wavelength in m
|
||||||
|
intensity : np.ndarray
|
||||||
|
recorded intensity in dB
|
||||||
|
"""
|
||||||
|
props = {}
|
||||||
|
if isinstance(data, str) and not os.path.exists(data):
|
||||||
|
s = data.splitlines()
|
||||||
|
else:
|
||||||
|
with open(data) as f:
|
||||||
|
s = f.readlines()
|
||||||
|
s = iter(s)
|
||||||
|
for line in s:
|
||||||
|
if "[TRACE DATA]" in line:
|
||||||
|
break
|
||||||
|
if ret_props and line.startswith('"'):
|
||||||
|
k, v = parse_osa_prop_line(line)
|
||||||
|
props[k] = v
|
||||||
|
to_load = "\n".join([el.strip() for el in s])
|
||||||
|
wl, intens = np.loadtxt(
|
||||||
|
StringIO(to_load), delimiter=",", usecols=(0, lvl_col), unpack=True, comments='"'
|
||||||
|
)
|
||||||
|
if normalize:
|
||||||
|
if (intens < 0).sum() < len(intens) / 10:
|
||||||
|
intens -= intens.min()
|
||||||
|
intens /= intens.max()
|
||||||
|
else:
|
||||||
|
intens -= intens.max()
|
||||||
|
if ret_props:
|
||||||
|
return 1e-9 * wl, intens, props
|
||||||
|
else:
|
||||||
|
return 1e-9 * wl, intens
|
||||||
|
|
||||||
|
|
||||||
|
def load_avantes(
|
||||||
|
data: Union[os.PathLike, str], usecols=(0, 1), skiprows=8
|
||||||
|
) -> tuple[np.ndarray, np.ndarray]:
|
||||||
|
if isinstance(data, str):
|
||||||
|
s = data
|
||||||
|
else:
|
||||||
|
s = Path(data).read_text()
|
||||||
|
s = s.replace(",", ".")
|
||||||
|
return np.loadtxt(StringIO(s), delimiter=";", usecols=usecols, skiprows=skiprows, unpack=True)
|
||||||
|
|
||||||
|
|
||||||
|
def load(path: os.PathLike, normalize=False) -> tuple[np.ndarray, np.ndarray]:
|
||||||
|
s = Path(path).read_text()
|
||||||
|
wl = None
|
||||||
|
if "[TRACE DATA]" in s:
|
||||||
|
wl, i = load_osa_spectrum(s, normalize=False)
|
||||||
|
elif "Integration time [ms]" in s:
|
||||||
|
wl, i = load_avantes(s)
|
||||||
|
else:
|
||||||
|
for lim in [None, ",", ";"]:
|
||||||
|
try:
|
||||||
|
wl, i = np.loadtxt(StringIO(s), delimiter=lim, unpack=True)
|
||||||
|
break
|
||||||
|
except ValueError:
|
||||||
|
continue
|
||||||
|
if wl is None:
|
||||||
|
raise ValueError(f"Could not load a spectrum from {path}")
|
||||||
|
|
||||||
|
if normalize:
|
||||||
|
i -= i.min()
|
||||||
|
i /= i.max()
|
||||||
|
return wl, i
|
||||||
214
src/linemeasurement/profiles.py
Normal file
214
src/linemeasurement/profiles.py
Normal file
@@ -0,0 +1,214 @@
|
|||||||
|
from dataclasses import dataclass, field
|
||||||
|
from typing import Callable
|
||||||
|
|
||||||
|
import numpy as np
|
||||||
|
from scipy.optimize import curve_fit
|
||||||
|
|
||||||
|
LN2 = np.log(2)
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class FitResult:
|
||||||
|
curve: np.ndarray = field(repr=False)
|
||||||
|
covariance: np.ndarray
|
||||||
|
amp: float
|
||||||
|
width: float
|
||||||
|
x0: float = 0
|
||||||
|
params: tuple[float, ...] = field(default_factory=tuple)
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class VoigtFitResult:
|
||||||
|
name: str
|
||||||
|
curve: np.ndarray = field(repr=False)
|
||||||
|
covariance: np.ndarray
|
||||||
|
amp: float
|
||||||
|
gaussian_width: float
|
||||||
|
lorentzian_width: float
|
||||||
|
|
||||||
|
@property
|
||||||
|
def descr(self) -> str:
|
||||||
|
return (
|
||||||
|
f"{self.name} - Gaussian width : {self.gaussian_width:.2f}, "
|
||||||
|
f"Lorentzian width : {self.lorentzian_width:.2f}"
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def rough_fwhm(x: np.ndarray, y: np.ndarray) -> float:
|
||||||
|
m2 = y.max() / 2
|
||||||
|
ind = np.where(y >= m2)[0]
|
||||||
|
return (
|
||||||
|
x[np.minimum(ind + 1, len(x) - 1)][x[ind].argmax()]
|
||||||
|
- x[np.maximum(0, ind - 1)][x[ind].argmin()]
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def lorentzian(x: np.ndarray, amp: float, width: float, x0: float) -> np.ndarray:
|
||||||
|
"""Lorentzian function of max `amp`, FWHM `width` and position `x0`"""
|
||||||
|
gamma = (width * 0.5) ** 2
|
||||||
|
return amp * gamma / ((x - x0) ** 2 + gamma)
|
||||||
|
|
||||||
|
|
||||||
|
def unit_lorentzian(x: np.ndarray, width: float, x0: float) -> np.ndarray:
|
||||||
|
"""Normalized Lorentzian function of FWHM `width` and position `x0`"""
|
||||||
|
return lorentzian(x, 1 / (np.pi * width * 0.5), width, x0)
|
||||||
|
|
||||||
|
|
||||||
|
def peak_func(x: np.ndarray, amp: float, width: float, x0: float) -> np.ndarray:
|
||||||
|
"""2-sided decaying exp of max `amp`, FWHM `width` and position `x0`"""
|
||||||
|
a = 2 * LN2 / width
|
||||||
|
return amp * np.exp(-np.abs(x - x0) * a)
|
||||||
|
|
||||||
|
|
||||||
|
def fft_lorentzian(f: np.ndarray, dx: float, amp: float, width: float) -> np.ndarray:
|
||||||
|
"""
|
||||||
|
Same as `peak_func` but parametrized as the fourier transform
|
||||||
|
of a Lorentzian function of max `amp` and FWHM `width`
|
||||||
|
"""
|
||||||
|
gamma_sqrt = width / 2
|
||||||
|
return amp * np.pi * gamma_sqrt * np.exp(-2 * np.pi * gamma_sqrt * np.abs(f)) / dx
|
||||||
|
|
||||||
|
|
||||||
|
def gaussian(x: np.ndarray, amp: float, width: float, x0: float) -> np.ndarray:
|
||||||
|
"""Gaussian function of max `amp`, FWHM `width` and position `x0`"""
|
||||||
|
sig2 = width**2 / (8 * LN2)
|
||||||
|
return amp * np.exp(-((x - x0) ** 2) / (2 * sig2))
|
||||||
|
|
||||||
|
|
||||||
|
def elevated_gaussian(x: np.ndarray, amp: float, width: float, x0: float, y0: float) -> np.ndarray:
|
||||||
|
"""Gaussian function of max `amp`, FWHM `width`, position `x0` and baseline `y0`"""
|
||||||
|
sig2 = width**2 / (8 * LN2)
|
||||||
|
return amp * np.exp(-((x - x0) ** 2) / (2 * sig2)) + y0
|
||||||
|
|
||||||
|
|
||||||
|
def unit_gaussian(x: np.ndarray, width: float, x0: float) -> np.ndarray:
|
||||||
|
"""Normalized Gaussian function of FWHM `width` and position `x0`"""
|
||||||
|
return gaussian(x, np.sqrt(4 * LN2 / np.pi) / width, width, x0)
|
||||||
|
|
||||||
|
|
||||||
|
def fft_gaussian(f: np.ndarray, dx: float, amp: float, width: float) -> np.ndarray:
|
||||||
|
"""
|
||||||
|
Same as `gaussian` but parametrized as the fourier transform
|
||||||
|
of another Gaussian function of max `amp` and FWHM `width`
|
||||||
|
""" # exp_param =
|
||||||
|
freq_amp = amp * width / 2 * np.sqrt(np.pi / LN2) / dx
|
||||||
|
freq_width = 4 * LN2 / (width * np.pi)
|
||||||
|
return gaussian(f, freq_amp, freq_width, 0)
|
||||||
|
|
||||||
|
|
||||||
|
def voigt(x: np.ndarray, amp: float, gaussian_width: float, lorentzian_width: float) -> np.ndarray:
|
||||||
|
"""Voigt profile of max 1 with specified Gaussian and Lorentzian FWHM"""
|
||||||
|
conv = convolve(unit_gaussian(x, gaussian_width, 0), unit_lorentzian(x, lorentzian_width, 0))
|
||||||
|
if conv.max() > 0:
|
||||||
|
return conv * amp / conv.max()
|
||||||
|
return conv
|
||||||
|
|
||||||
|
|
||||||
|
def log_voigt(
|
||||||
|
x: np.ndarray, amp: float, gaussian_width: float, lorentzian_width: float
|
||||||
|
) -> np.ndarray:
|
||||||
|
"""log of `voigt`"""
|
||||||
|
return np.log(voigt(x, amp, gaussian_width, lorentzian_width))
|
||||||
|
|
||||||
|
|
||||||
|
def fft_voigt(
|
||||||
|
f: np.ndarray, dx: float, amp: float, gaussian_width: float, lorentzian_width: float
|
||||||
|
) -> np.ndarray:
|
||||||
|
"""
|
||||||
|
returns the product of a `peak_func` and a `gaussian`
|
||||||
|
parameterized as the Fourier transform of a Voigt profile
|
||||||
|
given by `gaussian_width` and `lorentzian_width`
|
||||||
|
"""
|
||||||
|
profile = fft_gaussian(f, dx, 1, gaussian_width) * fft_lorentzian(f, dx, 1, lorentzian_width)
|
||||||
|
fac = amp / np.abs(np.fft.ifft(np.fft.fftshift(profile))).max()
|
||||||
|
return profile * fac
|
||||||
|
|
||||||
|
|
||||||
|
def single_func_fit(
|
||||||
|
x: np.ndarray,
|
||||||
|
y: np.ndarray,
|
||||||
|
fct: Callable[[np.ndarray, float, float, float], np.ndarray],
|
||||||
|
force_center=False,
|
||||||
|
use_weights=False,
|
||||||
|
extra_params: int = 0,
|
||||||
|
) -> FitResult:
|
||||||
|
"""fits a single bell-like function (Gaussian or Lorentian, not Voigt)
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
x : np.ndarray
|
||||||
|
x input
|
||||||
|
y : np.ndarray
|
||||||
|
corresponding y data
|
||||||
|
fct : Callable[[np.ndarray, float, float, float], np.ndarray]
|
||||||
|
function to fit
|
||||||
|
force_center : bool, optional
|
||||||
|
assume the bell is centered at x=0, by default False
|
||||||
|
use_weights : bool, optional
|
||||||
|
give more importance to higher y values, by default False
|
||||||
|
|
||||||
|
Returns
|
||||||
|
-------
|
||||||
|
FitResult
|
||||||
|
resuts of the fit
|
||||||
|
"""
|
||||||
|
if force_center:
|
||||||
|
|
||||||
|
def _fct(_x: np.ndarray, amp: float, width: float):
|
||||||
|
return fct(_x, amp, width, 0)
|
||||||
|
|
||||||
|
fct = _fct
|
||||||
|
am = y.argmax()
|
||||||
|
xm = x.mean()
|
||||||
|
fwhm = rough_fwhm(x, y)
|
||||||
|
params, cov = curve_fit(
|
||||||
|
fct,
|
||||||
|
x - xm,
|
||||||
|
y,
|
||||||
|
sigma=1 / y if use_weights else None,
|
||||||
|
p0=[y[am], fwhm, x[am] - xm] + [0] * extra_params,
|
||||||
|
)
|
||||||
|
params[2] += xm
|
||||||
|
curve = fct(x, *params)
|
||||||
|
return FitResult(curve, cov, params[0], params[1], params[2], tuple(params))
|
||||||
|
|
||||||
|
|
||||||
|
def linear_direct_voigt_fit(x: np.ndarray, y: np.ndarray, use_weights=False) -> VoigtFitResult:
|
||||||
|
fwhm = rough_fwhm(x, y)
|
||||||
|
params, cov = curve_fit(
|
||||||
|
voigt, x, y, sigma=1 / y if use_weights else None, p0=[y.max(), fwhm / 2, fwhm / 2]
|
||||||
|
)
|
||||||
|
curve = voigt(x, *params)
|
||||||
|
return VoigtFitResult("Linear direct fit", curve, cov, *params)
|
||||||
|
|
||||||
|
|
||||||
|
def log_direct_voigt_fit(x: np.ndarray, y: np.ndarray) -> VoigtFitResult:
|
||||||
|
ind = y > 0
|
||||||
|
y_fit = np.log(y[ind])
|
||||||
|
x_fit = x[ind]
|
||||||
|
params, cov = curve_fit(log_voigt, x_fit, y_fit, bounds=[1e-12, np.inf])
|
||||||
|
curve = voigt(x, *params)
|
||||||
|
return VoigtFitResult("Log direct fit", curve, cov, *params)
|
||||||
|
|
||||||
|
|
||||||
|
def linear_fft_voigt_fit(f: np.ndarray, A: np.ndarray, x: np.ndarray, dx: float) -> VoigtFitResult:
|
||||||
|
fwhm = 4 * LN2 / (np.pi * rough_fwhm(f, A))
|
||||||
|
params, cov = curve_fit(
|
||||||
|
lambda _f, _amp, _gau, _lor: fft_voigt(_f, dx, _amp, _gau, _lor),
|
||||||
|
f,
|
||||||
|
A,
|
||||||
|
bounds=[1e-12, np.inf],
|
||||||
|
p0=[A.max(), fwhm, fwhm / 10],
|
||||||
|
)
|
||||||
|
curve = voigt(x, *params)
|
||||||
|
return VoigtFitResult("Linear FFT fit", curve, cov, *params)
|
||||||
|
|
||||||
|
|
||||||
|
def convolve(gau: np.ndarray, lor: np.ndarray) -> np.ndarray:
|
||||||
|
return np.convolve(gau, lor, mode="same")
|
||||||
|
|
||||||
|
|
||||||
|
def add_noise(arr: np.ndarray, abs_fac: float, rel_fac: float):
|
||||||
|
return (
|
||||||
|
arr + abs_fac * np.random.rand(len(arr)) + rel_fac * arr * (np.random.rand(len(arr)) - 0.5)
|
||||||
|
)
|
||||||
231
uv.lock
generated
Normal file
231
uv.lock
generated
Normal file
@@ -0,0 +1,231 @@
|
|||||||
|
version = 1
|
||||||
|
requires-python = ">=3.10"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "click"
|
||||||
|
version = "8.1.7"
|
||||||
|
source = { registry = "https://pypi.org/simple" }
|
||||||
|
dependencies = [
|
||||||
|
{ name = "colorama", marker = "platform_system == 'Windows'" },
|
||||||
|
]
|
||||||
|
sdist = { url = "https://files.pythonhosted.org/packages/96/d3/f04c7bfcf5c1862a2a5b845c6b2b360488cf47af55dfa79c98f6a6bf98b5/click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de", size = 336121 }
|
||||||
|
wheels = [
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/00/2e/d53fa4befbf2cfa713304affc7ca780ce4fc1fd8710527771b58311a3229/click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28", size = 97941 },
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "colorama"
|
||||||
|
version = "0.4.6"
|
||||||
|
source = { registry = "https://pypi.org/simple" }
|
||||||
|
sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697 }
|
||||||
|
wheels = [
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335 },
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "linemeasurement"
|
||||||
|
version = "0.1.0"
|
||||||
|
source = { editable = "." }
|
||||||
|
dependencies = [
|
||||||
|
{ name = "click" },
|
||||||
|
{ name = "numpy" },
|
||||||
|
{ name = "plotapp" },
|
||||||
|
{ name = "scipy" },
|
||||||
|
]
|
||||||
|
|
||||||
|
[package.metadata]
|
||||||
|
requires-dist = [
|
||||||
|
{ name = "click" },
|
||||||
|
{ name = "numpy" },
|
||||||
|
{ name = "plotapp", url = "http://130.92.113.172/plotapp-0.1.1.zip" },
|
||||||
|
{ name = "scipy" },
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "numpy"
|
||||||
|
version = "2.1.1"
|
||||||
|
source = { registry = "https://pypi.org/simple" }
|
||||||
|
sdist = { url = "https://files.pythonhosted.org/packages/59/5f/9003bb3e632f2b58f5e3a3378902dcc73c5518070736c6740fe52454e8e1/numpy-2.1.1.tar.gz", hash = "sha256:d0cf7d55b1051387807405b3898efafa862997b4cba8aa5dbe657be794afeafd", size = 18874860 }
|
||||||
|
wheels = [
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/d5/37/e3de47233b3ba458b1021a6f95029198b2f68a83eb886a862640b6ec3e9a/numpy-2.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c8a0e34993b510fc19b9a2ce7f31cb8e94ecf6e924a40c0c9dd4f62d0aac47d9", size = 21150738 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/69/30/f41c9b6dab4e1ec56b40d1daa81ce9f9f8d26da6d02af18768a883676bd5/numpy-2.1.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:7dd86dfaf7c900c0bbdcb8b16e2f6ddf1eb1fe39c6c8cca6e94844ed3152a8fd", size = 13758247 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/e1/30/d2f71d3419ada3b3735e2ce9cea7dfe22c268ac9fbb24e0b5ac5fc222633/numpy-2.1.1-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:5889dd24f03ca5a5b1e8a90a33b5a0846d8977565e4ae003a63d22ecddf6782f", size = 5353756 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/84/64/879bd6877488441cfaa578c96bdc4b43710d7e3ae4f8260fbd04821da395/numpy-2.1.1-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:59ca673ad11d4b84ceb385290ed0ebe60266e356641428c845b39cd9df6713ab", size = 6886809 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/cd/c4/869f8db87f5c9df86b93ca42036f58911ff162dd091a41e617977ab50d1f/numpy-2.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:13ce49a34c44b6de5241f0b38b07e44c1b2dcacd9e36c30f9c2fcb1bb5135db7", size = 13977367 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/7d/4b/a509d346fffede6120cc17610cc500819417ee9c3da7f08d9aaf15cab2a3/numpy-2.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:913cc1d311060b1d409e609947fa1b9753701dac96e6581b58afc36b7ee35af6", size = 16326516 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/4a/0c/fdba41b2ddeb7a052f84d85fb17d5e168af0e8034b3a2d6e369b7cc2966f/numpy-2.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:caf5d284ddea7462c32b8d4a6b8af030b6c9fd5332afb70e7414d7fdded4bfd0", size = 16702642 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/bf/8d/a8da065a46515efdbcf81a92535b816ea17194ce5b767df1f13815c32179/numpy-2.1.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:57eb525e7c2a8fdee02d731f647146ff54ea8c973364f3b850069ffb42799647", size = 14475522 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/b9/d2/5b7cf5851af48c35a73b85750b41f9b622760ee11659665a688e6b3f7cb7/numpy-2.1.1-cp310-cp310-win32.whl", hash = "sha256:9a8e06c7a980869ea67bbf551283bbed2856915f0a792dc32dd0f9dd2fb56728", size = 6535211 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/e5/6a/b1f7d73fec1942ded4b474a78c3fdd11c4fad5232143f41dd7e6ae166080/numpy-2.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:d10c39947a2d351d6d466b4ae83dad4c37cd6c3cdd6d5d0fa797da56f710a6ae", size = 12865289 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/f7/86/2c01070424a42b286ea0271203682c3d3e81e10ce695545b35768307b383/numpy-2.1.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0d07841fd284718feffe7dd17a63a2e6c78679b2d386d3e82f44f0108c905550", size = 21154850 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/ef/4e/d3426d9e620a18bbb979f28e4dc7f9a2c35eb7cf726ffcb33545ebdd3e6a/numpy-2.1.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b5613cfeb1adfe791e8e681128f5f49f22f3fcaa942255a6124d58ca59d9528f", size = 13789477 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/c6/6e/fb6b1b2da9f4c757f55b202f10b6af0fe4fee87ace6e830228a12ab8ae5d/numpy-2.1.1-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:0b8cc2715a84b7c3b161f9ebbd942740aaed913584cae9cdc7f8ad5ad41943d0", size = 5351769 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/58/9a/07c8a9dc7254f3265ae014e33768d1cfd8eb73ee6cf215f4ec3b497e4255/numpy-2.1.1-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:b49742cdb85f1f81e4dc1b39dcf328244f4d8d1ded95dea725b316bd2cf18c95", size = 6890872 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/08/4e/3b50fa3b1e045793056ed5a1fc6f89dd897ff9cb00900ca6377fe552d442/numpy-2.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8d5f8a8e3bc87334f025194c6193e408903d21ebaeb10952264943a985066ca", size = 13984256 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/d9/37/108d692f7e2544b9ae972c7bfa06c26717871c273ccec86470bc3132b04d/numpy-2.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d51fc141ddbe3f919e91a096ec739f49d686df8af254b2053ba21a910ae518bf", size = 16337778 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/95/2d/df81a1be3be6d3a92fd12dfd6c26a0dc026b276136ec1056562342a484a2/numpy-2.1.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:98ce7fb5b8063cfdd86596b9c762bf2b5e35a2cdd7e967494ab78a1fa7f8b86e", size = 16710448 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/8f/34/4b2e604c5c44bd64b6c85e89d88871b41e60233b3ddf97419b37ae5b0c72/numpy-2.1.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:24c2ad697bd8593887b019817ddd9974a7f429c14a5469d7fad413f28340a6d2", size = 14489002 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/9f/0d/67c04b6bfefd0abbe7f60f7e4f11e3aca15d688faec1d1df089966105a9a/numpy-2.1.1-cp311-cp311-win32.whl", hash = "sha256:397bc5ce62d3fb73f304bec332171535c187e0643e176a6e9421a6e3eacef06d", size = 6533215 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/94/7a/4c00332a3ca79702bbc86228afd0e84e6f91b47222ec8cdf00677dd16481/numpy-2.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:ae8ce252404cdd4de56dcfce8b11eac3c594a9c16c231d081fb705cf23bd4d9e", size = 12870550 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/36/11/c573ef66c004f991989c2c6218229d9003164525549409aec5ec9afc0285/numpy-2.1.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:7c803b7934a7f59563db459292e6aa078bb38b7ab1446ca38dd138646a38203e", size = 20884403 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/6b/6c/a9fbef5fd2f9685212af2a9e47485cde9357c3e303e079ccf85127516f2d/numpy-2.1.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6435c48250c12f001920f0751fe50c0348f5f240852cfddc5e2f97e007544cbe", size = 13493375 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/34/f2/1316a6b08ad4c161d793abe81ff7181e9ae2e357a5b06352a383b9f8e800/numpy-2.1.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:3269c9eb8745e8d975980b3a7411a98976824e1fdef11f0aacf76147f662b15f", size = 5088823 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/be/15/fabf78a6d4a10c250e87daf1cd901af05e71501380532ac508879cc46a7e/numpy-2.1.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:fac6e277a41163d27dfab5f4ec1f7a83fac94e170665a4a50191b545721c6521", size = 6619825 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/9f/8a/76ddef3e621541ddd6984bc24d256a4e3422d036790cbbe449e6cad439ee/numpy-2.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fcd8f556cdc8cfe35e70efb92463082b7f43dd7e547eb071ffc36abc0ca4699b", size = 13696705 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/cb/22/2b840d297183916a95847c11f82ae11e248fa98113490b2357f774651e1d/numpy-2.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b9cd92c8f8e7b313b80e93cedc12c0112088541dcedd9197b5dee3738c1201", size = 16041649 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/c7/e8/6f4825d8f576cfd5e4d6515b9eec22bd618868bdafc8a8c08b446dcb65f0/numpy-2.1.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:afd9c680df4de71cd58582b51e88a61feed4abcc7530bcd3d48483f20fc76f2a", size = 16409358 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/bf/f8/5edf1105b0dc24fd66fc3e9e7f3bca3d920cde571caaa4375ec1566073c3/numpy-2.1.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8661c94e3aad18e1ea17a11f60f843a4933ccaf1a25a7c6a9182af70610b2313", size = 14172488 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/f4/c2/dddca3e69a024d2f249a5b68698328163cbdafb7e65fbf6d36373bbabf12/numpy-2.1.1-cp312-cp312-win32.whl", hash = "sha256:950802d17a33c07cba7fd7c3dcfa7d64705509206be1606f196d179e539111ed", size = 6237195 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/b7/98/5640a09daa3abf0caeaefa6e7bf0d10c0aa28a77c84e507d6a716e0e23df/numpy-2.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:3fc5eabfc720db95d68e6646e88f8b399bfedd235994016351b1d9e062c4b270", size = 12568082 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/6b/9e/8bc6f133bc6d359ccc9ec051853aded45504d217685191f31f46d36b7065/numpy-2.1.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:046356b19d7ad1890c751b99acad5e82dc4a02232013bd9a9a712fddf8eb60f5", size = 20834810 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/32/1b/429519a2fa28681814c511574017d35f3aab7136d554cc65f4c1526dfbf5/numpy-2.1.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6e5a9cb2be39350ae6c8f79410744e80154df658d5bea06e06e0ac5bb75480d5", size = 13507739 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/25/18/c732d7dd9896d11e4afcd487ac65e62f9fa0495563b7614eb850765361fa/numpy-2.1.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:d4c57b68c8ef5e1ebf47238e99bf27657511ec3f071c465f6b1bccbef12d4136", size = 5074465 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/3e/37/838b7ae9262c370ab25312bab365492016f11810ffc03ebebbd54670b669/numpy-2.1.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:8ae0fd135e0b157365ac7cc31fff27f07a5572bdfc38f9c2d43b2aff416cc8b0", size = 6606418 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/8b/b9/7ff3bfb71e316a5b43a124c4b7a5881ab12f3c32636014bef1f757f19dbd/numpy-2.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:981707f6b31b59c0c24bcda52e5605f9701cb46da4b86c2e8023656ad3e833cb", size = 13692464 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/42/78/75bcf16e6737cd196ff7ecf0e1fd3f953293a34dff4fd93fb488e8308536/numpy-2.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ca4b53e1e0b279142113b8c5eb7d7a877e967c306edc34f3b58e9be12fda8df", size = 16037763 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/23/99/36bf5ffe034d06df307bc783e25cf164775863166dcd878879559fe0379f/numpy-2.1.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:e097507396c0be4e547ff15b13dc3866f45f3680f789c1a1301b07dadd3fbc78", size = 16410374 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/7f/16/04c5dab564887d4cd31a9ed30e51467fa70d52a4425f5a9bd1eed5b3d34c/numpy-2.1.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f7506387e191fe8cdb267f912469a3cccc538ab108471291636a96a54e599556", size = 14169873 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/09/e0/d1b5adbf1731886c4186c59a9fa208585df9452a43a2b60e79af7c649717/numpy-2.1.1-cp313-cp313-win32.whl", hash = "sha256:251105b7c42abe40e3a689881e1793370cc9724ad50d64b30b358bbb3a97553b", size = 6234118 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/d0/9c/2391ee6e9ebe77232ddcab29d92662b545e99d78c3eb3b4e26d59b9ca1ca/numpy-2.1.1-cp313-cp313-win_amd64.whl", hash = "sha256:f212d4f46b67ff604d11fff7cc62d36b3e8714edf68e44e9760e19be38c03eb0", size = 12561742 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/38/0e/c4f754f9e73f9bb520e8bf418c646f2c4f70c5d5f2bc561e90f884593193/numpy-2.1.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:920b0911bb2e4414c50e55bd658baeb78281a47feeb064ab40c2b66ecba85553", size = 20858403 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/32/fc/d69092b9171efa0cb8079577e71ce0cac0e08f917d33f6e99c916ed51d44/numpy-2.1.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:bab7c09454460a487e631ffc0c42057e3d8f2a9ddccd1e60c7bb8ed774992480", size = 13519851 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/14/2a/d7cf2cd9f15b23f623075546ea64a2c367cab703338ca22aaaecf7e704df/numpy-2.1.1-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:cea427d1350f3fd0d2818ce7350095c1a2ee33e30961d2f0fef48576ddbbe90f", size = 5115444 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/8e/00/e87b2cb4afcecca3b678deefb8fa53005d7054f3b5c39596e5554e5d98f8/numpy-2.1.1-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:e30356d530528a42eeba51420ae8bf6c6c09559051887196599d96ee5f536468", size = 6628903 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/ab/9d/337ae8721b3beec48c3413d71f2d44b2defbf3c6f7a85184fc18b7b61f4a/numpy-2.1.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8dfa9e94fc127c40979c3eacbae1e61fda4fe71d84869cc129e2721973231ef", size = 13665945 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/c0/90/ee8668e84c5d5cc080ef3beb622c016adf19ca3aa51afe9dbdcc6a9baf59/numpy-2.1.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:910b47a6d0635ec1bd53b88f86120a52bf56dcc27b51f18c7b4a2e2224c29f0f", size = 16023473 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/38/a0/57c24b2131879183051dc698fbb53fd43b77c3fa85b6e6311014f2bc2973/numpy-2.1.1-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:13cc11c00000848702322af4de0147ced365c81d66053a67c2e962a485b3717c", size = 16400624 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/bb/4c/14a41eb5c9548c6cee6af0936eabfd985c69230ffa2f2598321431a9aa0a/numpy-2.1.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:53e27293b3a2b661c03f79aa51c3987492bd4641ef933e366e0f9f6c9bf257ec", size = 14155072 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/94/9a/d6a5d138b53ccdc002fdf07f0d1a960326c510e66cbfff7180c88d37c482/numpy-2.1.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:7be6a07520b88214ea85d8ac8b7d6d8a1839b0b5cb87412ac9f49fa934eb15d5", size = 20982055 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/40/b5/78d8b5481aeef6d2aad3724c6aa5398045d2657038dfe54c055cae1fcf75/numpy-2.1.1-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:52ac2e48f5ad847cd43c4755520a2317f3380213493b9d8a4c5e37f3b87df504", size = 6750222 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/eb/9a/59a548ad57df8c432bfac4556504a9fae5c082ffea53d108fcf7ce2956e4/numpy-2.1.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50a95ca3560a6058d6ea91d4629a83a897ee27c00630aed9d933dff191f170cd", size = 16141236 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/02/31/3cbba87e998748b2e33ca5bc6fcc5662c867037f980918e302aebdf139a2/numpy-2.1.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:99f4a9ee60eed1385a86e82288971a51e71df052ed0b2900ed30bc840c0f2e39", size = 12789681 },
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "plotapp"
|
||||||
|
version = "0.1.1"
|
||||||
|
source = { url = "http://130.92.113.172/plotapp-0.1.1.zip" }
|
||||||
|
dependencies = [
|
||||||
|
{ name = "numpy" },
|
||||||
|
{ name = "pyqtgraph" },
|
||||||
|
{ name = "pyside6" },
|
||||||
|
]
|
||||||
|
sdist = { url = "http://130.92.113.172/plotapp-0.1.1.zip", hash = "sha256:e2ea15671d57ddfe077f369ef1f5809abbef1334fe549f3416c1e35134233276" }
|
||||||
|
|
||||||
|
[package.metadata]
|
||||||
|
requires-dist = [
|
||||||
|
{ name = "numpy", specifier = ">=1.23.0" },
|
||||||
|
{ name = "pyqtgraph", specifier = ">=0.13.1" },
|
||||||
|
{ name = "pyside6", specifier = ">=6.4.0" },
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "pyqtgraph"
|
||||||
|
version = "0.13.7"
|
||||||
|
source = { registry = "https://pypi.org/simple" }
|
||||||
|
dependencies = [
|
||||||
|
{ name = "numpy" },
|
||||||
|
]
|
||||||
|
sdist = { url = "https://files.pythonhosted.org/packages/33/d9/b62d5cddb3caa6e5145664bee5ed90223dee23ca887ed3ee479f2609e40a/pyqtgraph-0.13.7.tar.gz", hash = "sha256:64f84f1935c6996d0e09b1ee66fe478a7771e3ca6f3aaa05f00f6e068321d9e3", size = 2343380 }
|
||||||
|
wheels = [
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/7b/34/5702b3b7cafe99be1d94b42f100e8cc5e6957b761fcb1cf5f72d492851da/pyqtgraph-0.13.7-py3-none-any.whl", hash = "sha256:7754edbefb6c367fa0dfb176e2d0610da3ada20aa7a5318516c74af5fb72bf7a", size = 1925473 },
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "pyside6"
|
||||||
|
version = "6.7.2"
|
||||||
|
source = { registry = "https://pypi.org/simple" }
|
||||||
|
dependencies = [
|
||||||
|
{ name = "pyside6-addons" },
|
||||||
|
{ name = "pyside6-essentials" },
|
||||||
|
{ name = "shiboken6" },
|
||||||
|
]
|
||||||
|
wheels = [
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/df/57/69b9104f6a30a7f2c0ed78c425304ab964e9b10907b5e1d9d744dd1f714e/PySide6-6.7.2-cp39-abi3-macosx_11_0_universal2.whl", hash = "sha256:602debef9ec159b0db48f83b38a0e43e2dad3961f7d99f708d98620f04e9112b", size = 530200 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/34/a6/278c7ed2f76ccfa471c49eb66538243dc0d892fe481b9b6a8bbad8846ba0/PySide6-6.7.2-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:15e7696a09072ee977f6e6179ab1e48184953df8417bcaa83cfadf0b79747242", size = 530812 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/71/d7/794d490899f0118b2a40221508e4fd7ea67ffd6e790a627a39e7582841cb/PySide6-6.7.2-cp39-abi3-manylinux_2_31_aarch64.whl", hash = "sha256:6e0acb471535de303f56e3077aa86f53496b4de659b99ecce80520bcee508a63", size = 530721 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/c2/ee/15cb7e277b3c88806d9baaa334b7923b2f1bdc461b38461bc70d368a8481/PySide6-6.7.2-cp39-abi3-win_amd64.whl", hash = "sha256:f73ae0de77d67f51ca3ce8207b12d3a5fa0107d3d5b6e4aeb3b53ee842b0927a", size = 537990 },
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "pyside6-addons"
|
||||||
|
version = "6.7.2"
|
||||||
|
source = { registry = "https://pypi.org/simple" }
|
||||||
|
dependencies = [
|
||||||
|
{ name = "pyside6-essentials" },
|
||||||
|
{ name = "shiboken6" },
|
||||||
|
]
|
||||||
|
wheels = [
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/3f/8f/8ba019ec6e413c48e2852efea35215d2a340dd0285701712f017dc7ca698/PySide6_Addons-6.7.2-cp39-abi3-macosx_11_0_universal2.whl", hash = "sha256:90b995efce61058d995c603ea480a9a3054fe8206739dcbc273fc3b53d40650f", size = 258221435 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/7f/f2/2128d3876f0c45fcb73000b272be64e1f3b1189f77d79820d7a706051e55/PySide6_Addons-6.7.2-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:94b9bf6a2a4a7ac671e1776633e50d51326c86f4184f1c6e556f4dd5498fd52a", size = 137499800 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/e8/3c/6250b74da83a8a8a26c27d8a3041a31880b20ede88d004ef9dbe49d108bc/PySide6_Addons-6.7.2-cp39-abi3-manylinux_2_31_aarch64.whl", hash = "sha256:22979b1aa09d9cf1d7a86c8a9aa0cb4791d6bd1cc94f96c5b6780c5ef8a9e34e", size = 122681790 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/8a/47/35794fc8c8cab42d924ac0287dfe489201c3743066a1eea34cdde2926cc1/PySide6_Addons-6.7.2-cp39-abi3-win_amd64.whl", hash = "sha256:ebf549eb25998665d8e4ec24014fbbd37bebc5ecdcb050b34db1e1c03e1bf81d", size = 123043845 },
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "pyside6-essentials"
|
||||||
|
version = "6.7.2"
|
||||||
|
source = { registry = "https://pypi.org/simple" }
|
||||||
|
dependencies = [
|
||||||
|
{ name = "shiboken6" },
|
||||||
|
]
|
||||||
|
wheels = [
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/3f/41/c97a442a9e334e0c8025465ee63d7b303c5ab42a1e323c2b9cebca58a936/PySide6_Essentials-6.7.2-cp39-abi3-macosx_11_0_universal2.whl", hash = "sha256:4d13666e796ec140ecfb432c4f3d7baef6dfafc11929985a83b22c0025532fb7", size = 153954994 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/75/be/527e41a7744142d931e46685dd9c2bdfff39432962abf8a5263be319c2cb/PySide6_Essentials-6.7.2-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:a1a4c09f1e916b9cfe53151fe4a503a6acb1f6621ba28204d1bfe636f80d6780", size = 87668883 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/42/e0/40994873471ab7fabbff098560a9fe0c08a2182c2eb501e31b1148e7bd44/PySide6_Essentials-6.7.2-cp39-abi3-manylinux_2_31_aarch64.whl", hash = "sha256:9135513e1c4c6e2fbb1e4f9afcb3d42e54708b0d9ed870cb3213ea4874cafa1e", size = 87969972 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/69/55/cff72ecb1d36422e7f41f8d64d49c7c7e1f8dc6648e2b30ba72950883444/PySide6_Essentials-6.7.2-cp39-abi3-win_amd64.whl", hash = "sha256:0111d5fa8cf826de3ca9d82fed54726cce116d57f454f88a6467578652032d69", size = 78946678 },
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "scipy"
|
||||||
|
version = "1.14.1"
|
||||||
|
source = { registry = "https://pypi.org/simple" }
|
||||||
|
dependencies = [
|
||||||
|
{ name = "numpy" },
|
||||||
|
]
|
||||||
|
sdist = { url = "https://files.pythonhosted.org/packages/62/11/4d44a1f274e002784e4dbdb81e0ea96d2de2d1045b2132d5af62cc31fd28/scipy-1.14.1.tar.gz", hash = "sha256:5a275584e726026a5699459aa72f828a610821006228e841b94275c4a7c08417", size = 58620554 }
|
||||||
|
wheels = [
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/64/68/3bc0cfaf64ff507d82b1e5d5b64521df4c8bf7e22bc0b897827cbee9872c/scipy-1.14.1-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:b28d2ca4add7ac16ae8bb6632a3c86e4b9e4d52d3e34267f6e1b0c1f8d87e389", size = 39069598 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/43/a5/8d02f9c372790326ad405d94f04d4339482ec082455b9e6e288f7100513b/scipy-1.14.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:d0d2821003174de06b69e58cef2316a6622b60ee613121199cb2852a873f8cf3", size = 29879676 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/07/42/0e0bea9666fcbf2cb6ea0205db42c81b1f34d7b729ba251010edf9c80ebd/scipy-1.14.1-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:8bddf15838ba768bb5f5083c1ea012d64c9a444e16192762bd858f1e126196d0", size = 23088696 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/15/47/298ab6fef5ebf31b426560e978b8b8548421d4ed0bf99263e1eb44532306/scipy-1.14.1-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:97c5dddd5932bd2a1a31c927ba5e1463a53b87ca96b5c9bdf5dfd6096e27efc3", size = 25470699 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/d8/df/cdb6be5274bc694c4c22862ac3438cb04f360ed9df0aecee02ce0b798380/scipy-1.14.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2ff0a7e01e422c15739ecd64432743cf7aae2b03f3084288f399affcefe5222d", size = 35606631 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/47/78/b0c2c23880dd1e99e938ad49ccfb011ae353758a2dc5ed7ee59baff684c3/scipy-1.14.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8e32dced201274bf96899e6491d9ba3e9a5f6b336708656466ad0522d8528f69", size = 41178528 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/5d/aa/994b45c34b897637b853ec04334afa55a85650a0d11dacfa67232260fb0a/scipy-1.14.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8426251ad1e4ad903a4514712d2fa8fdd5382c978010d1c6f5f37ef286a713ad", size = 42784535 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/e7/1c/8daa6df17a945cb1a2a1e3bae3c49643f7b3b94017ff01a4787064f03f84/scipy-1.14.1-cp310-cp310-win_amd64.whl", hash = "sha256:a49f6ed96f83966f576b33a44257d869756df6cf1ef4934f59dd58b25e0327e5", size = 44772117 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/b2/ab/070ccfabe870d9f105b04aee1e2860520460ef7ca0213172abfe871463b9/scipy-1.14.1-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:2da0469a4ef0ecd3693761acbdc20f2fdeafb69e6819cc081308cc978153c675", size = 39076999 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/a7/c5/02ac82f9bb8f70818099df7e86c3ad28dae64e1347b421d8e3adf26acab6/scipy-1.14.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:c0ee987efa6737242745f347835da2cc5bb9f1b42996a4d97d5c7ff7928cb6f2", size = 29894570 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/ed/05/7f03e680cc5249c4f96c9e4e845acde08eb1aee5bc216eff8a089baa4ddb/scipy-1.14.1-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:3a1b111fac6baec1c1d92f27e76511c9e7218f1695d61b59e05e0fe04dc59617", size = 23103567 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/5e/fc/9f1413bef53171f379d786aabc104d4abeea48ee84c553a3e3d8c9f96a9c/scipy-1.14.1-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:8475230e55549ab3f207bff11ebfc91c805dc3463ef62eda3ccf593254524ce8", size = 25499102 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/c2/4b/b44bee3c2ddc316b0159b3d87a3d467ef8d7edfd525e6f7364a62cd87d90/scipy-1.14.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:278266012eb69f4a720827bdd2dc54b2271c97d84255b2faaa8f161a158c3b37", size = 35586346 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/93/6b/701776d4bd6bdd9b629c387b5140f006185bd8ddea16788a44434376b98f/scipy-1.14.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fef8c87f8abfb884dac04e97824b61299880c43f4ce675dd2cbeadd3c9b466d2", size = 41165244 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/06/57/e6aa6f55729a8f245d8a6984f2855696c5992113a5dc789065020f8be753/scipy-1.14.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b05d43735bb2f07d689f56f7b474788a13ed8adc484a85aa65c0fd931cf9ccd2", size = 42817917 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/ea/c2/5ecadc5fcccefaece775feadcd795060adf5c3b29a883bff0e678cfe89af/scipy-1.14.1-cp311-cp311-win_amd64.whl", hash = "sha256:716e389b694c4bb564b4fc0c51bc84d381735e0d39d3f26ec1af2556ec6aad94", size = 44781033 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/c0/04/2bdacc8ac6387b15db6faa40295f8bd25eccf33f1f13e68a72dc3c60a99e/scipy-1.14.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:631f07b3734d34aced009aaf6fedfd0eb3498a97e581c3b1e5f14a04164a456d", size = 39128781 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/c8/53/35b4d41f5fd42f5781dbd0dd6c05d35ba8aa75c84ecddc7d44756cd8da2e/scipy-1.14.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:af29a935803cc707ab2ed7791c44288a682f9c8107bc00f0eccc4f92c08d6e07", size = 29939542 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/66/67/6ef192e0e4d77b20cc33a01e743b00bc9e68fb83b88e06e636d2619a8767/scipy-1.14.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:2843f2d527d9eebec9a43e6b406fb7266f3af25a751aa91d62ff416f54170bc5", size = 23148375 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/f6/32/3a6dedd51d68eb7b8e7dc7947d5d841bcb699f1bf4463639554986f4d782/scipy-1.14.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:eb58ca0abd96911932f688528977858681a59d61a7ce908ffd355957f7025cfc", size = 25578573 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/f0/5a/efa92a58dc3a2898705f1dc9dbaf390ca7d4fba26d6ab8cfffb0c72f656f/scipy-1.14.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:30ac8812c1d2aab7131a79ba62933a2a76f582d5dbbc695192453dae67ad6310", size = 35319299 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/8e/ee/8a26858ca517e9c64f84b4c7734b89bda8e63bec85c3d2f432d225bb1886/scipy-1.14.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f9ea80f2e65bdaa0b7627fb00cbeb2daf163caa015e59b7516395fe3bd1e066", size = 40849331 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/a5/cd/06f72bc9187840f1c99e1a8750aad4216fc7dfdd7df46e6280add14b4822/scipy-1.14.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:edaf02b82cd7639db00dbff629995ef185c8df4c3ffa71a5562a595765a06ce1", size = 42544049 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/aa/7d/43ab67228ef98c6b5dd42ab386eae2d7877036970a0d7e3dd3eb47a0d530/scipy-1.14.1-cp312-cp312-win_amd64.whl", hash = "sha256:2ff38e22128e6c03ff73b6bb0f85f897d2362f8c052e3b8ad00532198fbdae3f", size = 44521212 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/50/ef/ac98346db016ff18a6ad7626a35808f37074d25796fd0234c2bb0ed1e054/scipy-1.14.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:1729560c906963fc8389f6aac023739ff3983e727b1a4d87696b7bf108316a79", size = 39091068 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/b9/cc/70948fe9f393b911b4251e96b55bbdeaa8cca41f37c26fd1df0232933b9e/scipy-1.14.1-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:4079b90df244709e675cdc8b93bfd8a395d59af40b72e339c2287c91860deb8e", size = 29875417 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/3b/2e/35f549b7d231c1c9f9639f9ef49b815d816bf54dd050da5da1c11517a218/scipy-1.14.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:e0cf28db0f24a38b2a0ca33a85a54852586e43cf6fd876365c86e0657cfe7d73", size = 23084508 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/3f/d6/b028e3f3e59fae61fb8c0f450db732c43dd1d836223a589a8be9f6377203/scipy-1.14.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:0c2f95de3b04e26f5f3ad5bb05e74ba7f68b837133a4492414b3afd79dfe540e", size = 25503364 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/a7/2f/6c142b352ac15967744d62b165537a965e95d557085db4beab2a11f7943b/scipy-1.14.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b99722ea48b7ea25e8e015e8341ae74624f72e5f21fc2abd45f3a93266de4c5d", size = 35292639 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/56/46/2449e6e51e0d7c3575f289f6acb7f828938eaab8874dbccfeb0cd2b71a27/scipy-1.14.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5149e3fd2d686e42144a093b206aef01932a0059c2a33ddfa67f5f035bdfe13e", size = 40798288 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/32/cd/9d86f7ed7f4497c9fd3e39f8918dd93d9f647ba80d7e34e4946c0c2d1a7c/scipy-1.14.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e4f5a7c49323533f9103d4dacf4e4f07078f360743dec7f7596949149efeec06", size = 42524647 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/f5/1b/6ee032251bf4cdb0cc50059374e86a9f076308c1512b61c4e003e241efb7/scipy-1.14.1-cp313-cp313-win_amd64.whl", hash = "sha256:baff393942b550823bfce952bb62270ee17504d02a1801d7fd0719534dfb9c84", size = 44469524 },
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "shiboken6"
|
||||||
|
version = "6.7.2"
|
||||||
|
source = { registry = "https://pypi.org/simple" }
|
||||||
|
wheels = [
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/64/d4/01c4b37fe224c0d3200a060bfbc1bb912a2a36995178f2dabb19f4a12ff7/shiboken6-6.7.2-cp39-abi3-macosx_11_0_universal2.whl", hash = "sha256:50c33ac6317b673a1eb97a9abaafccb162c4ba0c9ca658a8e449c49a8aadc379", size = 387480 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/57/ba/3e38bb62b285d73e46a86f44e7765cea5c42a79b0bba867dfabbdd12b54d/shiboken6-6.7.2-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:70e80737b27cd5d83504b373013b55e70462bd4a27217d919ff9a83958731990", size = 188970 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/7c/bb/06a19d1b00d46b3840595e43d7fa648b21683e4e98c4a69d0ea06aaf5e7f/shiboken6-6.7.2-cp39-abi3-manylinux_2_31_aarch64.whl", hash = "sha256:98bedf9a15f1d8ba1af3e4d1e7527f7946ce36da541e08074fd9dc9ab5ff1adf", size = 177052 },
|
||||||
|
{ url = "https://files.pythonhosted.org/packages/11/9f/50ed659cbce4664374707bf416e2fac2ff94de3253ab093d5dee7f53e02f/shiboken6-6.7.2-cp39-abi3-win_amd64.whl", hash = "sha256:9024e6afb2af1568ebfc8a5d07e4ff6c8829f40923eeb28901f535463e2b6b65", size = 1090289 },
|
||||||
|
]
|
||||||
1
wolfram.txt
Normal file
1
wolfram.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{A = a * x_1 + b * y_1 + e; B = c * x_1 + d * y_1 + f; C = a * x_2 + b * y_2 + e; D = c * x_2 + d * y_2 + f; E = a * x_3 + b * y_3 + e; F = c * x_3 + d * y_3 + f} solve for a, b, c, d, e, f
|
||||||
Reference in New Issue
Block a user