File Exchange

image thumbnail

ReversePlot

version 1.1 (7.9 KB) by

To create a new plot from a scanned image file

4.66667
6 Ratings

32 Downloads

Updated

View License

This function opens an image file containing a plot. Then the origin, maximum X and Y axis, and data points can be manually and automatically selected to obtain a new vectorial plot (the animated screenshot shows the menus included).

Using Image Processing Toolbox to open idexed and gray images (functions ind2rgb, gray2rgb).

More functions at http://robotica.udl.cat

Comments and Ratings (11)

Anna

Anna (view profile)

Great code!

David Abraham

Just tried it out and it works simply and well. I like software that doesn't require any reading of manuals, and the results are great. Thanks!

Enrico

Enrico (view profile)

Bug "Delete an area of the curve...:
I think all is needed to correct it is to change line 420 with
rbbox %(no arguments)

Enrico

Enrico (view profile)

Comparing with GRABIT
(http://www.mathworks.co.uk/matlabcentral/fileexchange/7173-grabit):

-Zooming the figure is not possible in reverseplot;
-reverseplot doesn't mark the datapoints manually pointed at, while marking them one by one, only at the end;
-reverseplot does not offer to delete the last point erroneously pointed (could e.g. be bound to Backspace)

-GRABIT misses the automatic curve detection;

Besides, I just realized that in reverseplot "Delete an area of the curve..." has a bug (the selection rectangle is misplaced)

Anyway, both pieces of software are nice and useful.

Enrico

Enrico (view profile)

I see no reason why png should not be supported. To that extent, it is sufficient to change lines 84-90 with:

[filename, pathname] = uigetfile( ...
       {'*.jpg;*.jpeg;*.gif;*.bmp;*.tif;*.png','All suported formats'
        '*.jpg;*.jpeg','JPEG (*.jpg;*.jpeg)'; ...
        '*.gif','Gif (*.gif)'; '*.png','PNG (*.png)'; ...
        '*.bmp','Bitmap (*.bmp)'; ...
        '*.tif','TIFF (*.tif)'}, ...
         'Open scanned image...');

Enrico

Enrico (view profile)

Coooooool. I've found a basic bug, though. In function loaddata, lines 98-100,
        info = imfinfo([lower(pathname) lower(filename)]);
        [a,map] = imread([lower(pathname) lower(filename)]);
is plainly wrong on a case-sensitive OS like unix, and files with uppercase pathnames won't load. Removing all lower() solves the problem.

dewi

dewi (view profile)

Really useful for me.....

sono fera

I wonder if it's could work on a plot-with-marker like seismic plot.

Dick Beresford

A very neat bit of code that provides a useful function. Deals with log as well as linear axes. Would be even more useful if it could return the coordinates as data values in the MATLAB workspace.

R J

This is super handy

Alberto Zin

Really useful !

Updates

1.1

This update has automatic data points selection and manipulation, zooming, escaling, etc (see the animated screenshot).

New options added in the menus:
-Automatic line selection.
-Line manipulation.

MATLAB Release
MATLAB 6.5 (R13)

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

» Watch video