#!/usr/bin/env python2.7 # -*- coding: UTF-8 no BOM -*- import os from optparse import OptionParser import damask scriptName = os.path.splitext(os.path.basename(__file__))[0] scriptID = ' '.join([scriptName,damask.version]) #-------------------------------------------------------------------------------------------------- # MAIN #-------------------------------------------------------------------------------------------------- parser = OptionParser(option_class=damask.extendableOption, usage='%prog [angfile[s]]', description = """ Convert TSL/EDAX *.ang file to ASCIItable """, version = scriptID) (options, filenames) = parser.parse_args() # --- loop over input files ------------------------------------------------------------------------- if filenames == []: filenames = [None] for name in filenames: try: table = damask.ASCIItable(name = name, outname = os.path.splitext(name)[0]+'.txt' if name else name, buffered = False, labeled = False) except: continue damask.util.report(scriptName,name) # --- interpret header ----------------------------------------------------------------------------- table.head_read() # --- read comments -------------------------------------------------------------------------------- table.info_clear() while table.data_read(advance = False) and table.line.startswith('#'): # cautiously (non-progressing) read header table.info_append(table.line) # add comment to info part table.data_read() # wind forward table.labels_clear() table.labels_append(['1_Euler','2_Euler','3_Euler', '1_pos','2_pos', 'IQ','CI','PhaseID','Intensity','Fit', ], # OIM Analysis 7.2 Manual, p 403 (of 517) reset = True) # ------------------------------------------ assemble header --------------------------------------- table.head_write() #--- write remainder of data file ------------------------------------------------------------------ outputAlive = True while outputAlive and table.data_read(): outputAlive = table.data_write() # ------------------------------------------ finalize output --------------------------------------- table.close()