Sliding window in a sparse 3d volume

2 Ansichten (letzte 30 Tage)
Orly amsalem
Orly amsalem am 8 Apr. 2013
Hi, I have a 3d (MxNxL) matrix, and I want to compute for a list of x,y,z (actually all x,y, and a certain z, not for each x,y,z!) a function over a i*j*k window.
The sliding window should be of size(i*j*k) but not all values in the window are the neighborhood, for example, the window can be a sphere of radius r that is bound in that square window, or it could be a cylinder or some kind of other shape.
The results I need is a MxN matrix (2D, so no convn), where for each x,y location I have the result of the function applied on x,y 3d neighborhood. MxN could be very large, I don't want to do it with loops.
Example for a window I want to slide over the 3d volume:
[x,y,z] = meshgrid(1:r,1:r,1:r);
xc = floor(r./2)+1;
yc = floor(r./2)+1;
zc = floor(r./2)+1;
sphere_window = (x-xc).^2 + (y-yc).^2 + (z-zc).^2 <= r.^2;
  7 Kommentare
Orly amsalem
Orly amsalem am 8 Apr. 2013
The input is two 3d volumes and the input should be 2d matrix. Because I need the neighborhood to be 3d , but the function is performed for each x,y, not for each x,y,z
Orly amsalem
Orly amsalem am 8 Apr. 2013
besides, I have no idea if it possible to do what I want with convolution...

Melden Sie sich an, um zu kommentieren.

Antworten (0)

Kategorien

Mehr zu Image Processing Toolbox finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by