overlap_slices#

astropy.nddata.utils.overlap_slices(large_array_shape, small_array_shape, position, mode='partial')[源代码]#

获取小数组和大数组重叠部分的切片。

给定小数组中心的一定位置,相对于大数组,返回切片元组,这些元组可用于在给定位置提取、加减小数组。此函数负责处理边界处的正确行为,其中小数组被适当地剪切。整数位置位于像素中心。

参数:
large_array_shape : tupleintintPYTHON:PYTHON的元组:INT或PYTHON:INT

大数组的形状(对于一维数组,它可以是 int

small_array_shape : inttuple 其中PYTHON:int或PYTHON:其元组

小阵列的形状(对于一维阵列,可以是 int ). 见 mode 其他详细信息的关键字。

position : numbertuple 其中数字或 Python :其元组

小阵列相对于大阵列的中心位置。像素坐标应与数组形状的顺序相同。整数位置位于像素中心。对于任何轴 small_array_shape 为偶数时,位置向上取整,例如提取两个中心为 1 将提取区域定义为 [0, 1] .

mode{'partial','trim','strict'},可选

'partial' 模式下,小阵列和大阵列的部分重叠就足够了。这个 'trim' 模式类似于 'partial' 模式,但是 slices_small 将被调整为只返回重叠元素。在 'strict' 模式时,小数组必须完全包含在大数组中,否则 PartialOverlapError 提高了。在所有模式下,非重叠数组将引发 NoOverlapError .

返回:
slices_large : tupleslicePython:切片元组

大数组中每个轴的切片对象的元组,这样 large_array[slices_large] 提取大数组与小数组重叠的区域。

slices_small : tupleslicePython:切片元组

小数组中每个轴的切片对象的元组,这样 small_array[slices_small] 提取大数组内的区域。