def splice_dir(dirnames, save, nifti, thresh, check, alldirs, mat): from pycorr.pietools import splice_dir, copy_nii_hdr, load_nii_or_npy import numpy as np if alldirs: dirs = [] for dname in dirnames: subdirs = os.walk(dname).next()[1] print subdirs dirs.extend([os.path.join(dname, fname) for fname in subdirs]) else: dirs = dirnames for dirname in dirs: if 'thresh_fail' in dirname and alldirs: continue print dirname if check: vols = [int(fname.split('.')[0]) for fname in os.listdir(dirname)] print set(range(max(vols))) - set(vols) print 'max volume:\t', max(vols) continue M = splice_dir(dirname, save=False, mmap='r') print M.shape if thresh: thresh = load_nii_or_npy(thresh) M[thresh] = np.nan if save: np.save(dirname, M) if nifti: nii = copy_nii_hdr(nifti, M, save=dirname + ".nii.gz") #WRITE SAVING LINE HERE if mat: import scipy.io as sio sio.savemat(dirname, {'data': M})
def __init__(self, fname, all_indices): self.fname = fname self.data = self.hash_indices(load_nii_or_npy(self.fname), all_indices)