File Exchange Pick of the Week

Custom GINPUT 1

Posted by Guest Picker,

Idin's pick for this week is custom GINPUT by our very own Jiro Doke.

This is the story of how a user's request for a feature turned into a File Exchange submission by one of our very capable Application Engineers.

A few months ago I was working with a user trying to build a MATLAB GUI when we ran into a seemingly trivial problem: we needed the user to select a few points on a figure. Solution was simple: ginput. The problem was that on some images MATLAB's default "cross-hair" cursor blended into the background. Here's an example that shows a mild case of the problem.

You can see how it could be difficult to pick a precise point using this cross-hair. MATLAB's ginput function provides no flexibility to change the cursor. We found the myginput submission by Frederic Moisy. This got us a little closer, but not quite there. That's when I asked Jiro for help. Jiro wrote a new function based on MATLAB's ginput that makes the color and thickness of the cursor fully customizable. Here’s the same image, but this time with Jiro's ginputc function:

load woman
imagesc(X)
colormap(map)
ginputc('color', 'r', 'linewidth', 3)

The picture speaks for itself! Jiro went further and added two new features that I hadn't even asked for:

  • In the top left corner he shows a list of points the user has already selected
  • He can optionally connect the selected points (very useful if you're selecting an area)

I would like to see some of these features find their way into MATLAB's ginput function. But in the meantime, I encourage you to download and try Jiro's ginputc function.

As always, your comments here are greatly appreciated.


Get the MATLAB code

Published with MATLAB® R2012b

1 CommentsOldest to Newest

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