Master_Hannah2018.py 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231
  1. # -*- coding: utf-8 -*-
  2. """
  3. Created on Wed May 30 10:13:47 2018
  4. @author: Giovanni Galizia
  5. copy of master
  6. in C:\\Users\\Giovanni Galizia\\Documents\\Code\\ShareWinXP\\WindowsExchange\\IDL_Data\\spont_activity\\00_copy_IDL
  7. changed May 2019
  8. to run Hanna Apis2018 as sample data
  9. on mac gio: run in environment idl_py
  10. """
  11. ### gio 25.5.2019: "from view.idl_translation_core import View_gr_reports " does not work,
  12. # direct import does: import View_gr_reports as...
  13. # in spyder, anaconca env idl_py, mac.
  14. #from view.idl_translation_core import View_gr_reports as View_gr_reports, IDL_flags as IDL_flags
  15. import View_gr_reports as View_gr_reports, IDL_flags as IDL_flags
  16. from sys import platform
  17. #show images inline:
  18. #%matplotlib inline
  19. #show images in extra window
  20. #%matplotlib qt
  21. def Set_my_flags(flag):
  22. # use this to change any flags that are important locally
  23. #flag.STG_reporttag = '030725bR'
  24. flag.LE_loadExp = 3
  25. flag.CSM_Movement = 0 # 2 for movement correction on the spot - is slow!
  26. flag.VIEW_batchmode = 1 # fo
  27. flag.LE_CalcMethod = 3900
  28. flag.VIEW_ReportMethod = 12 #10 for overviews, 12 for movies
  29. flag.SO_Method = 10
  30. flag.SO_individualScale = 3
  31. flag.SO_MV_scalemax = 18.0
  32. flag.SO_MV_scalemin = -2.0
  33. flag.SO_withinArea= 0
  34. flag.CTV_firstframe = 18
  35. flag.CTV_lastframe = 22
  36. flag.CTV_Method = 35 #22
  37. flag.RM_FotoOk = 1
  38. flag.CTV_scalebar = 1
  39. flag.Signal_FilterSpaceFlag = 0
  40. flag.mv_individualScale = 3
  41. return flag
  42. def ChooseFileFolder():
  43. import tkinter as tk
  44. from tkinter.filedialog import askopenfilenames
  45. # Choose raw files
  46. root = tk.Tk()
  47. root.withdraw() # so that windows closes after file chosen
  48. root.attributes('-topmost', True)
  49. # the mac system does not accept filetypes, therefore ask for system
  50. if platform == 'darwin':
  51. filenames = askopenfilenames(
  52. parent=root,
  53. title='Select one or more settings files (*.settings.xls)',
  54. ) # ask user to choose file
  55. else:
  56. filenames = askopenfilenames(
  57. parent=root,
  58. title='Select one or more settings files',
  59. filetypes=[('settings files', '*.settings.xls'), ('all files', '*')]
  60. ) # ask user to choose file
  61. return filenames
  62. def Apis2018_summer(flag):
  63. #list all animals to be processed
  64. flag.SO_MV_scalemax =3.000
  65. flag.SO_MV_scalemin = -2.000
  66. flag.STG_ReportTag ='HS_bee_PELM_180406a'
  67. (p1, flag) = gr_HS_bee_PELM_180406a(flag)
  68. #gr_takefromlist, 'HS_bee_PELM_180406a', 2
  69. # flag.SO_MV_scalemax =3.000
  70. # flag.SO_MV_scalemin = -2.000
  71. # flag.stg_reporttag ='HS_bee_OXON_PELM_180409'
  72. # gr_HS_bee_OXON_PELM_180409
  73. # #gr_takefromlist, 'HS_bee_OXON_PELM_180409', 2
  74. #
  75. # flag.SO_MV_scalemax =3.000
  76. # flag.SO_MV_scalemin = -2.000
  77. # flag.stg_reporttag ='HS_bee_OXON_PELM_180411'
  78. # gr_HS_bee_OXON_PELM_180411
  79. # #gr_takefromlist, 'HS_bee_OXON_PELM_180411', 2
  80. #
  81. # flag.SO_MV_scalemax =3.000
  82. # flag.SO_MV_scalemin = -2.000
  83. # flag.stg_reporttag ='HS_bee_PELM_180416b'
  84. # gr_HS_bee_PELM_180416b
  85. # #gr_takefromlist, 'HS_bee_PELM_180416b', 2
  86. #
  87. # flag.SO_MV_scalemax =3.000
  88. # flag.SO_MV_scalemin = -2.000
  89. # flag.stg_reporttag ='HS_bee_OXON_PELM_180417'
  90. # gr_HS_bee_OXON_PELM_180417
  91. # #gr_takefromlist, 'HS_bee_OXON_PELM_180417', 2
  92. #
  93. # flag.SO_MV_scalemax =3.000
  94. # flag.SO_MV_scalemin = -2.000
  95. # flag.stg_reporttag ='HS_bee_PELM_180418'
  96. # gr_HS_bee_PELM_180418
  97. # #gr_takefromlist, 'HS_bee_PELM_180418', 2
  98. #
  99. # flag.SO_MV_scalemax =3.000
  100. # flag.SO_MV_scalemin = -2.000
  101. # flag.stg_reporttag ='HS_bee_PELM_180424b'
  102. # gr_HS_bee_PELM_180424b
  103. # #gr_takefromlist, 'HS_bee_PELM_180424b', 2
  104. #
  105. # flag.SO_MV_scalemax =3.000
  106. # flag.SO_MV_scalemin = -2.000
  107. # flag.stg_reporttag ='HS_bee_OXON_PELM_180420'
  108. # gr_HS_bee_OXON_PELM_180420
  109. # #gr_takefromlist, 'HS_bee_OXON_PELM_180420', 2
  110. #
  111. # flag.SO_MV_scalemax =3.000
  112. # flag.SO_MV_scalemin = -2.000
  113. # flag.stg_reporttag ='HS_bee_OXON_PELM_180427'
  114. # gr_HS_bee_OXON_PELM_180427
  115. # #gr_takefromlist, 'HS_bee_OXON_PELM_180427', 2
  116. #
  117. # flag.SO_MV_scalemax =3.000
  118. # flag.SO_MV_scalemin = -2.000
  119. # flag.stg_reporttag ='HS_bee_OXON_PELM_180503'
  120. # gr_HS_bee_OXON_PELM_180503
  121. # #gr_takefromlist, 'HS_bee_OXON_PELM_180503', 2
  122. #
  123. # flag.SO_MV_scalemax =3.000
  124. # flag.SO_MV_scalemin = -2.000
  125. # flag.stg_reporttag ='HS_bee_OXON_PELM_180507'
  126. # gr_HS_bee_OXON_PELM_180507
  127. # #gr_takefromlist, 'HS_bee_OXON_PELM_180507', 2
  128. #
  129. # flag.SO_MV_scalemax =3.000
  130. # flag.SO_MV_scalemin = -2.000
  131. # flag.stg_reporttag ='HS_bee_OXON_PELM_180509'
  132. # gr_HS_bee_OXON_PELM_180509
  133. # #gr_takefromlist, 'HS_bee_OXON_PELM_180509', 2
  134. #
  135. # flag.SO_MV_scalemax =3.000
  136. # flag.SO_MV_scalemin = -2.000
  137. # flag.stg_reporttag ='HS_bee_OXON_PELM_180718'
  138. # gr_HS_bee_OXON_PELM_180718
  139. # #gr_takefromlist, 'HS_bee_OXON_PELM_180718', 2
  140. #
  141. # flag.SO_MV_scalemax =3.000
  142. # flag.SO_MV_scalemin = -2.000
  143. # flag.stg_reporttag ='HS_bee_OXON_180716'
  144. # gr_HS_bee_OXON_180716
  145. # #gr_takefromlist, 'HS_bee_OXON_180716', 2
  146. #
  147. # flag.SO_MV_scalemax =3.000
  148. # flag.SO_MV_scalemin = -2.000
  149. # flag.stg_reporttag ='HS_bee_OXON_180727'
  150. # gr_HS_bee_OXON_180727
  151. #gr_takefromlist, 'HS_bee_OXON_180727', 2
  152. return p1, flag
  153. # end of Apis2018_summer, i.e. list of all animals
  154. def gr_HS_bee_PELM_180406a(flag):
  155. #single animal selection of order how measurements are evaluated
  156. flag.RM_newcolumn = 1
  157. ### IDL commant is this
  158. # subloop, '14'; 12_AIR
  159. ### converts into Python like this
  160. (p1,flag) = View_gr_reports.gr_takefromlist(flag.STG_ReportTag, 21, flag, selectformat ='subloop')
  161. flag.RM_newcolumn = 0
  162. (p1,flag) = View_gr_reports.gr_takefromlist(flag.STG_ReportTag, 10, flag, selectformat ='subloop') # 01_LINT-4
  163. (p1,flag) = View_gr_reports.gr_takefromlist(flag.STG_ReportTag, 11, flag, selectformat ='subloop') # 02_LINT-3
  164. (p1,flag) = View_gr_reports.gr_takefromlist(flag.STG_ReportTag, 23, flag, selectformat ='subloop') # 14_LINT-4
  165. (p1,flag) = View_gr_reports.gr_takefromlist(flag.STG_ReportTag, 9, flag, selectformat ='subloop') # 00_MOL
  166. (p1,flag) = View_gr_reports.gr_takefromlist(flag.STG_ReportTag, 22, flag, selectformat ='subloop') # 13_MOL
  167. (p1,flag) = View_gr_reports.gr_takefromlist(flag.STG_ReportTag, 6, flag, selectformat ='subloop') # 15_NONL-3
  168. flag.RM_newcolumn = 1
  169. (p1,flag) = View_gr_reports.gr_takefromlist(flag.STG_ReportTag, 12, flag, selectformat ='subloop') # 03_OXON-10
  170. flag.RM_newcolumn = 0
  171. (p1,flag) = View_gr_reports.gr_takefromlist(flag.STG_ReportTag, 13, flag, selectformat ='subloop') # 04_OXON-9
  172. (p1,flag) = View_gr_reports.gr_takefromlist(flag.STG_ReportTag, 14, flag, selectformat ='subloop') # 05_OXON-8
  173. (p1,flag) = View_gr_reports.gr_takefromlist(flag.STG_ReportTag, 15, flag, selectformat ='subloop') #'; 06_OXON-7
  174. (p1,flag) = View_gr_reports.gr_takefromlist(flag.STG_ReportTag, 16, flag, selectformat ='subloop') #'; 07_OXON-6
  175. (p1,flag) = View_gr_reports.gr_takefromlist(flag.STG_ReportTag, 17, flag, selectformat ='subloop') #'; 08_OXON-5
  176. (p1,flag) = View_gr_reports.gr_takefromlist(flag.STG_ReportTag, 18, flag, selectformat ='subloop') #'; 09_OXON-4
  177. (p1,flag) = View_gr_reports.gr_takefromlist(flag.STG_ReportTag, 19, flag, selectformat ='subloop') #'; 10_OXON-3
  178. (p1,flag) = View_gr_reports.gr_takefromlist(flag.STG_ReportTag, 20, flag, selectformat ='subloop') # 11_OXON-2
  179. return p1, flag
  180. #########################################################
  181. ########## Main starts here
  182. #########################################################
  183. # define flags
  184. #IDL.flags.IDL_default_flags sets the general rules
  185. #Set_my_flags modifies these
  186. #on my windows system
  187. #STG_MotherOfAllFolders = 'C:\\Users\\Giovanni Galizia\\Documents\\Code\\ShareWinXP\\WindowsExchange\\IDL_Data\\spont_activity' #if empty, working directory is used
  188. #if platform == 'darwin':
  189. # STG_MotherOfAllFolders = '/Users/galizia/Documents/Code/ShareWinXP/WindowsExchange/IDL_Data/spont_activity'
  190. # Hannah data on my mac
  191. STG_MotherOfAllFolders = '/Users/galizia/Documents/KN_Group/19_Hannah_Burger/Apis2018/Hanna_OXON-PELM_summer2018'
  192. flag = Set_my_flags(IDL_flags.IDL_default_flags(STG_MotherOfAllFolders))
  193. #flag.STG_OdorReportPath = os.path.join(STG_MotherOfAllFolders + 'IDL_output\\movies\\'
  194. # call program that opens .lst file and performs analysis
  195. # the command in spont_activity_master.pro was "subloop, '24'
  196. #(p1,flag) = View_gr_reports.gr_takefromlist('030725bR', 3, flag)
  197. ####make sure all settings/flags are set, then call this animal
  198. (p1,flag) = Apis2018_summer(flag)