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

📄 precess_cd.pro

📁 basic median filter simulation
💻 PRO
字号:
pro PRECESS_CD, cd, epoch1, epoch2, crval_old, crval_new, FK4 = FK4     ;+; NAME:;       PRECESS_CD;; PURPOSE:;       Precess the CD (coordinate description) matrix from a FITS header ; EXPLANATION:;       The CD matrix is precessed from EPOCH1 to EPOCH2.  Called by HPRECESS;; CALLING SEQUENCE:;       PRECESS_CD, cd, epoch1, epoch2, crval_old, crval_new, [/FK4]  ;; INPUTS/OUTPUT:;       CD - 2 x 2 CD (coordinate description) matrix in any units;               (degrees or radians).  CD will altered on output to contain ;               precessed values in the same units.    On output CD will always;               be double precision no matter how input.;; INPUTS:;       EPOCH1 - Original equinox of coordinates, scalar (e.g. 1950.0).  ;       EPOCH2 - Equinox of precessed coordinates, scalar (e.g. 2000.0);       CRVAL_OLD - 2 element vector containing RA and DEC in DEGREES;               of the reference pixel in the original equinox;       CRVAL_NEW - 2 elements vector giving CRVAL in the new equinox ;; INPUT KEYWORD:;       /FK4 - If this keyword is set, then the precession constants are taken;             in the FK4 reference frame.   The default is the FK5 frame.;; RESTRICTIONS:;       PRECESS_CD should not be used more than 2.5 centuries from the;       year 1900.      ;; PROCEDURE:;       Adapted from the STSDAS program FMATPREC.  Precession changes the;       location of the north pole, and thus changes the rotation of;       an image from north up.  This is reflected in the precession of the;       CD matrix.   This is usually a very small change. ;; PROCEDURE CALLS:;       PRECESS;; REVISION HISTORY:;       Written, Wayne Landsman, ST Systems  February 1988;       Fixed sign error in computation of SINRA     March 1992;       Added /FK4 keyword                           Feb 1994;       Converted to IDL V5.0   W. Landsman   September 1997;-      On_error,2  if N_params() LT 3 then begin          print,'Syntax: precess_cd, cd, epoch1, epoch2, crval_old, crval_new      return   endif    deg_to_rad = !DPI/180.0D   crvalold = crval_old * deg_to_rad   crvalnew = crval_new * deg_to_rad   sec_to_rad = deg_to_rad/3600.d0   t = 0.001d0 * (epoch2-epoch1);   Compute C - inclination of the mean equator in the new equinox relative;   to that of the old equinox   if keyword_set(FK4) then begin        st = 0.001d0 * (epoch1-1900.d0)        C = sec_to_rad * T * ( 20046.85D0 - ST*(85.33D0 + 0.37D0*ST) $                + T*(-42.67D0 - 0.37D0*ST -41.8D0*T))   endif else begin        st = 0.001d0*( epoch1 - 2000.d0)        C = sec_to_rad * T * (20043.109D0 - ST*(85.33D0 + 0.217D0*ST) $                + T*(-42.665D0 - 0.217D0*ST -41.833D0*T))   endelse; Get RA of old pole in new coordinates  pole_ra = 0. & pole_dec = 90.d       ;Coordinates of old pole (RA is arbitrary)  precess, pole_ra, pole_dec, epoch1, epoch2, FK4 = FK4      sind1 = sin( crvalold[1] ) &  sind2 = sin( crvalnew[1] )  cosd1 = cos( crvalold[1] ) &  cosd2 = cos( crvalnew[1] )  sinra = sin( crvalnew[0] - pole_ra*deg_to_rad)    ;Fixed sign error Mar-92  cosfi = (cos(c) - sind1*sind2)/( cosd1*cosd2 )  sinfi = ( abs(sin(c) ) * sinra) / cosd1   r = [ [cosfi, sinfi], [-sinfi, cosfi] ]  cd = r # cd            ;Rotate to new north pole  return  end

⌨️ 快捷键说明

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