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 |
|
---|