https://github.com/samsydco/HBN
Raw File
Tip revision: 278127d07b721c73679c11d0d1836631df778323 authored by samsydco on 16 May 2022, 17:49:03 UTC
Update README
Tip revision: 278127d
10_HMM_AUC.py
#!/usr/bin/env python3

# Make Caroline plots in Yeo ROIs
# Make example plots

import matplotlib
# Force matplotlib to not use any Xwindows backend.
matplotlib.use('Agg')

import tqdm
import numpy as np
import deepdish as dd
import brainiak.eventseg.event
import matplotlib.pyplot as plt
from HMM_settings import *

figdir = figurepath + 'HMM/Paper_auc_outlier/'
bins = np.arange(nbinseq)
nbins = len(bins)
xticks = [str(int(round(eqbins[b])))+' - '+str(int(round(eqbins[b+1])))+' y.o.' for b in bins]
colors = ['#FCC3A1','#F08B63','#D02941','#70215D','#311638']
plt.rcParams.update({'font.size': 30})

pvals = dd.io.load(pvals_file)
ROIl = []
for roi in pvals['roidict'].keys():
	if 'auc_diff' in pvals['roidict'][roi].keys():
		if pvals['roidict'][roi]['auc_diff']['q'] < 0.05:
			ROIl.append(roi)

allauc = np.zeros((len(ROIl),nbins))			
for ri,roi in enumerate(ROIl):
	vall = pvals['seeddict']['0'][roi]['vall']
	AUC = np.zeros((len(seeds),nbins))
	for si,seed in enumerate(seeds):
		k = dd.io.load(HMMsavedir+seed+'/'+roi+'.h5','/best_k')
		auc = (dd.io.load(HMMsavedir+seed+'/'+roi+'.h5','/auc')/(k-1))*TR
		for b in bins:
			AUC[si,b] = auc[0,b]
	AUC = np.mean(AUC,axis=0)
	allauc[ri] = AUC-AUC[0]
	
for ri,roi in enumerate(ROIl):	
	fig,ax = plt.subplots()
	ax.plot(np.arange(len(xticks)),allauc[ri], linestyle='-', marker='o', color='k')
	ax.set_xticks(np.arange(len(xticks)))
	ax.set_xticklabels(xticks,rotation=45, fontsize=20)
	ax.set_xlabel('Age',fontsize=20)
	ax.set_ylabel('Average Prediction Difference',fontsize=20)
	ax.set_ylim([np.min(allauc),np.max(allauc)])
	plt.show()
	fig.savefig(figdir+roi+'.png', bbox_inches="tight")

			




back to top