Steve on Image Processing

March 30th, 2007

Upslope area - Introduction

A long time ago, blog reader Brendon asked me if I knew of a way to compute something called upslope area in MATLAB. I responded that I had never heard of that before. Brendan explained that it was a measurement related to digital elevation models (DEMs). The upslope area of a point (pixel) is the total area on the terrain above that point that drains through it.

That sounded like an interesting algorithm development problem to me, so I did a little research and found some suitable-looking algorithms. I even partially implemented one. But I never did find the time to work out all the different pieces, so I never got around to writing about it here.

I finally decided recently that I just need to dive in and try it. And I'm going to do it in front of you readers. I've picked a paper that looks promising (by David Tarboton of the Utah Water Research Laboratory, Utah State University), and for the next few weeks I'm going to try to turn the methods described in this paper into a working MATLAB implementation.

We're going to get into flow direction computations, how to deal with plateaus, and maybe (if I'm guessing right) even some sparse linear algebra.

Next up: the D∞ flow direction method.

2 Responses to “Upslope area - Introduction”

  1. Qi Chen replied on :

    look forward to it

  2. Wolfgang Schwanghart replied on :

    Steve,
    I am curious about your results. I have just submitted a flow accumulation and flow direction algorithm to the FEX, that routes across flats. I am very glad to hear that Digital Elevation Model analysis is pushed forward at Mathworks. Geoscientists will be delighted :-)

    Best regards,
    Wolfgang

Leave a Reply

Wrap code fragments inside <pre> tags, like this:

<pre class="code">
a = magic(3);
sum(a)
</pre>

If you have a "<" character in your code, either follow it with a space or replace it with "&lt;" (including the semicolon).


Steve Eddins manages the Image & Geospatial development team at The MathWorks and coauthored Digital Image Processing Using MATLAB. He writes here about image processing concepts, algorithm implementations, and MATLAB.

  • Steve: Kezia—Try imrotate.
  • kezia: steve, how to perform rotation of structuring element by 15 degrees. kindly answer my question. thank u kezia...
  • Steve: Tasha—I only accept comments that are relevant to the particular blog post or are questions or comments...
  • Tasha: Steve,I send you a comment here but still didn’t get any reply yet.I did not see my comment posted here...
  • Steve: Carsten—Thanks for your input.
  • Carsten: Another vote for either imtranslate.m, or at least a blurb in the imtransform help why pure translation...
  • Loren Shure: If you look towards the end of the fftfilt program, you will see that there’s a check to see if...
  • Steve: Sonja—My imwritesize submission on the MATLAB Central File Exchange might be helpful. It was posted...
  • Steve: Grant—Sorry, but it won’t be for R2010a. That development deadline has already passed.
  • Sonja: My publisher is wanting images for a new book to be 300 dpi. Only 5 of the 19 images are 300, the rest are...

These postings are the author's and don't necessarily represent the opinions of The MathWorks.