imregionalmax to find peaks in 3d. I get an error Index exceeds matrix dimensions.

조회 수: 2 (최근 30일)
As said in the title I have got an error using imregionalmax. I have two monotone variable xVec, yVec and a third dependent variable imageMag that is experimental value. imageMag is 31x593. I have used
x=xVec;
y=yVec;
z=imageMag;
mesh(x,y,z,'FaceColor','interp')
ix = find(imregionalmax(z));
hold on
plot3(x(ix),y(ix),z(ix),'r*','MarkerSize',24)
but it says that index exceeds matrix dimensions. Why?

채택된 답변

Mike Garrity
Mike Garrity 2016년 4월 11일
편집: Mike Garrity 2016년 4월 11일
I'm just guessing, but that code snippet is assuming that x & y are full, 2D arrays. The mesh function allows for another case where they're vectors. From the name of your variables, I would guess that you've got that case.
If that's the case, you can expand the vectors out to 2D arrays using meshgrid :
[x,y] = meshgrid(xVec,yVec);
z = imageMag;
mesh(x,y,z,'FaceColor','interp')
ix = find(imregionalmax(z));
hold on
plot3(x(ix),y(ix),z(ix),'r*','MarkerSize',24)
  댓글 수: 2
OldCar
OldCar 2016년 4월 12일
편집: OldCar 2016년 4월 15일
x and y are 1D vector (I think), they are 1x171 int32 and 1x51 int 32. I enclose xVec,yVec and imageMag. Thanks for your help. What do you think about?
Image Analyst
Image Analyst 2016년 4월 15일
imregionalmax is meant to work with a volumetric image in 3D, not 1-D vectors.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Matrix Indexing에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by