! ! get coordinates of poss files ! ! creates columns for input to astromet/trans defi/par p1 ? ima frame=? defi/par p2 ? ima outtable=? if p1(1:4) .eq. "help" then write/out to measure astrometric coordinates from DSS(2) images write/out use as @@ std frame output write/out " where frame = DSS(2) frame of field" write/out " output = table with x/y/positions of ref.stars and objects" write/out endif crea/tab {p2} 6 100 crea/col {p2} :PPM "identifier" i6 crea/col {p2} :AHR " " f5.0 crea/col {p2} :AMIN " " f5.0 crea/col {p2} :ASEC " " f5.2 crea/col {p2} :DDEG " " f5.0 crea/col {p2} :DMIN " " f5.0 crea/col {p2} :DSEC " " f5.2 crea/col {p2} :R_A "dec.degrees " f10.6 crea/col {p2} :DEC "dec.degrees " f10.6 crea/col {p2} :MAG "mag " f10.6 crea/col {p2} :PMA " " f10.6 crea/col {p2} :PMD " " f10.6 crea/col {p2} :STD " " I1 defi/local x/r/1/1 0. defi/local y/r/1/1 0. defi/local n/i/1/1 0 defi/local plta/r/1/1 0. defi/local pltd/r/1/1 0. defi/local xi/r/1/1 0. defi/local eta/r/1/1 0. defi/local xir/r/1/1 0. defi/local etar/r/1/1 0. defi/local z/r/1/1 0. defi/local alp/r/1/1 0. defi/local alph/i/1/1 0 defi/local alpm/i/1/1 0 defi/local alps/r/1/1 0. defi/local del/r/1/1 0 defi/local deld/i/1/1 0 defi/local delm/i/1/1 0 defi/local dels/r/1/1 0 defi/local seq/i/1/1 100000 defi/local ans/c/1/1/ y write/out be patient - have to read tons of descriptors of frame {p1} cop/dk {p1} PPO3 x_c cop/dk {p1} PPO6 y_c cop/dk {p1} xpixelsz xpixelsz cop/dk {p1} ypixelsz ypixelsz cop/dk {p1} CNPIX1 cnpixx cop/dk {p1} CNPIX2 cnpixy cop/dk {p1} PLTRAH PLTRAH cop/dk {p1} PLTRAM PLTRAM cop/dk {p1} PLTRAS PLTRAS cop/dk {p1} PLTDECD PLTDECD cop/dk {p1} PLTDECM PLTDECM cop/dk {p1} PLTDECS PLTDECS cop/dk {p1} PLTDECSN PLTDECSN ! plate center plta = pltrah+pltram/60.+pltras/3600. plta = plta*15. if plta .lt. 0 then plta = plta+360. endif pltd = pltdecd+pltdecm/60.+pltdecs/3600. if pltdecsn .eq. "-" then pltd = -pltd endif !write/out plate center = {plta},{pltd} degrees set/format i1 do n = 1 9 cop/dk {p1} AMDX{n} a{n} cop/dk {p1} AMDY{n} b{n} enddo set/format i2 do n = 10 13 cop/dk {p1} AMDX{n} a{n} cop/dk {p1} AMDY{n} b{n} enddo ! read coordinates defi/local loop/i/1/1 0 do loop = 1 100 cen/gauss ? cursor x = outputr(5)+cnpixx+0.5 y = outputr(6)+cnpixy+0.5 x = (x_c-x*xpixelsz)/1000. y = (y*ypixelsz-y_c)/1000. ! rk x,y ! genearalized coords z = x**2+y**2 xi = a1*x+a2*y+a3+a4*x**2+a5*x*y+a6*y**2 xi = xi+a7*z+a8*x**3+a9*x**2*y+a10*x*y**2 xi = xi+a11*y**3+a12*x*z+a13*x*z**2 xir = xi*4.84813681e-6 xi = xi/3600. eta = b1*y+b2*x+b3+b4*y**2+b5*x*y+b6*x**2 eta = eta+b7*z+b8*y**3+b9*y**2*x+b10*y*x**2 eta = eta+b11*x**3+b12*y*z+b13*y*z**2 etar = eta*4.84813681e-6 eta = eta/3600. ! rk xi,eta alp = m$atan((xir/m$cos(pltd))/(1.-etar*m$tan(pltd)))+plta del = m$atan(((etar+m$tan(pltd))*m$cos(alp-plta))/(1.-etar*m$tan(pltd))) ! rk alp,del alp = alp/15. alph = alp alpm = (alp-alph)*60. alps = (alp-alph)*3600.-alpm*60. deld = del delm = (del-deld)*60. dels = (del-deld)*3600.-delm*60. set/format i2 f5.2 write/out write/out alpha(2000) = {alph} h {alpm} m {alps} s write/out delta(2000) = {deld} ` {delm} ' {dels} " write/out set/format i6 {p2},:PPM,@{loop} = {seq}+{loop} {p2},:AHR,@{loop} = m$value(alph) {p2},:AMIN,@{loop} = m$value(alpm) {p2},:ASEC,@{loop} = m$value(alps) {p2},:DDEG,@{loop} = m$value(deld) {p2},:DMIN,@{loop} = m$value(delm) {p2},:DSEC,@{loop} = m$value(dels) {p2},:R_A,@{loop} = 15.*m$value(alp) {p2},:DEC,@{loop} = m$value(del) inquire/key ans "more [y(def)/n] = ? " if ans .eq. "n" goto exit enddo exit: write/out output -> table {p2} comp/tab {p2} :MAG = 0. comp/tab {p2} :PMA = 0. comp/tab {p2} :PMD = 0. comp/tab {p2} :std = 1