GRC_properties_Plot_Unsubtracted.py 114 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202
  1. #!/usr/bin/env python
  2. # coding: utf-8
  3. #%%
  4. print('initializing packages')
  5. from os import chdir
  6. import matplotlib.pyplot as plt
  7. from pathlib import Path
  8. import numpy as np
  9. import pandas as pd
  10. import sys
  11. import seaborn as sns
  12. from scipy import signal
  13. import matplotlib
  14. matplotlib.rcParams.update({'font.size': 22})
  15. sys.path.append('/Users/kperks/mnt/engram/scripts/Python/Analysis/')
  16. from ClassDef_AmplitudeShift_Stable import AmpShift_Stable
  17. #%%
  18. print('changing to data_processed folder and defining folders used in script')
  19. chdir('/Users/kperks/mnt/engram/spikedata/data_processed/')
  20. exptpath = Path.cwd().resolve().parents[0] #assumes running notebook from /data_processed
  21. data_folder = exptpath / 'data_raw'
  22. figure_folder = exptpath / 'data_processed' / 'Figures_GRC_properties' / 'Unsubtracted_CvsU'
  23. df_folder = exptpath / 'data_processed' / 'Figures_GRC_properties' / 'Unsubtracted_CvsU' / 'df_cmdintact'
  24. #%%
  25. print('setting sweep duration to 50 msec')
  26. sweepdur = 0.045
  27. #%%
  28. print('defining functions')
  29. def calc_peaks (xtime,sweeps, order, min_peakt, t0_offset,threshold_h,dt):
  30. min_peakt = min_peakt+t0_offset
  31. R = np.mean(sweeps,1)-np.mean(sweeps,1)[0]
  32. nsamp=int(order/dt) #the window of comparison in nsamp for order; 2msec seemed good
  33. ipsp_ = signal.argrelextrema(R,np.less_equal,order = nsamp)[0]
  34. epsp_ = signal.argrelextrema(R,np.greater_equal,order = nsamp)[0]
  35. epsp_ = epsp_[np.where((epsp_*dt)>min_peakt)[0]]
  36. ipsp_ = ipsp_[np.where((ipsp_*dt)>min_peakt)[0]]
  37. epsp = []
  38. measure = epsp_
  39. compare = ipsp_
  40. for i in measure:
  41. if len(compare[compare<i])>0:
  42. lb = np.max(compare[compare<i])
  43. elif len(compare[compare<i])==0:
  44. lb = int(min_peakt/dt)
  45. if len(compare[compare>i])>0:
  46. rb = np.min(compare[compare>i])
  47. elif len(compare[compare>i])==0:
  48. rb = len(R)-1
  49. min_height = np.min([abs(R[i]-R[lb]),abs(R[i]-R[rb])])
  50. if min_height>threshold_h:
  51. epsp.append(i)
  52. if len(epsp)>0:
  53. epsp = np.min(epsp)
  54. elif len(epsp)==0:
  55. epsp = np.NaN
  56. ipsp = []
  57. measure = ipsp_
  58. compare = epsp_
  59. for i in measure:
  60. if len(compare[compare<i])>0:
  61. lb = np.max(compare[compare<i])
  62. elif len(compare[compare<i])==0:
  63. lb = int(min_peakt/dt)
  64. if len(compare[compare>i])>0:
  65. rb = np.min(compare[compare>i])
  66. elif len(compare[compare>i])==0:
  67. rb = len(R)-1
  68. min_height = np.min([abs(R[i]-R[lb]),abs(R[i]-R[rb])])
  69. if min_height>threshold_h:
  70. ipsp.append(i)
  71. if len(ipsp)>0:
  72. ipsp = np.min(ipsp)
  73. elif len(ipsp)==0:
  74. ipsp = np.NaN
  75. R_filt = signal.medfilt(R,[11])
  76. y = signal.medfilt(np.concatenate([[0],np.diff(R_filt)]),[25]) #-threshold_dvdt
  77. accel = signal.medfilt(np.concatenate([[0],np.diff(y)]),[11])
  78. dvdt_start = int((0.002+t0_offset)/dt)
  79. if ~np.isnan([epsp]).any():
  80. epsp_t = xtime[epsp]
  81. max_dvdt = np.max(y[dvdt_start:epsp])
  82. dvdt_threshold = np.max([0.01,0.15*max_dvdt])
  83. onset_options = np.where((np.sign(y-dvdt_threshold)>0) & (np.sign(accel)>=0))[0]
  84. valid_onsets = onset_options[(onset_options>dvdt_start)&(onset_options<epsp)]
  85. if len(valid_onsets) > 0:
  86. if (epsp_t-(np.min(valid_onsets)*dt)*1000) > 0: #ensure that onset is before peak
  87. epsp_onset_ind = np.min(valid_onsets) #min after stim artifact
  88. epsp_amp = R[epsp]-R[0] #R[epsp]-R[epsp_onset_ind]
  89. epsp_onset = xtime[epsp_onset_ind]
  90. epsp_dvdt = np.max(y[epsp_onset_ind:epsp])
  91. epsp_dvdt = epsp_dvdt/dt/1000 # convert to mV/msec from mV/sample
  92. elif (epsp_t-(np.min(valid_onsets)*dt)*1000) <= 0:
  93. epsp_t = np.NaN
  94. epsp_onset = np.NaN
  95. epsp_amp = np.NaN
  96. epsp_dvdt = np.NaN
  97. elif len(valid_onsets)==0:
  98. epsp_t = np.NaN
  99. epsp_onset = np.NaN
  100. epsp_amp = np.NaN
  101. epsp_dvdt = np.NaN
  102. elif np.isnan([epsp]).any():
  103. epsp_t = np.NaN
  104. epsp_onset = np.NaN
  105. epsp_amp = np.NaN
  106. epsp_dvdt = np.NaN
  107. if ~np.isnan([ipsp]).any():
  108. ipsp_t = xtime[ipsp]
  109. max_dvdt = np.min(y[dvdt_start:ipsp])
  110. dvdt_threshold = np.min([-0.01,0.15*max_dvdt])
  111. onset_options = np.where((np.sign(y-dvdt_threshold)<0) & (np.sign(accel)<=0))[0]
  112. valid_onsets = onset_options[(onset_options>dvdt_start)&(onset_options<ipsp)]
  113. if len(valid_onsets) > 0:
  114. if (ipsp_t-(np.min(valid_onsets)*dt)*1000) > 0: #ensure that onset is before peak
  115. ipsp_onset_ind = np.min(valid_onsets) #min after stim artifact
  116. ipsp_amp = R[ipsp]-R[0] #R[ipsp_onset_ind]
  117. ipsp_onset = xtime[ipsp_onset_ind]
  118. ipsp_dvdt = np.min(y[ipsp_onset_ind:ipsp])
  119. ipsp_dvdt = ipsp_dvdt/dt/1000 # convert to mV/msec from mV/sample
  120. elif (ipsp_t-(np.min(valid_onsets)*dt)*1000) <= 0:
  121. ipsp_t = np.NaN
  122. ipsp_onset = np.NaN
  123. ipsp_amp = np.NaN
  124. ipsp_dvdt = np.NaN
  125. elif len(valid_onsets)==0:
  126. ipsp_t = np.NaN
  127. ipsp_onset = np.NaN
  128. ipsp_amp = np.NaN
  129. ipsp_dvdt = np.NaN
  130. elif np.isnan([ipsp]).any():
  131. ipsp_t = np.NaN
  132. ipsp_onset = np.NaN
  133. ipsp_amp = np.NaN
  134. ipsp_dvdt = np.NaN
  135. #calculate std of response starting at first psp onset with duration 20ms
  136. onset_vals = np.array([epsp_onset,ipsp_onset])
  137. if len(onset_vals[~np.isnan(onset_vals)])==2:
  138. if epsp<ipsp:
  139. onset_ind = int(epsp_onset/1000/dt)
  140. offset_ind = onset_ind + int(20/1000/dt)
  141. response_std = np.mean(np.std(sweeps[onset_ind:offset_ind,:],1))
  142. peak_std = np.std(sweeps[epsp])
  143. if ipsp<epsp:
  144. onset_ind = int(ipsp_onset/1000/dt)
  145. offset_ind = onset_ind + int(20/1000/dt)
  146. response_std = np.mean(np.std(sweeps[onset_ind:offset_ind,:],1))
  147. peak_std = np.std(sweeps[ipsp])
  148. elif len(onset_vals[~np.isnan(onset_vals)])==1:
  149. if (~np.isnan(epsp_onset) & np.isnan(ipsp_onset)):
  150. onset_ind = int(epsp_onset/1000/dt)
  151. offset_ind = onset_ind + int(20/1000/dt)
  152. response_std = np.mean(np.std(sweeps[onset_ind:offset_ind,:],1))
  153. peak_std = np.std(sweeps[epsp])
  154. if (~np.isnan(ipsp_onset) & np.isnan(epsp_onset)):
  155. onset_ind = int(ipsp_onset/1000/dt)
  156. offset_ind = onset_ind + int(20/1000/dt)
  157. response_std = np.mean(np.std(sweeps[onset_ind:offset_ind,:],1))
  158. peak_std = np.std(sweeps[ipsp])
  159. elif len(onset_vals[~np.isnan(onset_vals)])==0:
  160. response_std = np.NaN
  161. peak_std = np.NaN
  162. #calculate halfwidth of response
  163. if (~np.isnan(epsp_t) & ~np.isnan(epsp_amp)):
  164. if R[int(epsp_t/1000/dt)] >= epsp_amp:
  165. R_shifted = R
  166. elif R[int(epsp_t/1000/dt)] < epsp_amp: #if epsp peak is negative need to offset response to calc halfwidth
  167. R_shifted = R - R[int(epsp_t/1000/dt)] + epsp_amp
  168. if ~np.isnan(epsp_amp):
  169. rise_options = np.where((np.sign((R_shifted-(epsp_amp/2)))>0) & (np.sign(y)>0))[0]
  170. valid_rise = rise_options[rise_options>int(2/1000/dt)]
  171. rise_t = np.min(valid_rise) * dt
  172. fall_options = np.where((np.sign((R_shifted-(epsp_amp/2)))>0) & (np.sign(y)<0))[0]
  173. valid_fall = fall_options[fall_options>int(2/1000/dt)]
  174. fall_t = np.max(valid_fall) * dt
  175. epsp_hw = (fall_t - rise_t)*1000 #convert to ms
  176. elif (np.isnan(epsp_t) | np.isnan(epsp_amp)):
  177. epsp_hw = np.NaN
  178. return epsp_t, epsp_amp, epsp_onset, ipsp_t, ipsp_amp, ipsp_onset, response_std, peak_std, epsp_hw, epsp_dvdt, ipsp_dvdt
  179. def get_results(expt,cmd_t,u_t,c_t,c_latency,do_plot,ax):
  180. #get command response
  181. xtime,sweeps = expt.get_sweepsmat('lowgain',cmd_t,sweepdur)
  182. cmd_ = np.mean(sweeps,1)-np.mean(sweeps,1)[0]
  183. # use these cmd trials to get Vm when measuring Estim responses
  184. Vm_baseline = np.mean(sweeps,1)[0]
  185. cell_data = {
  186. 'exptname' : exptname,
  187. 'Vm_baseline' : Vm_baseline,
  188. 'c_latency' : c_latency}
  189. # calculate peak data for cmdR
  190. min_peakt = 0.003 #(s)
  191. threshold_h = 0.25 #(mV)
  192. order = 0.0025 #(s)
  193. #get command response
  194. xtime,sweeps = expt.get_sweepsmat('lowgain',cmd_t,sweepdur)
  195. result = calc_peaks (xtime,sweeps, order, min_peakt,0,threshold_h,dt)
  196. if do_plot==1:
  197. plot_peaks_result(ax,xtime,sweeps,result,'purple')
  198. this_dict = result_to_dict(result,'cmd')
  199. cell_data.update(this_dict)
  200. # calculate peak data for uncoupled response
  201. #get uncoupled response
  202. xtime,sweeps = expt.get_sweepsmat('lowgain',u_t-c_latency,sweepdur)
  203. result = calc_peaks (xtime,sweeps, order, min_peakt,c_latency,threshold_h,dt)
  204. if do_plot==1:
  205. plot_peaks_result(ax,xtime,sweeps,result,'green')
  206. this_dict = result_to_dict(result,'u')
  207. cell_data.update(this_dict)
  208. # calculate peak data for coupled response
  209. #need to subtract cmd Response
  210. #first get command response offset by c_latency
  211. # xtime,sweeps = expt.get_sweepsmat('lowgain',cmd_t+c_latency,sweepdur)
  212. # cmd_ = np.mean(sweeps,1)-np.mean(sweeps,1)[0]
  213. #get coupled response
  214. xtime,sweeps = expt.get_sweepsmat('lowgain',c_t-c_latency,sweepdur)
  215. # sweeps = np.asarray([sweep - cmd_ for sweep in sweeps.T]).T
  216. result = calc_peaks (xtime,sweeps, order, min_peakt,c_latency,threshold_h,dt)
  217. if do_plot==1:
  218. plot_peaks_result(ax,xtime,sweeps,result,'orange')
  219. this_dict = result_to_dict(result,'c')
  220. cell_data.update(this_dict)
  221. mean_c = np.mean(sweeps,1)-np.mean(sweeps,1)[0]
  222. # calculate peak data for predicted response
  223. #need to subtract cmd Response
  224. #first get command response offset by c_latency
  225. xtime,sweeps = expt.get_sweepsmat('lowgain',cmd_t,sweepdur)
  226. cmd_ = np.mean(sweeps,1)-np.mean(sweeps,1)[0]
  227. #get uncoupled response
  228. xtime,sweeps = expt.get_sweepsmat('lowgain',u_t-c_latency,sweepdur)
  229. sweeps = np.asarray([sweep + cmd_ for sweep in sweeps.T]).T
  230. result = calc_peaks (xtime,sweeps, order, min_peakt,c_latency,threshold_h,dt)
  231. if do_plot==1:
  232. plot_peaks_result(ax,xtime,sweeps,result,'gray')
  233. this_dict = result_to_dict(result,'p')
  234. cell_data.update(this_dict)
  235. mean_p = np.mean(sweeps,1)-np.mean(sweeps,1)[0]
  236. this_dict = {'max_diff_predicted' : np.max(mean_c-mean_p)}
  237. cell_data.update(this_dict)
  238. return cell_data
  239. def plot_response(ax,xtime,sweeps,color_r):
  240. R = np.mean(sweeps,1)-np.mean(sweeps,1)[0]
  241. ax.plot(xtime,R,color = color_r)
  242. def plot_peaks_result(ax,xtime,sweeps,result,color_r):
  243. R = np.mean(sweeps,1)-np.mean(sweeps,1)[0]
  244. epsp_t = result[0],
  245. epsp_amp = result[1],
  246. epsp_onset = result[2],
  247. ipsp_t = result[3],
  248. ipsp_amp = result[4],
  249. ipsp_onset = result[5],
  250. ax.plot(xtime,R,color = color_r)
  251. ax.vlines(epsp_onset,-2,2,color = 'red',linestyles='dashed')
  252. ax.vlines(ipsp_onset,-2,2,color = 'blue',linestyles='dashed')
  253. ax.plot(epsp_t, epsp_amp,"*",color = color_r)
  254. ax.plot(ipsp_t, ipsp_amp,"^",color = color_r)
  255. def result_to_dict(result, rtype):
  256. this_dict = {
  257. rtype + '_epsp_t' : result[0],
  258. rtype + '_epsp_amp' : result[1],
  259. rtype + '_epsp_onset' : result[2],
  260. rtype + '_ipsp_t' : result[3],
  261. rtype + '_ipsp_amp' : result[4],
  262. rtype + '_ipsp_onset' : result[5],
  263. rtype + '_response_std' : result[6],
  264. rtype + '_peak_std' : result[7],
  265. rtype + '_epsp_hw' : result[8],
  266. rtype + '_epsp_dvdt' : result[9],
  267. rtype + '_ipsp_dvdt' : result[10]
  268. }
  269. return this_dict
  270. #################################################
  271. #################################################
  272. #%%
  273. print('initializing a figure')
  274. save_plot = 1
  275. fig = plt.figure(num=1)
  276. ax = fig.add_axes([0.1,0.1,0.8,0.8])
  277. # ax.set_visible(True)
  278. # #################################################
  279. # #################################################
  280. # # %%
  281. # ax.cla()
  282. # exptname = '20200606_005'
  283. # expt = AmpShift_Stable()
  284. # expt.load_expt(exptname, data_folder)
  285. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  286. # marker_df = expt.get_marker_table()
  287. # dt = expt.get_dt('lowgain')
  288. # #from command only trials get times for command responses
  289. # bout = [expt.get_bout_win('B','Keyboard')[0]]
  290. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  291. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  292. # cmd_t = b_df.time.values
  293. # bout = [expt.get_bout_win('R','Keyboard')[1]]
  294. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  295. # u_df = expt.filter_marker_df_code(bout_df,['U'])
  296. # u_t = u_df.time.values
  297. # bout = [expt.get_bout_win('N','Keyboard')[0]]
  298. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  299. # c_df = expt.filter_marker_df_code(bout_df,['C'])
  300. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  301. # c_t = c_df.time.values
  302. # #calculate time will need to offset command response by to subtract from coupled estim response
  303. # #use coupled trials
  304. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  305. # c_latency = np.median(c_t-cmd_coupled_t)
  306. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  307. # if save_plot:
  308. # savename = exptname + '.png'
  309. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  310. # df = pd.DataFrame(cell_data,index=[0])
  311. # savename = exptname + '.csv'
  312. # df.to_csv(df_folder / savename)
  313. # #################################################
  314. # #################################################
  315. # # %%
  316. # ax.cla()
  317. # exptname = '20200606_001'
  318. # expt = AmpShift_Stable()
  319. # expt.load_expt(exptname, data_folder)
  320. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  321. # bout = [expt.get_bout_win('R','Keyboard')[1],
  322. # expt.get_bout_win('N','Keyboard')[1]]
  323. # marker_df = expt.get_marker_table()
  324. # dt = expt.get_dt('lowgain')
  325. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  326. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  327. # u_df = expt.filter_marker_df_code(bout_df,['U'])
  328. # c_df = expt.filter_marker_df_code(bout_df,['C'])
  329. # u_t = u_df.time.values
  330. # c_t = c_df.time.values
  331. # #from uncoupled trials get times for command responses
  332. # cmd_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in u_t])
  333. # #calculate time will need to offset command response by to subtract from coupled estim response
  334. # #use coupled trials
  335. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  336. # c_latency = np.median(c_t-cmd_coupled_t)
  337. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  338. # if save_plot:
  339. # savename = exptname + '.png'
  340. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  341. # df = pd.DataFrame(cell_data,index=[0])
  342. # savename = exptname + '.csv'
  343. # df.to_csv(df_folder / savename)
  344. # #################################################
  345. # #################################################
  346. # # %%
  347. # ax.cla()
  348. # exptname = '20200607_005'
  349. # expt = AmpShift_Stable()
  350. # expt.load_expt(exptname, data_folder)
  351. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  352. # bout = [expt.get_bout_win('R','Keyboard')[0],
  353. # expt.get_bout_win('R','Keyboard')[1],
  354. # expt.get_bout_win('N','Keyboard')[0]]
  355. # marker_df = expt.get_marker_table()
  356. # dt = expt.get_dt('lowgain')
  357. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  358. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  359. # u_df = expt.filter_marker_df_code(bout_df,['U'])
  360. # c_df = expt.filter_marker_df_code(bout_df,['C'])
  361. # u_t = u_df.time.values
  362. # c_t = c_df.time.values
  363. # #from uncoupled trials get times for command responses
  364. # cmd_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in u_t])
  365. # #calculate time will need to offset command response by to subtract from coupled estim response
  366. # #use coupled trials
  367. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  368. # c_latency = np.median(c_t-cmd_coupled_t)
  369. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  370. # if save_plot:
  371. # savename = exptname + '.png'
  372. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  373. # df = pd.DataFrame(cell_data,index=[0])
  374. # savename = exptname + '.csv'
  375. # df.to_csv(df_folder / savename)
  376. # #################################################
  377. # #################################################
  378. # # %%
  379. # ax.cla()
  380. # exptname = '20200607_004'
  381. # expt = AmpShift_Stable()
  382. # expt.load_expt(exptname, data_folder)
  383. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  384. # bout = [expt.get_bout_win('R','Keyboard')[0],
  385. # expt.get_bout_win('N','Keyboard')[0]]
  386. # marker_df = expt.get_marker_table()
  387. # dt = expt.get_dt('lowgain')
  388. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  389. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  390. # u_df = expt.filter_marker_df_code(bout_df,['U'])
  391. # c_df = expt.filter_marker_df_code(bout_df,['C'])
  392. # u_t = u_df.time.values
  393. # c_t = c_df.time.values
  394. # #from uncoupled trials get times for command responses
  395. # cmd_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in u_t])
  396. # #calculate time will need to offset command response by to subtract from coupled estim response
  397. # #use coupled trials
  398. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  399. # c_latency = np.median(c_t-cmd_coupled_t)
  400. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  401. # if save_plot:
  402. # savename = exptname + '.png'
  403. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  404. # df = pd.DataFrame(cell_data,index=[0])
  405. # savename = exptname + '.csv'
  406. # df.to_csv(df_folder / savename)
  407. # #################################################
  408. # #################################################
  409. # # %%
  410. # ax.cla()
  411. # exptname = '20200607_002'
  412. # expt = AmpShift_Stable()
  413. # expt.load_expt(exptname, data_folder)
  414. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  415. # bout = [expt.get_bout_win('R','Keyboard')[0],
  416. # expt.get_bout_win('R','Keyboard')[1],
  417. # expt.get_bout_win('N','Keyboard')[0]]
  418. # marker_df = expt.get_marker_table()
  419. # dt = expt.get_dt('lowgain')
  420. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  421. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  422. # u_df = expt.filter_marker_df_code(bout_df,['U'])
  423. # c_df = expt.filter_marker_df_code(bout_df,['C'])
  424. # u_t = u_df.time.values
  425. # c_t = c_df.time.values
  426. # #from uncoupled trials get times for command responses
  427. # cmd_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in u_t])
  428. # #calculate time will need to offset command response by to subtract from coupled estim response
  429. # #use coupled trials
  430. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  431. # c_latency = np.median(c_t-cmd_coupled_t)
  432. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  433. # if save_plot:
  434. # savename = exptname + '.png'
  435. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  436. # df = pd.DataFrame(cell_data,index=[0])
  437. # savename = exptname + '.csv'
  438. # df.to_csv(df_folder / savename)
  439. # #################################################
  440. # #################################################
  441. # # %%
  442. # ax.cla()
  443. # exptname = '20200607_000'
  444. # expt = AmpShift_Stable()
  445. # expt.load_expt(exptname, data_folder)
  446. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  447. # bout = [expt.get_bout_win('R','Keyboard')[1],
  448. # expt.get_bout_win('R','Keyboard')[2],
  449. # expt.get_bout_win('N','Keyboard')[1],
  450. # expt.get_bout_win('N','Keyboard')[2]]
  451. # marker_df = expt.get_marker_table()
  452. # dt = expt.get_dt('lowgain')
  453. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  454. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  455. # u_df = expt.filter_marker_df_code(bout_df,['U'])
  456. # c_df = expt.filter_marker_df_code(bout_df,['C'])
  457. # u_t = u_df.time.values
  458. # c_t = c_df.time.values
  459. # #from uncoupled trials get times for command responses
  460. # cmd_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in u_t])
  461. # #calculate time will need to offset command response by to subtract from coupled estim response
  462. # #use coupled trials
  463. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  464. # c_latency = np.median(c_t-cmd_coupled_t)
  465. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  466. # if save_plot:
  467. # savename = exptname + '.png'
  468. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  469. # df = pd.DataFrame(cell_data,index=[0])
  470. # savename = exptname + '.csv'
  471. # df.to_csv(df_folder / savename)
  472. # #################################################
  473. # #################################################
  474. # # %%
  475. # ax.cla()
  476. # exptname = '20200525_001'
  477. # expt = AmpShift_Stable()
  478. # expt.load_expt(exptname, data_folder)
  479. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  480. # bout = [expt.get_bout_win('R','Keyboard')[0],
  481. # expt.get_bout_win('N','Keyboard')[0]]
  482. # marker_df = expt.get_marker_table()
  483. # dt = expt.get_dt('lowgain')
  484. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  485. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  486. # u_df = expt.filter_marker_df_code(bout_df,['U'])
  487. # c_df = expt.filter_marker_df_code(bout_df,['C'])
  488. # u_t = u_df.time.values
  489. # c_t = c_df.time.values
  490. # #from uncoupled trials get times for command responses
  491. # cmd_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in u_t])
  492. # #calculate time will need to offset command response by to subtract from coupled estim response
  493. # #use coupled trials
  494. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  495. # c_latency = np.median(c_t-cmd_coupled_t)
  496. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  497. # if save_plot:
  498. # savename = exptname + '.png'
  499. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  500. # df = pd.DataFrame(cell_data,index=[0])
  501. # savename = exptname + '.csv'
  502. # df.to_csv(df_folder / savename)
  503. # #################################################
  504. # #################################################
  505. # # %%
  506. # ax.cla()
  507. # exptname = '20200525_006'
  508. # expt = AmpShift_Stable()
  509. # expt.load_expt(exptname, data_folder)
  510. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  511. # bout = [expt.get_bout_win('R','Keyboard')[0],
  512. # expt.get_bout_win('N','Keyboard')[0]]
  513. # marker_df = expt.get_marker_table()
  514. # dt = expt.get_dt('lowgain')
  515. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  516. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  517. # u_df = expt.filter_marker_df_code(bout_df,['U'])
  518. # c_df = expt.filter_marker_df_code(bout_df,['C'])
  519. # u_t = u_df.time.values
  520. # c_t = c_df.time.values
  521. # #from uncoupled trials get times for command responses
  522. # cmd_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in u_t])
  523. # #calculate time will need to offset command response by to subtract from coupled estim response
  524. # #use coupled trials
  525. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  526. # c_latency = np.median(c_t-cmd_coupled_t)
  527. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  528. # if save_plot:
  529. # savename = exptname + '.png'
  530. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  531. # df = pd.DataFrame(cell_data,index=[0])
  532. # savename = exptname + '.csv'
  533. # df.to_csv(df_folder / savename)
  534. # #################################################
  535. # #################################################
  536. # # %%
  537. # ax.cla()
  538. # exptname = '20200524_002'
  539. # expt = AmpShift_Stable()
  540. # expt.load_expt(exptname, data_folder)
  541. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  542. # bout = [expt.get_bout_win('R','Keyboard')[1],
  543. # expt.get_bout_win('N','Keyboard')[1]]
  544. # marker_df = expt.get_marker_table()
  545. # dt = expt.get_dt('lowgain')
  546. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  547. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  548. # u_df = expt.filter_marker_df_code(bout_df,['U'])
  549. # c_df = expt.filter_marker_df_code(bout_df,['C'])
  550. # u_t = u_df.time.values
  551. # c_t = c_df.time.values
  552. # #from uncoupled trials get times for command responses
  553. # cmd_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in u_t])
  554. # #calculate time will need to offset command response by to subtract from coupled estim response
  555. # #use coupled trials
  556. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  557. # c_latency = np.median(c_t-cmd_coupled_t)
  558. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  559. # if save_plot:
  560. # savename = exptname + '.png'
  561. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  562. # df = pd.DataFrame(cell_data,index=[0])
  563. # savename = exptname + '.csv'
  564. # df.to_csv(df_folder / savename)
  565. # #################################################
  566. # #################################################
  567. # # %%
  568. # ax.cla()
  569. # exptname = '20200312_002'
  570. # expt = AmpShift_Stable()
  571. # expt.load_expt(exptname, data_folder)
  572. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  573. # bout = [expt.get_bout_win('R','Keyboard')[0],
  574. # expt.get_bout_win('N','Keyboard')[0],
  575. # expt.get_bout_win('N','Keyboard')[1]]
  576. # marker_df = expt.get_marker_table()
  577. # dt = expt.get_dt('lowgain')
  578. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  579. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  580. # u_df = expt.filter_marker_df_code(bout_df,['U'])
  581. # c_df = expt.filter_marker_df_code(bout_df,['C'])
  582. # u_t = u_df.time.values
  583. # c_t = c_df.time.values
  584. # #from uncoupled trials get times for command responses
  585. # cmd_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in u_t])
  586. # #calculate time will need to offset command response by to subtract from coupled estim response
  587. # #use coupled trials
  588. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  589. # c_latency = np.median(c_t-cmd_coupled_t)
  590. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  591. # if save_plot:
  592. # savename = exptname + '.png'
  593. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  594. # df = pd.DataFrame(cell_data,index=[0])
  595. # savename = exptname + '.csv'
  596. # df.to_csv(df_folder / savename)
  597. # ################################################
  598. # ################################################
  599. # #%%
  600. # ax.cla()
  601. # exptname = '20200227_000'
  602. # print(exptname)
  603. # expt = AmpShift_Stable()
  604. # expt.load_expt(exptname, data_folder)
  605. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  606. # bout = [expt.get_bout_win('R','Keyboard')[0],
  607. # expt.get_bout_win('N','Keyboard')[0]]
  608. # marker_df = expt.get_marker_table()
  609. # dt = expt.get_dt('lowgain')
  610. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  611. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  612. # u_df = expt.filter_marker_df_code(bout_df,['U'])
  613. # c_df = expt.filter_marker_df_code(bout_df,['C'])
  614. # u_t = u_df.time.values
  615. # c_t = c_df.time.values
  616. # #from uncoupled trials get times for command responses
  617. # cmd_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in u_t])
  618. # #calculate time will need to offset command response by to subtract from coupled estim response
  619. # #use coupled trials
  620. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  621. # c_latency = np.median(c_t-cmd_coupled_t)
  622. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  623. # if save_plot:
  624. # savename = exptname + '.png'
  625. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  626. # df = pd.DataFrame(cell_data,index=[0])
  627. # savename = exptname + '.csv'
  628. # df.to_csv(df_folder / savename)
  629. # #################################################
  630. # #################################################
  631. # #%%
  632. # ax.cla()
  633. # exptname = '20200226_002'
  634. # print(exptname)
  635. # expt = AmpShift_Stable()
  636. # expt.load_expt(exptname, data_folder)
  637. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  638. # bout = [expt.get_bout_win('R','Keyboard')[0],
  639. # expt.get_bout_win('N','Keyboard')[0]]
  640. # marker_df = expt.get_marker_table()
  641. # dt = expt.get_dt('lowgain')
  642. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  643. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  644. # u_df = expt.filter_marker_df_code(bout_df,['U'])
  645. # c_df = expt.filter_marker_df_code(bout_df,['C'])
  646. # u_t = u_df.time.values
  647. # c_t = c_df.time.values
  648. # #from uncoupled trials get times for command responses
  649. # cmd_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in u_t])
  650. # #calculate time will need to offset command response by to subtract from coupled estim response
  651. # #use coupled trials
  652. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  653. # c_latency = np.median(c_t-cmd_coupled_t)
  654. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  655. # if save_plot:
  656. # savename = exptname + '.png'
  657. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  658. # df = pd.DataFrame(cell_data,index=[0])
  659. # savename = exptname + '.csv'
  660. # df.to_csv(df_folder / savename)
  661. # #################################################
  662. # #################################################
  663. # #%%
  664. # ax.cla()
  665. # exptname = '20200225_000' #* had to manually change dvdt_start param in calc_peaks to 0.001
  666. # print(exptname)
  667. # expt = AmpShift_Stable()
  668. # expt.load_expt(exptname, data_folder)
  669. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  670. # marker_df = expt.get_marker_table()
  671. # dt = expt.get_dt('lowgain')
  672. # bout = [expt.get_bout_win('N','Keyboard')[0]]
  673. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  674. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  675. # bout = [expt.get_bout_win('R','Keyboard')[0],
  676. # expt.get_bout_win('N','Keyboard')[0]]
  677. # u_df = expt.filter_marker_df_code(bout_df,['U'])
  678. # c_df = expt.filter_marker_df_code(bout_df,['C'])
  679. # u_t = u_df.time.values
  680. # c_t = c_df.time.values
  681. # #from uncoupled trials get times for command responses
  682. # cmd_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in u_t])
  683. # #calculate time will need to offset command response by to subtract from coupled estim response
  684. # #use coupled trials
  685. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  686. # c_latency = np.median(c_t-cmd_coupled_t)
  687. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  688. # if save_plot:
  689. # savename = exptname + '.png'
  690. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  691. # df = pd.DataFrame(cell_data,index=[0])
  692. # savename = exptname + '.csv'
  693. # df.to_csv(df_folder / savename)
  694. # #################################################
  695. # #################################################
  696. # #%%
  697. # ax.cla()
  698. # exptname = '20200115_002'
  699. # print(exptname)
  700. # expt = AmpShift_Stable()
  701. # expt.load_expt(exptname, data_folder)
  702. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  703. # bout = [expt.get_bout_win('R','Keyboard')[0],
  704. # expt.get_bout_win('N','Keyboard')[0]]
  705. # marker_df = expt.get_marker_table()
  706. # dt = expt.get_dt('lowgain')
  707. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  708. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  709. # u_df = expt.filter_marker_df_code(bout_df,['U'])
  710. # c_df = expt.filter_marker_df_code(bout_df,['C'])
  711. # u_t = u_df.time.values
  712. # c_t = c_df.time.values
  713. # #from uncoupled trials get times for command responses
  714. # cmd_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in u_t])
  715. # #calculate time will need to offset command response by to subtract from coupled estim response
  716. # #use coupled trials
  717. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  718. # c_latency = np.median(c_t-cmd_coupled_t)
  719. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  720. # if save_plot:
  721. # savename = exptname + '.png'
  722. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  723. # df = pd.DataFrame(cell_data,index=[0])
  724. # savename = exptname + '.csv'
  725. # df.to_csv(df_folder / savename)
  726. # ################################################
  727. # ################################################
  728. # #%%
  729. # ax.cla()
  730. # exptname = '20200113_003'
  731. # expt = AmpShift_Stable()
  732. # expt.load_expt(exptname, data_folder)
  733. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  734. # bout = [expt.get_bout_win('R','Keyboard')[0],
  735. # expt.get_bout_win('N','Keyboard')[0]]
  736. # marker_df = expt.get_marker_table()
  737. # dt = expt.get_dt('lowgain')
  738. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  739. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  740. # u_df = expt.filter_marker_df_code(bout_df,['U'])
  741. # c_df = expt.filter_marker_df_code(bout_df,['C'])
  742. # u_t = u_df.time.values
  743. # c_t = c_df.time.values
  744. # #from uncoupled trials get times for command responses
  745. # cmd_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in u_t])
  746. # #calculate time will need to offset command response by to subtract from coupled estim response
  747. # #use coupled trials
  748. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  749. # c_latency = np.median(c_t-cmd_coupled_t)
  750. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  751. # if save_plot:
  752. # savename = exptname + '.png'
  753. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  754. # df = pd.DataFrame(cell_data,index=[0])
  755. # savename = exptname + '.csv'
  756. # df.to_csv(df_folder / savename)
  757. # #################################################
  758. # #################################################
  759. # #%%
  760. # ax.cla()
  761. # exptname = '20200113_004'
  762. # expt = AmpShift_Stable()
  763. # expt.load_expt(exptname, data_folder)
  764. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  765. # bout = [expt.get_bout_win('R','Keyboard')[0],
  766. # expt.get_bout_win('R','Keyboard')[1],
  767. # expt.get_bout_win('N','Keyboard')[0],
  768. # expt.get_bout_win('N','Keyboard')[1]]
  769. # marker_df = expt.get_marker_table()
  770. # dt = expt.get_dt('lowgain')
  771. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  772. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  773. # u_df = expt.filter_marker_df_code(bout_df,['U'])
  774. # c_df = expt.filter_marker_df_code(bout_df,['C'])
  775. # u_t = u_df.time.values
  776. # c_t = c_df.time.values
  777. # #from uncoupled trials get times for command responses
  778. # cmd_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in u_t])
  779. # #calculate time will need to offset command response by to subtract from coupled estim response
  780. # #use coupled trials
  781. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  782. # c_latency = np.median(c_t-cmd_coupled_t)
  783. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  784. # if save_plot:
  785. # savename = exptname + '.png'
  786. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  787. # df = pd.DataFrame(cell_data,index=[0])
  788. # savename = exptname + '.csv'
  789. # df.to_csv(df_folder / savename)
  790. # #################################################
  791. # #################################################
  792. # #%%
  793. # ax.cla()
  794. # exptname = '20191218_005'
  795. # expt = AmpShift_Stable()
  796. # expt.load_expt(exptname, data_folder)
  797. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  798. # bout = [expt.get_bout_win('R','Keyboard')[0],
  799. # expt.get_bout_win('R','Keyboard')[1],
  800. # expt.get_bout_win('N','Keyboard')[0]]
  801. # marker_df = expt.get_marker_table()
  802. # dt = expt.get_dt('lowgain')
  803. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  804. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  805. # u_df = expt.filter_marker_df_code(bout_df,['U'])
  806. # c_df = expt.filter_marker_df_code(bout_df,['C'])
  807. # u_t = u_df.time.values
  808. # c_t = c_df.time.values
  809. # #from uncoupled trials get times for command responses
  810. # cmd_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in u_t])
  811. # #calculate time will need to offset command response by to subtract from coupled estim response
  812. # #use coupled trials
  813. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  814. # c_latency = np.median(c_t-cmd_coupled_t)
  815. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  816. # if save_plot:
  817. # savename = exptname + '.png'
  818. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  819. # df = pd.DataFrame(cell_data,index=[0])
  820. # savename = exptname + '.csv'
  821. # df.to_csv(df_folder / savename)
  822. # #################################################
  823. # #################################################
  824. # #%%
  825. # ax.cla()
  826. # exptname = '20191218_009'
  827. # expt = AmpShift_Stable()
  828. # expt.load_expt(exptname, data_folder)
  829. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  830. # bout = [expt.get_bout_win('R','Keyboard')[0],
  831. # expt.get_bout_win('R','Keyboard')[1],
  832. # expt.get_bout_win('N','Keyboard')[0],
  833. # expt.get_bout_win('N','Keyboard')[1]]
  834. # marker_df = expt.get_marker_table()
  835. # dt = expt.get_dt('lowgain')
  836. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  837. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  838. # u_df = expt.filter_marker_df_code(bout_df,['U'])
  839. # c_df = expt.filter_marker_df_code(bout_df,['C'])
  840. # u_t = u_df.time.values
  841. # c_t = c_df.time.values
  842. # #from uncoupled trials get times for command responses
  843. # cmd_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in u_t])
  844. # #calculate time will need to offset command response by to subtract from coupled estim response
  845. # #use coupled trials
  846. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  847. # c_latency = np.median(c_t-cmd_coupled_t)
  848. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  849. # if save_plot:
  850. # savename = exptname + '.png'
  851. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  852. # df = pd.DataFrame(cell_data,index=[0])
  853. # savename = exptname + '.csv'
  854. # df.to_csv(df_folder / savename)
  855. # #################################################
  856. # #################################################
  857. # #%%
  858. # ax.cla()
  859. # exptname = '20200122_001'
  860. # expt = AmpShift_Stable()
  861. # expt.load_expt(exptname, data_folder)
  862. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  863. # bout = [expt.get_bout_win('R','Keyboard')[0]]
  864. # marker_df = expt.get_marker_table()
  865. # dt = expt.get_dt('lowgain')
  866. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  867. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  868. # u_df = expt.filter_marker_df_code(bout_df,['U'])
  869. # c_df = expt.filter_marker_df_code(bout_df,['C'])
  870. # u_t = u_df.time.values
  871. # c_t = c_df.time.values
  872. # #from uncoupled trials get times for command responses
  873. # cmd_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in u_t])
  874. # #calculate time will need to offset command response by to subtract from coupled estim response
  875. # #use coupled trials
  876. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  877. # c_latency = np.median(c_t-cmd_coupled_t)
  878. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  879. # if save_plot:
  880. # savename = exptname + '.png'
  881. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  882. # df = pd.DataFrame(cell_data,index=[0])
  883. # savename = exptname + '.csv'
  884. # df.to_csv(df_folder / savename)
  885. # #################################################
  886. # #################################################
  887. # #%%
  888. # ax.cla()
  889. # exptname = '20200115_004'
  890. # expt = AmpShift_Stable()
  891. # expt.load_expt(exptname, data_folder)
  892. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  893. # bout = [expt.get_bout_win('B','Keyboard')[0],
  894. # expt.get_bout_win('U','Keyboard')[0],
  895. # expt.get_bout_win('C','Keyboard')[0]]
  896. # marker_df = expt.get_marker_table()
  897. # dt = expt.get_dt('lowgain')
  898. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  899. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  900. # u_df = expt.filter_marker_df_code(bout_df,['U'])
  901. # c_df = expt.filter_marker_df_code(bout_df,['C'])
  902. # u_t = u_df.time.values
  903. # c_t = c_df.time.values
  904. # #from uncoupled trials get times for command responses
  905. # cmd_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in u_t])
  906. # #calculate time will need to offset command response by to subtract from coupled estim response
  907. # #use coupled trials
  908. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  909. # c_latency = np.median(c_t-cmd_coupled_t)
  910. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  911. # if save_plot:
  912. # savename = exptname + '.png'
  913. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  914. # df = pd.DataFrame(cell_data,index=[0])
  915. # savename = exptname + '.csv'
  916. # df.to_csv(df_folder / savename)
  917. # #################################################
  918. # #################################################
  919. # #%%
  920. # ax.cla()
  921. # exptname = '20200312_000'
  922. # expt = AmpShift_Stable()
  923. # expt.load_expt(exptname, data_folder)
  924. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  925. # bout = [expt.get_bout_win('N','Keyboard')[1]]
  926. # marker_df = expt.get_marker_table()
  927. # dt = expt.get_dt('lowgain')
  928. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  929. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  930. # u_df = expt.filter_marker_df_code(bout_df,['U'])
  931. # c_df = expt.filter_marker_df_code(bout_df,['C'])
  932. # u_t = u_df.time.values
  933. # c_t = c_df.time.values
  934. # #from uncoupled trials get times for command responses
  935. # cmd_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in u_t])
  936. # #calculate time will need to offset command response by to subtract from coupled estim response
  937. # #use coupled trials
  938. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  939. # c_latency = np.median(c_t-cmd_coupled_t)
  940. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  941. # if save_plot:
  942. # savename = exptname + '.png'
  943. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  944. # df = pd.DataFrame(cell_data,index=[0])
  945. # savename = exptname + '.csv'
  946. # df.to_csv(df_folder / savename)
  947. # #################################################
  948. # #################################################
  949. # #%%
  950. # ax.cla()
  951. # exptname = '20200309_000'
  952. # expt = AmpShift_Stable()
  953. # expt.load_expt(exptname, data_folder)
  954. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  955. # bout = [expt.get_bout_win('R','Keyboard')[0],
  956. # expt.get_bout_win('N','Keyboard')[0],
  957. # expt.get_bout_win('N','Keyboard')[1]]
  958. # marker_df = expt.get_marker_table()
  959. # dt = expt.get_dt('lowgain')
  960. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  961. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  962. # u_df = expt.filter_marker_df_code(bout_df,['U'])
  963. # c_df = expt.filter_marker_df_code(bout_df,['C'])
  964. # u_t = u_df.time.values
  965. # c_t = c_df.time.values
  966. # #from uncoupled trials get times for command responses
  967. # cmd_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in u_t])
  968. # #calculate time will need to offset command response by to subtract from coupled estim response
  969. # #use coupled trials
  970. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  971. # c_latency = np.median(c_t-cmd_coupled_t)
  972. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  973. # if save_plot:
  974. # savename = exptname + '.png'
  975. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  976. # df = pd.DataFrame(cell_data,index=[0])
  977. # savename = exptname + '.csv'
  978. # df.to_csv(df_folder / savename)
  979. # #################################################
  980. # #################################################
  981. # #%%
  982. # ax.cla()
  983. # exptname = '20200122_002'
  984. # expt = AmpShift_Stable()
  985. # expt.load_expt(exptname, data_folder)
  986. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  987. # bout = [expt.get_bout_win('R','Keyboard')[0],
  988. # expt.get_bout_win('N','Keyboard')[0]]
  989. # marker_df = expt.get_marker_table()
  990. # dt = expt.get_dt('lowgain')
  991. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  992. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  993. # u_df = expt.filter_marker_df_code(bout_df,['U'])
  994. # c_df = expt.filter_marker_df_code(bout_df,['C'])
  995. # u_t = u_df.time.values
  996. # c_t = c_df.time.values
  997. # #from uncoupled trials get times for command responses
  998. # cmd_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in u_t])
  999. # #calculate time will need to offset command response by to subtract from coupled estim response
  1000. # #use coupled trials
  1001. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  1002. # c_latency = np.median(c_t-cmd_coupled_t)
  1003. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  1004. # if save_plot:
  1005. # savename = exptname + '.png'
  1006. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  1007. # df = pd.DataFrame(cell_data,index=[0])
  1008. # savename = exptname + '.csv'
  1009. # df.to_csv(df_folder / savename)
  1010. # #################################################
  1011. # #################################################
  1012. # #%%
  1013. # ax.cla()
  1014. # exptname = '20200121_006'
  1015. # expt = AmpShift_Stable()
  1016. # expt.load_expt(exptname, data_folder)
  1017. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  1018. # bout = [expt.get_bout_win('R','Keyboard')[0],
  1019. # expt.get_bout_win('N','Keyboard')[0]]
  1020. # marker_df = expt.get_marker_table()
  1021. # dt = expt.get_dt('lowgain')
  1022. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1023. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1024. # u_df = expt.filter_marker_df_code(bout_df,['U'])
  1025. # c_df = expt.filter_marker_df_code(bout_df,['C'])
  1026. # u_t = u_df.time.values
  1027. # c_t = c_df.time.values
  1028. # #from uncoupled trials get times for command responses
  1029. # cmd_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in u_t])
  1030. # #calculate time will need to offset command response by to subtract from coupled estim response
  1031. # #use coupled trials
  1032. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  1033. # c_latency = np.median(c_t-cmd_coupled_t)
  1034. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  1035. # if save_plot:
  1036. # savename = exptname + '.png'
  1037. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  1038. # df = pd.DataFrame(cell_data,index=[0])
  1039. # savename = exptname + '.csv'
  1040. # df.to_csv(df_folder / savename)
  1041. # ################################################
  1042. # ################################################
  1043. # #%%
  1044. # ax.cla()
  1045. # exptname = '20200109_004'
  1046. # expt = AmpShift_Stable()
  1047. # expt.load_expt(exptname, data_folder)
  1048. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  1049. # # # hyperpol but drifting (also did a bout without bias current)
  1050. # # bout = [expt.get_bout_win('R','Keyboard')[2],
  1051. # # expt.get_bout_win('N','Keyboard')[1]]
  1052. # # at rest near beginning of expt so see spikes
  1053. # bout = [expt.get_bout_win('B','Keyboard')[0],
  1054. # expt.get_bout_win('B','Keyboard')[1],
  1055. # expt.get_bout_win('U','Keyboard')[0],
  1056. # expt.get_bout_win('C','Keyboard')[0]]
  1057. # marker_df = expt.get_marker_table()
  1058. # dt = expt.get_dt('lowgain')
  1059. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1060. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1061. # u_df = expt.filter_marker_df_code(bout_df,['U'])
  1062. # c_df = expt.filter_marker_df_code(bout_df,['C'])
  1063. # u_t = u_df.time.values
  1064. # c_t = c_df.time.values
  1065. # #from uncoupled trials get times for command responses
  1066. # cmd_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in u_t])
  1067. # #calculate time will need to offset command response by to subtract from coupled estim response
  1068. # #use coupled trials
  1069. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  1070. # c_latency = np.median(c_t-cmd_coupled_t)
  1071. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  1072. # if save_plot:
  1073. # savename = exptname + '.png'
  1074. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  1075. # df = pd.DataFrame(cell_data,index=[0])
  1076. # savename = exptname + '.csv'
  1077. # df.to_csv(df_folder / savename)
  1078. # #################################################
  1079. # #################################################
  1080. # #%%
  1081. # ax.cla()
  1082. # exptname = '20191218_007'
  1083. # expt = AmpShift_Stable()
  1084. # expt.load_expt(exptname, data_folder)
  1085. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  1086. # bout = [expt.get_bout_win('R','Keyboard')[0],
  1087. # expt.get_bout_win('N','Keyboard')[0]]
  1088. # marker_df = expt.get_marker_table()
  1089. # dt = expt.get_dt('lowgain')
  1090. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1091. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1092. # u_df = expt.filter_marker_df_code(bout_df,['U'])
  1093. # c_df = expt.filter_marker_df_code(bout_df,['C'])
  1094. # u_t = u_df.time.values
  1095. # c_t = c_df.time.values
  1096. # #from uncoupled trials get times for command responses
  1097. # cmd_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in u_t])
  1098. # #calculate time will need to offset command response by to subtract from coupled estim response
  1099. # #use coupled trials
  1100. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  1101. # c_latency = np.median(c_t-cmd_coupled_t)
  1102. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  1103. # if save_plot:
  1104. # savename = exptname + '.png'
  1105. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  1106. # df = pd.DataFrame(cell_data,index=[0])
  1107. # savename = exptname + '.csv'
  1108. # df.to_csv(df_folder / savename)
  1109. # #################################################
  1110. # #################################################
  1111. # #%%
  1112. # ax.cla()
  1113. # exptname = '20180122_001'
  1114. # expt = AmpShift_Stable()
  1115. # expt.load_expt(exptname, data_folder)
  1116. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  1117. # marker_df = expt.get_marker_table()
  1118. # dt = expt.get_dt('lowgain')
  1119. # bout = [expt.get_bout_win('U','Keyboard')[0]]
  1120. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1121. # u_df = expt.filter_marker_df_code(bout_df,['E'])
  1122. # u_t = u_df.time.values
  1123. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1124. # cmd_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in u_t])
  1125. # bout = [expt.get_bout_win('C','Keyboard')[0]]
  1126. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1127. # c_df = expt.filter_marker_df_code(bout_df,['E'])
  1128. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1129. # c_t = c_df.time.values
  1130. # #calculate time will need to offset command response by to subtract from coupled estim response
  1131. # #use coupled trials
  1132. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  1133. # c_latency = np.median(c_t-cmd_coupled_t)
  1134. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  1135. # #note with exptname that this a hyperpolarized version of this cell
  1136. # cell_data['exptname'] = exptname + '_hyperpolarized'
  1137. # if save_plot:
  1138. # savename = cell_data['exptname'] + '.png' #altered name to save figure as
  1139. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  1140. # df = pd.DataFrame(cell_data,index=[0])
  1141. # savename = cell_data['exptname'] + '.csv' #altered name to save df as
  1142. # df.to_csv(df_folder / savename)
  1143. # ############## then do at rest for this cell
  1144. # ax.cla()
  1145. # bout = [expt.get_bout_win('B','Keyboard')[0],expt.get_bout_win('U','Keyboard')[1]]
  1146. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1147. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1148. # cmd_t = b_df.time.values
  1149. # bout = [expt.get_bout_win('U','Keyboard')[1]]
  1150. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1151. # u_df = expt.filter_marker_df_code(bout_df,['E'])
  1152. # u_t = u_df.time.values
  1153. # bout = [expt.get_bout_win('C','Keyboard')[1]]
  1154. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1155. # c_df = expt.filter_marker_df_code(bout_df,['E'])
  1156. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1157. # c_t = c_df.time.values
  1158. # #calculate time will need to offset command response by to subtract from coupled estim response
  1159. # #use coupled trials
  1160. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  1161. # c_latency = np.median(c_t-cmd_coupled_t)
  1162. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  1163. # if save_plot:
  1164. # savename = exptname + '.png'
  1165. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  1166. # #note with exptname that this a hyperpolarized version of this cell
  1167. # df = pd.DataFrame(cell_data,index=[0])
  1168. # savename = exptname + '.csv'
  1169. # df.to_csv(df_folder / savename)
  1170. # #################################################
  1171. # #################################################
  1172. # #%%
  1173. # ax.cla()
  1174. # exptname = '20190325_002'
  1175. # expt = AmpShift_Stable()
  1176. # expt.load_expt(exptname, data_folder)
  1177. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  1178. # marker_df = expt.get_marker_table()
  1179. # dt = expt.get_dt('lowgain')
  1180. # bout = [expt.get_bout_win('U','Keyboard')[0]]
  1181. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1182. # u_df = expt.filter_marker_df_code(bout_df,['E'])
  1183. # u_t = u_df.time.values
  1184. # bout = [expt.get_bout_win('U','Keyboard')[0],expt.get_bout_win('B','Keyboard')[0]]
  1185. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1186. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1187. # cmd_t = b_df.time.values
  1188. # bout = [expt.get_bout_win('C','Keyboard')[1]]
  1189. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1190. # c_df = expt.filter_marker_df_code(bout_df,['E'])
  1191. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1192. # c_t = c_df.time.values
  1193. # #calculate time will need to offset command response by to subtract from coupled estim response
  1194. # #use coupled trials
  1195. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  1196. # c_latency = np.median(c_t-cmd_coupled_t)
  1197. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  1198. # if save_plot:
  1199. # savename = cell_data['exptname'] + '.png' #altered name to save figure as
  1200. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  1201. # df = pd.DataFrame(cell_data,index=[0])
  1202. # savename = cell_data['exptname'] + '.csv' #altered name to save df as
  1203. # df.to_csv(df_folder / savename)
  1204. # ################################################
  1205. # ################################################
  1206. # #%%
  1207. # ax.cla()
  1208. # exptname = '20171031_004'
  1209. # # need to adjust stimulus times by -0.003 because of how event marker detected artifact position
  1210. # #first look at hyperpolarized trials
  1211. # expt = AmpShift_Stable()
  1212. # expt.load_expt(exptname, data_folder)
  1213. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  1214. # marker_df = expt.get_marker_table()
  1215. # dt = expt.get_dt('lowgain')
  1216. # bout = [expt.get_bout_win('U','Keyboard')[1]]
  1217. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1218. # u_df = expt.filter_marker_df_code(bout_df,['E'])
  1219. # u_t = u_df.time.values - 0.0003
  1220. # bout = [expt.get_bout_win('U','Keyboard')[1],expt.get_bout_win('B','Keyboard')[2]]
  1221. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1222. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1223. # cmd_t = b_df.time.values
  1224. # bout = [expt.get_bout_win('C','Keyboard')[1]]
  1225. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1226. # c_df = expt.filter_marker_df_code(bout_df,['E'])
  1227. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1228. # c_t = c_df.time.values - 0.0003
  1229. # #calculate time will need to offset command response by to subtract from coupled estim response
  1230. # #use coupled trials
  1231. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  1232. # c_latency = np.median(c_t-cmd_coupled_t)
  1233. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  1234. # #note with exptname that this a hyperpolarized version of this cell
  1235. # cell_data['exptname'] = exptname + '_hyperpolarized'
  1236. # if save_plot:
  1237. # savename = cell_data['exptname'] + '.png' #altered name to save figure as
  1238. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  1239. # df = pd.DataFrame(cell_data,index=[0])
  1240. # savename = cell_data['exptname'] + '.csv' #altered name to save df as
  1241. # df.to_csv(df_folder / savename)
  1242. # ############## then do at rest for this cell
  1243. # ###spikes are almost 10mV here!!!! good example to match in vitro
  1244. # ax.cla()
  1245. # bout = [expt.get_bout_win('U','Keyboard')[0]]
  1246. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1247. # u_df = expt.filter_marker_df_code(bout_df,['E'])
  1248. # u_t = u_df.time.values - 0.0003
  1249. # bout = [expt.get_bout_win('U','Keyboard')[0],expt.get_bout_win('B','Keyboard')[0]]
  1250. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1251. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1252. # cmd_t = b_df.time.values
  1253. # bout = [expt.get_bout_win('C','Keyboard')[0]]
  1254. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1255. # c_df = expt.filter_marker_df_code(bout_df,['E'])
  1256. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1257. # c_t = c_df.time.values - 0.0003
  1258. # #calculate time will need to offset command response by to subtract from coupled estim response
  1259. # #use coupled trials
  1260. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  1261. # c_latency = np.median(c_t-cmd_coupled_t)
  1262. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  1263. # if save_plot:
  1264. # savename = exptname + '.png'
  1265. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  1266. # #note with exptname that this a hyperpolarized version of this cell
  1267. # df = pd.DataFrame(cell_data,index=[0])
  1268. # savename = exptname + '.csv'
  1269. # df.to_csv(df_folder / savename)
  1270. # #################################################
  1271. # #################################################
  1272. # #%%
  1273. # ax.cla()
  1274. # exptname = '20171010_006'
  1275. # # need to adjust stimulus times by -0.003 because of how event marker detected artifact position
  1276. # #first look at hyperpolarized trials
  1277. # expt = AmpShift_Stable()
  1278. # expt.load_expt(exptname, data_folder)
  1279. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  1280. # marker_df = expt.get_marker_table()
  1281. # dt = expt.get_dt('lowgain')
  1282. # bout = [expt.get_bout_win('U','Keyboard')[0]]
  1283. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1284. # u_df = expt.filter_marker_df_code(bout_df,['E'])
  1285. # u_t = u_df.time.values - 0.0003
  1286. # bout = [expt.get_bout_win('U','Keyboard')[0],expt.get_bout_win('B','Keyboard')[0]]
  1287. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1288. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1289. # cmd_t = b_df.time.values
  1290. # bout = [expt.get_bout_win('C','Keyboard')[0]]
  1291. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1292. # c_df = expt.filter_marker_df_code(bout_df,['E'])
  1293. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1294. # c_t = c_df.time.values - 0.0003
  1295. # #calculate time will need to offset command response by to subtract from coupled estim response
  1296. # #use coupled trials
  1297. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  1298. # c_latency = np.median(c_t-cmd_coupled_t)
  1299. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  1300. # if save_plot:
  1301. # savename = cell_data['exptname'] + '.png' #altered name to save figure as
  1302. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  1303. # df = pd.DataFrame(cell_data,index=[0])
  1304. # savename = cell_data['exptname'] + '.csv' #altered name to save df as
  1305. # df.to_csv(df_folder / savename)
  1306. # #################################################
  1307. # #################################################
  1308. # #%%
  1309. # ax.cla()
  1310. # exptname = '20180130_000'
  1311. # # need to adjust stimulus times by -0.003 because of how event marker detected artifact position
  1312. # #first look at hyperpolarized trials
  1313. # expt = AmpShift_Stable()
  1314. # expt.load_expt(exptname, data_folder)
  1315. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  1316. # marker_df = expt.get_marker_table()
  1317. # dt = expt.get_dt('lowgain')
  1318. # bout = [expt.get_bout_win('U','Keyboard')[0],
  1319. # expt.get_bout_win('U','Keyboard')[1],
  1320. # expt.get_bout_win('U','Keyboard')[2]]
  1321. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1322. # u_df = expt.filter_marker_df_code(bout_df,['E'])
  1323. # u_t = u_df.time.values - 0.0003
  1324. # bout = [expt.get_bout_win('U','Keyboard')[0],
  1325. # expt.get_bout_win('U','Keyboard')[1],
  1326. # expt.get_bout_win('U','Keyboard')[2],
  1327. # expt.get_bout_win('B','Keyboard')[0]]
  1328. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1329. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1330. # cmd_t = b_df.time.values
  1331. # bout = [expt.get_bout_win('C','Keyboard')[0],
  1332. # expt.get_bout_win('C','Keyboard')[1]]
  1333. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1334. # c_df = expt.filter_marker_df_code(bout_df,['E'])
  1335. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1336. # c_t = c_df.time.values - 0.0003
  1337. # #calculate time will need to offset command response by to subtract from coupled estim response
  1338. # #use coupled trials
  1339. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  1340. # c_latency = np.median(c_t-cmd_coupled_t)
  1341. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  1342. # if save_plot:
  1343. # savename = cell_data['exptname'] + '.png' #altered name to save figure as
  1344. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  1345. # df = pd.DataFrame(cell_data,index=[0])
  1346. # savename = cell_data['exptname'] + '.csv' #altered name to save df as
  1347. # df.to_csv(df_folder / savename)
  1348. # #################################################
  1349. # #################################################
  1350. # #%%
  1351. # ax.cla()
  1352. # exptname = '20180108_004'
  1353. # # need to adjust stimulus times by -0.003 because of how event marker detected artifact position
  1354. # #first look at hyperpolarized trials
  1355. # expt = AmpShift_Stable()
  1356. # expt.load_expt(exptname, data_folder)
  1357. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  1358. # marker_df = expt.get_marker_table()
  1359. # dt = expt.get_dt('lowgain')
  1360. # bout = [expt.get_bout_win('U','Keyboard')[1]]
  1361. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1362. # u_df = expt.filter_marker_df_code(bout_df,['E'])
  1363. # u_t = u_df.time.values - 0.0003
  1364. # bout = [expt.get_bout_win('U','Keyboard')[1],expt.get_bout_win('B','Keyboard')[1]]
  1365. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1366. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1367. # cmd_t = b_df.time.values
  1368. # bout = [expt.get_bout_win('C','Keyboard')[1]]
  1369. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1370. # c_df = expt.filter_marker_df_code(bout_df,['E'])
  1371. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1372. # c_t = c_df.time.values - 0.0003
  1373. # #calculate time will need to offset command response by to subtract from coupled estim response
  1374. # #use coupled trials
  1375. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  1376. # c_latency = np.median(c_t-cmd_coupled_t)
  1377. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  1378. # #note with exptname that this a hyperpolarized version of this cell
  1379. # cell_data['exptname'] = exptname + '_hyperpolarized'
  1380. # if save_plot:
  1381. # savename = cell_data['exptname'] + '.png' #altered name to save figure as
  1382. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  1383. # df = pd.DataFrame(cell_data,index=[0])
  1384. # savename = cell_data['exptname'] + '.csv' #altered name to save df as
  1385. # df.to_csv(df_folder / savename)
  1386. # ############## then do at rest for this cell
  1387. # ###spikes are almost 10mV here!!!! good example to match in vitro
  1388. # ax.cla()
  1389. # bout = [expt.get_bout_win('U','Keyboard')[0]]
  1390. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1391. # u_df = expt.filter_marker_df_code(bout_df,['E'])
  1392. # u_t = u_df.time.values - 0.0003
  1393. # bout = [expt.get_bout_win('U','Keyboard')[0],expt.get_bout_win('B','Keyboard')[0]]
  1394. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1395. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1396. # cmd_t = b_df.time.values
  1397. # bout = [expt.get_bout_win('C','Keyboard')[0]]
  1398. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1399. # c_df = expt.filter_marker_df_code(bout_df,['E'])
  1400. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1401. # c_t = c_df.time.values - 0.0003
  1402. # #calculate time will need to offset command response by to subtract from coupled estim response
  1403. # #use coupled trials
  1404. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  1405. # c_latency = np.median(c_t-cmd_coupled_t)
  1406. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  1407. # if save_plot:
  1408. # savename = exptname + '.png'
  1409. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  1410. # #note with exptname that this a hyperpolarized version of this cell
  1411. # df = pd.DataFrame(cell_data,index=[0])
  1412. # savename = exptname + '.csv'
  1413. # df.to_csv(df_folder / savename)
  1414. # #################################################
  1415. # #################################################
  1416. # #%%
  1417. # ax.cla()
  1418. # exptname = '20170912_003'
  1419. # # need to adjust stimulus times by -0.003 because of how event marker detected artifact position
  1420. # #first look at hyperpolarized trials
  1421. # expt = AmpShift_Stable()
  1422. # expt.load_expt(exptname, data_folder)
  1423. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  1424. # marker_df = expt.get_marker_table()
  1425. # dt = expt.get_dt('lowgain')
  1426. # bout = [expt.get_bout_win('U','Keyboard')[1]]
  1427. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1428. # u_df = expt.filter_marker_df_code(bout_df,['E'])
  1429. # u_t = u_df.time.values - 0.0003
  1430. # bout = [expt.get_bout_win('U','Keyboard')[1],
  1431. # expt.get_bout_win('B','Keyboard')[1]]
  1432. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1433. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1434. # cmd_t = b_df.time.values
  1435. # bout = [expt.get_bout_win('C','Keyboard')[0]]
  1436. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1437. # c_df = expt.filter_marker_df_code(bout_df,['E'])
  1438. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1439. # c_t = c_df.time.values - 0.0003
  1440. # #calculate time will need to offset command response by to subtract from coupled estim response
  1441. # #use coupled trials
  1442. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  1443. # c_latency = np.median(c_t-cmd_coupled_t)
  1444. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  1445. # if save_plot:
  1446. # savename = cell_data['exptname'] + '.png' #altered name to save figure as
  1447. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  1448. # df = pd.DataFrame(cell_data,index=[0])
  1449. # savename = cell_data['exptname'] + '.csv' #altered name to save df as
  1450. # df.to_csv(df_folder / savename)
  1451. # #################################################
  1452. # #################################################
  1453. # #%%
  1454. # ax.cla()
  1455. # exptname = '20170912_005'
  1456. # # need to adjust stimulus times by -0.003 because of how event marker detected artifact position
  1457. # expt = AmpShift_Stable()
  1458. # expt.load_expt(exptname, data_folder)
  1459. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  1460. # marker_df = expt.get_marker_table()
  1461. # dt = expt.get_dt('lowgain')
  1462. # bout = [expt.get_bout_win('U','Keyboard')[0]]
  1463. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1464. # u_df = expt.filter_marker_df_code(bout_df,['E'])
  1465. # u_t = u_df.time.values - 0.0003
  1466. # bout = [expt.get_bout_win('U','Keyboard')[0],
  1467. # expt.get_bout_win('B','Keyboard')[0]]
  1468. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1469. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1470. # cmd_t = b_df.time.values
  1471. # bout = [expt.get_bout_win('C','Keyboard')[0]]
  1472. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1473. # c_df = expt.filter_marker_df_code(bout_df,['E'])
  1474. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1475. # c_t = c_df.time.values - 0.0003
  1476. # #calculate time will need to offset command response by to subtract from coupled estim response
  1477. # #use coupled trials
  1478. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  1479. # c_latency = np.median(c_t-cmd_coupled_t)
  1480. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  1481. # if save_plot:
  1482. # savename = cell_data['exptname'] + '.png' #altered name to save figure as
  1483. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  1484. # df = pd.DataFrame(cell_data,index=[0])
  1485. # savename = cell_data['exptname'] + '.csv' #altered name to save df as
  1486. # df.to_csv(df_folder / savename)
  1487. # #######also at rest but later in trace. spikes worse but cmd better
  1488. # ax.cla()
  1489. # bout = [expt.get_bout_win('U','Keyboard')[2]]
  1490. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1491. # u_df = expt.filter_marker_df_code(bout_df,['E'])
  1492. # u_t = u_df.time.values - 0.0003
  1493. # bout = [expt.get_bout_win('U','Keyboard')[2],
  1494. # expt.get_bout_win('B','Keyboard')[1],
  1495. # expt.get_bout_win('B','Keyboard')[2]]
  1496. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1497. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1498. # cmd_t = b_df.time.values
  1499. # bout = [expt.get_bout_win('C','Keyboard')[2]]
  1500. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1501. # c_df = expt.filter_marker_df_code(bout_df,['E'])
  1502. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1503. # c_t = c_df.time.values - 0.0003
  1504. # #calculate time will need to offset command response by to subtract from coupled estim response
  1505. # #use coupled trials
  1506. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  1507. # c_latency = np.median(c_t-cmd_coupled_t)
  1508. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  1509. # cell_data['exptname'] = exptname + '_bout2'
  1510. # if save_plot:
  1511. # savename = cell_data['exptname'] + '.png' #altered name to save figure as
  1512. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  1513. # df = pd.DataFrame(cell_data,index=[0])
  1514. # savename = cell_data['exptname'] + '.csv' #altered name to save df as
  1515. # df.to_csv(df_folder / savename)
  1516. # #################################################
  1517. # #################################################
  1518. # #%%
  1519. # ax.cla()
  1520. # exptname = '20190107_000'
  1521. # # need to adjust stimulus times by -0.003 because of how event marker detected artifact position
  1522. # expt = AmpShift_Stable()
  1523. # expt.load_expt(exptname, data_folder)
  1524. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  1525. # marker_df = expt.get_marker_table()
  1526. # dt = expt.get_dt('lowgain')
  1527. # bout = [expt.get_bout_win('U','Keyboard')[0],
  1528. # expt.get_bout_win('U','Keyboard')[1],
  1529. # expt.get_bout_win('U','Keyboard')[2],
  1530. # expt.get_bout_win('U','Keyboard')[3],
  1531. # expt.get_bout_win('U','Keyboard')[4],
  1532. # expt.get_bout_win('U','Keyboard')[5],
  1533. # expt.get_bout_win('U','Keyboard')[6]]
  1534. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1535. # u_df = expt.filter_marker_df_code(bout_df,['E'])
  1536. # u_t = u_df.time.values
  1537. # bout = [expt.get_bout_win('B','Keyboard')[0]]
  1538. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1539. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1540. # cmd_t = b_df.time.values
  1541. # bout = [expt.get_bout_win('C','Keyboard')[0],
  1542. # expt.get_bout_win('C','Keyboard')[1],
  1543. # expt.get_bout_win('C','Keyboard')[2],
  1544. # expt.get_bout_win('C','Keyboard')[3],
  1545. # expt.get_bout_win('C','Keyboard')[4],
  1546. # expt.get_bout_win('C','Keyboard')[5]]
  1547. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1548. # c_df = expt.filter_marker_df_code(bout_df,['E'])
  1549. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1550. # c_t = c_df.time.values
  1551. # #calculate time will need to offset command response by to subtract from coupled estim response
  1552. # #use coupled trials
  1553. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  1554. # c_latency = np.median(c_t-cmd_coupled_t)
  1555. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  1556. # if save_plot:
  1557. # savename = cell_data['exptname'] + '.png' #altered name to save figure as
  1558. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  1559. # df = pd.DataFrame(cell_data,index=[0])
  1560. # savename = cell_data['exptname'] + '.csv' #altered name to save df as
  1561. # df.to_csv(df_folder / savename)
  1562. # #################################################
  1563. # #################################################
  1564. # #%%
  1565. # ax.cla()
  1566. # exptname = '20171027_000'
  1567. # # need to adjust stimulus times by -0.003 because of how event marker detected artifact position
  1568. # #first look at hyperpolarized trials
  1569. # expt = AmpShift_Stable()
  1570. # expt.load_expt(exptname, data_folder)
  1571. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  1572. # marker_df = expt.get_marker_table()
  1573. # dt = expt.get_dt('lowgain')
  1574. # bout = [expt.get_bout_win('U','Keyboard')[0]]
  1575. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1576. # u_df = expt.filter_marker_df_code(bout_df,['E'])
  1577. # u_t = u_df.time.values - 0.0003
  1578. # bout = [expt.get_bout_win('U','Keyboard')[0],
  1579. # expt.get_bout_win('B','Keyboard')[0],
  1580. # expt.get_bout_win('B','Keyboard')[1]]
  1581. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1582. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1583. # cmd_t = b_df.time.values
  1584. # bout = [expt.get_bout_win('C','Keyboard')[0]]
  1585. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1586. # c_df = expt.filter_marker_df_code(bout_df,['E'])
  1587. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1588. # c_t = c_df.time.values - 0.0003
  1589. # #calculate time will need to offset command response by to subtract from coupled estim response
  1590. # #use coupled trials
  1591. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  1592. # c_latency = np.median(c_t-cmd_coupled_t)
  1593. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  1594. # if save_plot:
  1595. # savename = cell_data['exptname'] + '.png' #altered name to save figure as
  1596. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  1597. # df = pd.DataFrame(cell_data,index=[0])
  1598. # savename = cell_data['exptname'] + '.csv' #altered name to save df as
  1599. # df.to_csv(df_folder / savename)
  1600. # #################################################
  1601. # #################################################
  1602. # #%%
  1603. # ax.cla()
  1604. # exptname = '20180103_001'
  1605. # # need to adjust stimulus times by -0.003 because of how event marker detected artifact position
  1606. # expt = AmpShift_Stable()
  1607. # expt.load_expt(exptname, data_folder)
  1608. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  1609. # marker_df = expt.get_marker_table()
  1610. # dt = expt.get_dt('lowgain')
  1611. # bout = [expt.get_bout_win('U','Keyboard')[0]]
  1612. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1613. # u_df = expt.filter_marker_df_code(bout_df,['E'])
  1614. # u_t = u_df.time.values - 0.0003
  1615. # bout = [expt.get_bout_win('U','Keyboard')[0]]
  1616. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1617. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1618. # cmd_t = b_df.time.values
  1619. # bout = [expt.get_bout_win('C','Keyboard')[0]]
  1620. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1621. # c_df = expt.filter_marker_df_code(bout_df,['E'])
  1622. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1623. # c_t = c_df.time.values - 0.0003
  1624. # #calculate time will need to offset command response by to subtract from coupled estim response
  1625. # #use coupled trials
  1626. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  1627. # c_latency = np.median(c_t-cmd_coupled_t)
  1628. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  1629. # if save_plot:
  1630. # savename = cell_data['exptname'] + '.png' #altered name to save figure as
  1631. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  1632. # df = pd.DataFrame(cell_data,index=[0])
  1633. # savename = cell_data['exptname'] + '.csv' #altered name to save df as
  1634. # df.to_csv(df_folder / savename)
  1635. # #######also at rest but later in trace.
  1636. # ax.cla()
  1637. # bout = [expt.get_bout_win('U','Keyboard')[1]]
  1638. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1639. # u_df = expt.filter_marker_df_code(bout_df,['E'])
  1640. # u_t = u_df.time.values - 0.0003
  1641. # bout = [expt.get_bout_win('U','Keyboard')[1],
  1642. # expt.get_bout_win('B','Keyboard')[0]]
  1643. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1644. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1645. # cmd_t = b_df.time.values
  1646. # bout = [expt.get_bout_win('C','Keyboard')[1]]
  1647. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1648. # c_df = expt.filter_marker_df_code(bout_df,['E'])
  1649. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1650. # c_t = c_df.time.values - 0.0003
  1651. # #calculate time will need to offset command response by to subtract from coupled estim response
  1652. # #use coupled trials
  1653. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  1654. # c_latency = np.median(c_t-cmd_coupled_t)
  1655. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  1656. # cell_data['exptname'] = exptname + '_bout2'
  1657. # if save_plot:
  1658. # savename = cell_data['exptname'] + '.png' #altered name to save figure as
  1659. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  1660. # df = pd.DataFrame(cell_data,index=[0])
  1661. # savename = cell_data['exptname'] + '.csv' #altered name to save df as
  1662. # df.to_csv(df_folder / savename)
  1663. # #######then finally hyperpolarized trials.
  1664. # ax.cla()
  1665. # bout = [expt.get_bout_win('U','Keyboard')[2]]
  1666. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1667. # u_df = expt.filter_marker_df_code(bout_df,['E'])
  1668. # u_t = u_df.time.values - 0.0003
  1669. # bout = [expt.get_bout_win('U','Keyboard')[2],
  1670. # expt.get_bout_win('B','Keyboard')[1]]
  1671. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1672. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1673. # cmd_t = b_df.time.values
  1674. # bout = [expt.get_bout_win('C','Keyboard')[2]]
  1675. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1676. # c_df = expt.filter_marker_df_code(bout_df,['E'])
  1677. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1678. # c_t = c_df.time.values - 0.0003
  1679. # #calculate time will need to offset command response by to subtract from coupled estim response
  1680. # #use coupled trials
  1681. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  1682. # c_latency = np.median(c_t-cmd_coupled_t)
  1683. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  1684. # cell_data['exptname'] = exptname + '_bout2'
  1685. # if save_plot:
  1686. # savename = cell_data['exptname'] + '.png' #altered name to save figure as
  1687. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  1688. # df = pd.DataFrame(cell_data,index=[0])
  1689. # savename = cell_data['exptname'] + '.csv' #altered name to save df as
  1690. # df.to_csv(df_folder / savename)
  1691. # #################################################
  1692. # #################################################
  1693. # #%%
  1694. # ax.cla()
  1695. # exptname = '20190102_000'
  1696. # # need to adjust stimulus times by -0.003 because of how event marker detected artifact position
  1697. # expt = AmpShift_Stable()
  1698. # expt.load_expt(exptname, data_folder)
  1699. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  1700. # marker_df = expt.get_marker_table()
  1701. # dt = expt.get_dt('lowgain')
  1702. # bout = [expt.get_bout_win('U','Keyboard')[0],
  1703. # expt.get_bout_win('U','Keyboard')[1],
  1704. # expt.get_bout_win('U','Keyboard')[2],
  1705. # expt.get_bout_win('U','Keyboard')[3]]
  1706. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1707. # u_df = expt.filter_marker_df_code(bout_df,['E'])
  1708. # u_t = u_df.time.values
  1709. # bout = [expt.get_bout_win('B','Keyboard')[0],
  1710. # expt.get_bout_win('U','Keyboard')[0],
  1711. # expt.get_bout_win('U','Keyboard')[1],
  1712. # expt.get_bout_win('U','Keyboard')[2],
  1713. # expt.get_bout_win('U','Keyboard')[3]]
  1714. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1715. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1716. # cmd_t = b_df.time.values
  1717. # bout = [expt.get_bout_win('C','Keyboard')[0],
  1718. # expt.get_bout_win('C','Keyboard')[1],
  1719. # expt.get_bout_win('C','Keyboard')[2],
  1720. # expt.get_bout_win('C','Keyboard')[3]]
  1721. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1722. # c_df = expt.filter_marker_df_code(bout_df,['E'])
  1723. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1724. # c_t = c_df.time.values
  1725. # #calculate time will need to offset command response by to subtract from coupled estim response
  1726. # #use coupled trials
  1727. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  1728. # c_latency = np.median(c_t-cmd_coupled_t)
  1729. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  1730. # if save_plot:
  1731. # savename = cell_data['exptname'] + '.png' #altered name to save figure as
  1732. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  1733. # df = pd.DataFrame(cell_data,index=[0])
  1734. # savename = cell_data['exptname'] + '.csv' #altered name to save df as
  1735. # df.to_csv(df_folder / savename)
  1736. # ################################################
  1737. # ################################################
  1738. # #%%
  1739. # ax.cla()
  1740. # exptname = '20180103_003'
  1741. # # need to adjust stimulus times by -0.0005 because of how event marker detected artifact position
  1742. # expt = AmpShift_Stable()
  1743. # expt.load_expt(exptname, data_folder)
  1744. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  1745. # marker_df = expt.get_marker_table()
  1746. # dt = expt.get_dt('lowgain')
  1747. # bout = [expt.get_bout_win('U','Keyboard')[0]]
  1748. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1749. # u_df = expt.filter_marker_df_code(bout_df,['E'])
  1750. # u_t = u_df.time.values - 0.0003
  1751. # bout = [expt.get_bout_win('U','Keyboard')[0],
  1752. # expt.get_bout_win('B','Keyboard')[0]]
  1753. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1754. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1755. # cmd_t = b_df.time.values
  1756. # bout = [expt.get_bout_win('C','Keyboard')[0]]
  1757. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1758. # c_df = expt.filter_marker_df_code(bout_df,['E'])
  1759. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1760. # c_t = c_df.time.values - 0.0003
  1761. # #calculate time will need to offset command response by to subtract from coupled estim response
  1762. # #use coupled trials
  1763. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  1764. # c_latency = np.median(c_t-cmd_coupled_t)
  1765. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  1766. # if save_plot:
  1767. # savename = cell_data['exptname'] + '.png' #altered name to save figure as
  1768. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  1769. # df = pd.DataFrame(cell_data,index=[0])
  1770. # savename = cell_data['exptname'] + '.csv' #altered name to save df as
  1771. # df.to_csv(df_folder / savename)
  1772. # #################################################
  1773. # #################################################
  1774. # #%%
  1775. # ax.cla()
  1776. # exptname = '20190227_001'
  1777. # expt = AmpShift_Stable()
  1778. # expt.load_expt(exptname, data_folder)
  1779. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  1780. # marker_df = expt.get_marker_table()
  1781. # dt = expt.get_dt('lowgain')
  1782. # bout = [expt.get_bout_win('U','Keyboard')[4]]
  1783. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1784. # u_df = expt.filter_marker_df_code(bout_df,['E'])
  1785. # u_t = u_df.time.values
  1786. # bout = [expt.get_bout_win('U','Keyboard')[4],
  1787. # expt.get_bout_win('B','Keyboard')[0]]
  1788. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1789. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1790. # cmd_t = b_df.time.values
  1791. # bout = [expt.get_bout_win('C','Keyboard')[3]]
  1792. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1793. # c_df = expt.filter_marker_df_code(bout_df,['E'])
  1794. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1795. # c_t = c_df.time.values
  1796. # #calculate time will need to offset command response by to subtract from coupled estim response
  1797. # #use coupled trials
  1798. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  1799. # c_latency = np.median(c_t-cmd_coupled_t)
  1800. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  1801. # if save_plot:
  1802. # savename = cell_data['exptname'] + '.png' #altered name to save figure as
  1803. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  1804. # df = pd.DataFrame(cell_data,index=[0])
  1805. # savename = cell_data['exptname'] + '.csv' #altered name to save df as
  1806. # df.to_csv(df_folder / savename)
  1807. # #################################################
  1808. # #################################################
  1809. # #%%
  1810. # ax.cla()
  1811. # exptname = '20190104_000'
  1812. # expt = AmpShift_Stable()
  1813. # expt.load_expt(exptname, data_folder)
  1814. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  1815. # marker_df = expt.get_marker_table()
  1816. # dt = expt.get_dt('lowgain')
  1817. # bout = [expt.get_bout_win('U','Keyboard')[1],
  1818. # expt.get_bout_win('U','Keyboard')[2]]
  1819. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1820. # u_df = expt.filter_marker_df_code(bout_df,['E'])
  1821. # u_t = u_df.time.values
  1822. # bout = [expt.get_bout_win('U','Keyboard')[1],
  1823. # expt.get_bout_win('U','Keyboard')[2]]
  1824. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1825. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1826. # cmd_t = b_df.time.values
  1827. # bout = [expt.get_bout_win('C','Keyboard')[1],
  1828. # expt.get_bout_win('C','Keyboard')[0]]
  1829. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1830. # c_df = expt.filter_marker_df_code(bout_df,['E'])
  1831. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1832. # c_t = c_df.time.values
  1833. # #calculate time will need to offset command response by to subtract from coupled estim response
  1834. # #use coupled trials
  1835. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  1836. # c_latency = np.median(c_t-cmd_coupled_t)
  1837. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  1838. # if save_plot:
  1839. # savename = cell_data['exptname'] + '.png' #altered name to save figure as
  1840. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  1841. # df = pd.DataFrame(cell_data,index=[0])
  1842. # savename = cell_data['exptname'] + '.csv' #altered name to save df as
  1843. # df.to_csv(df_folder / savename)
  1844. # #################################################
  1845. # #################################################
  1846. # #%%
  1847. # ax.cla()
  1848. # exptname = '20190128_001'
  1849. # expt = AmpShift_Stable()
  1850. # expt.load_expt(exptname, data_folder)
  1851. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  1852. # marker_df = expt.get_marker_table()
  1853. # dt = expt.get_dt('lowgain')
  1854. # bout = [expt.get_bout_win('U','Keyboard')[2],
  1855. # expt.get_bout_win('U','Keyboard')[3],
  1856. # expt.get_bout_win('U','Keyboard')[4]]
  1857. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1858. # u_df = expt.filter_marker_df_code(bout_df,['E'])
  1859. # u_t = u_df.time.values
  1860. # bout = [expt.get_bout_win('U','Keyboard')[2],
  1861. # expt.get_bout_win('U','Keyboard')[3],
  1862. # expt.get_bout_win('U','Keyboard')[4],
  1863. # expt.get_bout_win('B','Keyboard')[1]]
  1864. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1865. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1866. # cmd_t = b_df.time.values
  1867. # bout = [expt.get_bout_win('C','Keyboard')[1],
  1868. # expt.get_bout_win('C','Keyboard')[2],
  1869. # expt.get_bout_win('C','Keyboard')[3]]
  1870. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1871. # c_df = expt.filter_marker_df_code(bout_df,['E'])
  1872. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1873. # c_t = c_df.time.values
  1874. # #calculate time will need to offset command response by to subtract from coupled estim response
  1875. # #use coupled trials
  1876. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  1877. # c_latency = np.median(c_t-cmd_coupled_t)
  1878. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  1879. # if save_plot:
  1880. # savename = cell_data['exptname'] + '.png' #altered name to save figure as
  1881. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  1882. # df = pd.DataFrame(cell_data,index=[0])
  1883. # savename = cell_data['exptname'] + '.csv' #altered name to save df as
  1884. # df.to_csv(df_folder / savename)
  1885. # #################################################
  1886. # #################################################
  1887. # #%%
  1888. # ax.cla()
  1889. # exptname = '20190312_005'
  1890. # expt = AmpShift_Stable()
  1891. # expt.load_expt(exptname, data_folder)
  1892. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  1893. # marker_df = expt.get_marker_table()
  1894. # dt = expt.get_dt('lowgain')
  1895. # bout = [expt.get_bout_win('U','Keyboard')[0],
  1896. # expt.get_bout_win('U','Keyboard')[1]]
  1897. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1898. # u_df = expt.filter_marker_df_code(bout_df,['E'])
  1899. # u_t = u_df.time.values
  1900. # bout = [expt.get_bout_win('U','Keyboard')[0],
  1901. # expt.get_bout_win('U','Keyboard')[1],
  1902. # expt.get_bout_win('B','Keyboard')[0]]
  1903. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1904. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1905. # cmd_t = b_df.time.values
  1906. # bout = [expt.get_bout_win('C','Keyboard')[0]]
  1907. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1908. # c_df = expt.filter_marker_df_code(bout_df,['E'])
  1909. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1910. # c_t = c_df.time.values
  1911. # #calculate time will need to offset command response by to subtract from coupled estim response
  1912. # #use coupled trials
  1913. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  1914. # c_latency = np.median(c_t-cmd_coupled_t)
  1915. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  1916. # if save_plot:
  1917. # savename = cell_data['exptname'] + '.png' #altered name to save figure as
  1918. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  1919. # df = pd.DataFrame(cell_data,index=[0])
  1920. # savename = cell_data['exptname'] + '.csv' #altered name to save df as
  1921. # df.to_csv(df_folder / savename)
  1922. # #################################################
  1923. # #################################################
  1924. # #%%
  1925. # ax.cla()
  1926. # exptname = '20171010_002'
  1927. # expt = AmpShift_Stable()
  1928. # expt.load_expt(exptname, data_folder)
  1929. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  1930. # marker_df = expt.get_marker_table()
  1931. # dt = expt.get_dt('lowgain')
  1932. # bout = [expt.get_bout_win('U','Keyboard')[0]]
  1933. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1934. # u_df = expt.filter_marker_df_code(bout_df,['E'])
  1935. # u_t = u_df.time.values - 0.0003
  1936. # bout = [expt.get_bout_win('U','Keyboard')[0],
  1937. # expt.get_bout_win('B','Keyboard')[0]]
  1938. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1939. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1940. # cmd_t = b_df.time.values
  1941. # bout = [expt.get_bout_win('C','Keyboard')[0]]
  1942. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1943. # c_df = expt.filter_marker_df_code(bout_df,['E'])
  1944. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1945. # c_t = c_df.time.values - 0.0003
  1946. # #calculate time will need to offset command response by to subtract from coupled estim response
  1947. # #use coupled trials
  1948. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  1949. # c_latency = np.median(c_t-cmd_coupled_t)
  1950. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  1951. # if save_plot:
  1952. # savename = cell_data['exptname'] + '.png' #altered name to save figure as
  1953. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  1954. # df = pd.DataFrame(cell_data,index=[0])
  1955. # savename = cell_data['exptname'] + '.csv' #altered name to save df as
  1956. # df.to_csv(df_folder / savename)
  1957. # #################################################
  1958. # #################################################
  1959. # #%%
  1960. # ax.cla()
  1961. # exptname = '20180122_002'
  1962. # expt = AmpShift_Stable()
  1963. # expt.load_expt(exptname, data_folder)
  1964. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  1965. # marker_df = expt.get_marker_table()
  1966. # dt = expt.get_dt('lowgain')
  1967. # bout = [expt.get_bout_win('U','Keyboard')[0],
  1968. # expt.get_bout_win('U','Keyboard')[1]]
  1969. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1970. # u_df = expt.filter_marker_df_code(bout_df,['E'])
  1971. # u_t = u_df.time.values - 0.0003
  1972. # bout = [expt.get_bout_win('U','Keyboard')[0],
  1973. # expt.get_bout_win('U','Keyboard')[1],
  1974. # expt.get_bout_win('B','Keyboard')[0]]
  1975. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1976. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1977. # cmd_t = b_df.time.values
  1978. # bout = [expt.get_bout_win('C','Keyboard')[0]]
  1979. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  1980. # c_df = expt.filter_marker_df_code(bout_df,['E'])
  1981. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  1982. # c_t = c_df.time.values - 0.0003
  1983. # #calculate time will need to offset command response by to subtract from coupled estim response
  1984. # #use coupled trials
  1985. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  1986. # c_latency = np.median(c_t-cmd_coupled_t)
  1987. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  1988. # if save_plot:
  1989. # savename = cell_data['exptname'] + '.png' #altered name to save figure as
  1990. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  1991. # df = pd.DataFrame(cell_data,index=[0])
  1992. # savename = cell_data['exptname'] + '.csv' #altered name to save df as
  1993. # df.to_csv(df_folder / savename)
  1994. # #################################################
  1995. # #################################################
  1996. # #%%
  1997. # ax.cla()
  1998. # exptname = '20171010_005'
  1999. # expt = AmpShift_Stable()
  2000. # expt.load_expt(exptname, data_folder)
  2001. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  2002. # marker_df = expt.get_marker_table()
  2003. # dt = expt.get_dt('lowgain')
  2004. # bout = [expt.get_bout_win('U','Keyboard')[0],
  2005. # expt.get_bout_win('U','Keyboard')[1]]
  2006. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  2007. # u_df = expt.filter_marker_df_code(bout_df,['E'])
  2008. # u_t = u_df.time.values - 0.0003
  2009. # bout = [expt.get_bout_win('U','Keyboard')[0],
  2010. # expt.get_bout_win('U','Keyboard')[1],
  2011. # expt.get_bout_win('B','Keyboard')[0]]
  2012. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  2013. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  2014. # cmd_t = b_df.time.values
  2015. # bout = [expt.get_bout_win('C','Keyboard')[0]]
  2016. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  2017. # c_df = expt.filter_marker_df_code(bout_df,['E'])
  2018. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  2019. # c_t = c_df.time.values - 0.0003
  2020. # #calculate time will need to offset command response by to subtract from coupled estim response
  2021. # #use coupled trials
  2022. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  2023. # c_latency = np.median(c_t-cmd_coupled_t)
  2024. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  2025. # if save_plot:
  2026. # savename = cell_data['exptname'] + '.png' #altered name to save figure as
  2027. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  2028. # df = pd.DataFrame(cell_data,index=[0])
  2029. # savename = cell_data['exptname'] + '.csv' #altered name to save df as
  2030. # df.to_csv(df_folder / savename)
  2031. # #################################################
  2032. # #################################################
  2033. # #%%
  2034. # ax.cla()
  2035. # exptname = '20181213_002'
  2036. # expt = AmpShift_Stable()
  2037. # expt.load_expt(exptname, data_folder)
  2038. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  2039. # marker_df = expt.get_marker_table()
  2040. # dt = expt.get_dt('lowgain')
  2041. # bout = [expt.get_bout_win('U','Keyboard')[0],
  2042. # expt.get_bout_win('U','Keyboard')[1],
  2043. # expt.get_bout_win('U','Keyboard')[2]]
  2044. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  2045. # u_df = expt.filter_marker_df_code(bout_df,['E'])
  2046. # u_t = u_df.time.values
  2047. # bout = [expt.get_bout_win('U','Keyboard')[0],
  2048. # expt.get_bout_win('U','Keyboard')[1],
  2049. # expt.get_bout_win('U','Keyboard')[2]]
  2050. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  2051. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  2052. # cmd_t = b_df.time.values
  2053. # bout = [expt.get_bout_win('C','Keyboard')[0],
  2054. # expt.get_bout_win('C','Keyboard')[1],
  2055. # expt.get_bout_win('C','Keyboard')[2]]
  2056. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  2057. # c_df = expt.filter_marker_df_code(bout_df,['E'])
  2058. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  2059. # c_t = c_df.time.values
  2060. # #calculate time will need to offset command response by to subtract from coupled estim response
  2061. # #use coupled trials
  2062. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  2063. # c_latency = np.median(c_t-cmd_coupled_t)
  2064. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  2065. # if save_plot:
  2066. # savename = cell_data['exptname'] + '.png' #altered name to save figure as
  2067. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  2068. # df = pd.DataFrame(cell_data,index=[0])
  2069. # savename = cell_data['exptname'] + '.csv' #altered name to save df as
  2070. # df.to_csv(df_folder / savename)
  2071. # #################################################
  2072. # #################################################
  2073. # #%%
  2074. # ax.cla()
  2075. # exptname = '20190107_003'
  2076. # expt = AmpShift_Stable()
  2077. # expt.load_expt(exptname, data_folder)
  2078. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  2079. # marker_df = expt.get_marker_table()
  2080. # dt = expt.get_dt('lowgain')
  2081. # bout = [expt.get_bout_win('U','Keyboard')[0],
  2082. # expt.get_bout_win('U','Keyboard')[1],
  2083. # expt.get_bout_win('U','Keyboard')[2],
  2084. # expt.get_bout_win('U','Keyboard')[3]]
  2085. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  2086. # u_df = expt.filter_marker_df_code(bout_df,['E'])
  2087. # u_t = u_df.time.values
  2088. # bout = [expt.get_bout_win('U','Keyboard')[0],
  2089. # expt.get_bout_win('U','Keyboard')[1],
  2090. # expt.get_bout_win('U','Keyboard')[2],
  2091. # expt.get_bout_win('U','Keyboard')[3],
  2092. # expt.get_bout_win('B','Keyboard')[0]]
  2093. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  2094. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  2095. # cmd_t = b_df.time.values
  2096. # bout = [expt.get_bout_win('C','Keyboard')[0],
  2097. # expt.get_bout_win('C','Keyboard')[1],
  2098. # expt.get_bout_win('C','Keyboard')[2]]
  2099. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  2100. # c_df = expt.filter_marker_df_code(bout_df,['E'])
  2101. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  2102. # c_t = c_df.time.values
  2103. # #calculate time will need to offset command response by to subtract from coupled estim response
  2104. # #use coupled trials
  2105. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  2106. # c_latency = np.median(c_t-cmd_coupled_t)
  2107. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  2108. # if save_plot:
  2109. # savename = cell_data['exptname'] + '.png' #altered name to save figure as
  2110. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  2111. # df = pd.DataFrame(cell_data,index=[0])
  2112. # savename = cell_data['exptname'] + '.csv' #altered name to save df as
  2113. # df.to_csv(df_folder / savename)
  2114. # #################################################
  2115. # #################################################
  2116. # #%%
  2117. # ax.cla()
  2118. # exptname = '20190110_000'
  2119. # expt = AmpShift_Stable()
  2120. # expt.load_expt(exptname, data_folder)
  2121. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  2122. # marker_df = expt.get_marker_table()
  2123. # dt = expt.get_dt('lowgain')
  2124. # bout = [expt.get_bout_win('U','Keyboard')[0],
  2125. # expt.get_bout_win('U','Keyboard')[1],
  2126. # expt.get_bout_win('U','Keyboard')[2]]
  2127. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  2128. # u_df = expt.filter_marker_df_code(bout_df,['E'])
  2129. # u_t = u_df.time.values
  2130. # bout = [expt.get_bout_win('U','Keyboard')[0],
  2131. # expt.get_bout_win('U','Keyboard')[1],
  2132. # expt.get_bout_win('U','Keyboard')[2],
  2133. # expt.get_bout_win('B','Keyboard')[0]]
  2134. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  2135. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  2136. # cmd_t = b_df.time.values
  2137. # bout = [expt.get_bout_win('C','Keyboard')[0],
  2138. # expt.get_bout_win('C','Keyboard')[1],
  2139. # expt.get_bout_win('C','Keyboard')[2]]
  2140. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  2141. # c_df = expt.filter_marker_df_code(bout_df,['E'])
  2142. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  2143. # c_t = c_df.time.values
  2144. # #calculate time will need to offset command response by to subtract from coupled estim response
  2145. # #use coupled trials
  2146. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  2147. # c_latency = np.median(c_t-cmd_coupled_t)
  2148. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  2149. # if save_plot:
  2150. # savename = cell_data['exptname'] + '.png' #altered name to save figure as
  2151. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  2152. # df = pd.DataFrame(cell_data,index=[0])
  2153. # savename = cell_data['exptname'] + '.csv' #altered name to save df as
  2154. # df.to_csv(df_folder / savename)
  2155. # #################################################
  2156. # #################################################
  2157. # #%%
  2158. # ax.cla()
  2159. # exptname = '20200309_001'
  2160. # expt = AmpShift_Stable()
  2161. # expt.load_expt(exptname, data_folder)
  2162. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  2163. # marker_df = expt.get_marker_table()
  2164. # dt = expt.get_dt('lowgain')
  2165. # bout = [expt.get_bout_win('N','Keyboard')[1],
  2166. # expt.get_bout_win('R','Keyboard')[1]]
  2167. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  2168. # u_df = expt.filter_marker_df_code(bout_df,['U'])
  2169. # u_t = u_df.time.values
  2170. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  2171. # #from uncoupled trials get times for command responses
  2172. # cmd_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in u_t])
  2173. # c_df = expt.filter_marker_df_code(bout_df,['C'])
  2174. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  2175. # c_t = c_df.time.values
  2176. # #calculate time will need to offset command response by to subtract from coupled estim response
  2177. # #use coupled trials
  2178. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  2179. # c_latency = np.median(c_t-cmd_coupled_t)
  2180. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  2181. # if save_plot:
  2182. # savename = cell_data['exptname'] + '.png' #altered name to save figure as
  2183. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  2184. # df = pd.DataFrame(cell_data,index=[0])
  2185. # savename = cell_data['exptname'] + '.csv' #altered name to save df as
  2186. # df.to_csv(df_folder / savename)
  2187. # #################################################
  2188. # #################################################
  2189. # #%%
  2190. # ax.cla()
  2191. # exptname = '20200303_000'
  2192. # expt = AmpShift_Stable()
  2193. # expt.load_expt(exptname, data_folder)
  2194. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  2195. # marker_df = expt.get_marker_table()
  2196. # dt = expt.get_dt('lowgain')
  2197. # bout = [expt.get_bout_win('B','Keyboard')[1],
  2198. # expt.get_bout_win('R','Keyboard')[0]]
  2199. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  2200. # u_df = expt.filter_marker_df_code(bout_df,['U'])
  2201. # u_t = u_df.time.values
  2202. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  2203. # #from uncoupled trials get times for command responses
  2204. # cmd_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in u_t])
  2205. # bout = [expt.get_bout_win('R','Keyboard')[0]]
  2206. # c_df = expt.filter_marker_df_code(bout_df,['C'])
  2207. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  2208. # c_t = c_df.time.values
  2209. # #calculate time will need to offset command response by to subtract from coupled estim response
  2210. # #use coupled trials
  2211. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  2212. # c_latency = np.median(c_t-cmd_coupled_t)
  2213. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  2214. # if save_plot:
  2215. # savename = cell_data['exptname'] + '.png' #altered name to save figure as
  2216. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  2217. # df = pd.DataFrame(cell_data,index=[0])
  2218. # savename = cell_data['exptname'] + '.csv' #altered name to save df as
  2219. # df.to_csv(df_folder / savename)
  2220. # #################################################
  2221. # #################################################
  2222. # #%%
  2223. # ax.cla()
  2224. # exptname = '20180105_000'
  2225. # expt = AmpShift_Stable()
  2226. # expt.load_expt(exptname, data_folder)
  2227. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  2228. # marker_df = expt.get_marker_table()
  2229. # dt = expt.get_dt('lowgain')
  2230. # bout = [expt.get_bout_win('U','Keyboard')[1]]
  2231. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  2232. # u_df = expt.filter_marker_df_code(bout_df,['E'])
  2233. # u_t = u_df.time.values - 0.0003
  2234. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  2235. # #from uncoupled trials get times for command responses
  2236. # cmd_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in u_t])
  2237. # bout = [expt.get_bout_win('C','Keyboard')[0]]
  2238. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  2239. # c_df = expt.filter_marker_df_code(bout_df,['E'])
  2240. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  2241. # c_t = c_df.time.values -0.0003
  2242. # #calculate time will need to offset command response by to subtract from coupled estim response
  2243. # #use coupled trials
  2244. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  2245. # c_latency = np.median(c_t-cmd_coupled_t)
  2246. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  2247. # if save_plot:
  2248. # savename = cell_data['exptname'] + '.png' #altered name to save figure as
  2249. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  2250. # df = pd.DataFrame(cell_data,index=[0])
  2251. # savename = cell_data['exptname'] + '.csv' #altered name to save df as
  2252. # df.to_csv(df_folder / savename)
  2253. # #################################################
  2254. # #################################################
  2255. # #%%
  2256. # ax.cla()
  2257. # exptname = '20180112_003'
  2258. # expt = AmpShift_Stable()
  2259. # expt.load_expt(exptname, data_folder)
  2260. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  2261. # marker_df = expt.get_marker_table()
  2262. # dt = expt.get_dt('lowgain')
  2263. # bout = [expt.get_bout_win('U','Keyboard')[0]]
  2264. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  2265. # u_df = expt.filter_marker_df_code(bout_df,['E'])
  2266. # u_t = u_df.time.values - 0.0003
  2267. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  2268. # #from uncoupled trials get times for command responses
  2269. # cmd_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in u_t])
  2270. # bout = [expt.get_bout_win('C','Keyboard')[0]]
  2271. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  2272. # c_df = expt.filter_marker_df_code(bout_df,['E'])
  2273. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  2274. # c_t = c_df.time.values - 0.0003
  2275. # #calculate time will need to offset command response by to subtract from coupled estim response
  2276. # #use coupled trials
  2277. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  2278. # c_latency = np.median(c_t-cmd_coupled_t)
  2279. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  2280. # if save_plot:
  2281. # savename = cell_data['exptname'] + '.png' #altered name to save figure as
  2282. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  2283. # df = pd.DataFrame(cell_data,index=[0])
  2284. # savename = cell_data['exptname'] + '.csv' #altered name to save df as
  2285. # df.to_csv(df_folder / savename)
  2286. # #################################################
  2287. # #################################################
  2288. # #%%
  2289. # ax.cla()
  2290. # exptname = '20180108_001'
  2291. # expt = AmpShift_Stable()
  2292. # expt.load_expt(exptname, data_folder)
  2293. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  2294. # marker_df = expt.get_marker_table()
  2295. # dt = expt.get_dt('lowgain')
  2296. # bout = [expt.get_bout_win('U','Keyboard')[0],
  2297. # expt.get_bout_win('U','Keyboard')[1],
  2298. # expt.get_bout_win('B','Keyboard')[0]]
  2299. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  2300. # u_df = expt.filter_marker_df_code(bout_df,['E'])
  2301. # u_t = u_df.time.values - 0.0003
  2302. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  2303. # #from uncoupled trials get times for command responses
  2304. # cmd_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in u_t])
  2305. # bout = [expt.get_bout_win('C','Keyboard')[0]]
  2306. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  2307. # c_df = expt.filter_marker_df_code(bout_df,['E'])
  2308. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  2309. # c_t = c_df.time.values - 0.0003
  2310. # #calculate time will need to offset command response by to subtract from coupled estim response
  2311. # #use coupled trials
  2312. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  2313. # c_latency = np.median(c_t-cmd_coupled_t)
  2314. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  2315. # if save_plot:
  2316. # savename = cell_data['exptname'] + '.png' #altered name to save figure as
  2317. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  2318. # df = pd.DataFrame(cell_data,index=[0])
  2319. # savename = cell_data['exptname'] + '.csv' #altered name to save df as
  2320. # df.to_csv(df_folder / savename)
  2321. # #################################################
  2322. # #################################################
  2323. # #%%
  2324. # ax.cla()
  2325. # exptname = '20170206_003'
  2326. # expt = AmpShift_Stable()
  2327. # expt.load_expt(exptname, data_folder)
  2328. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  2329. # marker_df = expt.get_marker_table()
  2330. # dt = expt.get_dt('lowgain')
  2331. # bout = [expt.get_bout_win('U','Keyboard')[0],
  2332. # expt.get_bout_win('U','Keyboard')[1]]
  2333. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  2334. # u_df = expt.filter_marker_df_code(bout_df,['E'])
  2335. # u_t_all = u_df.time.values - 0.0003
  2336. # #from uncoupled trials get times for command responses
  2337. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  2338. # u_t = []
  2339. # for u in u_t_all:
  2340. # cmd_pre=np.NaN
  2341. # cmd_post=np.NaN
  2342. # if (len(b_df.time.values[b_df.time.values<u])>0):
  2343. # cmd_pre = u-np.max(b_df.time.values[b_df.time.values<u])
  2344. # if (len(b_df.time.values[b_df.time.values>u])>0):
  2345. # cmd_post = np.min(b_df.time.values[b_df.time.values>u])-u
  2346. # if ((cmd_pre>0.05) & (cmd_post>0.05)):
  2347. # u_t.append(u)
  2348. # u_t = np.asarray(u_t)
  2349. # bout = [expt.get_bout_win('B','Keyboard')[0],
  2350. # expt.get_bout_win('B','Keyboard')[1]]
  2351. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  2352. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  2353. # cmd_t = b_df.time.values
  2354. # #################################################
  2355. # #################################################
  2356. # #%%
  2357. # ax.cla()
  2358. # exptname = '20171107_002'
  2359. # expt = AmpShift_Stable()
  2360. # expt.load_expt(exptname, data_folder)
  2361. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  2362. # marker_df = expt.get_marker_table()
  2363. # dt = expt.get_dt('lowgain')
  2364. # bout = [expt.get_bout_win('U','Keyboard')[0]]
  2365. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  2366. # u_df = expt.filter_marker_df_code(bout_df,['E'])
  2367. # u_t = u_df.time.values - 0.0003
  2368. # bout = [expt.get_bout_win('B','Keyboard')[0]]
  2369. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  2370. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  2371. # cmd_t = b_df.time.values
  2372. # bout = [expt.get_bout_win('C','Keyboard')[0]]
  2373. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  2374. # c_df = expt.filter_marker_df_code(bout_df,['E'])
  2375. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  2376. # c_t = c_df.time.values - 0.0003
  2377. # #calculate time will need to offset command response by to subtract from coupled estim response
  2378. # #use coupled trials
  2379. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  2380. # c_latency = np.median(c_t-cmd_coupled_t)
  2381. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  2382. # if save_plot:
  2383. # savename = cell_data['exptname'] + '.png' #altered name to save figure as
  2384. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  2385. # df = pd.DataFrame(cell_data,index=[0])
  2386. # savename = cell_data['exptname'] + '.csv' #altered name to save df as
  2387. # df.to_csv(df_folder / savename)
  2388. # #################################################
  2389. # #################################################
  2390. # #%%
  2391. # ax.cla()
  2392. # exptname = '20171011_001'
  2393. # expt = AmpShift_Stable()
  2394. # expt.load_expt(exptname, data_folder)
  2395. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  2396. # marker_df = expt.get_marker_table()
  2397. # dt = expt.get_dt('lowgain')
  2398. # bout = [expt.get_bout_win('U','Keyboard')[0]]
  2399. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  2400. # u_df = expt.filter_marker_df_code(bout_df,['E'])
  2401. # u_t = u_df.time.values - 0.0003
  2402. # bout = [expt.get_bout_win('B','Keyboard')[0]]
  2403. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  2404. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  2405. # cmd_t = b_df.time.values
  2406. # bout = [expt.get_bout_win('C','Keyboard')[0]]
  2407. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  2408. # c_df = expt.filter_marker_df_code(bout_df,['E'])
  2409. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  2410. # c_t = c_df.time.values - 0.0003
  2411. # #calculate time will need to offset command response by to subtract from coupled estim response
  2412. # #use coupled trials
  2413. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  2414. # c_latency = np.median(c_t-cmd_coupled_t)
  2415. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  2416. # if save_plot:
  2417. # savename = cell_data['exptname'] + '.png' #altered name to save figure as
  2418. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  2419. # df = pd.DataFrame(cell_data,index=[0])
  2420. # savename = cell_data['exptname'] + '.csv' #altered name to save df as
  2421. # df.to_csv(df_folder / savename)
  2422. # #################################################
  2423. # #################################################
  2424. # #%%
  2425. # ax.cla()
  2426. # exptname = '20171010_000'
  2427. # expt = AmpShift_Stable()
  2428. # expt.load_expt(exptname, data_folder)
  2429. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  2430. # marker_df = expt.get_marker_table()
  2431. # dt = expt.get_dt('lowgain')
  2432. # bout = [expt.get_bout_win('U','Keyboard')[0],
  2433. # expt.get_bout_win('U','Keyboard')[1]]
  2434. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  2435. # u_df = expt.filter_marker_df_code(bout_df,['E'])
  2436. # u_t = u_df.time.values - 0.0003
  2437. # bout = [expt.get_bout_win('B','Keyboard')[0],
  2438. # expt.get_bout_win('B','Keyboard')[1]]
  2439. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  2440. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  2441. # cmd_t = b_df.time.values
  2442. # bout = [expt.get_bout_win('C','Keyboard')[0]]
  2443. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  2444. # c_df = expt.filter_marker_df_code(bout_df,['E'])
  2445. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  2446. # c_t = c_df.time.values - 0.0003
  2447. # #calculate time will need to offset command response by to subtract from coupled estim response
  2448. # #use coupled trials
  2449. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  2450. # c_latency = np.median(c_t-cmd_coupled_t)
  2451. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  2452. # if save_plot:
  2453. # savename = cell_data['exptname'] + '.png' #altered name to save figure as
  2454. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  2455. # df = pd.DataFrame(cell_data,index=[0])
  2456. # savename = cell_data['exptname'] + '.csv' #altered name to save df as
  2457. # df.to_csv(df_folder / savename)
  2458. # #################################################
  2459. # #################################################
  2460. # #%%
  2461. # ax.cla()
  2462. # exptname = '20171010_003'
  2463. # expt = AmpShift_Stable()
  2464. # expt.load_expt(exptname, data_folder)
  2465. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  2466. # marker_df = expt.get_marker_table()
  2467. # dt = expt.get_dt('lowgain')
  2468. # bout = [expt.get_bout_win('U','Keyboard')[0],
  2469. # expt.get_bout_win('U','Keyboard')[1]]
  2470. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  2471. # u_df = expt.filter_marker_df_code(bout_df,['E'])
  2472. # u_t = u_df.time.values - 0.0003
  2473. # bout = [expt.get_bout_win('B','Keyboard')[0],
  2474. # expt.get_bout_win('B','Keyboard')[1]]
  2475. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  2476. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  2477. # cmd_t = b_df.time.values
  2478. # bout = [expt.get_bout_win('C','Keyboard')[0]]
  2479. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  2480. # c_df = expt.filter_marker_df_code(bout_df,['E'])
  2481. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  2482. # c_t = c_df.time.values - 0.0003
  2483. # #calculate time will need to offset command response by to subtract from coupled estim response
  2484. # #use coupled trials
  2485. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  2486. # c_latency = np.median(c_t-cmd_coupled_t)
  2487. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  2488. # if save_plot:
  2489. # savename = cell_data['exptname'] + '.png' #altered name to save figure as
  2490. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  2491. # df = pd.DataFrame(cell_data,index=[0])
  2492. # savename = cell_data['exptname'] + '.csv' #altered name to save df as
  2493. # df.to_csv(df_folder / savename)
  2494. # ######## then super hyperpolarized to prevent spiking
  2495. # ax.cla()
  2496. # bout = [expt.get_bout_win('U','Keyboard')[3]]
  2497. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  2498. # u_df = expt.filter_marker_df_code(bout_df,['E'])
  2499. # u_t = u_df.time.values - 0.0003
  2500. # bout = [expt.get_bout_win('U','Keyboard')[3]]
  2501. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  2502. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  2503. # cmd_t = b_df.time.values
  2504. # bout = [expt.get_bout_win('C','Keyboard')[2]]
  2505. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  2506. # c_df = expt.filter_marker_df_code(bout_df,['E'])
  2507. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  2508. # c_t = c_df.time.values - 0.0003
  2509. # #calculate time will need to offset command response by to subtract from coupled estim response
  2510. # #use coupled trials
  2511. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  2512. # c_latency = np.median(c_t-cmd_coupled_t)
  2513. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  2514. # if save_plot:
  2515. # savename = cell_data['exptname'] + '_hyperpolarized' + '.png' #altered name to save figure as
  2516. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  2517. # df = pd.DataFrame(cell_data,index=[0])
  2518. # savename = cell_data['exptname'] + '_hyperpolarized' + '.csv' #altered name to save df as
  2519. # df.to_csv(df_folder / savename)
  2520. # #################################################
  2521. # #################################################
  2522. # #%%
  2523. # ax.cla()
  2524. # exptname = '20170502_002'
  2525. # expt = AmpShift_Stable()
  2526. # expt.load_expt(exptname, data_folder)
  2527. # expt.set_channels('CmdTrig','lowgain','spikes','SIU','DigMark')
  2528. # marker_df = expt.get_marker_table()
  2529. # dt = expt.get_dt('lowgain')
  2530. # bout = [expt.get_bout_win('U','Keyboard')[0]]
  2531. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  2532. # u_df = expt.filter_marker_df_code(bout_df,['E'])
  2533. # u_t = u_df.time.values - 0.0003
  2534. # bout = [expt.get_bout_win('B','Keyboard')[0],
  2535. # expt.get_bout_win('B','Keyboard')[1]]
  2536. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  2537. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  2538. # cmd_t = b_df.time.values
  2539. # bout = [expt.get_bout_win('C','Keyboard')[0]]
  2540. # bout_df = expt.filter_marker_df_time(marker_df,bout)
  2541. # c_df = expt.filter_marker_df_code(bout_df,['E'])
  2542. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  2543. # c_t = c_df.time.values - 0.0003
  2544. # #calculate time will need to offset command response by to subtract from coupled estim response
  2545. # #use coupled trials
  2546. # cmd_coupled_t = np.asarray([np.max(b_df.time.values[b_df.time.values<t]) for t in c_t])
  2547. # c_latency = np.median(c_t-cmd_coupled_t)
  2548. # cell_data = get_results(expt,cmd_t,u_t,c_t,c_latency,1,ax)
  2549. # if save_plot:
  2550. # savename = cell_data['exptname'] + '.png' #altered name to save figure as
  2551. # fig.savefig(figure_folder / savename,format = 'png',dpi = 75)
  2552. # df = pd.DataFrame(cell_data,index=[0])
  2553. # savename = cell_data['exptname'] + '.csv' #altered name to save df as
  2554. # df.to_csv(df_folder / savename)
  2555. # #################################################
  2556. # #################################################
  2557. # #%%
  2558. # #############
  2559. # # %%
  2560. # ####### if freerun stim and need to elminate some
  2561. # ####### stim trials because too close to cmd
  2562. # ###############
  2563. # u_t_all = u_df.time.values - 0.0003
  2564. # #from uncoupled trials get times for command responses
  2565. # b_df = expt.filter_marker_df_code(bout_df,['B'])
  2566. # u_t = []
  2567. # for u in u_t_all:
  2568. # cmd_pre=np.NaN
  2569. # cmd_post=np.NaN
  2570. # if (len(b_df.time.values[b_df.time.values<u])>0):
  2571. # cmd_pre = u-np.max(b_df.time.values[b_df.time.values<u])
  2572. # if (len(b_df.time.values[b_df.time.values>u])>0):
  2573. # cmd_post = np.min(b_df.time.values[b_df.time.values>u])-u
  2574. # if ((cmd_pre>0.05) & (cmd_post>0.05)):
  2575. # u_t.append(u)
  2576. # u_t = np.asarray(u_t)