Exemple #1
0
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)
Exemple #2
0
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)
Exemple #3
0
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)
Exemple #4
0
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)
Exemple #5
0
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)
Exemple #7
0
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()
Exemple #9
0
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)
Exemple #10
0
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)