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

📄 xyxy.pro

📁 basic median filter simulation
💻 PRO
字号:
PRO xyxy, hdra, hdrb, xa, ya, xb, yb;+; NAME:;	XYXY; PURPOSE:;	To use a pair of headers to convert X/Y positions from one frame;	to another.; CALLING SEQUENCE:;	XYXY, hdra, hdrb, xa, ya, [ xb, yb ]; INPUTS:;	hdra - The header containing the plate solution describing the;	       frame of reference being converted FROM.;	hdra - The header containing the plate solution describing the;	       frame of reference being converted TO.;	xa   - A scalar or vector containing the x coordinate(s) to convert.;	ya   - A scalar or vector containing the y coordinate(s) to convert.;	       Must have the same number of elements as 'xa'.; OUTPUTS:;	xb   - The converted x coordinate(s).  If this parameter is not;	       specified, it is returned through 'xa'.;	yb   - The converted y coordinate(s).  If this parameter is not;	       specified, it is returned through 'ya'.; PROCEDURE:;	The procedures 'xyad' and 'adxy' are used to perform the ;       conversion.     The equinoxes of each header are checked with;       "get_equinox" to make sure that they are identical, and "precess";       is used if they are not.   HEULER used if the headers have a different;       coordinate system (e.g. Celestial, Galactic, Ecliptic);;       Note that all X,Y coordinates are in the IDL convention (starting with;       0,0) and not the FITS convention (first pixel is 1,1); PROCEDURES USED:;	GET_EQUINOX(), EXTAST, XYAD, ADXY, PRECESS, HEULER; MODIFICATION HISTORY:;	Written by Michael R. Greason, Hughes-STX, 13 April 1992.;	Updated to use ASTROMETRY structures.  J.D.Offenberg, HSTX, Jan 1993;	Converted to IDL V5.0   W. Landsman   September 1997;       Check coordinate system   J. Ballet/ W. Landsman  April 2004;-On_error,2;			Check parameters.np = N_params()if (np LT 4) then begin  	print, "Syntax:  xyxy, hdra, hdrb, xa, ya [, xb, yb]"	returnendifif ( N_elements(xa) NE N_elements(ya) ) then begin  	message,/CON, $     'ERROR - The first two parameters must have the same number of elements.'	returnendifepa = get_equinox( hdra, codea)epb = get_equinox( hdrb, codeb);			Extract the plate solutions from the headers.  If;			either header hasn't a plate solution, set the ;			output coordinates to the inputs and return.;extast, hdra, astra, noparamsaextast, hdrb, astrb, noparamsbIF ( (noparamsa LT 0) OR (noparamsb LT 0)) THEN BEGIN	xb = xa	yb = ya	returnendif;Convert between Celestial, Galactic, and Ecliptic if necessarytypea = strmid(astra.ctype[0],0,4)typeb = strmid(astrb.ctype[0],0,4)IF typea NE typeb THEN $     case typeb OF     'GLON': HEULER, astra, /GALACTIC     'RA--': HEULER, astra, /CELESTIAL     'ELON': HEULER, astra, /ECLIPTIC      ELSE : BEGIN             PRINT, 'Cannot convert between coordinate systems ', typea, $                      ' and ', typeb             RETURN      ENDELSE   ENDCASE;			Perform the conversion.case strmid(astra.ctype[0],5,3)  of   'GSS': gsssxyad, astra, xa, ya, a, d   else: xy2ad, xa, ya, astra, a, dendcaseif ( codea GE 0 ) and (codeb GE 0) then $    if ( epa NE epb ) then $           precess, a, d, epa, epbcase strmid( astrb.ctype[0], 5,3) of 'GSS': gsssadxy, astrb, a, d, xb, yb  else:  ad2xy, a, d, astrb, xb, yb endcase;		If 'xb' and 'yb' weren't specified in the procedure;		call, overwrite xa and ya.if ( np LT 6 ) then begin  	xa = xb	ya = ybendif;returnend

⌨️ 快捷键说明

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