def test_infomax(filename='./data/01-001.fmri.rest.1.volreg.band.pca_reduced.nii.gz',filename_mask='./data/01-001.fmri.rest.1.volreg.cortical_mask.nii.gz'): from Image import Image from sklearn.decomposition import FastICA import scipy.io as sio img = Image(img_filename=filename, mask_filename=filename_mask, fwhm=6.0) xmat = img.image_mat_in_mask_normalised.T from InfoMax import InfoMax infomax = InfoMax(30).fit(xmat) img.write_decomposition(maps=infomax.components_, filename='test_ica_infomax.nii.gz', normalise=True)
def test_ae( filename='/Volumes/VAULT/YOAD/all/01-001.fmri.rest.1.volreg.band.nii.gz', filename_mask='/Volumes/VAULT/YOAD/all/registrations/01-001.fmri.rest.1.volreg.cortical_mask.nii.gz' ): img = Image(img_filename=filename, mask_filename=filename_mask) xmat = img.image_mat_in_mask_normalised.T ae = Autoencoder(30, max_iter=200, second_nonlinear=True, bias=True).fit(xmat) img.write_decomposition(maps=ae.components_, filename='test_ae.nii.gz', normalise=False)
def test_infomax( filename='./data/01-001.fmri.rest.1.volreg.band.pca_reduced.nii.gz', filename_mask='./data/01-001.fmri.rest.1.volreg.cortical_mask.nii.gz'): from Image import Image from sklearn.decomposition import FastICA import scipy.io as sio img = Image(img_filename=filename, mask_filename=filename_mask, fwhm=6.0) xmat = img.image_mat_in_mask_normalised.T from InfoMax import InfoMax infomax = InfoMax(30).fit(xmat) img.write_decomposition(maps=infomax.components_, filename='test_ica_infomax.nii.gz', normalise=True)
def test_rica(filename='./data/01-001.fmri.rest.1.volreg.nii.gz', filename_mask='./data/01-001.fmri.rest.1.volreg.cortical_mask.nii.gz'): from Image import Image import scipy.io as sio img = Image(img_filename=filename, mask_filename=filename_mask) xmat = img.image_mat_in_mask_normalised.T from sklearn.decomposition import PCA, FastICA pca = PCA(30) xmat_red = pca.fit_transform(xmat.T) import matplotlib.pyplot as plt plt.plot(pca.components_.T) plt.show() import pdb; pdb.set_trace() rica = RICA(30).fit(xmat) img.write_decomposition(maps=rica.components_, filename='test_rica.nii.gz', normalise=False)
def test_rica( filename='./data/01-001.fmri.rest.1.volreg.nii.gz', filename_mask='./data/01-001.fmri.rest.1.volreg.cortical_mask.nii.gz'): from Image import Image import scipy.io as sio img = Image(img_filename=filename, mask_filename=filename_mask) xmat = img.image_mat_in_mask_normalised.T from sklearn.decomposition import PCA, FastICA pca = PCA(30) xmat_red = pca.fit_transform(xmat.T) import matplotlib.pyplot as plt plt.plot(pca.components_.T) plt.show() import pdb pdb.set_trace() rica = RICA(30).fit(xmat) img.write_decomposition(maps=rica.components_, filename='test_rica.nii.gz', normalise=False)
out_autoencoder_group = "{prefix}.autoencoder.group.nii.gz".format(prefix=in_nii__2__mat[:-7]) individual = sio.loadmat(out_autoencoder) mat = sio.loadmat(out_nii__2__mat) mat = mat['mat'] W1g = np.squeeze(W1group[:,i,:]) W2g = np.squeeze(W2group[i,:,:]) b2g = np.squeeze(b2group[i,:]) W1i = individual['W1'] W2i = individual['W2'] b1i = individual['b1'] #hi = individual['h'] # individual decomposition recomputed for debugging purposes d = out_autoencoder hi = sigmoid( W1i.dot(mat)+np.tile(b1i, (mat.shape[1], 1)).transpose() ) xi_tilde = W2i.dot(hi) img.write_decomposition(maps=xi_tilde, filename="{prefix}.tilde.nii.gz".format(prefix=out_nii__2__mat[0:out_nii__2__mat.find('.mat')]), normalise=False) sio.savemat("{prefix}.tilde.mat".format(prefix=out_nii__2__mat[0:out_nii__2__mat.find('.mat')]), {'mat_tilde':xi_tilde}) # compute group hidden layer representation for an individual subject # hack h = sigmoid( W1g.dot(hi) + np.tile(b1group, (hi.shape[1], 1)).transpose() ) img.write_decomposition(maps=h, filename="{prefix}.groupind.nii.gz".format(prefix=d[0:d.find('.mat')]), normalise=False) h = hgroup # compute individual hidden layer representation for an individual subject # hack hi_tilde = sigmoid( W2g.dot(h) + np.tile(b2g, (h.shape[1], 1)).transpose() ) xi_tilde = W2i.dot(hi_tilde) #h = hgroup suffix = args.gae[args.gae.find('/')+1:len(args.gae)] img = Image(img_filename=out_autoencoder_group, mask_filename=args.gmask) img.write_decomposition(maps=hi_tilde, filename="{prefix}.tilde.{suffix}.h.nii.gz".format(prefix=d[0:d.find('.mat')],suffix=suffix), normalise=False) img.write_decomposition(maps=xi_tilde, filename="{prefix}.tilde.{suffix}.x.nii.gz".format(prefix=d[0:d.find('.mat')],suffix=suffix), normalise=True)
parser = argparse.ArgumentParser(description='build nifti file from mat file') parser.add_argument('-img', metavar='img', nargs='+', type=str, required=True) parser.add_argument('-mask', metavar='mask', nargs='+', type=str, required=True) parser.add_argument('-mat', metavar='mat', nargs='+', type=str, required=True) parser.add_argument('-normalise', dest='normalise', action='store_true') parser.set_defaults(normalise=False) args = parser.parse_args() if len(args.img)>1 and len(args.mask)>1: for i, mat in enumerate(args.mat): print args.img[i], args.mask[i], mat img = Image(img_filename=args.img[i], mask_filename=args.mask[i]) f = sio.loadmat(mat) hiddenlayer = f['h'] img.write_decomposition(maps=hiddenlayer, filename="{prefix}.nii.gz".format(prefix=mat[0:mat.find('.mat')]), normalise=args.normalise) else: img = Image(img_filename=args.img[0], mask_filename=args.mask[0]) mat = args.mat[0] f = sio.loadmat(mat) if 'h' in f.keys(): hiddenlayer = f['h'] if 'mat' in f.keys(): hiddenlayer = f['mat'] if 'x_tilde' in f.keys(): hiddenlayer = f['x_tilde'] img.write_decomposition(maps=hiddenlayer, filename="{prefix}.nii.gz".format(prefix=mat[0:mat.find('.mat')]), normalise=args.normalise)
number_individual_hiddenlayer = W1group.shape[1]/number_subjects number_group_hiddenlayer = W1group.shape[0] W1group=np.reshape(W1group,[number_subjects, number_group_hiddenlayer, number_individual_hiddenlayer]) W2group=np.reshape(W1group,[number_individual_hiddenlayer,number_subjects,number_group_hiddenlayer]) #W1group=np.reshape(W1group,[number_group_hiddenlayer, number_individual_hiddenlayer, number_subjects]) #bgroup=np.reshape(b1group, [number_subjects, number_individual_hiddenlayer]) W1group[np.abs(W1group)<args.thr]=0 for i,d in enumerate(args.ind_decomp): img = Image(img_filename=args.ind_fmri_nii[i], mask_filename=args.ind_mask[i]) individual = sio.loadmat(d) mat = sio.loadmat(args.ind_fmri_mat[i]) mat = mat['mat'] W1g = np.squeeze(W1group[i,:,:]) W2g = np.squeeze(W2group[:,i,:]) Wi = individual['W1'] bi = individual['b1'] #hi = individual['h'] pdb.set_trace() hi = Wi.dot(mat)+np.tile(bi, (mat.shape[1], 1)).transpose() hi=sigmoid(hi) img.write_decomposition(maps=hi, filename="{prefix}.hdummy.nii.gz".format(prefix=d[0:d.find('.mat')]), normalise=False) #pdb.set_trace() h = W1g.dot(hi)+np.tile(b1group, (hi.shape[1], 1)).transpose() h = sigmoid(h) hi_tilde = W2g.dot(h) img.write_decomposition(maps=h, filename="{prefix}.groupind.nii.gz".format(prefix=d[0:d.find('.mat')]), normalise=False) img.write_decomposition(maps=hi_tilde, filename="{prefix}.tilde.nii.gz".format(prefix=d[0:d.find('.mat')]), normalise=False) print d #pdb.set_trace()
from niftybold.img.Image import Image import scipy.io as sio import argparse import numpy as np parser = argparse.ArgumentParser(description='build nifti file from mat file') parser.add_argument('-img', metavar='img', type=str, required=True) parser.add_argument('-mask', metavar='mask', type=str, required=True) parser.add_argument('-mat', metavar='mat', type=str, required=True) parser.add_argument('-normalise', metavar='normalises', type=bool, default=False) args = parser.parse_args() f = sio.loadmat(args.mat) hiddenlayer = f['h'] img = Image(img_filename=args.img, mask_filename=args.mask) img.write_decomposition(maps=hiddenlayer, filename="{prefix}.nii.gz".format( prefix=args.mat[0:args.mat.find('.mat')]), normalise=args.normalise)
def test_ae(filename='/Volumes/VAULT/YOAD/all/01-001.fmri.rest.1.volreg.band.nii.gz', filename_mask='/Volumes/VAULT/YOAD/all/registrations/01-001.fmri.rest.1.volreg.cortical_mask.nii.gz'): img = Image(img_filename=filename, mask_filename=filename_mask) xmat = img.image_mat_in_mask_normalised.T ae = Autoencoder(30, max_iter=200, second_nonlinear=True, bias=True).fit(xmat) img.write_decomposition(maps=ae.components_, filename='test_ae.nii.gz', normalise=False)