def find_realigned(pth):
    """ finds realigned files in realign_QA directory"""
    realigndir = 'realign_QA'
    globstr = os.path.join(pth, realigndir, 'rB*_FDG_*nii*')
    tmprealigned = glob(globstr)
    if len(tmprealigned)< 1:
        tmprealigned = None
    tmprealigned.sort()
    globstr = os.path.join(pth, realigndir, 'rp_B*.txt*')
    tmpparameterfile = pp.find_single_file(globstr)
    return tmprealigned, tmpparameterfile 
        
    tmpparameterfile = rlgnout.outputs.realignment_parameters
 anatdir = os.path.join(sub, 'anatomy')
 if not os.path.isdir(anatdir):
     logging.error('%s doesnt exist,skipping'%(anatdir))
     continue
 dvrdir = os.path.join(sub,'pib','dvr')
 if not os.path.isdir(dvrdir):
     logging.error('%s doesnt exist,skipping'%(dvrdir))
     continue
 # make/check warp dir
 warpdir, exists = bg.make_dir(dvrdir, 'warp_%s'%tname)
 if exists:
     logging.warning('%s exists, remove to rerun'%(warpdir))
     continue
 #get brainmask
 globstr = os.path.join(dvrdir, 'DVR-%s*.nii*'%subid)
 dvr = pp.find_single_file(globstr)
 if dvr is None:
     logging.error('%s not found. skipping'%globstr)
     shutil.rmtree(warpdir)
     continue
 dvr = bg.unzip_file(dvr)
 # get mean 20 minute pib
 globstr = os.path.join(sub,'pib','realign_QA', 'mean20min*.nii*')
 mean20 = pp.find_single_file(globstr)
 if mean20 is None:
     logging.error('%s not found. skipping'%globstr)
     shutil.rmtree(warpdir)
     continue
 mean20 = bg.unzip_file(mean20)        
 # brainmask
 globstr = os.path.join(anatdir, 'brainmask.nii*')
 anatdir = os.path.join(sub, 'anatomy')
 if not os.path.isdir(anatdir):
     logging.error('%s doesnt exist,skipping' % (anatdir))
     continue
 dvrdir = os.path.join(sub, 'pib', 'dvr')
 if not os.path.isdir(dvrdir):
     logging.error('%s doesnt exist,skipping' % (dvrdir))
     continue
 # make/check warp dir
 warpdir, exists = bg.make_dir(dvrdir, 'warp_%s' % tname)
 if exists:
     logging.warning('%s exists, remove to rerun' % (warpdir))
     continue
 #get brainmask
 globstr = os.path.join(dvrdir, 'DVR-%s*.nii*' % subid)
 dvr = pp.find_single_file(globstr)
 if dvr is None:
     logging.error('%s not found. skipping' % globstr)
     shutil.rmtree(warpdir)
     continue
 dvr = bg.unzip_file(dvr)
 # get mean 20 minute pib
 globstr = os.path.join(sub, 'pib', 'realign_QA', 'mean20min*.nii*')
 mean20 = pp.find_single_file(globstr)
 if mean20 is None:
     logging.error('%s not found. skipping' % globstr)
     shutil.rmtree(warpdir)
     continue
 mean20 = bg.unzip_file(mean20)
 # brainmask
 globstr = os.path.join(anatdir, 'brainmask.nii*')
    
    tracer = 'FDG'
    user = os.environ['USER']
    logging.info('###START %s :::'%(__file__))
    logging.info('###TRACER  %s  :::'%(tracer))
    logging.info('###USER : %s'%(user))
    subs = bg.MyDirsDialog(prompt='Choose Subjects ',
                           indir='%s/'%root)

    subs.sort()
    for sub in subs:
        _, subid = os.path.split(sub)
        logging.info('%s'%subid)
        # check is ponsnormed exists
        searchstring = '%s/fdg/nonan-ponsnormed_*.nii*'%sub
        pn = pp.find_single_file(searchstring)
        if pn is not None:
            logging.info('%s exists, skipping'%(pn))
            continue
        # find sum
        searchstring = '%s/fdg/sum_rB*.nii*' % sub
        sum = pp.find_single_file(searchstring)
        if sum is None:
            logging.error('%s not found'%(searchstring))
            continue
        searchstr = '%s/fdg/ref_region/rpons_tu.nii*' % sub
        pons = pp.find_single_file(searchstr)
        if pons is None:
            logging.error('%s not found'%(searchstring))
            continue
        outfname = os.path.join(sub, 'fdg', 
    for item in sorted(outdict):
        if outdict[item][0] is None:
            logging.info("skipping %s, no FDG found" % (item))
            continue
        else:
            ecats = outdict[item]
        subid = item
        logging.info(subid)
        ### XXXXXXXXXXXXXXXXX
        ##  set_up_dir
        outdirs = pp.set_up_dir(root, subid, tracer)

        ## set up MRI
        brainmask = os.path.join(outdirs["anatomydir"][0], "brainmask.nii")
        fsmri = pp.find_single_file(os.path.join(mridir, subid, "mri/brainmask.mgz"))
        if os.path.isfile(brainmask):
            logging.warning("%s has existing anatomy," "skipping" % (brainmask))
        elif fsmri is None:
            logging.error("%s NO MRI: %s" % (subid, fsmri))

        else:
            fsmri = bg.copy_file(fsmri, outdirs["anatomydir"][0])
            brainmask = bg.convert(fsmri, brainmask)
            bg.remove_files([fsmri])
            # copy aseg+aparc
        aparcnii = os.path.join(outdirs["anatomydir"][0], "%s_aparc_aseg.nii.gz" % subid)
        aparc = pp.find_single_file(os.path.join(mridir, subid, "mri/aparc+aseg.mgz"))
        if os.path.isfile(aparcnii):
            logging.warning("%s has existing anatomy," "skipping" % (aparcnii))
        elif aparc is None:
    logging.info('###USER : %s' % (user))
    subs = bg.MyDirsDialog(prompt='Choose Subjects ', indir='%s/' % root)

    for s in subs:
        _, subid = os.path.split(s)
        # mk tracer directory  in freesurfer
        fsdir = os.path.join(mridir, subid)
        if not os.path.isdir(fsdir):
            logging.warning('%s missing, skipping' % fsdir)
            continue
        petdir, exists = bg.make_dir(fsdir, dirname='fdg')
        if exists:
            logging.warning('%s exists, skipping' % (petdir))
            continue
        globstr = os.path.join(s, 'fdg', 'nonan*pons*nii*')
        ponsnormed = pp.find_single_file(globstr)
        if ponsnormed is None:
            logging.warning('%s missing, skipping' % (globstr))
            continue
        coregdir, exists = bg.make_dir('%s/fdg' % s, 'pet2mri')
        if exists:
            continue
        ## find brainmask
        globstr = os.path.join(s, 'anatomy', 'brainmask.nii')
        brainmask = pp.find_single_file(globstr)
        ## find sum
        globstr = os.path.join(s, 'fdg', 'sum_r*.nii')
        sum = pp.find_single_file(globstr)

        if brainmask is None or sum is None:
            logging.error('pet2mri sum: %s brainmask: %s' % (sum, brainmask))
Example #7
0
    logging.info("###USER : %s" % (user))
    subs = bg.MyDirsDialog(prompt="Choose Subjects ", indir="%s/" % root)

    for s in subs:
        _, subid = os.path.split(s)
        # mk tracer directory  in freesurfer
        fsdir = os.path.join(mridir, subid)
        if not os.path.isdir(fsdir):
            logging.warning("%s missing, skipping" % fsdir)
            continue
        petdir, exists = bg.make_dir(fsdir, dirname="pib")
        if exists:
            logging.warning("%s exists, skipping" % (petdir))
            continue
        globstr = os.path.join(s, "pib", "dvr", "DVR*nii*")
        dvr = pp.find_single_file(globstr)
        if dvr is None:
            logging.warning("%s missing, skipping" % (globstr))
            continue
        coregdir, exists = bg.make_dir("%s/pib" % s, "pet2mri")
        if exists:
            logging.warning("remove %s to rerun?" % coregdir)
            continue
        ## find brainmask
        globstr = os.path.join(s, "anatomy", "brainmask.nii")
        brainmask = pp.find_single_file(globstr)
        ## find sum
        globstr = os.path.join(s, "pib", "realign_QA", "mean20min*.nii")
        sum = pp.find_single_file(globstr)

        if brainmask is None or sum is None:
Example #8
0
        if 'None' in outdict[item][0]:
            #print 'skipping %s'%(item)
            logging.info('skipping %s' % (item))
            continue
        else:
            petdir = outdict[item][0]
        subid, _ = os.path.split(item)
        print subid
        logging.info(subid)
        ### XXXXXXXXXXXXXXXXX
        ##  set_up_dir
        outdirs = pp.set_up_dir(root, subid, tracer)

        ## set up MRI
        brainmask = os.path.join(outdirs['anatomydir'][0], 'brainmask.nii')
        fsmri = pp.find_single_file(
            os.path.join(mridir, subid, 'mri/brainmask.mgz'))
        if os.path.isfile(brainmask):
            logging.warning('%s has existing anatomy,'\
                            'skipping'%(brainmask))
        elif fsmri is None:
            logging.error('NO MRI: %s' % (fsmri))

        else:
            fsmri = bg.copy_file(fsmri, outdirs['anatomydir'][0])
            brainmask = bg.convert(fsmri, brainmask)
            bg.remove_files([fsmri])
            # copy aseg+aparc
        aparcnii = os.path.join(outdirs['anatomydir'][0],
                                '%s_aparc_aseg.nii.gz' % subid)
        aparc = pp.find_single_file(
            os.path.join(mridir, subid, 'mri/aparc+aseg.mgz'))
 anatdir = os.path.join(sub, 'anatomy')
 if not os.path.isdir(anatdir):
     logging.error('%s doesnt exist,skipping'%(anatdir))
     continue
 tracerdir = os.path.join(sub,'fdg')
 if not os.path.isdir(tracerdir):
     logging.error('%s doesnt exist,skipping'%(tracerdir))
     continue
 # make/check warp dir
 warpdir, exists = bg.make_dir(tracerdir, 'warp_%s'%tname)
 if exists:
     logging.warning('%s exists, remove to rerun'%(warpdir))
     continue
 #get ponsnormed
 globstr = os.path.join(tracerdir, 'ponsnormed_%s*.nii*'%subid)
 pnfdg = pp.find_single_file(globstr)
 if pnfdg is None:
     logging.error('%s not found. skipping'%globstr)
     shutil.rmtree(warpdir)
     continue
 pnfdg = bg.unzip_file(pnfdg)
 # get summed fdg
 globstr = os.path.join(tracerdir,  'sum_rB*.nii*')
 sumfdg = pp.find_single_file(globstr)
 if sumfdg is None:
     logging.error('%s not found. skipping'%globstr)
     shutil.rmtree(warpdir)
     continue
 sumfdg = bg.unzip_file(sumfdg)        
 # brainmask
 globstr = os.path.join(anatdir, 'brainmask.nii*')
     except:
         logging.error('cant find ID in %s'%sub)
         continue        
     
 logging.info('%s'%subid)
 pth = os.path.join(sub, tracer.lower())
 if not os.path.isdir(pth):
     logging.error('%s does not exist, skipping'%pth)
     continue
 
 # find roi directory
 roidir, exists = bg.make_dir(pth, dirname='stroke_masked_roi_data')
         
 # get  pons normed
 globstr = '%s/nonan-ponsnormed*fdg**nii*'%(pth)
 dat = pp.find_single_file(globstr)
 if dat is None:
     logging.error('%s missing, skipping'%(globstr))
     continue
 dat = bg.unzip_file(dat)# in case zipped
 # get strokemask
 globstr = '%s/rfs_cortical_mask_tu.nii*'%roidir
 stroke_mask = pp.find_single_file(globstr)
 if stroke_mask is None:
     globstr = '%s/anatomy/fs_cortical_mask_tu.nii*'%sub
     strokem = pp.find_single_file(globstr)
     if strokem is None:
         logging.error('%s missing, skipping'%(globstr))
         continue
     cstrokem = bg.copy_file(strokem, roidir)
     globstr = '%s/coreg_mri2fdg/*.mat*'%pth
     except:
         logging.error('cant find ID in %s'%sub)
         continue        
     
 logging.info('%s'%subid)
 pth = os.path.join(sub, tracer.lower())
 if not os.path.isdir(pth):
     logging.error('%s does not exist, skipping'%pth)
     continue
 
 # find roi directory
 roidir, exists = bg.make_dir(pth, dirname='roi_data')
         
 # get  pons normed
 globstr = '%s/nonan-ponsnormed*fdg**nii*'%(pth)
 dat = pp.find_single_file(globstr)
 if dat is None:
     logging.error('%s missing, skipping'%(globstr))
     continue
 dat = bg.unzip_file(dat)# in case zipped
 # get raparc
 #if exists: #roidir exists so raparc_aseg should also
 #    globstr = '%s/rB*aparc_aseg.nii*'%(roidir)
 #    raparc = pp.find_single_file(globstr)
 #    if raparc is None:
 #        exists = False
 #if not exists: # check coreg directory
 globstr = '%s/coreg_mri2fdg/rB*aparc_aseg.nii*'%(pth)
 raparc = pp.find_single_file(globstr)
 if raparc is None:
     exists = False
            img4d = qa.make_4d_nibabel(no_nanfiles)
            bg.zip_files(tmprealigned)
            #save qa image
            #qa.save_qa_img(img4d)
            qa.plot_movement(tmpparameterfile, subid)
            qa.calc_robust_median_diff(img4d)
            qa.screen_pet(img4d)
            #remove tmpfiles

            bg.remove_files(no_nanfiles)
            bg.remove_files(newnifti)

        # coreg pons to pet
        # find PONS
        pons_searchstr = '%s/ref_region/pons_tu.nii*' % tracerdir
        pons = pp.find_single_file(pons_searchstr)
        if 'gz' in pons:
            pons = bg.unzip_file(pons)
        if pons is None:
            logging.warning('no pons_tu found for %s' % (subid))
            continue
        # find MRI
        searchstring = '%s/anatomy/brainmask.nii' % sub
        mri = pp.find_single_file(searchstring)
        if mri is None:
            logging.warning('no brainmask found for %s' % (subid))
            continue
        # find aparc_aseg
        searchstring = '%s/anatomy/B*aparc_aseg.nii*' % sub
        aparc = pp.find_single_file(searchstring)
        if aparc is None:
Example #13
0
    subs = bg.MyDirsDialog(prompt='Choose Subjects ',
                           indir='%s/'%root)
    
    for s in subs:
        _, subid = os.path.split(s)
        # mk tracer directory  in freesurfer
        fsdir = os.path.join(mridir, subid)
        if not os.path.isdir(fsdir):
             logging.warning('%s missing, skipping'%fsdir)
             continue
        petdir, exists = bg.make_dir(fsdir, dirname = 'fdg')
        if exists:
            logging.warning('%s exists, skipping'%(petdir))
            continue
        globstr = os.path.join(s, 'fdg','nonan*pons*nii*')
        ponsnormed = pp.find_single_file(globstr)
        if ponsnormed is None:
            logging.warning('%s missing, skipping'%(globstr))
            continue
        coregdir,exists = bg.make_dir('%s/fdg'%s, 'pet2mri')
        if exists:
            continue
        ## find brainmask
        globstr = os.path.join(s, 'anatomy','brainmask.nii')
        brainmask = pp.find_single_file(globstr)
        ## find sum
        globstr = os.path.join(s, 'fdg','sum_r*.nii')
        sum = pp.find_single_file(globstr)

        if brainmask is None or sum is None:
            logging.error('pet2mri sum: %s brainmask: %s'%(sum, brainmask))
Example #14
0
     m = pp.re.search('B[0-9]{2}-[0-9]{3}',fullsubid)
     subid = m.group()
 except:
     logging.error('cant find ID in %s'%fullsubid)
     continue
 logging.info('%s'%subid)
 # subjects tracer specific path
 pth = os.path.join(sub, tracer.lower())
 
 pvcdir, exists = bg.make_dir(dvrdir, 'pvc_rousset')
 if exists:
     logging.error('%s exists, remove to re-run'%(pvcdir))
     continue
 # get pons normed
 globstr = '%s/nonan-ponsnormed_%s*nii*'%(pth,subid)                  
 ponsnormd = pp.find_single_file(globstr)
 if ponsnormd is None:
     logging.error('%s missing, skipping'%(globstr))
     continue
 # copy ponsnormd to pvc directory
 cponsnormd = bg.copy_file(ponsnormd, pvcdir)
 # get raparc
 corgdir = os.path.join(pth, 'coreg_mri2fdg')
 globstr = '%s/rB*aparc_aseg.nii'%(corgdir)
 raparc = pp.find_single_file(globstr)
 if raparc is None:
     logging.error('%s missing, skipping '%(globstr))
     continue
 #copy raparc_aseg to pvd dir
 craparc = bg.copy_file(raparc, pvcdir)
 # make brainamsk
            try:
                m = pp.re.search('B[0-9]{2}-[0-9]{3}', sub)
                subid = m.group()
            except:
                logging.error('cant find ID in %s' % sub)
                continue

        logging.info('%s' % subid)
        pth = os.path.join(sub, tracer.lower())
        if not os.path.isdir(pth):
            logging.error('%s does not exist, skipping' % pth)
            continue

        # get dvr
        globstr = '%s/dvr/DVR*nii*' % (pth)
        dat = pp.find_single_file(globstr)
        if dat is None:
            logging.error('%s missing, skipping' % (globstr))
            continue

        # find roi directory
        roidir, exists = bg.make_dir(pth, dirname='stroke_masked_roi_data')
        if exists:
            globstr = '%s/rfs_cortical_mask_tu.nii*' % roidir
            stroke_mask = pp.find_single_file(globstr)
            if stroke_mask is None:
                exists = False
        if not exists:
            globstr = '%s/anatomy/fs_cortical_mask_tu.nii*' % sub
            strokem = pp.find_single_file(globstr)
            if strokem is None:
Example #16
0
        qa.plot_movement(tmpparameterfile, subid)
        qa.calc_robust_median_diff(data4d)
        qa.screen_pet(data4d)

        # Coregister cerebellum, brainmask and aparc_aseg to pet space
        #
        logging.info('Coreg %s' % (subid))
        coregdir, exists = bg.make_dir(pth, 'coreg')
        if exists:
            logging.warning('%s exists, remove to rerun' % (coregdir))
            continue
        # copy brainmask, aparc_aseg, cerebellum to coreg dir
        basedir, _ = os.path.split(pth)
        # brainmask
        globstr = os.path.join(basedir, 'anatomy', 'brainmask.nii*')
        brainmask = pp.find_single_file(globstr)
        if brainmask is None:
            logging.error('%s not found. skipping' % globstr)
            shutil.rmtree(coregdir)
            continue
        cbrainmask = bg.copy_file(brainmask, coregdir)
        cbrainmask = bg.unzip_file(cbrainmask)
        # aparc aseg
        globstr = os.path.join(basedir, 'anatomy', '*aparc_aseg.nii*')
        aparc = pp.find_single_file(globstr)
        if aparc is None:
            logging.error('%s not found. skipping' % globstr)
            shutil.rmtree(coregdir)
            continue
        caparc = bg.copy_file(aparc, coregdir)
        caparc = bg.unzip_file(caparc)
Example #17
0
 anatdir = os.path.join(sub, 'anatomy')
 if not os.path.isdir(anatdir):
     logging.error('%s doesnt exist,skipping' % (anatdir))
     continue
 tracerdir = os.path.join(sub, 'fdg')
 if not os.path.isdir(tracerdir):
     logging.error('%s doesnt exist,skipping' % (tracerdir))
     continue
 # make/check warp dir
 warpdir, exists = bg.make_dir(tracerdir, 'warp_%s' % tname)
 if exists:
     logging.warning('%s exists, remove to rerun' % (warpdir))
     continue
 #get ponsnormed
 globstr = os.path.join(tracerdir, 'ponsnormed_%s*.nii*' % subid)
 pnfdg = pp.find_single_file(globstr)
 if pnfdg is None:
     logging.error('%s not found. skipping' % globstr)
     shutil.rmtree(warpdir)
     continue
 pnfdg = bg.unzip_file(pnfdg)
 # get summed fdg
 globstr = os.path.join(tracerdir, 'sum_rB*.nii*')
 sumfdg = pp.find_single_file(globstr)
 if sumfdg is None:
     logging.error('%s not found. skipping' % globstr)
     shutil.rmtree(warpdir)
     continue
 sumfdg = bg.unzip_file(sumfdg)
 # brainmask
 globstr = os.path.join(anatdir, 'brainmask.nii*')
     subid = m.group()
 except:
     logging.error('cant find ID in %s'%fullsubid)
     continue
 logging.info('%s'%subid)
 pth = os.path.join(sub, tracer.lower())
 dvrdir  = os.path.join(pth, 'dvr')
 if not os.path.isdir(dvrdir):
     logging.error('%s missing. skipping'%(dvrdir))
     continue
 pvcdir, exists = bg.make_dir(dvrdir, 'pvc_rousset')
 if not exists:
     logging.error('%s does not exist, skipping'%(pvcdir))
     continue
 globstr = '%s/rB*aparc_aseg.nii'%(pvcdir)
 craparc = pp.find_single_file(globstr)
 if craparc is None:
     logging.error('%s missing, skipping '%(globstr))
     continue
 
 transferf = os.path.join(pvcdir, 'transfer_matrix.npy')
 try:
     transfer_mtx = rousset.np.load(transferf)
 except:
     logging.error('%s missing, skipping'%(transferf))
     continue
 obsf = os.path.join(pvcdir, 'observed.npy')
 try:
     obs = rousset.np.load(obsf)
 except:
     logging.error('%s missing, skipping'%(obsf))
Example #19
0
            img4d = qa.make_4d_nibabel(no_nanfiles)
            bg.zip_files(tmprealigned)
            # save qa image
            # qa.save_qa_img(img4d)
            qa.plot_movement(tmpparameterfile, subid)
            qa.calc_robust_median_diff(img4d)
            qa.screen_pet(img4d)
            # remove tmpfiles

            bg.remove_files(no_nanfiles)
            bg.remove_files(newnifti)

        # coreg pons to pet
        # find PONS
        pons_searchstr = "%s/ref_region/pons_tu.nii*" % tracerdir
        pons = pp.find_single_file(pons_searchstr)
        if "gz" in pons:
            pons = bg.unzip_file(pons)
        if pons is None:
            logging.warning("no pons_tu found for %s" % (subid))
            continue
        # find MRI
        searchstring = "%s/anatomy/brainmask.nii" % sub
        mri = pp.find_single_file(searchstring)
        if mri is None:
            logging.warning("no brainmask found for %s" % (subid))
            continue
        # find aparc_aseg
        searchstring = "%s/anatomy/B*aparc_aseg.nii*" % sub
        aparc = pp.find_single_file(searchstring)
        if aparc is None:
Example #20
0
            m = pp.re.search('B[0-9]{2}-[0-9]{3}', fullsubid)
            subid = m.group()
        except:
            logging.error('cant find ID in %s' % fullsubid)
            continue
        logging.info('%s' % subid)
        # subjects tracer specific path
        pth = os.path.join(sub, tracer.lower())

        pvcdir, exists = bg.make_dir(dvrdir, 'pvc_rousset')
        if exists:
            logging.error('%s exists, remove to re-run' % (pvcdir))
            continue
        # get pons normed
        globstr = '%s/nonan-ponsnormed_%s*nii*' % (pth, subid)
        ponsnormd = pp.find_single_file(globstr)
        if ponsnormd is None:
            logging.error('%s missing, skipping' % (globstr))
            continue
        # copy ponsnormd to pvc directory
        cponsnormd = bg.copy_file(ponsnormd, pvcdir)
        # get raparc
        corgdir = os.path.join(pth, 'coreg_mri2fdg')
        globstr = '%s/rB*aparc_aseg.nii' % (corgdir)
        raparc = pp.find_single_file(globstr)
        if raparc is None:
            logging.error('%s missing, skipping ' % (globstr))
            continue
        #copy raparc_aseg to pvd dir
        craparc = bg.copy_file(raparc, pvcdir)
        # make brainamsk
        qa.plot_movement(tmpparameterfile, subid)
        qa.calc_robust_median_diff(data4d)
        qa.screen_pet(data4d)

        # Coregister cerebellum, brainmask and aparc_aseg to pet space
        #
        logging.info('Coreg %s'%(subid))
        coregdir, exists = bg.make_dir(pth, 'coreg')
        if exists:
            logging.warning('%s exists, remove to rerun'%(coregdir))
            continue
        # copy brainmask, aparc_aseg, cerebellum to coreg dir
        basedir, _ = os.path.split(pth)
        # brainmask
        globstr = os.path.join(basedir, 'anatomy', 'brainmask.nii*')
        brainmask = pp.find_single_file(globstr)
        if brainmask is None:
            logging.error('%s not found. skipping'%globstr)
            shutil.rmtree(coregdir)
            continue
        cbrainmask = bg.copy_file(brainmask, coregdir)
        cbrainmask = bg.unzip_file(cbrainmask)
        # aparc aseg
        globstr = os.path.join(basedir, 'anatomy', '*aparc_aseg.nii*')
        aparc = pp.find_single_file(globstr)
        if aparc is None:
            logging.error('%s not found. skipping'%globstr)
            shutil.rmtree(coregdir)
            continue
        caparc = bg.copy_file(aparc, coregdir)
        caparc = bg.unzip_file(caparc)
        except:
            logging.error('no visit marker in %s' % fullsubid)

        try:
            m = pp.re.search('B[0-9]{2}-[0-9]{3}', fullsubid)
            subid = m.group()
        except:
            logging.error('cant find ID in %s' % fullsubid)
            continue

        logging.info('%s' % subid)
        pth = os.path.join(sub, tracer.lower())

        # get  pons normed
        globstr = '%s/nonan-ponsnormed*fdg**nii*' % (pth)
        dat = pp.find_single_file(globstr)
        if dat is None:
            logging.error('%s missing, skipping' % (globstr))
            continue
        # get raparc
        corgdir = os.path.join(pth, 'roi_data')
        globstr = '%s/rB*aparc_aseg.nii*' % (corgdir)
        raparc = pp.find_single_file(globstr)
        if raparc is None:
            logging.error('%s missing, skipping ' % (globstr))
            continue
        data = pp.nibabel.load(dat).get_data()
        meand = pp.mean_from_labels(roid, raparc, data)
        alld[subid] = meand

    ###write to file
Example #23
0
    logging.info('###USER : %s' % (user))
    subs = bg.MyDirsDialog(prompt='Choose Subjects ', indir='%s/' % root)

    for s in subs:
        _, subid = os.path.split(s)
        # mk tracer directory  in freesurfer
        fsdir = os.path.join(mridir, subid)
        if not os.path.isdir(fsdir):
            logging.warning('%s missing, skipping' % fsdir)
            continue
        petdir, exists = bg.make_dir(fsdir, dirname='pib')
        if exists:
            logging.warning('%s exists, skipping' % (petdir))
            continue
        globstr = os.path.join(s, 'pib', 'dvr', 'DVR*nii*')
        dvr = pp.find_single_file(globstr)
        if dvr is None:
            logging.warning('%s missing, skipping' % (globstr))
            continue
        coregdir, exists = bg.make_dir('%s/pib' % s, 'pet2mri')
        if exists:
            logging.warning('remove %s to rerun?' % coregdir)
            continue
        ## find brainmask
        globstr = os.path.join(s, 'anatomy', 'brainmask.nii')
        brainmask = pp.find_single_file(globstr)
        ## find sum
        globstr = os.path.join(s, 'pib', 'realign_QA', 'mean20min*.nii')
        sum = pp.find_single_file(globstr)

        if brainmask is None or sum is None: