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