def dih_goes_checker(dirname,filename,max,rel): fitslist = finder.dih_dir_finder(dirname)[0] eventlist = [] for idx,member in enumerate(fitslist): data = dih_filegrab(filename+'metacol'+str(idx)+'.txt') if max == 1 and rel == 0: peaklist = [] for member in data[4]: timeval = datetime.strptime(member,'%Y/%m/%d %H:%M:%S.%f') peaklist.append(timeval) elif rel == 1 and max == 0: peaklist = [] for member in data[3]: timeval = datetime.strptime(member,'%Y/%m/%d %H:%M:%S.%f') peaklit.append(timeval) else: print "bad keyword choice" for member in peaklist: time1 = member - timedelta(seconds = 300) time2 = member + timedelta(seconds = 300) subeventlist = dih_goes_getter(time1,time2) if len(subeventlist) > 0: print "Found Goes Event(s) near AIA Event" else: print "No Goes Event near AIA Event" eventlist.append(subeventlist) np.savetxt(filename+'GOESevents.txt',np.column_stack((eventlist)),header = 'Eventlist created on '+time.strftime("%c")) return eventlist
def dih_max_comparison(dirname,filename): fitslist = finder.dih_dir_finder(dirname)[0]#source ivo files to count over ivolist = finder.dih_dir_finder(dirname)[1] peaklist = [] sharedlist = [] for idx,member in enumerate(fitslist): if os.path.isfile(filename+'_human_meta'+str(idx)+'.txt') == False: continue else: data = simplejson.load(open(filename+'_human_meta'+str(idx)+'.txt','rb')) for member in data[4]:#create manageable peak data sets timeval = datetime.strptime(member,'%Y/%m/%d %H:%M:%S.%f') channel = data[1] values = [timeval,channel,ivolist[idx]] peaklist.append(values) cusp = timedelta(seconds = 180)#set temporal relatedness factor for idx,member in enumerate(peaklist): subsharedlist = [] subsharedlist.append(member) separate_list = peaklist[0:idx] + peaklist[idx+1:len(peaklist)] for guy in separate_list:#populate subsharedlist with closely related peaks if guy[0]< member[0]+cusp and guy[0]>member[0]-cusp and guy[1] != member[1]: subsharedlist.append(guy) continue else: continue sharedlist.append(subsharedlist) for member in sharedlist: for item in member: item[0] = str(item[0]) with open(filename+'_pickled_timerel_peaks.txt','wb') as fff: pickle.dump(sharedlist,fff) savefile = open(filename+'_timerel_peaks.txt','wb') simplejson.dump(sharedlist,savefile) savefile.close() return sharedlist
def dih_171_comparison(dirname,filename1,filename2): fitslist = finder.dih_dir_finder(dirname)[0] all_peaks = [] for idx,member in enumerate(fitslist): if os.path.isfile(filename1 + '_human_meta' + str(idx) + '.txt') == False: continue else: data = simplejson.load(open(filename + '_human_meta' + str(idx) + '.txt','rb')) if data[7] == 'flag': continue #code will need to be changed once true format of text file is known #file = open(filename2,'r') #lines = file.readlines() #center = lines[3] for guy in data[4]: timeval = datetime.strptime(guy,'%Y/%m/%d %H:%M:%S.%f') channel = data[1] all_peaks.append([timeval,channel]) list171 = [j for j, j in enumerate(all_peaks) if j[1] == 171] other_list = [j for j, j in enumerate(all_peaks) if j[1] != 171] t_cusp = timedelta(seconds = 180) s_cusp = 3.0 sharedlist = [] for idx,peak in enumerate(list171): subsharedlist = [peak] for member in other_list:#if peak[0]<member[0]+t_cusp and peak[0]>member[0]-t_cusp and peak[2][0]<member[2][0]+s_cusp and peak[2][0]>member[2][0]-s_cusp and peak[1][0]<member[1][0]+s_cusp and peak[1][0]>member[1][0]-s_cusp: if peak[0]<member[0]+t_cusp and peak[0]>member[0]-t_cusp: subsharedlist.append(member) continue else: continue subsharedlist = list(set(subsharedlist)) sharedlist.append(subsharedlist) for member in sharedlist: for item in member: item[0] = str(item[0]) with open(filename1+'_pickled_related_peaks.txt','wb') as fff: pickle.dump(sharedlist,fff) savefile = open(filename1+'_related_peaks.txt','wb') simplejson.dump(sharedlist,savefile) savefile.close() return sharedlist