def list_subfiles(root): file_list = [] map_dict = {} # key = folder name; value = full folder path # method 1 # d = '.' # subdirs = [os.path.join(d, o) for o in os.listdir(d) if os.path.isdir(os.path.join(d,o))] # method 2 if (os.path.exists(root)): files = os.listdir(root) for f in files: path = transform_separator(os.path.join(root,f)) if (os.path.isfile(path)): h = os.path.split(path) f = h[1] file_list.append() map_dict[f] = path return file_list, map_dict
def onOutput(self): folderPath = QFileDialog.getExistingDirectory( self, "Select Directory to Save SEG-Y Files", self.lastDir) if folderPath: self.outLineEdit.setText(folderPath) self.outpath = transform_separator(folderPath) self.lastDir = self.outpath self.outFlag = True
def onInput(self): folderPath = QFileDialog.getExistingDirectory( self, "Select Directory Containing .DAT Files", self.lastDir) if folderPath: self.inLineEdit.setText(folderPath) self.inpath = transform_separator(folderPath) self.lastDir = self.inpath self.inFlag = True
def main(): args = { 'header_size': 512, 'initial': 4, 'rcv_field': 'Inline3D', 'dsf': 'int32', 'dt': 1000 } root = 'F:/MICROSEISMIC/FieldData/CGS/induced/202004211904' outpath = 'F:/MICROSEISMIC/FieldData/CGS/induced/converted' # read in geophone folders as reciever list dat_file_names, dat_file_dict = list_files_without_suffix(root) filelist = [] if len(dat_file_names): for fname in dat_file_names: filepath = dat_file_dict[fname] filelist.append(filepath) # create reciver list in float initial = args['initial'] rcvlist = createRcvList(dat_file_names, initial=initial) # merge .dat files with same timestamp fd = '20200421' h = '19' m = '04' timestamp = fd + '_' + h + m + '00' outfile = transform_separator(os.path.join(outpath, timestamp + '.sgy')) if not os.path.exists(outfile): print('Writing SEG-Y file: ' + outfile) convert2segy(outfile, filelist, rcvlist, args) else: print('Skip writing SEG-Y file: ' + outfile) print('SEG-Y files conversion completed.')
def main(): root = 'E:/射孔数据/浅井射孔数据/射孔2' outpath = 'E:/SEGY/Perfs' args = { 'header_size': 512, 'initial': 4, 'rcv_field': 'Inline3D', 'dsf': 'int32', 'dt': 1000 } # read in geophone folders as reciever list rcvfiles, rcvfiles_dict = list_subfiles(root) # create reciver list in float initial = args['initial'] rcvlist = createRcvList2(rcvfiles, initial=initial) filelist = [] for fname in rcvfiles: filename = transform_separator(os.path.join(root, fname)) if os.path.exists(filename): filelist.append(filename) outfile = transform_separator(os.path.join(outpath, 'perf2_l.sgy')) convert2segy(outfile, filelist, rcvlist, args)
def main(): root = 'E:/2019-测试压裂监测数据/吉林大学微震/浅井数据60点' outpath = 'E:/SEGY/JLU_ALL' args = {'header_size': 512, 'initial':4, 'rcv_field': 'Inline3D', 'dsf': 'int32', 'dt': 1000} # read in geophone folders as reciever list rcvfolders, rcvfolder_dict = list_subfolders(root) # create reciver list in float initial = args['initial'] rcv_list = createRcvList(rcvfolders, initial = initial) # create time list as dict, key = rcv, value = yymmdd rcv_ymd_dict = {} ymdfolders = [] ymdfolder_dict = {} # ymd for fd in rcvfolders: rcvpath = rcvfolder_dict[fd] # receiver folder ymdfolders, ymdfolder_dict = list_subfolders(rcvpath) rcv_ymd_dict[fd] = ymdfolders # merge .dat files with same timestamp for fd in ymdfolders: if fd in YMD: for h in HH: tlist = [] for m in HH: filelist = [] rcvlist = [] timestamp = fd + '_' + h + m + '00' tlist.append(timestamp) for i, rcv in enumerate(rcvfolders): filename = transform_separator(os.path.join(root, rcv, fd, h, m + 'T.dat')) if os.path.exists(filename): filelist.append(filename) rcvlist.append(rcv_list[i]) outfile = transform_separator(os.path.join(outpath, timestamp + '.sgy')) convert2segy(outfile, filelist, rcvlist, args)
def main(): args = { 'header_size': 512, 'initial': 4, 'rcv_field': 'Inline3D', 'dsf': 'int32', 'dt': 1000 } root = 'D:\CGS_DATA\PHASE_II\BOREHOLE\geidata0422' outpath = 'D:\CGS_DATA\PHASE_II\SEGY/borehole/0422' null_fd_list = ['202004201029', '202004201035', '202004201128'] # 0420 # datetime subfolders containing 60 .dat files datfolders, datfolder_dict = list_subfolders(root) for fd in datfolders: if fd in null_fd_list: continue fdpath = datfolder_dict[fd] # read in geophone folders as reciever list dat_file_names, dat_file_dict = list_files_without_suffix(fdpath) filelist = [] if len(dat_file_names): for fname in dat_file_names: filepath = dat_file_dict[fname] filelist.append(filepath) # create reciver list in float initial = args['initial'] rcvlist = createRcvList(dat_file_names, initial=initial) # merge .dat files with same timestamp date = fd[2:8] #'20200421' h = fd[8:10] #'19' m = fd[10:12] #'04' timestamp = date + '_' + h + m + '00' outfile = transform_separator(os.path.join(outpath, timestamp + '.sgy')) if not os.path.exists(outfile): print('Writing SEG-Y file: ' + outfile) convert2segy(outfile, filelist, rcvlist, args) else: print('Skip writing SEG-Y file: ' + outfile) print('SEG-Y files conversion completed.')