Merge branch 'development' of magit1.mpie.de:damask/DAMASK into development
This commit is contained in:
commit
e5404765fe
|
@ -0,0 +1,74 @@
|
|||
#!/usr/bin/env python2.7
|
||||
# -*- coding: UTF-8 no BOM -*-
|
||||
|
||||
import os,h5py
|
||||
import numpy as np
|
||||
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 [geomfile[s]]', description = """
|
||||
Convert DREAM3D file to ASCIItable
|
||||
|
||||
""", version = scriptID)
|
||||
|
||||
(options, filenames) = parser.parse_args()
|
||||
|
||||
rootDir ='DataContainers/ImageDataContainer'
|
||||
|
||||
# --- loop over input files -------------------------------------------------------------------------
|
||||
|
||||
if filenames == []: parser.error('no input file specified.')
|
||||
|
||||
for name in filenames:
|
||||
try:
|
||||
table = damask.ASCIItable(outname = os.path.splitext(name)[0]+'.txt',
|
||||
buffered = False
|
||||
)
|
||||
except: continue
|
||||
damask.util.report(scriptName,name)
|
||||
|
||||
inFile = h5py.File(name, 'r')
|
||||
|
||||
grid = inFile[rootDir+'/_SIMPL_GEOMETRY/DIMENSIONS'][...]
|
||||
|
||||
|
||||
# --- read comments --------------------------------------------------------------------------------
|
||||
|
||||
coords = (np.mgrid[0:grid[2], 0:grid[1], 0: grid[0]]).reshape(3, -1).T
|
||||
coords = (np.fliplr(coords)*inFile[rootDir+'/_SIMPL_GEOMETRY/SPACING'][...] \
|
||||
+ inFile[rootDir+'/_SIMPL_GEOMETRY/ORIGIN'][...] \
|
||||
+ inFile[rootDir+'/_SIMPL_GEOMETRY/SPACING'][...]*0.5)
|
||||
|
||||
table.data = np.hstack( (coords,
|
||||
inFile[rootDir+'/CellData/EulerAngles'][...].reshape(grid.prod(),3),
|
||||
inFile[rootDir+'/CellData/Phases'][...].reshape(grid.prod(),1),
|
||||
inFile[rootDir+'/CellData/Confidence Index'][...].reshape(grid.prod(),1),
|
||||
inFile[rootDir+'/CellData/Fit'][...].reshape(grid.prod(),1),
|
||||
inFile[rootDir+'/CellData/Image Quality'][...].reshape(grid.prod(),1)))
|
||||
|
||||
|
||||
labels = ['1_pos','2_pos','3_pos',
|
||||
'1_Euler','2_Euler','3_Euler',
|
||||
'PhaseID','CI','Fit','IQ']
|
||||
try:
|
||||
table.data = np.hstack((table.data, inFile[rootDir+'/CellData/FeatureIds'][...].reshape(grid.prod(),1)))
|
||||
labels.append(['FeatureID'])
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
# ------------------------------------------ assemble header ---------------------------------------
|
||||
table.labels_clear()
|
||||
table.labels_append(labels,reset = True)
|
||||
table.head_write()
|
||||
|
||||
# ------------------------------------------ finalize output ---------------------------------------
|
||||
table.data_writeArray() #(fmt='%e2.2')
|
||||
table.close()
|
Loading…
Reference in New Issue