2
2
3
3
import numpy as np
4
4
import astropy .io .fits as pyfits
5
+ from astropy .table import Table
5
6
import specter .psf
6
7
import sys
7
8
import argparse
@@ -18,16 +19,29 @@ def readpsf(filename) :
18
19
return specter .psf .SpotGridPSF (filename )
19
20
20
21
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 ' )
23
24
parser .add_argument ('--fiber' , type = int , default = None , required = True ,
24
25
help = 'fiber for psf1' )
25
26
parser .add_argument ('--wavelength' , type = float , default = 6000. , required = False ,
26
27
help = 'wavelength' )
28
+ parser .add_argument ('-o' ,'--outtable' , type = str , default = None , required = False ,
29
+ help = 'output table' )
27
30
28
31
args = parser .parse_args ()
29
32
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 )
30
41
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