Skip to content

Commit d1ad42e

Browse files
committed
can use several input psfs and write a table
1 parent bcd8441 commit d1ad42e

File tree

1 file changed

+19
-5
lines changed

1 file changed

+19
-5
lines changed

bin/desi_ccd_xy

+19-5
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import numpy as np
44
import astropy.io.fits as pyfits
5+
from astropy.table import Table
56
import specter.psf
67
import sys
78
import argparse
@@ -18,16 +19,29 @@ def readpsf(filename) :
1819
return specter.psf.SpotGridPSF(filename)
1920

2021
parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter)
21-
parser.add_argument('--psf', type = str, default = None, required = True,
22-
help = 'path of psf file')
22+
parser.add_argument('--psf', type = str, default = None, required = True, nargs = "*",
23+
help = 'path of psf files')
2324
parser.add_argument('--fiber', type = int, default = None, required = True,
2425
help = 'fiber for psf1')
2526
parser.add_argument('--wavelength', type = float, default = 6000., required = False,
2627
help = 'wavelength')
28+
parser.add_argument('-o','--outtable', type = str, default = None, required = False,
29+
help = 'output table')
2730

2831
args = parser.parse_args()
2932

33+
xx=[]
34+
yy=[]
35+
for filename in args.psf :
36+
psf=readpsf(filename)
37+
x,y=psf.xy(args.fiber%500,args.wavelength)
38+
print("x,y",x,y)
39+
xx.append(x)
40+
yy.append(y)
3041

31-
psf=readpsf(args.psf)
32-
xy=psf.xy(args.fiber%500,args.wavelength)
33-
print("xy=",xy)
42+
if args.outtable is not None :
43+
t=Table()
44+
t["X"]=np.array(xx)
45+
t["Y"]=np.array(yy)
46+
print(t)
47+
t.write(args.outtable,overwrite=True)

0 commit comments

Comments
 (0)