Advertisement

IDL计算局部标准差——卷积方法(矩阵运算)

阅读量:

矩阵运算与局部标准差分析

在IDL语言中,传统的局部标准差计算方式普遍依赖于双循环结构,本文提出了一种基于矩阵运算的方法,能够高效地生成不同尺寸的“滑块”并计算其标准差(如3×3、5×5、7×7等)。无需过多解释,直接展示代码实现,代码中已包含详尽的注释说明。

以下函数用于实现局部标准差的计算:

复制代码
    FUNCTION uniformity_convol_method, raw_data, filter_h, filter_w, invalid_value
    ;raw_data 是原始的二维数组
    ;fileter_h 是滑块的高度
    ;filter_w 是滑块的宽度
    ; invalid_value 是数据中的无效值、空值等,根据需要其是否参与计算
    ; 函数返回一个与初始矩阵大小相同的,标准差矩阵
    
      w = N_ELEMENTS(raw_data[*, 0])
      h = N_ELEMENTS(raw_data[0, *])
    
      im = raw_data
      im2 = im^2
      ones = REPLICATE(1.0, w, h) ; 初始化一个全1数组,辅助运算
    
      ids_invalid = WHERE(im EQ inva

全部评论 (0)

还没有任何评论哟~