123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175 |
- # -*- coding: utf-8 -*-
- """
- Created on Wed May 30 10:13:47 2018
- @author: Giovanni Galizia
- copy of master
- in C:\\Users\\Giovanni Galizia\\Documents\\Code\\ShareWinXP\\WindowsExchange\\IDL_Data\\spont_activity\\00_copy_IDL
- changed May 2019
- to run Hanna Apis2018 as sample data
- on mac gio: run in environment idl_py
- """
- ### gio 25.5.2019: "from view.idl_translation_core import View_gr_reports " does not work,
- # direct import does: import View_gr_reports as...
- # in spyder, anaconca env idl_py, mac.
- #from view.idl_translation_core import View_gr_reports as View_gr_reports, IDL_flags as IDL_flags
- import View_gr_reports as View_gr_reports, IDL_flags as IDL_flags
- from sys import platform
- #show images inline:
- #%matplotlib inline
- #show images in extra window
- #%matplotlib qt
- import shutil
- def Set_my_flags(flag):
- # use this to change any flags that are important locally
- #flag.STG_reporttag = '030725bR'
- flag.LE_loadExp = 4
- flag.CSM_Movement = 0 # 2 for movement correction on the spot - is slow!
- flag.VIEW_batchmode = 1 # fo
-
- flag.LE_CalcMethod = 4900
-
- flag.VIEW_ReportMethod = 10 #10 for overviews, 11 for Glodatamix, 12 for movies
- flag.SO_Method = 10
- flag.SO_individualScale= 3
- flag.SO_MV_scalemax = 18.0
- flag.SO_MV_scalemin = -2.0
- flag.SO_withinArea= 0
- flag.CTV_firstframe = 18
- flag.CTV_lastframe = 30
- flag.CTV_Method = 22 #22
- flag.RM_FotoOk = 0
- flag.RM_NextPosition = (0,0)
- flag.CTV_scalebar = 0
-
- flag.Signal_FilterSpaceFlag = 1
- flag.Signal_FilterSpaceSize = 5
- flag.mv_individualScale = 3
-
- flag.RM_Radius = 5
- flag.SO_MV_colortable = 11
-
- return flag
- def ChooseFileFolder():
- import tkinter as tk
- from tkinter.filedialog import askopenfilenames
- # Choose raw files
- root = tk.Tk()
- root.withdraw() # so that windows closes after file chosen
- root.attributes('-topmost', True)
- # the mac system does not accept filetypes, therefore ask for system
- if platform == 'darwin':
- filenames = askopenfilenames(
- parent=root,
- title='Select one or more settings files (*.settings.xls)',
- ) # ask user to choose file
- else:
- filenames = askopenfilenames(
- parent=root,
- title='Select one or more settings files',
- filetypes=[('settings files', '*.settings.xls'), ('all files', '*')]
- ) # ask user to choose file
- return filenames
- def Inga_2019_Fura_test(flag):
- #list all animals to be processed
- flag.SO_MV_scalemax =3.000
- flag.SO_MV_scalemin = -2.000
- #list animals to work with here
- animallist = ['190607_locust_ip32', '190702_locust_ip33']
- for i,animal in enumerate(animallist):
- print(i, animal)
- flag.STG_ReportTag =animal
- # run gr_190227_locust_ip14 to select also the order of how measurements are evaluated
- #(p1, flag) = gr_190227_locust_ip14(flag)
- # run gr_takefromlist to use the 'analyze' column
- #list what to do with each animal here
- (p1, flag) = View_gr_reports.gr_takefromlist(flag.STG_ReportTag, 1, flag, selectformat ='analyze')
-
- return p1, flag
- # end of Inga_2019_Fura_test
- def gr_190227_locust_ip14(flag):
- #single animal selection of order how measurements are evaluated
- flag.RM_NewColumn = 1
- ### IDL commant is this
- # subloop, '14'; 12_AIR
- ### converts into Python like this
- (p1,flag) = View_gr_reports.gr_takefromlist(flag.STG_ReportTag, 1, flag, selectformat ='subloop')
- flag.RM_NewColumn = 0
- (p1,flag) = View_gr_reports.gr_takefromlist(flag.STG_ReportTag, 3, flag, selectformat ='subloop') # 01_LINT-4
- (p1,flag) = View_gr_reports.gr_takefromlist(flag.STG_ReportTag, 5, flag, selectformat ='subloop') # 02_LINT-3
- (p1,flag) = View_gr_reports.gr_takefromlist(flag.STG_ReportTag, 7, flag, selectformat ='subloop') # 14_LINT-4
- (p1,flag) = View_gr_reports.gr_takefromlist(flag.STG_ReportTag, 9, flag, selectformat ='subloop') # 00_MOL
- (p1,flag) = View_gr_reports.gr_takefromlist(flag.STG_ReportTag, 11, flag, selectformat ='subloop') # 13_MOL
- (p1,flag) = View_gr_reports.gr_takefromlist(flag.STG_ReportTag, 13, flag, selectformat ='subloop') # 15_NONL-3
-
- return p1, flag
- def gr_190227_locust_ip16(flag):
- #single animal selection of order how measurements are evaluated
- flag.RM_NewColumn = 1
- ### IDL commant is this
- # subloop, '14'; 12_AIR
- ### converts into Python like this
- (p1,flag) = View_gr_reports.gr_takefromlist(flag.STG_ReportTag, 1, flag, selectformat ='subloop')
- flag.RM_NewColumn = 0
- (p1,flag) = View_gr_reports.gr_takefromlist(flag.STG_ReportTag, 3, flag, selectformat ='subloop') # 01_LINT-4
- (p1,flag) = View_gr_reports.gr_takefromlist(flag.STG_ReportTag, 5, flag, selectformat ='subloop') # 02_LINT-3
- (p1,flag) = View_gr_reports.gr_takefromlist(flag.STG_ReportTag, 7, flag, selectformat ='subloop') # 14_LINT-4
- (p1,flag) = View_gr_reports.gr_takefromlist(flag.STG_ReportTag, 9, flag, selectformat ='subloop') # 00_MOL
- (p1,flag) = View_gr_reports.gr_takefromlist(flag.STG_ReportTag, 11, flag, selectformat ='subloop') # 13_MOL
- (p1,flag) = View_gr_reports.gr_takefromlist(flag.STG_ReportTag, 13, flag, selectformat ='subloop') # 15_NONL-3
-
- return p1, flag
- #########################################################
- ########## Main starts here
- #########################################################
- # define flags
- #IDL.flags.IDL_default_flags sets the general rules
- #Set_my_flags modifies these
- #on my windows system
- #STG_MotherOfAllFolders = 'C:\\Users\\Giovanni Galizia\\Documents\\Code\\ShareWinXP\\WindowsExchange\\IDL_Data\\spont_activity' #if empty, working directory is used
- #if platform == 'darwin':
- # STG_MotherOfAllFolders = '/Users/galizia/Documents/Code/ShareWinXP/WindowsExchange/IDL_Data/spont_activity'
- print()
- print('Running this master file: ', __file__)
- print()
- # Inga data on my mac
- STG_MotherOfAllFolders = '/Users/galizia/Documents/KN_Group/19_Inga/Inga_locust_best_SampleTree'
- flag = Set_my_flags(IDL_flags.IDL_default_flags(STG_MotherOfAllFolders))
- #flag.STG_OdorReportPath = os.path.join(STG_MotherOfAllFolders + 'IDL_output\\movies\\'
- # call program that opens .lst file and performs analysis
- # the command in spont_activity_master.pro was "subloop, '24'
- #(p1,flag) = View_gr_reports.gr_takefromlist('030725bR', 3, flag)
- ####make sure all settings/flags are set, then call this animal
- (p1,flag) = Inga_2019_Fura_test(flag)
- #document how this analysis was done, by copying this file into the output folder
- shutil.copy(__file__, flag.STG_OdorReportPath)
- #TODO also copy the .yml file if that contains flag settings
|