필터 지우기
필터 지우기

Finding maximum axial slice location from 3D binary label

조회 수: 1 (최근 30일)
banikr
banikr 2020년 4월 17일
댓글: darova 2020년 4월 17일
Hello,
I want to find the maximum axial slice location/number/position of a 3D binary mask.
which means the slice location where the binary mask ends.
  댓글 수: 2
darova
darova 2020년 4월 17일
What about min and max?
banikr
banikr 2020년 4월 17일
편집: banikr 2020년 4월 17일
could you describe or specify how to use min max in this case?
The data size is 172, 220, 156.
I can write a for loop and including sum() option. But I wonder if there are simple matlab code for that.

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

답변 (1개)

darova
darova 2020년 4월 17일
  • Use find to find all values
  • Use ind2sub to convert indices to i,j,k (x,y,z)
ix = find(V(:)); % find nonzero values
[i1,i2,i3] = ind2sub(size(V),ix); % convert to i,j,k
[~,imax1] = max(i1); % max i
[~,imax2] = max(i2); % max j
[~,imax3] = max(i3); % max k
plot3(i1(imax1),i2(imax1),i3(imax1),'.r')
  댓글 수: 2
banikr
banikr 2020년 4월 17일
Hey @darova,
I think I have got what I was looking for.
[~,imax3] = min(i3);
This actually gives the final slices as matlab starts counting from bottom.
I was available to crop the bottom slice location.
Thanks!!

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

Community Treasure Hunt

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

Start Hunting!

Translated by