View License

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from
N-dimensional find

5.0 | 2 ratings Rate this file 9 Downloads (last 30 days) File Size: 1.99 KB File ID: #27755 Version: 1.2
image thumbnail

N-dimensional find


Sven (view profile)


26 May 2010 (Updated )

FIND_NDIM Finds the first or last nonzero element indices along a given matrix dimension.

| Watch this File

File Information

This function finds the 'first' pixel in an N-dimensional image, along any dimension. This is somewhat like measuring from the top row of an image towards the bottom row of the image, and recording the first collision with an "on" pixel.

FIND_NDIM Finds first/last nonzero element indices along a dimension.
  I = FIND_NDIM(BW,DIM) returns the subscripts of the first nonzero
  elements of BW along the dimension DIM. Output I will contain zeros in
  element locations where no nonzero elements were found

  I = FIND_NDIM(BW,DIM,'first) is the same as I = FIND_NDIM(BW,DIM).

  I = FIND_NDIM(BW,DIM,'last') returns the subscripts of the last nonzero
  elements of BW along the dimension DIM.

  [I,MASK] = FIND_NDIM(BW,DIM,...) also returns a MASK the same size as
  BW with only the first/last pixels in dimension DIM on.

    Example 1:
        If X = [0 1 0
                  1 1 0]
        then find_ndim(X,1) returns [2 1 0], find_ndim(X,1,'last')
        returns [2 2 0], and find_ndim(X,2) returns [2 1]';

    Example 2:
        I = imread('rice.png');
        greyIm = imadjust(I - imopen(I,strel('disk',15)));
        BW = imclearborder(bwareaopen(im2bw(greyIm, graythresh(greyIm)), 50));
        topMostOnInds = find_ndim(BW, 1, 'first');
        rightMostOnInds = find_ndim(BW, 2, 'last');
        figure, imshow(BW), hold on
        plot(1:size(BW,2), topMostOnInds, 'r.')
        plot(rightMostOnInds, 1:size(BW,1), '.b')

A discussion of how this came about is at:

MATLAB release MATLAB 7.10 (R2010a)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (2)
12 Jan 2017 Kris C

Kris C (view profile)

Great job

12 Oct 2011 Joachim

11 Oct 2011 1.1

Updated icon and help

20 Aug 2012 1.2

Added mask second output argument

Contact us