skimage中_offsets_to_coords的源代码
时间: 2023-08-10 11:03:10 浏览: 73
下面是skimage中_offsets_to_coords函数的源代码:
```
def offsets_to_coords(shape, offsets):
"""Convert pixel offsets to pixel coordinates.
Parameters
----------
shape : tuple
Shape of the image for which the offsets were defined.
offsets : (N, D)-array of ints
Pixel offsets relative to a reference position.
Returns
-------
coords : (N, D)-array of ints
Pixel coordinates given by reference position plus offsets.
Examples
--------
>>> offsets = [[-1, 0], [0, -1], [1, 0], [0, 1]]
>>> offsets_to_coords((3, 3), offsets)
array([[0, 1],
[1, 0],
[2, 1],
[1, 2]])
"""
shape = np.array(shape, dtype=int)
offsets = np.asanyarray(offsets)
if offsets.ndim != 2:
raise ValueError("Offsets must be two-dimensional")
if offsets.shape[1] != shape.size:
raise ValueError("The shape and number of dimensions of offsets "
"do not match")
coords = np.add(np.indices(shape).reshape(len(shape), -1).T, offsets)
return coords
```
该函数的作用是将像素偏移转换为像素坐标。它接受两个参数:图像的形状和相对于参考位置的像素偏移量。它返回一个数组,其中包含参考位置加上偏移量得到的像素坐标。
在这个函数中,输入参数的合法性进行了检查。首先,将形状转换成整数数组,并将偏移量转换成数组。然后,检查偏移量的维数是否为2,并检查偏移量的形状是否与图像形状相同。最后,使用np.indices函数创建一个多维数组,其中包含每个像素的坐标,然后将其与偏移量相加以计算像素坐标。
阅读全文