title: finding saddle points in 3d heightmap
body: <p>Given a 3d heightmap (from a laser scanner), how do I find the <a href="http://en.wikipedia.org/wiki/Saddle_point" rel="nofollow noreferrer">saddle points</a>?</p>
  
  <p>I.e. given something like this:</p>
  
  <p><img src="https://i.stack.imgur.com/phHL5m.png" alt="height profile"></p>
  
  <p>I am looking for all points where the curvature is positive in one direction and negative in the other. </p>
  
  <p>(These directions should not need to be aligned with the X and Y axis.
  I know how to check whether the curvature in X direction has the opposite sign as the curvature in Y direction, but that does not cover all cases. To make matters worse, the resolution in X is different from the resolution in Y)</p>
  
  <p><img src="https://i.stack.imgur.com/6sXKr.png" alt="enter image description here"></p>
  
  <p>Ideally I am looking for an algorithm that can tolerate some amount of noise and only mark  "significant" saddle points.</p>