| 1 | import numpy as np
 | 
|---|
| 2 | 
 | 
|---|
| 3 | def expwrite(contours,filename):
 | 
|---|
| 4 |         """
 | 
|---|
| 5 |         EXPWRITE - write an Argus file from a dictionary given in input
 | 
|---|
| 6 | 
 | 
|---|
| 7 |            This routine writes an Argus file from a dict containing the fields:
 | 
|---|
| 8 |            x and y of the coordinates of the points.
 | 
|---|
| 9 |            The first argument is the list containing the points coordinates 
 | 
|---|
| 10 |            and the second one the file to be written.
 | 
|---|
| 11 | 
 | 
|---|
| 12 |            Usage:
 | 
|---|
| 13 |               expwrite(contours,filename)
 | 
|---|
| 14 | 
 | 
|---|
| 15 |            Example:
 | 
|---|
| 16 |               expwrite(coordstruct,'domainoutline.exp')
 | 
|---|
| 17 | 
 | 
|---|
| 18 |            See also EXPDOC, EXPREAD, EXPWRITEASVERTICES
 | 
|---|
| 19 |         """
 | 
|---|
| 20 | 
 | 
|---|
| 21 |         fid=open(filename,'w')
 | 
|---|
| 22 |         for x,y in zip(contours['x'],contours['y']):
 | 
|---|
| 23 |                 #if np.size(contour['x'])!=np.size(contour['y']):
 | 
|---|
| 24 |                 if len(x)!=len(y):
 | 
|---|
| 25 |                         raise RuntimeError("contours x and y coordinates must be of identical size")
 | 
|---|
| 26 |                 if 'name' in contours:
 | 
|---|
| 27 |                         fid.write("%s%s\n" % ('## Name:',contours['name']))
 | 
|---|
| 28 |                 else:
 | 
|---|
| 29 |                         fid.write("%s%s\n" % ('## Name:',filename))
 | 
|---|
| 30 |    
 | 
|---|
| 31 |                 #Add density if it's not there FIXME what is this ever used for?
 | 
|---|
| 32 |                 #if 'density' not in contours:
 | 
|---|
| 33 |                 #       contours['density']=1
 | 
|---|
| 34 |                 density=1
 | 
|---|
| 35 | 
 | 
|---|
| 36 |                 fid.write("%s\n" % '## Icon:0')
 | 
|---|
| 37 |                 fid.write("%s\n" % '# Points Count Value')
 | 
|---|
| 38 |                 #fid.write("%i %f\n" % (np.size(contour['x']),contour['density']))
 | 
|---|
| 39 |                 fid.write("%i %f\n" % (np.size(x),density))
 | 
|---|
| 40 |                 fid.write("%s\n" % '# X pos Y pos')
 | 
|---|
| 41 |                 #for x,y in zip(contour['x'],contour['y']):
 | 
|---|
| 42 |                 for xi,yi in zip(x,y):
 | 
|---|
| 43 |                         fid.write("%10.10f %10.10f\n" % (xi,yi))
 | 
|---|
| 44 |                 fid.write("\n")
 | 
|---|
| 45 | 
 | 
|---|
| 46 |         fid.close()
 | 
|---|
| 47 | 
 | 
|---|