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

📄 update_distort.pro

📁 basic median filter simulation
💻 PRO
字号:
pro update_distort, distort, xcoeff, ycoeff;+; NAME:;    UPDATE_DISTORT; PURPOSE:;    Update SIP nonlinear distortion coefficients for a linear transformation; EXPLANATION:;    The SIP coefficients can account for nonlinearities in the astrometry;    of an astronomical image.    When the image is compressed or expanded;    these coefficients must be adjusted in a nonlinear way.; CALLING SEQUENCE:;    UPDATE_DISTORT, distort, xcoeff, ycoeff; INPUT/OUTPUT:;    distort - structure giving SIP coefficients.    See extast.pro for ;             description of the SIP distortion structure;    xcoeff - 2 element numeric vector describing the linear transformation;              xp = xcoeff[0]*x + xcoeff[1];    xcoeff - 2 element numeric vector describing the linear transformation;              yp = ycoeff[0]*x + ycoeff[1];; METHOD:;     The procedure TRANSFORM_COEFF is  used to determine how the;     coefficients change under the linear transformation.;;     See example of usage in hrebin.pro; REVISION HISTORY:;     Written, December 2007            W. Landsman;- compile_opt idl2 On_error,2 if N_params() LT 3 then begin     print,'Syntax - UPDATE_DISTORT, distort, xcoeff, ycoeff'    return    endif     a = distort.a b = distort.b a_sz = size(a,/dimen) for i=0,a_sz[0] - 1 do begin     a[0,i] = transform_coeff(a[*,i], xcoeff[0], xcoeff[1] )     b[0,i] = transform_coeff(b[*,i], xcoeff[0], xcoeff[1] ) endfor      a = transpose(a) b = transpose(b) for i=0,a_sz[1] - 1 do begin     a[0,i] = transform_coeff(a[*,i], ycoeff[0], ycoeff[1] )     b[0,i] = transform_coeff(b[*,i], ycoeff[0], ycoeff[1] ) endfor distort.a = transpose(a)/xcoeff[0] distort.b = transpose(b)/ycoeff[0] if N_elements(distort.ap) GT 1 then begin  ap = distort.ap bp = distort.bp ap_sz = size(ap,/dimen) for i=0,ap_sz[0] - 1 do begin     ap[0,i] = transform_coeff(ap[*,i], xcoeff[0], xcoeff[1] )     bp[0,i] = transform_coeff(bp[*,i], xcoeff[0], xcoeff[1] ) endfor      ap = transpose(ap) bp = transpose(bp) for i=0,ap_sz[1] - 1 do begin     ap[0,i] = transform_coeff(ap[*,i], ycoeff[0], ycoeff[1] )     bp[0,i] = transform_coeff(bp[*,i], ycoeff[0], ycoeff[1] ) endfor distort.ap = transpose(ap)/xcoeff[0] distort.bp = transpose(bp)/ycoeff[0] endif return end

⌨️ 快捷键说明

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