Calculate the linear indices for neighboring points in a matrix. You need to supply one or more linear indices for the point(s) of origin and the dimensions of the matrix. You will get a list will linear indices to all neighboring points. The function also creates a vector with the distances from the input point(s) based on the third function argument: an array with inter point distances in all dimensions. This argument defaults to unit distances.
The third output reports the number of neighbours found in within the matrix. For 2D we expect up to 8, for 3D up to 26 etc..
For points near the edge of the matrix the output may contain fewer points. For single index input all points outside the matrix and the origin point itself are removed. For multiple point input only the input point is removed.
This function help in medical image processing when applying a filter on 2D or 3D images based on actual distance rather than index distance e.g for image smoothing in 3D.
Ronald Ouwerkerk (2020). Neighbour points in a matrix (https://www.mathworks.com/matlabcentral/fileexchange/29330-neighbour-points-in-a-matrix), MATLAB Central File Exchange. Retrieved .
thanks, exactly what I needed and well executed
how can i change it to get me origin pixel . for example 27 neighboring in 3D and 9 neighboring in 2D,....
It works for me. Thanks.
Only thing I had to change was to remove the 'u' in 'neighbour'