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

📄 meanclip.pro

📁 basic median filter simulation
💻 PRO
字号:
PRO MEANCLIP, Image, Mean, Sigma, CLIPSIG=clipsig, MAXITER=maxiter, $    CONVERGE_NUM=converge_num, VERBOSE=verbose, SUBS=subs,DOUBLE=double;+; NAME:;       MEANCLIP;; PURPOSE:;       Computes an iteratively sigma-clipped mean on a data set; EXPLANATION:;       Clipping is done about median, but mean is returned.;       Called by SKYADJ_CUBE;; CATEGORY:;       Statistics;; CALLING SEQUENCE:;       MEANCLIP, Data, Mean, [ Sigma, SUBS =;              CLIPSIG=, MAXITER=, CONVERGE_NUM=, /VERBOSE, /DOUBLE ];; INPUT POSITIONAL PARAMETERS:;       Data:     Input data, any numeric array;       ; OUTPUT POSITIONAL PARAMETERS:;       Mean:     N-sigma clipped mean.;       Sigma:    Standard deviation of remaining pixels.;; INPUT KEYWORD PARAMETERS:;       CLIPSIG:  Number of sigma at which to clip.  Default=3;       MAXITER:  Ceiling on number of clipping iterations.  Default=5;       CONVERGE_NUM:  If the proportion of rejected pixels is less;           than this fraction, the iterations stop.  Default=0.02, i.e.,;           iteration stops if fewer than 2% of pixels excluded.;       /VERBOSE:  Set this flag to get messages.;       /DOUBLE - if set then perform all computations in double precision.;                 Otherwise double precision is used only if the input;                 data is double; OUTPUT KEYWORD PARAMETER:;       SUBS:     Subscript array for pixels finally used.;;; MODIFICATION HISTORY:;       Written by:     RSH, RITSS, 21 Oct 98;       20 Jan 99 - Added SUBS, fixed misplaced paren on float call, ;                   improved doc.  RSH;       Nov 2005   Added /DOUBLE keyword, check if all pixels are removed  ;                  by clipping W. Landsman ;-IF N_params() LT 1 THEN BEGIN    print, 'CALLING SEQUENCE:  MEANCLIP, Image, Mean, Sigma'    print, 'KEYWORD PARAMETERS:  CLIPSIG[=3], MAXITER[=5], CONVERGE_NUM[=0.02], ' $        + '/VERBOSE, SUBS, /DOUBLE'    RETURNENDIFprf = 'MEANCLIP:  'verbose = keyword_set(verbose)IF n_elements(maxiter) LT 1 THEN maxiter = 5IF n_elements(clipsig) LT 1 THEN clipsig = 3IF n_elements(converge_num) LT 1 THEN converge_num = 0.02subs = where(finite(image),ct)iter=0REPEAT BEGIN    skpix = image[subs]    iter = iter + 1    lastct = ct    medval = median(skpix)    mom = moment(skpix,max=2,double=double)    sig = sqrt(mom[1])    wsm = where(abs(skpix-medval) LT clipsig*sig,ct)    IF ct GT 0 THEN subs = subs[wsm]         ENDREP UNTIL (float(abs(ct-lastct))/lastct LE converge_num) $          OR (iter GT maxiter) or (ct EQ 0)mom = moment(image[subs],double=double,max=2)mean = mom[0]sigma = sqrt(mom[1])IF verbose THEN BEGIN    print, prf+strn(clipsig)+'-sigma clipped mean'    print, prf+'Mean computed in ',iter,' iterations'    print, prf+'Mean = ',mean,',  sigma = ',sigmaENDIFRETURNEND

⌨️ 快捷键说明

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