def load_data(filenames): mask = mask_utils.compute_mask_files(filenames) series, _ = mask_utils.series_from_mask([filenames, ], mask) series = series.squeeze() series -= series.mean(axis=-1)[:, np.newaxis] std = series.std(axis=-1) std[std==0] = 1 series /= std[:, np.newaxis] u, s, v = linalg.svd(series, full_matrices=False) s[0] = 0 series = np.dot(u*s, v) return mask, series
# vi: set ft=python sts=4 ts=4 sw=4 et: # Example usage # python compute_mask.py swa4D.nii.gz mask.nii.gz # python compute_mask.py swa*.nii mask.nii.gz from nipy.neurospin.mask import compute_mask_files import sys if __name__ == '__main__': if len(sys.argv) < 3: print """Usage : python compute_mask [ -s copyfilename ] inputfilename(s) outputfilename inputfilename can be either a single (4D) file or a list of (3D) files -s copyfilename : also save a copy of the orginal data as a single 4D file named copyfilename # Example : python compute_mask.py swa4D.nii.gz mask.nii.gz python compute_mask.py swa*.nii mask.nii.gz python compute_mask.py -s swaCopy4D.nii.gz swa*.nii ../masks/mask.nii.gz""" sys.exit() copyIn4Dfilename = None if '-s' in sys.argv: i = sys.argv.index('-s') sys.argv.pop(i) copyIn4Dfilename = sys.argv.pop(i) if len(sys.argv) == 3: inputFilename = sys.argv[1] else: inputFilename = sorted(sys.argv[1:-1]) outputFilename = sys.argv[-1] compute_mask_files(inputFilename, outputFilename, copy_filename = copyIn4Dfilename)
# vi: set ft=python sts=4 ts=4 sw=4 et: # Example usage # python compute_mask.py swa4D.nii.gz mask.nii.gz # python compute_mask.py swa*.nii mask.nii.gz from nipy.neurospin.mask import compute_mask_files import sys if __name__ == '__main__': if len(sys.argv) < 3: print """Usage : python compute_mask [ -s copyfilename ] inputfilename(s) outputfilename inputfilename can be either a single (4D) file or a list of (3D) files -s copyfilename : also save a copy of the orginal data as a single 4D file named copyfilename # Example : python compute_mask.py swa4D.nii.gz mask.nii.gz python compute_mask.py swa*.nii mask.nii.gz python compute_mask.py -s swaCopy4D.nii.gz swa*.nii ../masks/mask.nii.gz""" sys.exit() copyIn4Dfilename = None if '-s' in sys.argv: i = sys.argv.index('-s') sys.argv.pop(i) copyIn4Dfilename = sys.argv.pop(i) if len(sys.argv) == 3: inputFilename = sys.argv[1] else: inputFilename = sorted(sys.argv[1:-1]) outputFilename = sys.argv[-1] compute_mask_files(inputFilename, outputFilename)
misc["tasks"] = Conditions misc["mask_url"] = paths['mask'] misc.write() # step 2. Create one design matrix for each session design_matrices = {} for sess in Sessions: design_matrices[sess] = glm_tools.design_matrix( paths['misc'], paths['dmtx'][sess], sess, paths['paradigm'], frametimes, hrf_model=hrf_model, drift_model=drift_model, hfcut=hfcut, model=model_id) # step 3. Compute the Mask # fixme : it should be possible to provide a pre-computed mask print "Computing the Mask" mask_array = compute_mask_files(paths['fmri'].values()[0][0], paths['mask'], True, infTh, supTh) # step 4. Creating functional contrasts print "Creating Contrasts" clist = contrast_tools.ContrastList(misc=ConfigObj(paths['misc']), model=model_id) generate_localizer_contrasts(clist) contrast = clist.save_dic(paths['contrast_file']) CompletePaths = glm_tools.generate_brainvisa_ouput_paths( paths["contrasts"], contrast) # step 5. Fit the glm for each session glms = {} for sess in Sessions: print "Fitting GLM for session : %s" % sess glms[sess] = glm_tools.glm_fit(