⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cons_ra.pro

📁 basic median filter simulation
💻 PRO
字号:
FUNCTION CONS_RA,RA,Y,ASTR, DELTA      ;Find line of constant RA;+; NAME:;       CONS_RA; PURPOSE:;       Obtain the X and Y coordinates of a line of constant right ascension; EXPLANATION:;       Return a set of X pixel values given an image with astrometry, ;       and either;       (1) a set of Y pixel values, and a scalar right ascension (or ;           longitude), or;       (2) a set of right ascension values, and a scalar Y value.;;       In usage (1), CONS_RA can be used to determine the (X,Y) values;       of a line of constant right ascension.  In usage (2), CONS_RA can;       used to determine the X positions of specified RA values, along a;       line of constant Y.;; CALLING SEQUENCE:;       X = CONS_RA( RA, Y, ASTR, [ DEC] );; INPUTS:         ;       RA -  Right Ascension value in DEGREES (0 < RA < 360.).  If Y is a;               vector, then RA must be a scalar;       Y -   Specified Y pixel value(s) for line of constant right ascension;               If RA is a vector, then Y must be a scalar;       ASTR - Astrometry structure as extracted from a FITS header by the ;               procedure EXTAST; OUTPUTS;       X   - Computed set of X pixel values.   The number of elements of X;               is the maximum of the number of elements of RA and Y.; OPTIONAL OUTPUT:;       DEC - Computed set of declinations (in DEGREES) for X,Y, coordinates; NOTES:;       The algorithm (and notation) is based on AIPS Memo 27 by Eric Greisen,;       with modifications for a coordinate description (CD) matrix as ;       described in Paper II of Calabretta & Greisen (2002, A&A, 395, 1077).;       These documents are available from ;       http://www.cv.nrao.edu/fits/documents/wcs/wcs.html;; RESTRICTIONS:;       Implemented only for the TANgent, SIN and CARtesian projections ;; REVISION HISTORY:;       Written, Wayne Landsman  STX Co.        April, 1988;       Algorithm adapted from AIPS memo No. 27 by Eric Greisen;       New astrometry structure;       Converted to IDL V5.0   W. Landsman   September 1997;       Added SIN projection    W. Landsman   January 2000;       Fix possible sign error introduced Jan. 2000   W. Landsman  May 2000;       Work for the CARee' projection W. Landsman   May 2003;       For TAN projection ensure angles between -90 and 90 W. Landsman Jan 2008;-  On_error,2  compile_opt idl2  if ( N_params() LT 3 ) then begin        print,'Syntax - X = CONS_RA( RA, Y, ASTR, [ Dec ])'        return, 0  endif  radeg = 180.0/!DPI  n = N_elements(y)  nra = N_elements(ra)  crpix = astr.crpix - 1.  crval = astr.crval/RADEG  cdelt = astr.cdelt  cdelta = [ [ cdelt[0], 0.],[0., cdelt[1] ] ]  cd = astr.cd/RADEG  cdel0 = cos( crval[1] )  &    sdel0 = sin( crval[1] )  delra = ra/RADEG - crval[0]  cdelra = cos( delra )    &    sdelra = sin( delra )  ctype = strupcase( strmid(astr.ctype[0], 5,3))  case ctype of     'TAN': begin   cdi = invert( cdelta # cd )     ;Greisen uses invert of CD matrix  yy = y - ( crpix[1])    ;New coordinate origin, Unit pixel offset in CRPIX  delta = atan((sdel0*cdelra*cdi[1,1] - sin(delra)*cdi[1,0] + yy*cdelra*cdel0) $              / (cdel0*cdi[1,1] - yy*sdel0))	        end  'SIN': begin  A = -cd[0,0]*cdelt[0]   B = -cd[0,1]*cdelt[0]   C =  cd[1,0]*cdelt[1]  D =  cd[1,1]*cdelt[1]   yy = (y - crpix[1])*(b*c - a*d)   ;New coordinate origin  aa = cdel0*d  bb = sdel0*cdelra*d + sdelra*b  denom = sqrt(aa^2 + bb^2)  delta = atan(bb/aa)  + asin(yy/denom)  end  'CAR': begin  A = -cd[0,0]*cdelt[0]   B = -cd[0,1]*cdelt[0]   C =  cd[1,0]*cdelt[1]  D =  cd[1,1]*cdelt[1]   delta = (y - crpix[1])*(b*c - a*d)  +crval[1]  ;New coordinate origin  if (N_elements(delta) EQ 1) and (Nra GT 1)  then $           delta = replicate(delta[0],Nra)  end  ELSE: message,'ERROR - Program only works for TAN and SIN projections'  endcase  delta = delta*RADEG  if (Nra EQ 1) and (n GT 1) then $  ad2xy, replicate(ra,n), delta, astr, x else $  ad2xy, ra, delta, astr, x  return, x  end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -