# BaseImageProcess corresponding code file:`geodesy/algorithm/ImageFlow/BaseImageProcess.py` 图像处理算子的基类/抽象层。 main function: - 统一输入输出(数组、灰度图对象) - 约束边界条件与数据类型 - 提供可组合的处理流水线接口 - windowing logical (开窗逻辑) ## class `BaseImageProcess` ### static method ```{table} |**method**|**Description**| |:----------------------:|:--------------------------| |`def get_logical_mask(values, greater=50, less=-50, equal_value=None, fillnan=False)`|生成逻辑掩膜:标记大于/小于阈值或等于指定值的元素;可选将 NaN 也纳入掩膜(`fillnan=True`)| |`def fill_nan_by_interpolate(values, method='linear', dims=None, max_gap=None, coords=None)`|对二维数组的 NaN 做插值填充(`linear/nearest/cubic`);可选限制最大插值距离 `max_gap`| |`def inpaint_nan_diffusion(data, sigma=1, max_iter=100, tol=1e-3)`|用高斯扩散迭代方式修复 NaN 区域,直到收敛或达到最大迭代次数| |`def get_deformation_gradients(image_data, guassian_sigma=0.8, guassian_radius=5)`|对影像做高斯平滑(可选)后计算梯度幅值与方向(用一阶差分卷积核)| |`def non_maximization_suppress(gradient_magnitude, gradient_direction)`|非极大值抑制(NMS):沿梯度方向保留局部极大值,抑制非边缘响应| |`def windowing_logical_r_c(r, c, win_radius, shape)`|在大小为 `shape` 的数组中,以 `(r, c)` 为中心开窗(半径 `win_radius`),返回窗口内所有像素的行列下标网格| |`def windowing_logical(win_radius, shape, region=None)`|窗口下标迭代器:在 `region=[r_start,r_end,c_start,c_end]` 范围内遍历每个中心点,逐个 yield 对应的窗口下标| |`def region_growing(image, seed, threshold, connectivity=8)`|基础区域生长:从种子点开始,按阈值 `threshold` 吸收相似像元;支持 4/8 邻域| |`def region_growing_adaptive(image, seed, k=1.5, connectivity=8, max_iter=1e6)`|自适应区域生长:阈值随当前区域标准差动态变化(`threshold = k * std`),并限制最大迭代| |`def region_growing_priority(image, seed, n_per_iter=1, max_points=None, connectivity=8)`|优先队列区域生长:每次优先吸收差值最小的候选点;支持 NaN(跳过 NaN 点)并可限制区域最大点数| |`def build_polygon_to_extract_datas(values, loading_polygon_line_file=None, save_polygon_line_file=None, **kwargs)`|构建/读取多段线并生成多边形,用于从栅格中提取多边形覆盖区域(返回布尔掩膜);可选保存多段线| ```