Browse Source

updates to repo

Manuel Schottdorf 3 years ago
parent
commit
ed1afd2f3f
69 changed files with 391248 additions and 1158 deletions
  1. 91 22
      README.md
  2. 23676 0
      data/lSS01079.txt
  3. 3045 0
      data/lSS01086.txt
  4. 26596 0
      data/lSS01087.txt
  5. 2659 0
      data/lSS01110.txt
  6. 23865 0
      data/lSS01112.txt
  7. 1335 0
      data/lSS01130.txt
  8. 10340 0
      data/lSS01131.txt
  9. 3160 0
      data/lSS01141.txt
  10. 24952 0
      data/lSS01142.txt
  11. 4825 0
      data/lSS01159.txt
  12. 41046 0
      data/lSS01160.txt
  13. 2085 0
      data/lSS01167.txt
  14. 19362 0
      data/lSS01168.txt
  15. 924 0
      data/lSS01178.txt
  16. 8188 0
      data/lSS01180.txt
  17. 33218 0
      data/lSS01183.txt
  18. 1789 0
      data/lSS01229.txt
  19. 13752 0
      data/lSS01231.txt
  20. 2877 0
      data/lSS01256.txt
  21. 25584 0
      data/lSS01257.txt
  22. 3376 0
      data/lSS01258.txt
  23. 31646 0
      data/lSS01259.txt
  24. 2719 0
      data/lSS01284.txt
  25. 24098 0
      data/lSS01285.txt
  26. BIN
      retinatools/__pycache__/__init__.cpython-38.pyc
  27. BIN
      retinatools/__pycache__/__init__.cpython-39.pyc
  28. BIN
      retinatools/__pycache__/library.cpython-38.pyc
  29. BIN
      retinatools/__pycache__/library.cpython-39.pyc
  30. 277 0
      run_model/.ipynb_checkpoints/BlueOn-checkpoint.ipynb
  31. 296 0
      run_model/.ipynb_checkpoints/MC_off-checkpoint.ipynb
  32. 289 0
      run_model/.ipynb_checkpoints/MC_on-checkpoint.ipynb
  33. 268 0
      run_model/.ipynb_checkpoints/PC_Gon-checkpoint.ipynb
  34. 275 0
      run_model/.ipynb_checkpoints/PC_Ron-checkpoint.ipynb
  35. 141 0
      run_model/.ipynb_checkpoints/PC_off-checkpoint.ipynb
  36. 264 0
      run_model/.ipynb_checkpoints/Piecharts-checkpoint.ipynb
  37. BIN
      run_model/078Moff.pdf
  38. 8998 0
      run_model/078Moff_time_cell_fit.csv
  39. BIN
      run_model/110Ron.pdf
  40. 8998 0
      run_model/110Ron_time_cell_fit.csv
  41. BIN
      run_model/130Gon.pdf
  42. 8998 0
      run_model/130Gon_time_cell_fit.csv
  43. BIN
      run_model/178Bon.pdf
  44. 8998 0
      run_model/178Bon_time_cell_fit.csv
  45. BIN
      run_model/299Mon.pdf
  46. 8998 0
      run_model/299Mon_time_cell_fit.csv
  47. 27 65
      run_model/BlueOn.ipynb
  48. 37 68
      run_model/MC_off.ipynb
  49. 35 59
      run_model/MC_on.ipynb
  50. 36 71
      run_model/PC_Gon.ipynb
  51. 33 50
      run_model/PC_Ron.ipynb
  52. 30 312
      run_model/PC_off.ipynb
  53. 27 511
      run_model/Piecharts.ipynb
  54. 1 0
      run_model/data/File078Moff.txt
  55. 1 0
      run_model/data/File110Ron.txt
  56. 1 0
      run_model/data/File130Gn.txt
  57. 1 0
      run_model/data/File167Ron.txt
  58. 1 0
      run_model/data/File178Bon.txt
  59. 1 0
      run_model/data/File181Moff.txt
  60. 1 0
      run_model/data/File194Ron.txt
  61. 9000 0
      run_model/data/File225+L-Moff.txt
  62. 1 0
      run_model/data/File229Bon.txt
  63. 1 0
      run_model/data/File254Mon.txt
  64. 1 0
      run_model/data/File256Moff.txt
  65. 1 0
      run_model/data/File258Mon.txt
  66. 1 0
      run_model/data/File284Gon.txt
  67. 1 0
      run_model/data/File287Gon.txt
  68. 1 0
      run_model/data/File299Mon.txt
  69. 1 0
      run_model/data/File302Bon.txt

+ 91 - 22
README.md

@@ -1,57 +1,126 @@
 # Overview
-This repository contains all raw data (spike times), and modelling code for the manuscript *"Macaque ganglion cells responses to natural scenes: time, not space is what they really care about"*
+This repository contains all raw data and modelling code for the manuscript *"Macaque ganglion cells responses to natural scenes: time, not space is what they really care about"*
 
-For further inquiries, don't hesitate to get in touch with us
-
-Barry Lee <blee@sunyopt.edu>
+For further inquiries, don't hesitate to get in touch with us<br/>
+Barry Lee <blee@sunyopt.edu><br/>
 Manuel Schottdorf <mschottdorf@princeton.edu>
 
-Funding for the project is through HHS, NIH, and the National Eye Institute EY13110
+Funding for the project: HHS, NIH, and the National Eye Institute via EY13110
 
 # Organization of the repository
 The repository is organized into five folders:
 
-- `\data\` contains the raw data of individual cells, organized into plain-text tables of spike-times.
+- `\data\` contains the raw data of individual cells, organized into plain-text tables of spike-times, together with some meta information.
 
 - `\stimuli\` contains the visual stimuli, and details for calibration, such as gamma correction and gun spectra.
 
 - `\retinatools\` contains the python-code of the model. It is used as a python-library in the following two folders:
 
-- `\run_model\` Contains jupyter-notebooks to to run the model, and reproduce the model-figures from the paper. This can be run on any laptop without problems. It also contains a subset of the data, obtained by averaging across the 6 1min repeats, for measuring model performance.
+- `\run_model\` Contains jupyter-notebooks to run the model, and reproduce the model-figures from the paper. This can be run on a laptop. This folder also contains a subset of the data (N=15), obtained from the spiking raw data by smoothing with first order kernels of 2 ms or 4 ms width (depending on cell type, see paper) and averaged across the 6 x 1min repeats, for measuring model performance.
 
-- `\run_model_HPC\` Contains the code to run the RGC model for whole arrays of cells, and was used to compute the supplemental movie (REMOVE BRODY).
+- `\run_model_HPC\` Contains the code to run the models on large arrays of cells, and was used to compute the supplemental movie. This requires ipyparallel and the slurm engine.
 
-All code was tested on mac os 11 with Python 3, numpy, scipy and cv2. 
+- All code was verified to run on macOS 11 "Bug Sur" from jupyter notebooks (6.1.5) with:
+  - Python 3.9.1
+  - Numpy 1.19.4
+  - Scipy 1.5.4
+  - cv2 4.5.0
 
 # Details of the data files.
 
 ## Organization of spiking data
-The time resolution on these data is 0.1 msec. 10 min files. These ASCII files are records of spike occurrence. Total spikes are given and then the video start time (an internal control; it varies from cell to cell).  The spikes/5 sec column are a check on firing rates through the video. In 0 are the total spikes before the video starts; time period is variable. The following 120 bins are spike counts in subsequent 5 sec epochs. Finally, bin 121 is spike count following the live video termination before recording was switched off. The spike time list that follows is referred to the begin of the live video (and have been corrected for a slight difference in clock rate between video and data acquisition computers). 6x1min files Format is similar. The first 1 min of the 10 min video is repeated 6 times. There is a variable delay (blank frames) before the beginning of the first live video repeat. The each live repeat is preceded by 5 sec of blank frames, and there are ca. 5 sec of blank frames after termination before the next repeat starts. After completion of the 6 repeats there is a further period of maintained activity (column 7).
+There are two types of files for the 6x1min and 10min records. Both contain ASCII records of spike occurrence, and some meta information. The time resolution on all data is 0.1 msec. 
+
+* 10 min files. Total spikes are given and then the video start time (an internal control; it varies from cell to cell).  The spikes/5 sec column are a check on firing rates through the video. In 0 are the total spikes before the video starts; time period is variable. The following 120 bins are spike counts in subsequent 5 sec epochs. Finally, bin 121 is spike count following the live video termination before recording was switched off. The spike time list that follows is referred to the begin of the live video (and have been corrected for a slight difference in clock rate between video and data acquisition computers).
+
+* 6 x 1min files: Format is similar. The first 1 min of the 10 min video is repeated 6 times. There is a variable delay (blank frames) before the beginning of the first live video repeat. The each live repeat is preceded by 5 sec of blank frames, and there are ca. 5 sec of blank frames after termination before the next repeat starts. After completion of the 6 repeats there is a further period of maintained activity (column 7).
 
 ## Cell List
 
-| File name     |  Cell Type      |  Record Duration | Cell Key     |
-|---------------|-----------------|-----------|--------|
-| Lss01071.txt	|     -M+L off    |   10 min  |	67#4   |
-| Lss01078.txt	|       MC off    |   6x1min  |	67#6   |
-| Lss01181.txt	|       MC off    |   6x1min  |	68#3   |
-| Lss01221.txt	|       MC on	  |   10 min  |	68#10  |
+| File name     |  Cell Type      |  Record Duration |   Cell Key   |
+|---------------|-----------------|------------------|--------------|
+| Lss01071.txt	|     -M+L off    |   10 min         |       67#4   |
+| Lss01078.txt	|       MC off    |   6 x 1min       |       67#6   |
+| Lss01079.txt  |       MC off    |   10 min         |       67#6   |
+| Lss01086.txt  |       MC on     |   6 x 1min       |       67#7   |
+| Lss01087.txt  |       MC on     |   10 min         |       67#7   |
+| Lss01110.txt  |       +L-Mon    |   6 x 1min       |       67#14  |
+| Lss01112.txt  |       +L-Mon    |   10 min         |       67#14  |
+| Lss01130.txt  |       +M-Lon    |   6 x 1min       |       67#21  |
+| Lss01131.txt  |       +M-Lon    |   10 min         |       67#21  |
+| Lss01141.txt  |       +M-Lon    |   6 x 1min       |       67#26  |
+| Lss01142.txt  |       +M-Lon    |   10 min         |       67#26  |
+| Lss01159.txt  |       MC off    |   6 x 1min       |       67#33  |
+| Lss01160.txt  |       MC off    |   10 min         |       67#33  |
+| Lss01167.txt  |       +L-Mon    |   6 x 1min       |       67#34  |
+| Lss01168.txt  |       +L-Mon    |   10 min         |       67#34  |
+| Lss01178.txt  |       S on      |   6 x 1min       |       68#1   |
+| Lss01180.txt  |       S on      |   10 min         |       68#1   |
+| Lss01181.txt	|       MC off    |   6 x 1min       |       68#3   |
+| Lss01183.txt  |       MC off    |   10min          |       68#3   |
+| Lss01221.txt	|       MC on	  |   10 min         |       68#10  |
+| Lss01229.txt  |       S on      |   6 x 1min       |       68#12  |
+| Lss01231.txt  |       S on      |   10 min         |       68#12  |
+| Lss01256.txt  |       M off     |   6 x 1min       |       69#6   |
+| Lss01257.txt  |       M off     |   10 min         |       69#6   |
+| Lss01258.txt  |       M on      |   6 x 1min       |       69#7   |
+| Lss01259.txt  |       M on      |   10 min         |       69#7   |
+| Lss01284.txt  |       +M-Lon    |   6 x 1min       |       69#7   |
+| Lss01285.txt  |       +M-Lon    |   10 min         |       69#7   |
 
 # Details of the stimulus videos
 
-1) 1x10_256.mpg  This is the 10 minute video. It begins with  751  blank frames (approximately equal energy white) followed by the 10 min live video (starting at frame 752, 90000 frames) followed by 750 blank frames. These frames were played at 150 frames/sec, 3 times acquisition rate. Timing pulses are provided on the audio channel beginning at the first frame of the video. They have a complex pattern, repeating every 5 sec. They were provided to ensure syncing with the data acquisition system that recorded spike trains.
+1. 1x10_256.mpg  This is the 10 minute video. It begins with  751  blank frames (approximately equal energy white) followed by the 10 min live video (starting at frame 752, 90000 frames) followed by 750 blank frames. These frames were played at 150 frames/sec, 3 times acquisition rate. Timing pulses are provided on the audio channel beginning at the first frame of the video. They have a complex pattern, repeating every 5 sec. They were provided to ensure syncing with the data acquisition system that recorded spike trains.
 
-2) 6x1_256.mpg.  This is 1 min video. Structure as in 1x10min, except only 9000 frames.
+2. 6x1_256.mpg. This is 1 min video. Structure as in 1x10min, except only 9000 frames.
 
-3) Gamma correction. The r,g,b, values (0-256) from the mpeg decompression can be converted to intensity values by
+3. Gamma correction. The r,g,b, values (0-256) from the mpeg decompression can be converted to intensity values using the following equations, where I is the r/g/b bit value:
+```
         red = 0.01451 + 0.9855*pow(1.0*I/256, 2.3122);
         green = 0.005123 + 0.9949*pow(1.0*I/256, 2.2752);
         blue = 0.02612 + 0.9739*pow(1.0*I/256, 2.2818);
+```
 
-where I is the bit value. 
+4. Gun spectra. The spectra measured for the 3 display guns are tabulated in GunSpectra.txt  Based on the gun spectra and luminance estimates, the gun values were calibrated to deliver the same luminance. However, based on reverse correlation analysis on M cells, it was estimated that, relative to the red gun, the green gun luminance was overestimated by ca. 5% and the blue gun underestimated by ca. 20%. The gamma-corrected intensities can be converted into l/m/s cone signals using the following equation:
+``` 
+    lcone = 2.74*rgamma + 3.4*ggamma + 1.34*bgamma
+    mcone = 1.21*(1.06*rgamma + 3.58*ggamma + 2.07*bgamma)
+    scone = 0.212*rgamma + 8.28*ggamma + 285*bgamma
+```
 
-4) Gun spectra. The spectra measured for the 3 display guns are tabulated in GunSpectra.txt  Based on the gun spectra and luminance estimates, the gun values were calibrated to deliver the same luminance. However, based on reverse correlation analysis on M cells, it was estimated that, relative to the red gun, the green gun luminance was overestimated by ca. 5% and the blue gun underestimated by ca. 20%.
+5. These parameters were considered constant and not further optimized.
 
 # Model details
 
-A codel for primate retinal MC/PC/KC responses to natural scenes
+1. The averaged 6 x 1 min responses were best for modeling, while the 10 min runs gave better results for the reverse correlation. 
+
+1. For rates, using filters employed in the previous paper (van Hateren et al.,
+2002); 8-stage low pass filters were used with time constants of 2 msec for MC-cells
+and 4 msec for PC- and S-cone cells.
+
+1. The model provides additional data files in /data with the averaged 6x 1min into firing rates. The format of these files is 2xT, where the first column is the cells activity, and the second column is an estimate of luminance. For modelling, we only use column 1.
+
+2. A codel for primate retinal MC/PC/KC responses to natural scenes, produces fits to the following cells:
+
+| File name     |  Cell Type      |  corr. with model |  Notes     |
+|---------------|-----------------|-------------------|------------|
+| 078	        |     MC off      |       0.804       | ok         |
+| 110	        |     PC Ron      |       0.836       | ok         |
+| 130	        |     PC Gon      |       0.777       | ok         |
+| 167	        |     PC Ron      |       0.835       | ok         |
+| 178	        |     S on        |       0.815       | ok         |
+| 181	        |     MC off      |       0.805       | ok         |
+| 194	        |     PC Ron      |       0.842       | MISSING    |
+| 225           |     PC Roff     |       0.798       | MISSING    |
+| 229	        |     S on        |       0.780       | ok         |
+| 254	        |     MC on       |       0.802       | MISSING    |
+| 256	        |     MC off      |       0.794       | ok         |
+| 258	        |     MC on       |       0.803       | ok         |
+| 284	        |     PC Gon      |       0.778       | ok         |
+| 287	        |     PC Gon      |       0.764       | MISSING    |
+| 299	        |     MC on       |       0.826       | MISSING    |
+| 302	        |     S on        |       0.732       | MISSING    |
+
+And in addition reproduces the pie charts.
+
+We also provide one example for a PC Off cell, where the fit seems to work well. The model is identical to all PC fits.

File diff suppressed because it is too large
+ 23676 - 0
data/lSS01079.txt


File diff suppressed because it is too large
+ 3045 - 0
data/lSS01086.txt


File diff suppressed because it is too large
+ 26596 - 0
data/lSS01087.txt


File diff suppressed because it is too large
+ 2659 - 0
data/lSS01110.txt


File diff suppressed because it is too large
+ 23865 - 0
data/lSS01112.txt


File diff suppressed because it is too large
+ 1335 - 0
data/lSS01130.txt


File diff suppressed because it is too large
+ 10340 - 0
data/lSS01131.txt


File diff suppressed because it is too large
+ 3160 - 0
data/lSS01141.txt


File diff suppressed because it is too large
+ 24952 - 0
data/lSS01142.txt


File diff suppressed because it is too large
+ 4825 - 0
data/lSS01159.txt


File diff suppressed because it is too large
+ 41046 - 0
data/lSS01160.txt


File diff suppressed because it is too large
+ 2085 - 0
data/lSS01167.txt


File diff suppressed because it is too large
+ 19362 - 0
data/lSS01168.txt


+ 924 - 0
data/lSS01178.txt

@@ -0,0 +1,924 @@
+Total spikes	5169
+Video Starts	55461
+
+Spikes per rpt
+	847	884	900	895	809	809	25	
+Spikes/5 sec
+0	18	2	4	9	2	3	0	
+1	73	76	79	88	72	71	5	
+2	76	89	92	97	88	84	4	
+3	56	59	83	76	55	63	8	
+4	54	61	62	64	53	57	8	
+5	85	86	88	86	80	76	0	
+6	57	57	58	55	52	54	0	
+7	55	58	59	58	52	54	0	
+8	69	64	66	66	65	58	0	
+9	87	95	90	88	84	81	0	
+10	63	72	74	65	65	70	0	
+11	73	80	73	72	70	70	0	
+12	79	82	68	70	70	68	0	
+13	1	2	4	1	1	0	0	
+14	1	1	0	0	0	0	0	
+
+Spikes times
+0	-50291	-10849	-46202	-48939	-33836	-46292	6296	
+1	-50204	-445	-38065	-46173	-12897	-41727	17390	
+2	-50130	2578	-37400	-42952	2512	-8095	23106	
+3	-49931	2624	-1229	-41794	2542	2496	25145	
+4	-44445	2675	2588	-31574	2601	2545	48122	
+5	-43313	2722	2633	-24858	2640	2600	55079	
+6	-38469	2772	2674	-14466	2679	2655	79530	
+7	-36707	2821	2724	-8397	2754	2694	90418	
+8	-35302	2857	2767	-5182	2808	2747	95722	
+9	-33724	2896	2817	2561	2849	2790	118317	
+10	-33066	5551	2855	2636	2921	2827	119062	
+11	-14435	5663	2890	2683	5746	2940	129312	
+12	-12857	6493	2923	2726	6083	5676	134525	
+13	-10257	7693	2959	2786	6910	6040	142549	
+14	-10160	7811	4037	2834	7759	7704	143243	
+15	-8995	8202	5706	2875	7922	7778	144495	
+16	-2516	8290	6483	2909	8246	7875	144830	
+17	-1388	8930	7699	2942	8355	8424	154764	
+18	227	8978	7775	2980	8901	8791	156236	
+19	2503	9041	8223	3017	9064	8873	159595	
+20	2541	9146	8300	3061	9178	9093	180863	
+21	2572	9494	8876	3778	9281	9167	182836	
+22	2610	9842	8949	4131	10220	9240	186754	
+23	2673	10309	9006	4225	10292	10300	189304	
+24	2713	10374	9132	4373	10461	10381	197797	
+25	5537	10543	9280	4425	12119	10454		
+26	6074	10604	9662	4795	12348	11981		
+27	6803	10812	10305	5687	13499	12111		
+28	7702	12094	10394	6501	15786	12746		
+29	7765	12312	10519	7658	15880	13395		
+30	7830	12945	10835	7740	15929	15793		
+31	8259	15784	11986	7843	16003	15845		
+32	8340	15843	12343	8221	16719	16008		
+33	8468	15909	13454	8873	16793	16646		
+34	8899	15969	15777	8933	16854	16691		
+35	10205	16623	15849	9049	16912	16766		
+36	10274	16695	15957	9137	16979	16856		
+37	12066	16751	16056	9280	19023	16986		
+38	12368	16866	16652	9696	19419	19077		
+39	12849	16940	16748	10285	20429	19267		
+40	13104	19029	16840	10375	25818	19593		
+41	13561	19183	16914	10480	25889	20579		
+42	15734	19582	19025	12028	25946	25853		
+43	15821	19713	19161	12771	26036	25946		
+44	15874	20600	19514	13076	26301	26018		
+45	15985	25839	19867	13368	28079	26080		
+46	16619	25900	20508	15775	28220	26230		
+47	16697	25961	25796	15809	28639	28091		
+48	16778	26016	25852	15860	28809	28268		
+49	19053	26076	25911	15917	33199	28526		
+50	19138	26171	25950	16016	33413	28610		
+51	19530	26379	26004	16710	33884	33206		
+52	20441	28159	26128	16792	34868	33399		
+53	20513	28319	28147	16860	35148	33792		
+54	25855	28482	28229	16953	35503	33878		
+55	25892	28628	28361	19110	35612	34992		
+56	25934	33139	28558	19189	35817	35212		
+57	25976	33382	28681	19561	37766	35321		
+58	26034	33775	32983	19822	37812	35581		
+59	26094	33876	33336	20673	37852	37881		
+60	26331	35065	33728	25805	37901	37918		
+61	28100	35314	33853	25873	37938	37984		
+62	28267	35458	34934	25928	38042	38037		
+63	28498	35570	35191	25985	40364	40323		
+64	28839	37870	35413	26043	40428	40365		
+65	33150	37920	35487	26170	40493	40442		
+66	33670	40320	37870	26266	40541	40487		
+67	33789	40369	37922	28083	40586	40531		
+68	33893	40417	38018	28163	40788	40575		
+69	34878	40487	40313	28277	41516	40647		
+70	35287	40556	40380	28534	41741	41566		
+71	35644	40623	40434	28774	46628	41667		
+72	37852	40849	40475	33269	47428	46609		
+73	37926	41453	40529	33727	47661	47412		
+74	37984	41580	40581	33789	51503	51487		
+75	38019	46594	40649	33850	51566	51530		
+76	38078	47456	41600	35015	51616	51586		
+77	40337	47653	41772	35230	51673	52199		
+78	40401	51456	46398	35663	51730	56213		
+79	40433	51524	46910	37817	52337	58188		
+80	40473	51589	47511	37856	55440	58245		
+81	40513	51693	47556	37908	55911	58341		
+82	40557	52262	47683	37958	58198	59071		
+83	40679	53768	51476	38017	58308	59125		
+84	41443	55525	51507	40283	59039	59174		
+85	41650	55799	51598	40326	59130	59227		
+86	46559	58220	51744	40368	59201	59733		
+87	46688	58273	55458	40424	59739	60298		
+88	47386	58320	56118	40501	59917	60446		
+89	47441	59089	58149	41480	60410	60537		
+90	47532	59147	58257	41583	60467	60596		
+91	51555	59196	58393	41619	60536	60915		
+92	51597	59268	59049	46569	60599	61077		
+93	51654	59656	59101	46730	61161	61383		
+94	51722	59718	59149	47472	62794	62866		
+95	51771	60375	59191	47630	64530	64565		
+96	52241	60414	59303	47701	64566	64619		
+97	55528	60458	59711	51464	64608	64660		
+98	58191	60597	59828	51506	64643	64707		
+99	58334	60692	60337	51589	64696	64773		
+100	59034	60827	60417	51678	64736	64813		
+101	59081	61175	60492	52142	64779	64952		
+102	59122	61453	60652	56021	64826	65331		
+103	59160	62286	60916	58167	64920	65486		
+104	59239	62740	61284	58254	65352	65661		
+105	59735	64489	61437	59040	65476	66043		
+106	60366	64532	62285	59098	65672	66205		
+107	60420	64575	64565	59146	66005	66955		
+108	60491	64619	64624	59202	66172	67002		
+109	60587	64666	64715	59284	66983	67088		
+110	61177	64710	64750	59566	67041	67125		
+111	61332	64821	64800	60331	67087	67269		
+112	62386	64890	64925	60402	67126	67323		
+113	64492	65228	65324	60469	67163	77639		
+114	64537	65361	65389	60540	67200	78700		
+115	64580	65479	65500	60626	67373	78770		
+116	64629	65843	65727	60691	67885	78817		
+117	64673	66063	65950	61120	67957	78872		
+118	64711	66988	66064	64555	68301	78913		
+119	64764	67054	66278	64635	78734	78952		
+120	64819	67116	66984	64673	78790	78991		
+121	64924	67162	67038	64715	78876	79027		
+122	65357	75642	67089	64754	78918	79066		
+123	65427	75711	67137	64831	78955	80089		
+124	66855	76856	75675	64917	78991	84308		
+125	66910	78039	75715	65337	79031	86808		
+126	66966	78718	78713	65439	79069	87264		
+127	67024	78774	78769	65536	79107	87396		
+128	74086	78832	78823	65835	79954	87516		
+129	75555	78871	78861	66095	80545	87569		
+130	75638	78918	78905	66953	84424	87615		
+131	76444	78965	78978	67011	86932	87655		
+132	76965	84363	79014	67069	87303	87699		
+133	78100	85029	79048	67116	87420	87764		
+134	78747	85345	79726	67162	87493	87830		
+135	78801	86823	80138	67199	87546	87992		
+136	78843	87409	84245	69047	87600	88316		
+137	78920	87496	85187	70025	87639	88502		
+138	78998	87565	86893	75716	87692	88717		
+139	84271	87604	87263	75857	87738	88867		
+140	84946	87648	87340	78076	88544	89950		
+141	85208	87690	87431	78779	88863	90542		
+142	85295	87733	87493	78824	88995	90847		
+143	86814	87896	87607	78875	89274	91311		
+144	87251	88378	87702	78917	90747	91383		
+145	87454	88544	87801	78966	91266	91932		
+146	87520	88770	88233	79003	91368	92039		
+147	87565	88995	88394	79052	91987	94631		
+148	87656	89951	88486	79091	92101	94704		
+149	89977	90725	88669	79139	92944	94760		
+150	90733	90946	88765	79187	94552	94808		
+151	91286	91323	88872	79235	94627	94874		
+152	91358	91379	89002	79459	94697	96017		
+153	91415	91472	89113	80470	94747	96204		
+154	91897	91930	89894	81487	94795	96341		
+155	92120	93019	89978	84231	95976	96465		
+156	92911	94639	90621	84383	96094	97800		
+157	94641	94730	91305	85473	96253	97899		
+158	94714	94789	91446	86830	96335	101793		
+159	94767	94861	92000	87349	96523	101841		
+160	94810	95935	92983	87431	97796	101890		
+161	95993	96025	94496	87576	97931	103912		
+162	96150	96193	94639	87627	101750	104057		
+163	96246	96261	94707	87667	101870	107768		
+164	96323	96375	94760	87710	104012	107814		
+165	97808	97853	94833	87745	107782	107866		
+166	97934	97912	95907	87798	107831	107903		
+167	101754	101817	96057	87847	107899	107950		
+168	101805	101918	96136	88093	107945	107998		
+169	101864	103852	96245	88235	107985	108054		
+170	101983	103958	96393	88359	108039	108126		
+171	103837	104015	96557	88466	108139	108183		
+172	103909	107814	97764	88691	108201	108246		
+173	103969	107871	97858	88793	108264	108359		
+174	107778	107916	97990	89801	108333	108515		
+175	107832	107960	101721	90684	108403	108641		
+176	107874	108013	101778	90870	108473	109929		
+177	107921	108080	101827	91332	108626	112137		
+178	107966	108146	103828	91440	108697	112241		
+179	108005	108218	103958	91934	109941	114113		
+180	108060	108298	105743	92033	112265	115240		
+181	108168	108362	107738	93047	114054	115369		
+182	108294	108426	107815	94656	115318	115612		
+183	108429	108542	107861	94707	115394	116487		
+184	109901	108732	107899	94764	118385	118431		
+185	110671	109790	107945	94815	118442	118466		
+186	112146	112234	108000	94918	118527	118508		
+187	112278	112374	108045	96017	118566	118546		
+188	113846	114016	108101	96162	118607	118577		
+189	115247	115228	108181	96297	118647	118618		
+190	115315	115272	108289	96379	118690	118665		
+191	115379	115329	108336	96490	118939	118700		
+192	115585	115407	108404	97752	119147	119322		
+193	116573	116828	108461	97874	119265	119394		
+194	118429	118443	108628	101736	123036	119467		
+195	118471	118493	108691	101783	123470	119688		
+196	118523	118532	109978	101833	128350	128310		
+197	118571	118565	112137	101875	128680	128650		
+198	118605	118607	112287	101942	129111	129135		
+199	118763	118647	114016	107791	129306	129300		
+200	118803	118694	115312	107874	129482	129498		
+201	118851	118968	115377	107923	144044	129889		
+202	119366	119175	116459	107982	144090	137546		
+203	121387	119335	118392	108037	144134	144038		
+204	128432	119728	118454	108102	144182	144105		
+205	129090	128484	118490	108154	144220	144152		
+206	129207	129108	118524	108213	144252	144187		
+207	129590	129214	118564	108324	144335	144233		
+208	129843	129442	118603	108403	145730	144282		
+209	144050	129611	118641	108473	145797	144349		
+210	144105	144124	118688	108556	145906	145718		
+211	144147	144171	118729	108615	145969	145770		
+212	144185	144213	118773	108684	146210	145827		
+213	144224	144256	118883	108853	146636	145881		
+214	144256	144305	118989	109901	146725	145944		
+215	144306	144345	119123	112285	147704	146004		
+216	144341	144400	119269	112339	147835	146060		
+217	144404	145816	119327	114082	156721	146199		
+218	145743	145867	119411	115267	156798	146727		
+219	145814	145906	119581	115320	158624	147299		
+220	145861	145949	119690	115422	158691	147807		
+221	146723	146002	119756	116679	158725	155349		
+222	146797	146040	119828	118397	158774	156784		
+223	155890	146716	119915	118447	158825	156877		
+224	156728	147715	119976	118486	158896	156972		
+225	156796	147811	120226	118526	161293	158082		
+226	156853	155336	120331	118574	161379	158676		
+227	158606	156652	120720	118618	162296	158733		
+228	158671	156806	121323	118660	162485	158847		
+229	158726	158017	121496	118706	162642	161211		
+230	158814	158659	122556	118769	163434	161279		
+231	161218	158737	122954	118838	163528	161340		
+232	161294	158788	123057	119004	163766	161415		
+233	161348	161162	123643	119081	167235	162237		
+234	161404	161241	124182	119137	167600	162563		
+235	161480	161345	124710	119273	167698	162761		
+236	162496	161393	128349	119331	167877	163414		
+237	162609	162315	128504	119416	170596	163531		
+238	162814	162419	129125	119575	172866	163625		
+239	163394	162553	129197	120787	172921	167464		
+240	163467	162771	129663	121146	172964	167558		
+241	163542	163298	144084	122849	173013	167678		
+242	167310	163424	144140	123842	173071	167798		
+243	167415	163479	144201	124705	173118	168117		
+244	167514	167575	144250	124850	173167	171485		
+245	167579	167634	144319	128310	173222	172834		
+246	167803	167740	144362	129168	173283	172905		
+247	172818	167912	144416	129305	175081	172978		
+248	172866	171562	145742	129466	175564	173014		
+249	172918	172875	145814	129663	175607	173084		
+250	172982	172925	145852	129824	175650	173135		
+251	173021	172978	145902	144084	175689	173202		
+252	173068	173021	145943	144138	175723	173334		
+253	173157	173063	146123	144176	175761	175078		
+254	173210	173120	146182	144218	175801	175614		
+255	173274	173183	146289	144255	176322	175654		
+256	175098	173251	146773	144301	177234	175696		
+257	175162	175519	147757	144429	177757	175739		
+258	175585	175559	155829	145769	179759	175778		
+259	175629	175643	156693	145815	181136	175817		
+260	175667	175681	156772	145885	181215	175857		
+261	180192	175716	156971	145946	181323	176188		
+262	181133	175802	158583	145994	186290	176402		
+263	181246	176288	158685	146053	187325	179817		
+264	181368	176342	158742	146102	190885	180182		
+265	183644	176420	158806	146225	192034	181113		
+266	186494	176992	161249	146684	195986	181197		
+267	187436	177376	161317	147766	196049	181397		
+268	187492	179843	161392	147839	199357	184822		
+269	187577	179933	162166	147918	199514	186502		
+270	187821	181123	162381	155876	200203	187533		
+271	188490	181207	162614	156662	200283	190969		
+272	191011	184768	162700	156768	200363	195996		
+273	195978	184869	163370	158053	201687	196065		
+274	196043	186420	163540	158644	202615	196181		
+275	199403	186524	163623	158697	202682	197232		
+276	199528	187383	167223	158765	205754	199351		
+277	200174	187433	167569	158827	206178	199464		
+278	200239	187508	167639	161199	206394	200145		
+279	200361	190831	167706	161298	206481	200239		
+280	201438	195966	167775	161366	206529	200323		
+281	201481	196003	167876	161446	206582	201781		
+282	201802	197150	171470	162157	208852	202724		
+283	201966	198278	172843	162541	211452	205176		
+284	202684	199365	172884	162641	211523	205592		
+285	203839	199472	172945	162729	211719	206058		
+286	206014	199565	173014	163509	213615	206440		
+287	206152	200159	173052	163622	213748	206494		
+288	206289	200221	173092	167409	213838	206543		
+289	206467	200351	173137	167559	214832	208873		
+290	206532	200515	173188	167918	214872	211440		
+291	208879	201435	173262	167992	214931	211519		
+292	211382	201655	175054	168052	214987	213594		
+293	211486	201744	175637	171560	215036	213640		
+294	211567	202656	175676	172848	215092	213696		
+295	211664	202739	175716	172900	215164	213779		
+296	211979	206131	175756	172941	218475	214824		
+297	213667	206337	175843	172995	218559	214883		
+298	213756	206482	175921	173041	218619	214980		
+299	214822	206530	176060	173082	218667	215034		
+300	214898	208835	176129	173159	218733	215092		
+301	214942	208922	176262	173257	218784	215142		
+302	215006	211399	176335	174005	218898	215225		
+303	215140	211507	177099	175214	220587	218552		
+304	215323	211593	179753	175605	221267	218631		
+305	218581	211998	181153	175685	221308	218685		
+306	218670	213684	181224	175720	221352	218726		
+307	218708	213749	181342	175757	221406	218773		
+308	218747	214761	186460	175801	221457	219143		
+309	218804	214806	187579	175845	223024	220576		
+310	218859	214865	188001	175890	223142	221205		
+311	220489	214929	188650	175934	224820	221275		
+312	220548	215031	190890	176053	224882	221326		
+313	221354	218565	195957	176104	224928	221371		
+314	221398	218618	196018	176166	224976	221434		
+315	221439	218660	196092	176240	225857	223036		
+316	221498	218706	198308	176322	226002	223108		
+317	223030	218760	199323	176436	228414	224825		
+318	223114	218810	199397	177117	229708	224884		
+319	223227	219176	199471	177232	229784	224943		
+320	224840	220479	200169	177461	229943	225839		
+321	224882	221277	200245	177535	231782	228398		
+322	224923	221322	200370	179828	232437	229808		
+323	224969	221368	200953	181140	234447	229923		
+324	225823	221433	201718	181250	235284	229980		
+325	228316	221503	201808	184855	235363	231739		
+326	229711	222915	201891	186333	235440	231911		
+327	229802	223002	202608	187543	236661	232412		
+328	229955	223058	202667	188619	236840	234566		
+329	231694	223127	205075	191095	237480	235339		
+330	232397	223194	206031	196061	237522	235407		
+331	234475	224788	206114	199313	237561	235476		
+332	235388	224836	206377	199428	237602	235523		
+333	235422	224879	206451	199545	237648	236825		
+334	235468	224929	206517	200152	237695	237461		
+335	236651	224978	208852	200210	237753	237515		
+336	236717	228304	208944	200372	239667	237556		
+337	237219	228444	211421	201716	240491	237638		
+338	237511	229742	211492	202648	241306	237691		
+339	237592	229865	211639	202711	241906	237774		
+340	237637	229940	213636	205187	241958	239678		
+341	237676	229990	213695	206137	242036	240439		
+342	237723	231826	213751	206224	247856	241907		
+343	237786	234129	214803	206505	247897	241949		
+344	237844	235250	214854	206563	248298	242006		
+345	240288	235295	214958	206614	248339	242155		
+346	240466	235398	215034	209094	248381	247806		
+347	240617	235490	215126	211542	248452	247896		
+348	241877	236660	218501	211623	248524	247965		
+349	241922	237412	218546	211802	248605	248307		
+350	241965	237492	218621	211913	251732	248397		
+351	242019	237542	218667	213668	251816	248440		
+352	244576	237591	218711	213734	251985	248520		
+353	246966	237632	218787	213804	252097	248582		
+354	247753	237679	219120	213875	252211	251622		
+355	247798	237740	220523	214822	252387	251755		
+356	247851	238557	221257	214864	258707	251898		
+357	248249	239728	221329	214906	258894	252087		
+358	248359	240358	221376	214975	258933	252243		
+359	248431	240471	221422	215049	258971	252719		
+360	248500	241847	221475	215150	259025	253126		
+361	248677	241886	223074	215241	259082	258569		
+362	251678	241929	223143	218489	259128	258955		
+363	251766	241988	224824	218551	259216	259017		
+364	251826	242050	224906	218670	259397	259072		
+365	251943	243555	224967	218757	259556	259115		
+366	252259	247787	225020	218801	260533	259172		
+367	252476	247857	225978	218872	261136	259436		
+368	252562	248255	228432	219222	261179	259561		
+369	257163	248309	229624	220502	261234	260520		
+370	258569	248384	229720	221309	263172	261090		
+371	258921	248451	229908	221358	263224	261143		
+372	258968	249723	229981	221404	265450	261208		
+373	259013	251643	230112	221445	267528	261261		
+374	259046	251717	231815	221483	267594	263224		
+375	259089	251781	232314	221577	267645	265334		
+376	259360	251989	232411	223032	267693	265418		
+377	259454	252075	234539	223133	267783	267574		
+378	260585	252193	235283	224785	267991	267612		
+379	261136	252296	235325	224831	269026	267697		
+380	261210	252534	235398	224880	269239	267786		
+381	261300	253161	235462	224937	269403	267852		
+382	263246	258894	236711	224981	269581	267914		
+383	265327	258982	236831	225910	269911	267995		
+384	265433	259069	237305	229804	271864	268053		
+385	266326	259118	237409	229883	271927	268120		
+386	266795	259182	237498	229962	271992	269098		
+387	267516	259364	237547	230020	272057	269402		
+388	267581	259504	237584	230071	272126	271888		
+389	267679	259594	237638	231780	272196	271942		
+390	267737	260563	237695	231874	272258	271986		
+391	267802	261180	237751	234463	276518	272029		
+392	267870	261248	239773	234559	277469	272075		
+393	267947	261334	240430	235362	278141	272193		
+394	268160	263219	241896	235432	278439	272247		
+395	268963	265427	241929	235509	289496	276507		
+396	269088	266756	241967	237400	289642	277414		
+397	269407	267603	242011	237486	293759	277611		
+398	269627	267665	242057	237581	293876	278128		
+399	271821	267728	244455	237628	293970	289494		
+400	271919	267778	247819	237683	295612	289691		
+401	271974	267848	248251	237721	295683	293693		
+402	272052	267921	248297	237767	302424	294005		
+403	272163	267984	248338	237815	302526	295641		
+404	277502	268340	248387	239775	302672	295730		
+405	277556	269155	248441	240297	303971	295758		
+406	277864	269450	248534	240469	304395	297279		
+407	278301	269535	249680	241890	304477	297768		
+408	286813	269624	251741	241992	308947	302327		
+409	288927	269888	251937	242038	309025	302383		
+410	289479	271878	252201	242097	309182	302516		
+411	293713	271923	252301	244405	316981	302638		
+412	293839	271979	252449	247827	323071	303866		
+413	294026	272051	252749	247889	323233	303989		
+414	294104	277512	257246	248004	323937	304056		
+415	295651	277547	258906	248315	324674	304221		
+416	295701	277680	258964	248407	329266	304483		
+417	297442	277999	259023	248497	329829	308921		
+418	297725	278174	259065	248548	332384	308984		
+419	300911	282418	259110	248606	332519	309222		
+420	302435	289527	259211	251745	333346	316985		
+421	302558	289603	259402	251813	333411	322903		
+422	302618	289667	259550	251958	333494	323178		
+423	303948	293650	260627	252164	333570	323353		
+424	304145	293798	261164	252251	333656	323761		
+425	304519	293907	261235	252345	334060	324733		
+426	308953	295721	261280	252477	334112	331014		
+427	309052	295824	265391	252729	334238	332476		
+428	309149	295899	265502	258512	334313	332584		
+429	323320	297549	266245	258964	340826	333397		
+430	323874	300646	267554	259011	342170	333461		
+431	324736	302389	267639	259061	343075	333498		
+432	329150	302573	267710	259097	343189	333543		
+433	329577	302850	267784	259141	343272	333590		
+434	331222	303955	267853	259211	343335	334128		
+435	332431	304009	267923	259285	343397	334240		
+436	332522	304193	268036	259412	344294	334416		
+437	333363	304391	269302	260142	344399	335878		
+438	333423	308962	269423	261130	344454	343115		
+439	333475	309011	269548	261201	344494	343223		
+440	333512	309188	269691	262768	344562	343262		
+441	333601	322426	269781	263205	344696	343346		
+442	333931	323249	271832	265350	345631	344325		
+443	334176	323671	271893	265437	345739	344374		
+444	334254	323868	271937	266534	345810	344423		
+445	334332	324725	272016	267582	345894	344476		
+446	334519	328009	272066	267651	346480	344561		
+447	342119	329564	272148	267724	346630	345608		
+448	342995	331176	272220	267802	346681	345658		
+449	343157	332506	272332	267908	346736	345719		
+450	343223	332540	272407	268007	346849	345768		
+451	343288	332638	277462	268243	348129	345816		
+452	343339	333378	277550	268816	348236	346532		
+453	343390	333422	277744	269054	348430	346610		
+454	344309	333468	278504	269386	352925	346757		
+455	344377	333575	288925	269475	353601	346836		
+456	344454	334005	288961	269873	356172	347059		
+457	344505	334143	289472	271993	356237	348166		
+458	344625	334221	289645	272029	356318	348216		
+459	345339	334278	293658	272070	358649	348254		
+460	345562	335839	293729	272121	358708	348301		
+461	345630	342069	293793	272165	358751	348509		
+462	345696	343065	293910	272270	358789	353072		
+463	345769	343145	295723	272336	358837	356263		
+464	346440	343212	295776	277473	359252	358630		
+465	346526	343268	297095	277615	359306	358672		
+466	346622	343338	300789	287705	359349	358716		
+467	346700	344297	302407	289697	359397	358764		
+468	348144	344350	302515	293779	359437	358798		
+469	348225	344418	302546	293847	364968	359264		
+470	348277	344460	302701	294050	368596	359312		
+471	348330	344511	303968	295586	371507	359359		
+472	348408	344570	304087	295721	371578	359410		
+473	348515	345566	304173	297023	371628	359452		
+474	352866	345638	304421	297447	371725	359489		
+475	356157	345722	308954	300877	371769	368710		
+476	356237	345870	309048	302346	371808	371480		
+477	356315	346413	309172	302450	371840	371552		
+478	358675	346507	309294	302535	372550	371600		
+479	358717	346603	317095	302601	372621	371657		
+480	358765	346684	323299	304008	372699	371715		
+481	358801	346755	323456	304064	379815	371767		
+482	358850	346872	323785	304276	379866	371811		
+483	359277	348128	323839	308993	379905	371851		
+484	359329	348200	323928	309117	380005	371890		
+485	359380	348265	325943	313869	386651	372554		
+486	359422	348328	327862	316878	386691	372647		
+487	359473	348437	329567	323148	386731	374493		
+488	362839	356232	329772	323269	386807	379730		
+489	365026	358619	332480	323540	388317	379773		
+490	368581	358686	332608	324811	388370	379837		
+491	371464	358777	333386	329725	388430	386646		
+492	371525	358821	333428	332461	388512	386703		
+493	371577	358891	333467	332577	389352	386773		
+494	371628	359313	333521	332666	389420	388349		
+495	371664	359358	334078	333287	389460	388413		
+496	371702	359411	334255	333361	389511	388503		
+497	371740	359448	334327	333405	389568	389316		
+498	371776	359483	334420	333440	391882	389394		
+499	371815	359525	334501	333490	392722	389494		
+500	372508	363333	342116	333549	392769	391888		
+501	372584	364839	342385	334108	392807	392715		
+502	372639	368517	343057	334257	392850	392788		
+503	372691	368594	343130	334367	392943	392856		
+504	374577	368637	343220	334446	396548	396678		
+505	379806	368720	343299	342224	396739	396785		
+506	379908	371481	343383	342717	397772	397714		
+507	380045	371542	344298	343168	397903	397832		
+508	380953	371607	344371	343265	397979	397944		
+509	386678	371662	344427	343327	398025	397992		
+510	386710	371701	344510	343386	398067	398053		
+511	386781	371750	345454	343456	398122	398101		
+512	388364	371793	345623	344347	398170	398162		
+513	388458	371832	345754	344393	398267	398250		
+514	388525	371978	345883	344470	398356	398358		
+515	389214	372551	346437	344537	399273	399272		
+516	389286	372613	346553	344687	399335	399321		
+517	389343	379767	346616	345437	399387	399374		
+518	389392	379800	346670	345645	399439	399415		
+519	389436	379855	346722	345712	400070	399468		
+520	389526	384312	346780	345985	400120	400112		
+521	391866	386689	348220	346306	400163	400164		
+522	391946	386767	348289	346505	400210	400219		
+523	392737	386864	348379	346580	400347	400293		
+524	392780	388366	348461	346634	402774	400624		
+525	392832	388439	352941	346688	403054	402882		
+526	392907	388488	356250	348191	403148	402974		
+527	396613	389316	356344	348276	403208	403102		
+528	396676	389370	358602	348328	403266	403188		
+529	396746	389448	358685	348381	403396	403235		
+530	397671	389540	358742	348453	407022	403318		
+531	397900	391894	358806	348515	409026	409058		
+532	398053	391935	358874	348571	409175	411840		
+533	398125	392740	359123	352887	411822	411880		
+534	398171	392780	359225	356263	411908	411987		
+535	398218	392819	359280	358640	412030	413020		
+536	398274	392887	359319	358704	413079	413126		
+537	398336	396670	359370	358763	413191	414350		
+538	398403	396762	364874	358801	414559	414858		
+539	399338	396838	368518	358840	416539	416587		
+540	399403	397619	368613	358888	416598	416635		
+541	399444	397808	371533	359286	416655	416677		
+542	399495	397894	371592	359326	416700	416711		
+543	400153	397951	371631	359369	416733	416751		
+544	400203	398018	371678	359410	416771	416788		
+545	400239	398056	371719	359452	416805	416825		
+546	400286	398121	371771	368562	416842	416862		
+547	400346	398173	371812	368610	416876	416899		
+548	400663	398270	371851	371537	419133	419352		
+549	402781	399337	371890	371591	419530	419517		
+550	402958	399388	371933	371641	419623	419578		
+551	403153	399437	372540	371683	420395	420605		
+552	403261	400126	372610	371726	420971	421121		
+553	403320	400165	372708	371769	421127	427121		
+554	403384	400208	379768	371804	427005	427204		
+555	403548	400253	379822	371841	427094	427258		
+556	409047	400336	379952	371879	427158	427308		
+557	409380	400615	383661	371917	427749	427394		
+558	411233	400689	386610	372533	427826	427788		
+559	411352	402728	386672	372587	429128	429114		
+560	411750	402928	386721	372659	429185	429184		
+561	411847	403060	386765	374546	429228	429251		
+562	411967	403190	386859	379753	429282	429292		
+563	413094	403289	388310	379811	430485	430551		
+564	414348	403352	388373	379877	430729	430653		
+565	414501	403418	388545	383619	430819	430763		
+566	416520	405337	389340	386646	432263	432234		
+567	416567	406948	389390	386769	432312	432285		
+568	416606	407746	389457	388349	432352	432331		
+569	416650	409335	389531	388418	432432	432366		
+570	416690	411774	391844	388492	432472	432405		
+571	416729	412005	391979	389010	432518	432445		
+572	416761	413070	392710	389380	437431	432494		
+573	418231	413165	392761	389442	437534	437483		
+574	419330	414400	392798	389494	437686	437669		
+575	419506	414706	392846	389546	437908	438875		
+576	419593	414859	392893	389629	438888	438935		
+577	420236	416538	396588	391631	438940	438994		
+578	420534	416587	396697	391936	439034	442554		
+579	420889	416630	397759	392733	442652	442774		
+580	421080	416678	397935	392770	442812	444387		
+581	426204	416733	397995	392822	442922	444511		
+582	426983	416773	398045	392926	444459	444599		
+583	427053	416809	398086	396631	444536	444643		
+584	427118	416844	398138	396734	444627	444684		
+585	427213	416885	398193	396882	444665	444723		
+586	427492	416986	398271	397769	444702	444761		
+587	427726	419249	398334	397950	444732	444799		
+588	429046	419372	399289	398049	444774	444848		
+589	429123	419567	399368	398096	444815	445462		
+590	429187	420400	399406	398145	445488	445507		
+591	429230	420679	400187	398196	445571	445547		
+592	430532	420995	400234	398244	445613	445590		
+593	430685	421115	400277	398321	445653	445626		
+594	430837	426987	400321	398470	446149	446860		
+595	432290	427066	400372	399314	447027	446967		
+596	432334	427118	400678	399366	447116	447112		
+597	432372	427223	401178	399415	447557	447562		
+598	432410	427354	402903	399475	447659	447637		
+599	432459	427749	403096	400131	447786	447724		
+600	432500	429058	403231	400183	447849	449227		
+601	432543	429128	403318	400221	447902	452495		
+602	437535	429173	405177	400258	447956	452566		
+603	437850	429236	409176	400308	452494	458635		
+604	438951	430517	411257	401242	452597	458702		
+605	438999	430648	411761	402892	455038	472447		
+606	439122	430790	411804	402999	458597	472492		
+607	440216	432302	411874	403137	458693	472525		
+608	442494	432355	413141	403220	472459	472562		
+609	442691	432397	414193	403313	472498	472596		
+610	443081	432445	414376	403385	472539	472629		
+611	444428	432481	414678	403513	472573	472673		
+612	444470	432520	416571	407056	472611	473146		
+613	444531	432581	416616	409186	472652	474002		
+614	444580	437447	416657	411299	473096	474063		
+615	444621	437662	416696	411823	474054	474134		
+616	444658	438894	416736	411917	474098	474211		
+617	444697	438953	416771	413016	474147	474313		
+618	444734	439055	416808	413084	474184	474870		
+619	445481	439178	416844	414383	474224	474941		
+620	445539	440120	416884	416569	474265	476326		
+621	445583	441986	416933	416630	474839	476383		
+622	445627	442564	419232	416677	474996	476735		
+623	446970	442753	419395	416710	476267	476808		
+624	447097	442842	419545	416749	476349	480317		
+625	447601	444458	419677	416784	476463	483098		
+626	447719	444538	420411	416818	476620	483127		
+627	447811	444623	420708	416856	476662	483166		
+628	447987	444679	426313	416906	476745	483202		
+629	449106	444732	427055	419260	483115	483243		
+630	452437	444764	427140	419334	483154	483284		
+631	452485	444812	427238	419508	483186	486037		
+632	452585	444881	427368	419618	483218	486094		
+633	458614	445450	427665	420422	483256	486134		
+634	472470	445499	427759	420514	483294	486176		
+635	472508	445542	429069	420831	483338	486211		
+636	472549	446003	429121	420992	486012	486246		
+637	472588	446897	429194	426219	486085	486278		
+638	472626	447032	429252	427215	486125	486317		
+639	472667	447552	429297	427367	486158	486411		
+640	472707	447615	430470	427680	486190	487198		
+641	474069	447714	430568	427759	486228	487265		
+642	474110	447804	430673	429049	486262	487323		
+643	474154	447860	430799	429094	486299	487394		
+644	474192	447985	432286	429163	487218	487531		
+645	474231	448991	432324	429223	487306	487608		
+646	474811	449215	432370	429266	487410	487860		
+647	476258	452498	432409	430411	487480	488054		
+648	476319	452569	432449	430720	487683	489741		
+649	476374	458609	432486	430969	487780	489836		
+650	476470	472422	435588	432272	489991	490283		
+651	476603	472480	437422	432309	490755	490974		
+652	476649	472510	437634	432345	496328	494951		
+653	476710	472540	438932	432394	496383	496242		
+654	476757	472571	438982	432425	496442	496291		
+655	480342	472605	439050	432465	496780	496342		
+656	483072	472648	439127	437423	496882	496400		
+657	483110	473068	442655	437616	497069	496885		
+658	483149	474101	442976	438889	497126	497042		
+659	483194	474157	444405	438932	498959	497124		
+660	483232	474209	444486	438987	499035	497254		
+661	483339	474256	444538	439039	499104	498938		
+662	485962	474898	444579	442713	499146	498996		
+663	486026	474945	444629	442815	499208	499073		
+664	486066	475048	444668	442953	499258	499115		
+665	486107	476277	444723	444422	499318	499157		
+666	486145	476363	444759	444501	499447	499199		
+667	486178	476409	444831	444581	499843	499264		
+668	486214	476502	445490	444636	500020	499323		
+669	486249	476592	445575	444686	500329	499427		
+670	487214	476658	445615	444726	501361	499821		
+671	487296	476740	445656	444767	501444	500001		
+672	487361	482279	447004	444808	501502	501456		
+673	487557	483166	447531	444901	501557	501526		
+674	489702	483201	447615	445485	501643	501583		
+675	490164	483241	447695	445533	501697	501631		
+676	490520	483282	447760	445576	501968	501673		
+677	494893	483330	447825	445618	502450	501718		
+678	496373	483385	447893	445662	504640	501790		
+679	496438	485955	447948	445801	507114	501966		
+680	496877	486005	449163	446820	507282	502135		
+681	497039	486037	452465	447595	507369	502405		
+682	497135	486072	452516	447727	508637	502845		
+683	497219	486101	455091	447791	508695	504699		
+684	498948	486134	458582	447918	508802	506200		
+685	499027	486167	458702	449043	511696	507267		
+686	499069	486200	472130	449164	516876	507426		
+687	499127	486236	472411	452448	521681	508642		
+688	499191	486508	472448	452529	525538	508768		
+689	499267	487208	472480	458573	526528	512128		
+690	499414	487272	472524	458629	530483	516814		
+691	499792	487352	472561	472417	530550	516955		
+692	499932	487429	472598	472464	530598	521624		
+693	501436	487495	473189	472508	530697	521839		
+694	501488	487570	474023	472542	532568	525472		
+695	501528	489045	474096	472582	532634	530550		
+696	501567	489470	474149	472623	532705	530639		
+697	501609	490054	474202	473941	532772	530742		
+698	501651	490271	474251	474031	537620	532585		
+699	501702	490677	474669	474076	537678	532631		
+700	501903	491262	474948	474120	537726	532677		
+701	502394	495008	476243	474175	537764	532730		
+702	502617	496328	476327	474678	537798	532836		
+703	502919	496369	476508	474952	537836	537647		
+704	504621	496432	476609	476264	537877	537695		
+705	504710	496829	476675	476330	537921	537732		
+706	507156	496900	476728	476391	541140	537765		
+707	507312	497136	480340	476553	541211	537799		
+708	508696	497203	483055	476604	541292	537832		
+709	508766	497292	483110	476660	542908	537882		
+710	512137	498908	483150	476779	542945	537969		
+711	516890	498998	483191	483118	542988	541161		
+712	517104	499080	483232	483152	543025	541271		
+713	521774	499179	483277	483185	543061	542936		
+714	525411	499253	485896	483222	543102	542983		
+715	525796	499475	486033	483266	544011	543029		
+716	526554	499747	486090	483309	544069	543060		
+717	530551	499833	486145	486027	544127	543093		
+718	530599	499924	486193	486073	544484	543128		
+719	530643	500076	486227	486113	544547	543176		
+720	530708	500155	486264	486149	544607	544075		
+721	532580	501398	486341	486184	544670	544114		
+722	532631	501479	486431	486219	544767	544167		
+723	532686	501550	487051	486251	545486	544475		
+724	532773	501590	487184	486283	546172	544646		
+725	537644	501633	487292	486529	546225	544737		
+726	537677	501671	487388	487151	546277	546215		
+727	537713	501719	487458	487268	546328	546264		
+728	537746	501946	487517	487363	546415	546313		
+729	537781	502242	487584	487456	547577	546347		
+730	537819	502638	487656	487593	547651	546417		
+731	537851	502908	488012	487663	547702	547585		
+732	537922	503021	489812	487754	547749	547659		
+733	537968	506116	490071	489577	547865	547708		
+734	541161	507188	490380	490810	548324	547785		
+735	541280	507345	490776	496288	548427	547890		
+736	541402	508672	490926	496330	549876	548039		
+737	542898	508734	494872	496378	549941	548369		
+738	542940	508834	496349	496443	550011	549847		
+739	542984	512054	496387	496821	550062	549922		
+740	543025	515759	496447	496998	550102	549985		
+741	543063	516815	496812	497095	550151	550034		
+742	543100	517183	496884	497157	550201	550073		
+743	544042	520051	497149	498973	550270	550119		
+744	544087	521924	497231	499020	552290	550168		
+745	544198	525622	498958	499076	552340	552268		
+746	544414	525785	499041	499137	552389	552335		
+747	544495	526506	499099	499213	552480	552381		
+748	544552	526558	499150	499272	553867	552432		
+749	544627	530560	499217	499429	554864	554886		
+750	545161	530605	499290	499753	554955	554952		
+751	546186	530659	499586	499861	557695	555011		
+752	546239	530700	499751	500014	557749	555070		
+753	546284	532597	499825	500094	557822	557748		
+754	546332	532635	499884	501491	557900	557837		
+755	546400	532674	500053	501539	557953	557913		
+756	547600	532717	501417	501586	558019	557990		
+757	547664	532769	501469	501630	558145	558055		
+758	547757	537603	501525	501671	559906	558235		
+759	547818	537650	501575	501716	560035	559923		
+760	547859	537687	501623	501757	560082	559978		
+761	548327	537722	501678	501833	560135	560042		
+762	548444	537760	501722	502005	564412	560099		
+763	549856	537794	501802	502072	564472	560202		
+764	549910	537829	502108	502310	564530	564472		
+765	549971	537869	502353	502839	564591	564530		
+766	550019	537912	502665	504781	564661	564583		
+767	550058	541102	502931	507090	564704	564632		
+768	550097	541204	507251	507263	564858	564689		
+769	550146	541306	507484	508647	564965	564757		
+770	552332	542930	508581	508783	565052	564832		
+771	552392	542972	508622	508875	565990	564924		
+772	552458	543011	508685	515918	567252	565058		
+773	554005	543048	511723	516916	567332	565165		
+774	554847	543143	516844	526534	567390	565293		
+775	554899	544032	517104	526596	567493	565828		
+776	554948	544074	521779	530524	568753	567265		
+777	555013	544151	525759	530582	568995	567334		
+778	557646	544414	526504	530681	569131	567406		
+779	557712	544557	526559	532535	570235	567480		
+780	557770	544657	530504	532585	570326	568699		
+781	557854	545134	530548	532637	579000	568908		
+782	557907	546192	530587	532677	579125	569037		
+783	557972	546248	530638	532745	583283	570266		
+784	558020	546307	530669	537652	586486	570330		
+785	558154	546351	530786	537697	586527	578872		
+786	559847	546456	532649	537726	586570	586447		
+787	559952	547652	532738	537764	586599	586481		
+788	560138	547707	537626	537799	586636	586523		
+789	560208	547768	537661	537838	586665	586568		
+790	564397	547812	537701	537884	586701	586603		
+791	564446	547875	537735	537945	586737	586639		
+792	564490	548278	537777	541150	586781	586674		
+793	564537	548397	537813	541261	586832	586708		
+794	564589	548487	537845	541360	587210	587300		
+795	564652	549769	537887	542964	587411	587411		
+796	564733	549860	537958	543018	587794	587507		
+797	564815	549930	541127	543055	588476	588230		
+798	565014	549973	541191	543090	588648	588652		
+799	565298	550015	541362	543127	588758	588847		
+800	565552	550177	542926	544017	588854	588986		
+801	565900	552276	542966	544060	589301	594896		
+802	567270	552333	543011	544103	594810	595222		
+803	567345	552419	543060	544146	594929	595398		
+804	567437	553895	543130	544217	595315	595518		
+805	567475	554967	544025	544416	595398	595565		
+806	567553	555005	544085	544600	595489	595711		
+807	567760	555053	544137	545187	598084	598136		
+808	568792	555119	544482	546150	649276	599458		
+809	569062	555209	544609	546204				
+810	570289	557684	544679	546264				
+811	570379	557813	544936	546302				
+812	578891	557863	545175	546352				
+813	579002	557942	546216	547620				
+814	579302	558071	546272	547681				
+815	583726	558140	546322	547732				
+816	586421	558193	546368	547777				
+817	586487	558300	547572	547825				
+818	586520	559825	547650	547926				
+819	586553	560000	547693	548373				
+820	586587	560061	547754	548481				
+821	586622	560114	547821	549822				
+822	586653	560189	548190	549905				
+823	586696	563187	548352	549954				
+824	586752	563859	548447	550038				
+825	587175	564441	549883	550079				
+826	587253	564511	549940	550130				
+827	587348	564566	549979	550199				
+828	587460	564626	550033	552316				
+829	587581	564681	550081	552384				
+830	587909	564733	550134	552449				
+831	588484	564779	550188	553879				
+832	588703	564837	552278	555051				
+833	588952	564991	552330	555112				
+834	594788	565220	552434	557733				
+835	594923	565322	553860	557807				
+836	594957	565545	554861	557869				
+837	595318	565957	554919	557958				
+838	595415	567274	555021	558038				
+839	595501	567343	555094	558083				
+840	595600	567399	557702	559912				
+841	595839	567466	557828	559990				
+842	597966	567540	558012	560032				
+843	598175	567603	558073	560076				
+844	599792	567665	558131	560129				
+845	627870	568864	558224	564423				
+846	650109	569011	559859	564469				
+847		569161	559950	564522				
+848		570209	560061	564584				
+849		570292	560120	564641				
+850		570349	564376	564701				
+851		578803	564451	564774				
+852		579138	564521	564858				
+853		583264	564560	564925				
+854		583688	564607	565268				
+855		586470	564673	565482				
+856		586515	564792	565917				
+857		586556	564910	567240				
+858		586591	565128	567337				
+859		586626	565499	567395				
+860		586657	565931	567467				
+861		586696	567214	567585				
+862		586739	567261	568830				
+863		586791	567338	569119				
+864		587166	567398	570292				
+865		587318	567718	570368				
+866		587386	568887	578943				
+867		587479	569067	579223				
+868		587688	570293	583698				
+869		588648	570355	586470				
+870		588742	578864	586500				
+871		588845	579125	586534				
+872		589200	579330	586611				
+873		594818	583348	586645				
+874		594981	586432	586680				
+875		595219	586506	586718				
+876		595370	586552	586754				
+877		595433	586593	587303				
+878		595578	586629	587441				
+879		595733	586676	587639				
+880		598216	586721	588469				
+881		600596	586787	588685				
+882		623283	587370	588808				
+883		650815	587639	588881				
+884			587977	589329				
+885			588265	594672				
+886			588503	594781				
+887			588884	595038				
+888			594836	595272				
+889			594994	595488				
+890			595087	595584				
+891			595270	595778				
+892			595415	597839				
+893			595564	599841				
+894			595692	621791				
+895			598098					
+896			600043					
+897			635477					
+898			645679					
+899			645696					
+900								

File diff suppressed because it is too large
+ 8188 - 0
data/lSS01180.txt


File diff suppressed because it is too large
+ 33218 - 0
data/lSS01183.txt


File diff suppressed because it is too large
+ 1789 - 0
data/lSS01229.txt


File diff suppressed because it is too large
+ 13752 - 0
data/lSS01231.txt


File diff suppressed because it is too large
+ 2877 - 0
data/lSS01256.txt


File diff suppressed because it is too large
+ 25584 - 0
data/lSS01257.txt


File diff suppressed because it is too large
+ 3376 - 0
data/lSS01258.txt


File diff suppressed because it is too large
+ 31646 - 0
data/lSS01259.txt


File diff suppressed because it is too large
+ 2719 - 0
data/lSS01284.txt


File diff suppressed because it is too large
+ 24098 - 0
data/lSS01285.txt


BIN
retinatools/__pycache__/__init__.cpython-38.pyc


BIN
retinatools/__pycache__/__init__.cpython-39.pyc


BIN
retinatools/__pycache__/library.cpython-38.pyc


BIN
retinatools/__pycache__/library.cpython-39.pyc


File diff suppressed because it is too large
+ 277 - 0
run_model/.ipynb_checkpoints/BlueOn-checkpoint.ipynb


File diff suppressed because it is too large
+ 296 - 0
run_model/.ipynb_checkpoints/MC_off-checkpoint.ipynb


File diff suppressed because it is too large
+ 289 - 0
run_model/.ipynb_checkpoints/MC_on-checkpoint.ipynb


File diff suppressed because it is too large
+ 268 - 0
run_model/.ipynb_checkpoints/PC_Gon-checkpoint.ipynb


File diff suppressed because it is too large
+ 275 - 0
run_model/.ipynb_checkpoints/PC_Ron-checkpoint.ipynb


File diff suppressed because it is too large
+ 141 - 0
run_model/.ipynb_checkpoints/PC_off-checkpoint.ipynb


+ 264 - 0
run_model/.ipynb_checkpoints/Piecharts-checkpoint.ipynb

@@ -0,0 +1,264 @@
+{
+ "cells": [
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "#Make sure retinatools is in the python path\n",
+    "import sys\n",
+    "sys.path.append('../') "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "import numpy as np\n",
+    "import pylab as pl\n",
+    "from retinatools.library import filter_video_PC, get_PC_response, filter_video_MC, get_MC_response, filter_video_BO, get_BO_response, compare_to_file"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# Note: all reliabilities rounded to 2 significant digits, and rounded up"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "pl.rcParams['figure.figsize'] = [15, 4]\n",
+    "def make_plots(cell_name, RpcF, RpfS, filename, dt, shift, column, retinal_reliability): \n",
+    "    \n",
+    "    # Calculate the R^2 values / variaces explained\n",
+    "    rF = compare_to_file(filename, RpcF, dt, column, shift)    \n",
+    "    rS = compare_to_file(filename, RpcS, dt, column, shift)\n",
+    "    spatial_factors = rS**2\n",
+    "    temporal_factors = rF**2 - rS**2\n",
+    "    missing_in_model = retinal_reliability - rF**2\n",
+    "    \n",
+    "    #Get the data for the plot\n",
+    "    cell_activity = np.loadtxt(filename)\n",
+    "    time_cell = np.arange(0, len(cell_activity))*dt + 5000 - shift*6.66 \n",
+    "    time_model = np.arange(0, len(RpcS)*dt, dt)\n",
+    "\n",
+    "    #Make the plot\n",
+    "    pl.figure()\n",
+    "    pl.subplot(1,2,1)\n",
+    "    pl.plot(time_model, RpcS/np.std(RpcS), label=\"Model without surround\")\n",
+    "    pl.plot(time_model, RpcF/np.std(RpcF), label = \"Full model\")\n",
+    "    pl.plot(time_cell, cell_activity[:,column]/np.std(cell_activity[:,column]), label=\"Cell data\")\n",
+    "    pl.xlim([10000,11500])\n",
+    "    pl.ylim([0,8])\n",
+    "    pl.xlabel(\"Time [ms]\")\n",
+    "    pl.ylabel(\"Activity [Z-scored]\")\n",
+    "    pl.legend();\n",
+    "    pl.title(\"r_model=\" + str(rF))\n",
+    "    pl.subplot(1,2,2)\n",
+    "    labels = 'Center-contribution', '\"Surround\"-Contribution', 'Missing in Model', 'Individual variations'\n",
+    "    sizes = [spatial_factors, temporal_factors, missing_in_model, 1-retinal_reliability]\n",
+    "    explode = (0.1, 0.1, 0.1, 0.1)\n",
+    "    pl.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%', shadow=True, startangle=-60)\n",
+    "    pl.axis('equal')\n",
+    "    pl.title(\"Cell: \" +  cell_name);\n",
+    "\n",
+    "    #Save figure + data\n",
+    "    pl.savefig(\"./\"+ cell_name + \".pdf\")\n",
+    "    \n",
+    "    # Select data for cell and model, and save it\n",
+    "    t0 = 5000\n",
+    "    time_cell = np.arange(0, len(cell_activity))*dt + 5000 - shift*6.66\n",
+    "    cell = cell_activity[(time_cell>t0) * (time_cell<64980), column]\n",
+    "    time = np.arange(0, len(RpcF)*dt, dt) \n",
+    "    model = RpcF[(time>=t0) * (time<64980)]\n",
+    "    time_file = time[(time>=t0) * (time<64980)]\n",
+    "    model_data_save = np.transpose([time_file, cell/np.std(cell), model/np.std(model)])\n",
+    "    np.savetxt(\"./\"+ cell_name + '_time_cell_fit.csv', model_data_save, fmt='%1.5f', delimiter=', ', newline='\\n', header='time [ms], cell, model', footer='', comments = '', encoding=None)\n",
+    "\n",
+    "    pl.close()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# PC cells"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "for cell in [\"110Ron\", \"130Gon\"]:\n",
+    "    \n",
+    "    if cell == \"110Ron\":\n",
+    "        fitparameters = {'xoff': 2.9, 'yoff': -1.8, 'rcenterM': 20, 'rcenterL': 5.0, \\\n",
+    "                         'lum_factor': 1200, 'tau1': 6.9, 'tau2': 60, 'k1': 0.017, 'tau3': 400,\\\n",
+    "                         'alpha': 0.68, 'k2': 4, 'o1': 0.07, 'dt': 1000/150.}\n",
+    "        filename = './data/File110Ron.txt'\n",
+    "        celltype = \"Ron\"\n",
+    "        fitparameters_s = fitparameters.copy()\n",
+    "        fitparameters_s['rcenterM'] = fitparameters_s['rcenterL']\n",
+    "        retinal_reliability = 0.91**2 # From Barry for 110Ron\n",
+    "\n",
+    "    elif cell == \"130Gon\":\n",
+    "        fitparameters = {'xoff': 2.9, 'yoff': -2.2, 'rcenterM': 4.9, 'rcenterL': 32, \\\n",
+    "                         'lum_factor': 290, 'tau1': 7.8, 'tau2': 100, 'k1': 0.018, 'tau3': 2000,\\\n",
+    "                         'alpha': 0.71, 'k2': 3.0, 'o1': 0.06, 'dt': 1000/150.}\n",
+    "        filename = './data/File130Gn.txt'\n",
+    "        celltype = \"Gon\"\n",
+    "        fitparameters_s = fitparameters.copy()\n",
+    "        fitparameters_s['rcenterL'] = fitparameters_s['rcenterM']\n",
+    "        retinal_reliability = 0.80**2 # From Barry for 130Gon\n",
+    "\n",
+    "\n",
+    "    # full model\n",
+    "    lum_signalM, lum_signalL = filter_video_PC('../stimuli/1x10_256.mpg', 9750, fitparameters)\n",
+    "    RpcF = get_PC_response(lum_signalM, lum_signalL, fitparameters, celltype)\n",
+    "\n",
+    "    # no-surround model\n",
+    "    lum_signalM, lum_signalL = filter_video_PC('../stimuli/1x10_256.mpg', 9750, fitparameters_s)\n",
+    "    RpcS = get_PC_response(lum_signalM, lum_signalL, fitparameters_s, celltype)\n",
+    "    \n",
+    "    make_plots(cell, RpcF, RpcS, filename, dt = fitparameters['dt'], shift = 1, column = 0, retinal_reliability = retinal_reliability)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# MC cells"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "for cell in [\"299Mon\", \"078Moff\"]:\n",
+    "    \n",
+    "    if cell == \"299Mon\":\n",
+    "        fitparameters = {'xoff': -2.5, 'yoff': -5.5, 'rcenter': 4.0, 'rsurr': 13.0, 'ksurr': 0.45, 'surround_delay': 3, \\\n",
+    "                         'lum_factor': 60, 'tau1': 7.3, 'tau2': 38, 'k1': 0.019, 'c1': 0.016, 'tauplus': 110, \\\n",
+    "                         'tauA': 20, 'k2': 50, 'dt': 1000/150.}\n",
+    "        filename = './data/File299Mon.txt'\n",
+    "        celltype = 'on-cell'\n",
+    "        fitparameters_s = fitparameters.copy()\n",
+    "        fitparameters_s['rsurr'] = fitparameters_s['rcenter']\n",
+    "        retinal_reliability = 0.92**2 # From 299 MC on cell\n",
+    "\n",
+    "    elif cell == \"078Moff\":\n",
+    "        fitparameters = {'xoff': -8.4, 'yoff': 2.5, 'rcenter': 4.5, 'rsurr': 20, 'ksurr': 0.34, 'surround_delay': 8, \\\n",
+    "                         'lum_factor': 1000, 'tau1': 5.0, 'tau2': 16, 'k1': 0.00048, 'c1': 0.0024, 'tauplus': 22, \\\n",
+    "                         'tauA': 33, 'k2': 560, 'dt': 1000/150.}\n",
+    "        filename = './data/File078Moff.txt'\n",
+    "        celltype = 'off-cell'\n",
+    "        fitparameters_s = fitparameters.copy()\n",
+    "        fitparameters_s['rsurr'] = fitparameters_s['rcenter']\n",
+    "        retinal_reliability = 0.89**2 # From 78 MC off cell\n",
+    "\n",
+    "\n",
+    "    # full model\n",
+    "    rates_center, rates_surround = filter_video_MC('../stimuli/1x10_256.mpg', 9750, fitparameters)\n",
+    "    RpcF = get_MC_response(rates_center, rates_surround, fitparameters, type = celltype)\n",
+    "\n",
+    "    # no-surround model\n",
+    "    rates_center, rates_surround = filter_video_MC('../stimuli/1x10_256.mpg', 9750, fitparameters_s)\n",
+    "    RpcS = get_MC_response(rates_center, rates_surround, fitparameters_s, type = celltype)\n",
+    "    \n",
+    "    make_plots(cell, RpcF, RpcS, filename, dt = fitparameters['dt'], shift = 2, column = 0, retinal_reliability = retinal_reliability)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Blue ON "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 9,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "cell = \"178Bon\"\n",
+    "\n",
+    "fitparameters = {'xoff': -7.6, 'yoff': 9.5, 'rcenterB': 10.0, 'rcenterY': 14.0,\\\n",
+    "                 'tau1': 10.2, 'tau2': 86, 'delay': 29, 'beta': 0.0, 'alpha': 4.9,  \\\n",
+    "                 'tau3': 280, 'kL': 0.01, 'kM': 0.051, 'kB': 0.12, 'offset': 0.025, 'dt': 1000/150.}\n",
+    "\n",
+    "filename = './data/File178Bon.txt'\n",
+    "fitparameters_s = fitparameters.copy()\n",
+    "fitparameters_s['rcenterY'] = fitparameters_s['rcenterB']\n",
+    "retinal_reliability = 0.91**2 # From barry 178 Bon cell\n",
+    "\n",
+    "\n",
+    "# full model\n",
+    "lum_signalL, lum_signalM, lum_signalB = filter_video_BO('../stimuli/1x10_256.mpg', 9750, fitparameters)\n",
+    "RpcF = get_BO_response(lum_signalB, lum_signalM, lum_signalL, fitparameters)\n",
+    "\n",
+    "# no-surround model\n",
+    "lum_signalL, lum_signalM, lum_signalB = filter_video_BO('../stimuli/1x10_256.mpg', 9750, fitparameters_s)\n",
+    "RpcS = get_BO_response(lum_signalB, lum_signalM, lum_signalL, fitparameters_s)\n",
+    "\n",
+    "make_plots(cell, RpcF, RpcS, filename, dt = fitparameters['dt'], shift = 2, column = 0, retinal_reliability = retinal_reliability)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.9.1"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}

BIN
run_model/078Moff.pdf


File diff suppressed because it is too large
+ 8998 - 0
run_model/078Moff_time_cell_fit.csv


BIN
run_model/110Ron.pdf


File diff suppressed because it is too large
+ 8998 - 0
run_model/110Ron_time_cell_fit.csv


BIN
run_model/130Gon.pdf


File diff suppressed because it is too large
+ 8998 - 0
run_model/130Gon_time_cell_fit.csv


BIN
run_model/178Bon.pdf


File diff suppressed because it is too large
+ 8998 - 0
run_model/178Bon_time_cell_fit.csv


BIN
run_model/299Mon.pdf


File diff suppressed because it is too large
+ 8998 - 0
run_model/299Mon_time_cell_fit.csv


File diff suppressed because it is too large
+ 27 - 65
run_model/BlueOn.ipynb


File diff suppressed because it is too large
+ 37 - 68
run_model/MC_off.ipynb


File diff suppressed because it is too large
+ 35 - 59
run_model/MC_on.ipynb


File diff suppressed because it is too large
+ 36 - 71
run_model/PC_Gon.ipynb


File diff suppressed because it is too large
+ 33 - 50
run_model/PC_Ron.ipynb


File diff suppressed because it is too large
+ 30 - 312
run_model/PC_off.ipynb


+ 27 - 511
run_model/Piecharts.ipynb

@@ -2,7 +2,18 @@
  "cells": [
   {
    "cell_type": "code",
-   "execution_count": 3,
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "#Make sure retinatools is in the python path\n",
+    "import sys\n",
+    "sys.path.append('../') "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -13,7 +24,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 2,
+   "execution_count": 3,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -22,7 +33,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 3,
+   "execution_count": 4,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -86,7 +97,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 4,
+   "execution_count": 5,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -114,14 +125,14 @@
     "\n",
     "\n",
     "    # full model\n",
-    "    lum_signalM, lum_signalL = filter_video_PC('../1x10_256.mpg', 9750, fitparameters)\n",
+    "    lum_signalM, lum_signalL = filter_video_PC('../stimuli/1x10_256.mpg', 9750, fitparameters)\n",
     "    RpcF = get_PC_response(lum_signalM, lum_signalL, fitparameters, celltype)\n",
     "\n",
     "    # no-surround model\n",
-    "    lum_signalM, lum_signalL = filter_video_PC('../1x10_256.mpg', 9750, fitparameters_s)\n",
+    "    lum_signalM, lum_signalL = filter_video_PC('../stimuli/1x10_256.mpg', 9750, fitparameters_s)\n",
     "    RpcS = get_PC_response(lum_signalM, lum_signalL, fitparameters_s, celltype)\n",
     "    \n",
-    "    make_plots(cell, RpcF, RpcS, filename, dt = fitparameters['dt'], shift = 2, column = 0, retinal_reliability = retinal_reliability)"
+    "    make_plots(cell, RpcF, RpcS, filename, dt = fitparameters['dt'], shift = 1, column = 0, retinal_reliability = retinal_reliability)"
    ]
   },
   {
@@ -131,20 +142,6 @@
    "outputs": [],
    "source": []
   },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": []
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": []
-  },
   {
    "cell_type": "markdown",
    "metadata": {},
@@ -154,7 +151,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 5,
+   "execution_count": 6,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -182,14 +179,14 @@
     "\n",
     "\n",
     "    # full model\n",
-    "    rates_center, rates_surround = filter_video_MC('../1x10_256.mpg', 9750, fitparameters)\n",
+    "    rates_center, rates_surround = filter_video_MC('../stimuli/1x10_256.mpg', 9750, fitparameters)\n",
     "    RpcF = get_MC_response(rates_center, rates_surround, fitparameters, type = celltype)\n",
     "\n",
     "    # no-surround model\n",
-    "    rates_center, rates_surround = filter_video_MC('../1x10_256.mpg', 9750, fitparameters_s)\n",
+    "    rates_center, rates_surround = filter_video_MC('../stimuli/1x10_256.mpg', 9750, fitparameters_s)\n",
     "    RpcS = get_MC_response(rates_center, rates_surround, fitparameters_s, type = celltype)\n",
     "    \n",
-    "    make_plots(cell, RpcF, RpcS, filename, dt = fitparameters['dt'], shift = 3, column = 0, retinal_reliability = retinal_reliability)"
+    "    make_plots(cell, RpcF, RpcS, filename, dt = fitparameters['dt'], shift = 2, column = 0, retinal_reliability = retinal_reliability)"
    ]
   },
   {
@@ -208,7 +205,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 6,
+   "execution_count": 9,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -219,501 +216,20 @@
     "                 'tau3': 280, 'kL': 0.01, 'kM': 0.051, 'kB': 0.12, 'offset': 0.025, 'dt': 1000/150.}\n",
     "\n",
     "filename = './data/File178Bon.txt'\n",
-    "column = 0\n",
-    "shift = 3\n",
     "fitparameters_s = fitparameters.copy()\n",
     "fitparameters_s['rcenterY'] = fitparameters_s['rcenterB']\n",
     "retinal_reliability = 0.91**2 # From barry 178 Bon cell\n",
     "\n",
     "\n",
     "# full model\n",
-    "lum_signalL, lum_signalM, lum_signalB = filter_video_BO('../1x10_256.mpg', 9750, fitparameters)\n",
+    "lum_signalL, lum_signalM, lum_signalB = filter_video_BO('../stimuli/1x10_256.mpg', 9750, fitparameters)\n",
     "RpcF = get_BO_response(lum_signalB, lum_signalM, lum_signalL, fitparameters)\n",
     "\n",
     "# no-surround model\n",
-    "lum_signalL, lum_signalM, lum_signalB = filter_video_BO('../1x10_256.mpg', 9750, fitparameters_s)\n",
+    "lum_signalL, lum_signalM, lum_signalB = filter_video_BO('../stimuli/1x10_256.mpg', 9750, fitparameters_s)\n",
     "RpcS = get_BO_response(lum_signalB, lum_signalM, lum_signalL, fitparameters_s)\n",
     "\n",
-    "make_plots(cell, RpcF, RpcS, filename, dt = fitparameters['dt'], shift = 3, column =0, retinal_reliability = retinal_reliability)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": []
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 47,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "import numpy as np\n",
-    "from scipy import stats"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 48,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# Summary Statistics"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 49,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "bon = [0.7802624476726236, 0.8153849801352536, 0.7320091829732691]\n",
-    "MCoff = [0.8049267745650888, 0.8036790439827152, 0.7935184997426455]\n",
-    "MCon = [0.8019790948348724, 0.8262426182591949, 0.8027547139233095]\n",
-    "Gon = [0.77803242901496, 0.7773717115038241, 0.7643298886394182]\n",
-    "Ron = [0.8356837630544626, 0.8421023207571601, 0.8631643469665483]"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 50,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "0.8055167908846377"
-      ]
-     },
-     "execution_count": 50,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "np.mean([MCoff, MCon])"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 51,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "0.009978215489268237"
-      ]
-     },
-     "execution_count": 51,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "np.std([MCoff, MCon])"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 52,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "0.004073589415373797"
-      ]
-     },
-     "execution_count": 52,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "np.std([MCoff, MCon])/np.sqrt(6)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 53,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "[None, None, None]"
-      ]
-     },
-     "execution_count": 53,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "a = []\n",
-    "[a.append(s) for s in MCon]\n",
-    "[a.append(s) for s in MCoff]"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 56,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "[0.8019790948348724, 0.8262426182591949, 0.8027547139233095, 0.8049267745650888, 0.8036790439827152, 0.7935184997426455]\n"
-     ]
-    },
-    {
-     "data": {
-      "text/plain": [
-       "Ttest_1sampResult(statistic=180.5122672859438, pvalue=9.899823797921202e-11)"
-      ]
-     },
-     "execution_count": 56,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "print(a)\n",
-    "stats.ttest_1samp(a,0.0)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": []
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": []
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 57,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "0.8101140766560623"
-      ]
-     },
-     "execution_count": 57,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "np.mean([Gon, Ron])"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 58,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "0.038054509734225"
-      ]
-     },
-     "execution_count": 58,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "np.std([Gon, Ron])"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 59,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "0.015535688543437792"
-      ]
-     },
-     "execution_count": 59,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "np.std([Gon, Ron])/np.sqrt(6)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 60,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "[None, None, None]"
-      ]
-     },
-     "execution_count": 60,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "a = []\n",
-    "[a.append(s) for s in Gon]\n",
-    "[a.append(s) for s in Ron]"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 61,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "[0.77803242901496, 0.7773717115038241, 0.7643298886394182, 0.8356837630544626, 0.8421023207571601, 0.8631643469665483]\n"
-     ]
-    },
-    {
-     "data": {
-      "text/plain": [
-       "Ttest_1sampResult(statistic=47.60198351217366, pvalue=7.729070905370263e-08)"
-      ]
-     },
-     "execution_count": 61,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "print(a)\n",
-    "stats.ttest_1samp(a,0.0)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": []
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 13,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "0.8014294544016898"
-      ]
-     },
-     "execution_count": 13,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "np.mean([bon, MCoff, MCon, Gon, Ron])"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 14,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "0.03193849279442697"
-      ]
-     },
-     "execution_count": 14,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "np.std([bon, MCoff, MCon, Gon, Ron])"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 5,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "0.008246483379718748"
-      ]
-     },
-     "execution_count": 5,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "np.std([bon, MCoff, MCon, Gon, Ron])/np.sqrt(15)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 63,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "[None, None, None]"
-      ]
-     },
-     "execution_count": 63,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "a = []\n",
-    "[a.append(s) for s in bon]\n",
-    "[a.append(s) for s in MCoff]\n",
-    "[a.append(s) for s in MCon]\n",
-    "[a.append(s) for s in Gon]\n",
-    "[a.append(s) for s in Ron]"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 65,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "Ttest_1sampResult(statistic=93.88904032952797, pvalue=5.283140568700127e-21)"
-      ]
-     },
-     "execution_count": 65,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "stats.ttest_1samp(a,0.0)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": []
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": []
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 15,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "0.7758855369270488"
-      ]
-     },
-     "execution_count": 15,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "np.mean(bon)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 16,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "0.034178442512351186"
-      ]
-     },
-     "execution_count": 16,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "np.std(bon)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 13,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "0.019732932984988107"
-      ]
-     },
-     "execution_count": 13,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "np.std(bon)/np.sqrt(3)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 62,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "Ttest_1sampResult(statistic=32.104091600278146, pvalue=0.00096883034904349)"
-      ]
-     },
-     "execution_count": 62,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "stats.ttest_1samp(bon,0.0)"
+    "make_plots(cell, RpcF, RpcS, filename, dt = fitparameters['dt'], shift = 2, column = 0, retinal_reliability = retinal_reliability)"
    ]
   },
   {
@@ -740,7 +256,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.7.8"
+   "version": "3.9.1"
   }
  },
  "nbformat": 4,

File diff suppressed because it is too large
+ 1 - 0
run_model/data/File078Moff.txt


File diff suppressed because it is too large
+ 1 - 0
run_model/data/File110Ron.txt


File diff suppressed because it is too large
+ 1 - 0
run_model/data/File130Gn.txt


File diff suppressed because it is too large
+ 1 - 0
run_model/data/File167Ron.txt


File diff suppressed because it is too large
+ 1 - 0
run_model/data/File178Bon.txt


File diff suppressed because it is too large
+ 1 - 0
run_model/data/File181Moff.txt


File diff suppressed because it is too large
+ 1 - 0
run_model/data/File194Ron.txt


File diff suppressed because it is too large
+ 9000 - 0
run_model/data/File225+L-Moff.txt


File diff suppressed because it is too large
+ 1 - 0
run_model/data/File229Bon.txt


File diff suppressed because it is too large
+ 1 - 0
run_model/data/File254Mon.txt


File diff suppressed because it is too large
+ 1 - 0
run_model/data/File256Moff.txt


File diff suppressed because it is too large
+ 1 - 0
run_model/data/File258Mon.txt


File diff suppressed because it is too large
+ 1 - 0
run_model/data/File284Gon.txt


File diff suppressed because it is too large
+ 1 - 0
run_model/data/File287Gon.txt


File diff suppressed because it is too large
+ 1 - 0
run_model/data/File299Mon.txt


File diff suppressed because it is too large
+ 1 - 0
run_model/data/File302Bon.txt