def backUp(inputDirs, backUpTo, DataBaseAddress, spreadsheet): subjectClassList = [] for newDirectory in inputDirs: subjClass = subj.subject(newDirectory, backUpTo) checkFileNumbers(subjClass) subjectClassList.append(subjClass) executeCopy(subjClass) subjDf = saveLog(subjClass) dbDf = processDB(DataBaseAddress) newDf = pd.concat([dbDf, subjDf]).reset_index() newDf = newDf[[ u'koreanName', u'subjectName', u'subjectInitial', u'group', u'sex', u'age', u'DOB', u'scanDate', u'timeline', u'studyname', u'patientNumber', u'T1', u'T2', u'REST_LR', u'REST_LR_SBRef', u'REST_BLIP_LR', u'REST_BLIP_RL', u'DTI_LR_1000', u'DTI_LR_2000', u'DTI_LR_3000', u'DTI_BLIP_LR', u'DTI_BLIP_RL', u'dx', u'folderName', u'backUpBy', u'note' ]] #please confirm here newDf['koreanName'] = newDf['koreanName'].str.decode('utf-8') newDf['note'] = newDf['note'].str.decode('utf-8') newDf.to_excel(DataBaseAddress, 'Sheet1') # os.chmod(DataBaseAddress, 0o2770) updateSpreadSheet.main(False, DataBaseAddress, spreadsheet) #False print('Completed\n')
def backUp(inputDirs, backUpTo, DataBaseAddress, spreadsheet): subjectClassList = [] for newDirectory in inputDirs: subjClass = subj.subject(newDirectory, backUpTo) checkFileNumbers(subj.correct_modality_re_dict, subjClass) subjectClassList.append(subjClass) executeCopy(subjClass) subjDf = saveLog(subjClass) print(subjDf) dbDf = processDB(DataBaseAddress) newDf = pd.concat([dbDf, subjDf]).reset_index() # ordering newDf = newDf[[ u'koreanName', u'subjectName', u'subjectInitial', u'group', u'sex', u'age', u'DOB', u'scanDate', u'timeline', u'studyname', u'patientNumber'] + \ [subj.correct_modality_re_dict] + \ [u'dx', u'folderName', u'backUpBy', u'note']] #please confirm here newDf['koreanName'] = newDf['koreanName'].str.decode('utf-8') newDf['note'] = newDf['note'].str.decode('utf-8') newDf.to_excel(DataBaseAddress, 'Sheet1', encode='utf-8') # os.chmod(DataBaseAddress, 0o2770) updateSpreadSheet.main(False, DataBaseAddress, spreadsheet)#False print('Completed\n')
def backUp(inputDirs, backUpFrom, USBlogFile, backUpTo, DataBaseAddress, spreadsheet, freesurferOn, motionOn, copyExecuteOn, nasBackupOn): # External HDD log if USBlogFile: logFileInUSB = USBlogFile elif inputDirs: logFileInUSB = os.path.join(os.getcwd(),"log.xlsx") else: logFileInUSB = os.path.join(backUpFrom,"log.xlsx") logDf = copiedDirectoryCheck(backUpFrom,logFileInUSB) newDirectoryList,logDf = newDirectoryGrep(inputDirs, backUpFrom,logDf) logDf.to_excel(logFileInUSB,'Sheet1') if newDirectoryList==[]: sys.exit('Everything have been backed up !') subjectClassList = [] for newDirectory in newDirectoryList: subjClass = subj.subject(newDirectory, backUpTo) checkFileNumbers(subjClass) subjectClassList.append(subjClass) if copyExecuteOn: executeCopy(subjClass) subjDf = saveLog(subjClass) dbDf = processDB(DataBaseAddress) newDf = pd.concat([dbDf, subjDf]).reset_index() newDf = newDf[[ u'koreanName', u'subjectName', u'subjectInitial', u'group', u'sex', u'age', u'DOB', u'scanDate', u'timeline', u'studyname', u'patientNumber', u'T1Number', u'DTINumber', u'DKINumber', u'RESTNumber', u'REST2Number', u'folderName', u'backUpBy', u'note']] newDf['koreanName'] = newDf['koreanName'].str.decode('utf-8') newDf['note'] = newDf['note'].str.decode('utf-8') newDf.to_excel(DataBaseAddress, 'Sheet1') #os.chmod(DataBaseAddress, 0o2770) updateSpreadSheet.main(False, DataBaseAddress, spreadsheet) if motionOn: print 'Now, running motion_extraction' for subjectClass in subjectClassList: motion_extraction.main(subjectClass.targetDir, True, True, False) if nasBackupOn: server = '147.47.228.192' for subjectClass in subjectClassList: copiedDir=os.path.dirname(subjectClass.targetDir) server_connect(server, copiedDir) if freesurferOn: for subjectClass in subjectClassList: freesurfer.main(subjectClass.targetDir, os.path.join(subjectClass.targetDir, 'FREESURFER')) freesurfer_summary.main(copiedDir, None, "ctx_lh_G_cuneus", True, True, True, True) print 'Completed\n'
def backUp(inputDirs, backUpFrom, USBlogFile, backUpTo, DataBaseAddress, spreadsheet, freesurfer, motion, copyExecute, nasBackup): # External HDD log if USBlogFile: logFileInUSB = USBlogFile elif inputDirs: logFileInUSB = os.path.join(os.getcwd(),"log.xlsx") else: logFileInUSB = os.path.join(backUpFrom,"log.xlsx") logDf = copiedDirectoryCheck(backUpFrom, logFileInUSB) newDirectoryList,logDf = newDirectoryGrep(inputDirs, backUpFrom, logDf) logDf.to_excel(logFileInUSB,'Sheet1') if newDirectoryList == []: sys.exit('Everything have been backed up !') subjectClassList = [] for newDirectory in newDirectoryList: subjClass = subj.subject(newDirectory, backUpTo) checkFileNumbers(subjClass) subjectClassList.append(subjClass) if copyExecute: executeCopy(subjClass) subjDf = saveLog(subjClass) dbDf = processDB(DataBaseAddress) newDf = pd.concat([dbDf, subjDf]).reset_index() newDf = newDf[[ u'koreanName', u'subjectName', u'subjectInitial', u'group', u'sex', u'age', u'DOB', u'scanDate', u'timeline', u'studyname', u'patientNumber', u'T1Number', u'DTINumber', u'DKINumber', u'RESTNumber', u'REST2Number', u'folderName', u'backUpBy', u'note']] newDf['koreanName'] = newDf['koreanName'].str.decode('utf-8') newDf['note'] = newDf['note'].str.decode('utf-8') newDf.to_excel(DataBaseAddress, 'Sheet1') # os.chmod(DataBaseAddress, 0o2770) updateSpreadSheet.main(False, DataBaseAddress, spreadsheet)#False if motion: print 'Now, running motion_extraction' for subjectClass in subjectClassList: motionExtraction.main(subjectClass.targetDir, True, True, False) bien.dtiFit(os.path.join(subjectClass.targetDir,'DTI')) if nasBackup: server = '147.47.228.192' for subjectClass in subjectClassList: copiedDir = os.path.dirname(subjectClass.targetDir) server_connect(server, copiedDir) if freesurfer: for subjectClass in subjectClassList: easyFreesurfer.main(subjectClass.targetDir, os.path.join(subjectClass.targetDir,'FREESURFER')) freesurfer_Summary.main(copiedDir, None, #bienseo: only use freesurfer. "ctx_lh_G_cuneus", True, True, True, True) print 'Completed\n'
def main(): #-------------------------------------------------------------------------------- # Load previously copied directories #-------------------------------------------------------------------------------- # logDf : log saved in external hard drive # newDirectoryList : recently added directory to the external hard drive # # If user wants a directory not to be called again, # logDf is updated with the directory # # If there is no new directory --> sys.exit #================================================================================ try: logDf=copiedDirectoryCheck(backUpFrom,logFileInUSB) newDirectoryList,logDf=newDirectoryGrep(backUpFrom,logDf) logDf.to_excel(logFileInUSB,'Sheet1') if newDirectoryList==[]: sys.exit() except: sys.exit('Please insert USB external drive') #================================================================================ #-------------------------------------------------------------------------------- # check the number of images in the new directories #-------------------------------------------------------------------------------- # foundDict : {newDirName:{modalityName:modalitySource,fileNumber}} # # allInfo : {newDirName:[group,followUp,birthday,note,target, # subjInitial,fullname,subjNum,targetDirectory,sex, # allModalityWithLocation,maxNum,backUpTo,backUpFrom, # koreanName] # # df : pandas dataframe made with the function 'log' # including information about the new subjects #================================================================================ foundDict=findDtiDkiT1restRest2(newDirectoryList) allInfo,df,newDfList=verifyNumbersAndLog(foundDict,backUpTo,backUpFrom) #================================================================================ #-------------------------------------------------------------------------------- # check the number of images in the new directories #================================================================================ executeCopy(allInfo,df,newDfList) #individualLog(allInfo,df) #================================================================================ #-------------------------------------------------------------------------------- # Update the database excel and log in the external hard-drive #================================================================================ #df = changeencode(df,['koreanName','note']) #writer = pd.ExcelWriter(DataBaseAddress) #df.to_excel(DataBaseAddress,sheet_name='rearrangeWithId',engine='xlsxwriter') #writer.save() #df.to_excel(DataBaseAddress,sheet_name='rearrangeWithId',engine='xlsxwriter') df.to_excel(DataBaseAddress,sheet_name='rearrangeWithId') for dirName,value in allInfo.iteritems(): logDf = noCall(logDf,backUpFrom,dirName) logDf.to_excel(logFileInUSB,'Sheet1') #================================================================================ #-------------------------------------------------------------------------------- # Update the database excel for CCNC #================================================================================ updateSpreadSheet.main('noInput') print '-----------------' print 'Completed\n'