Re: Welcome to the "Image-SIG" mailing list (Digest mode)

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: Welcome to the "Image-SIG" mailing list (Digest mode)

Allen.Windhorn-2
Greetings:

This is a question probably more related to machine vision, but I want
to digitize a lot of hand-drawn graphs that we have accumulated over
the years.  I would like to scan them, have a clerical person select a
line on the graph (maybe in several spots), and get back a set of XY
coordinates of the line.  (A bonus would be to select points on the
axes and enter the values to automatically do scaling.)  To confound
the process, there is a grid on the image, and there are several lines
which may cross each other at various angles.

My first thought is someone must have had this problem before and
solved it -- if so, can I adapt your solution?  (There was a product
available commercially, but it didn't work worth a darn.)

If not, can anyone suggest an approach?  My first thought is to
set an image threshold to convert it to ones and zeros, then do some
kind of line-following algorithm that would take guidance from a
human being.  Fortunately, the desired data form smooth curves.
It will be hard to discriminate between the line and the grid though.

Regards,
Allen
--
Allen Windhorn, P.E. (MN), CEng  (507) 345-2782
Kato Engineering
P.O. Box 8447, N. Mankato, MN  56002
[hidden email]
_______________________________________________
Image-SIG maillist  -  [hidden email]
http://mail.python.org/mailman/listinfo/image-sig
Reply | Threaded
Open this post in threaded view
|

Re: Welcome to the "Image-SIG" mailing list (Digest mode)

Edward Cannon
There was a discussion about a related problem a few months back, and
the general consensus was: not really possible. I have done things
like this, very time consuming, limited accuracy. If you want to scan
the data and use it in a document, probably OK. Attempting to retrieve
data from the graph, you will loose lots of precision. I would suggest
that you get data from original sources if you can. If you can't, too
bad.
Edward Cannon

On Mon, Feb 7, 2011 at 1:39 PM,  <[hidden email]> wrote:

> Greetings:
>
> This is a question probably more related to machine vision, but I want
> to digitize a lot of hand-drawn graphs that we have accumulated over
> the years.  I would like to scan them, have a clerical person select a
> line on the graph (maybe in several spots), and get back a set of XY
> coordinates of the line.  (A bonus would be to select points on the
> axes and enter the values to automatically do scaling.)  To confound
> the process, there is a grid on the image, and there are several lines
> which may cross each other at various angles.
>
> My first thought is someone must have had this problem before and
> solved it -- if so, can I adapt your solution?  (There was a product
> available commercially, but it didn't work worth a darn.)
>
> If not, can anyone suggest an approach?  My first thought is to
> set an image threshold to convert it to ones and zeros, then do some
> kind of line-following algorithm that would take guidance from a
> human being.  Fortunately, the desired data form smooth curves.
> It will be hard to discriminate between the line and the grid though.
>
> Regards,
> Allen
> --
> Allen Windhorn, P.E. (MN), CEng  (507) 345-2782
> Kato Engineering
> P.O. Box 8447, N. Mankato, MN  56002
> [hidden email]
> _______________________________________________
> Image-SIG maillist  -  [hidden email]
> http://mail.python.org/mailman/listinfo/image-sig
>
_______________________________________________
Image-SIG maillist  -  [hidden email]
http://mail.python.org/mailman/listinfo/image-sig
Reply | Threaded
Open this post in threaded view
|

Re: Digitizing graphs (was Welcome...)

Allen.Windhorn-2
In reply to this post by Allen.Windhorn-2
Chris,

-----Original Message-----
From: Chris Mitchell [mailto:[hidden email]]

> Your grid lines are in a repeating array, so first identify them.
> It should be easy because they are all parallel straight lines.
> Set the grid to zero to solve that problem then look for your data
> lines.

That sounds promising -- some kind of a spatial filter that selects
repetitive features (2D wavelet transforms?).  Unfortunately I'm a
total newbie w.r.t. image processing, but I'll try searching for
something like that.  Thanks.

Regards,
Allen
_______________________________________________
Image-SIG maillist  -  [hidden email]
http://mail.python.org/mailman/listinfo/image-sig
Reply | Threaded
Open this post in threaded view
|

Re: Welcome to the "Image-SIG" mailing list (Digest mode)

Dave Braze
In reply to this post by Allen.Windhorn-2
Maybe this will help (although I've not actually used it): http://datathief.org/

In the past I've done a similar thing using GSview and Ghostscript, which worked
but was fairly tedious.

-D

On 2:59 PM, [hidden email] wrote:

> Greetings:
>
> This is a question probably more related to machine vision, but I want
> to digitize a lot of hand-drawn graphs that we have accumulated over
> the years.  I would like to scan them, have a clerical person select a
> line on the graph (maybe in several spots), and get back a set of XY
> coordinates of the line.  (A bonus would be to select points on the
> axes and enter the values to automatically do scaling.)  To confound
> the process, there is a grid on the image, and there are several lines
> which may cross each other at various angles.
>
> My first thought is someone must have had this problem before and
> solved it -- if so, can I adapt your solution?  (There was a product
> available commercially, but it didn't work worth a darn.)
>
> If not, can anyone suggest an approach?  My first thought is to
> set an image threshold to convert it to ones and zeros, then do some
> kind of line-following algorithm that would take guidance from a
> human being.  Fortunately, the desired data form smooth curves.
> It will be hard to discriminate between the line and the grid though.
>
> Regards,
> Allen

--

Dave Braze, Ph.D.                           [hidden email]
Haskins Laboratories                       www.haskins.yale.edu/staff/braze.html
300 George Street, STE 900             phone: 1-203-865-6163 x241
New Haven, CT 06511-6624             fax: 1-203-865-8963

_______________________________________________
Image-SIG maillist  -  [hidden email]
http://mail.python.org/mailman/listinfo/image-sig
Reply | Threaded
Open this post in threaded view
|

Re: Welcome to the "Image-SIG" mailing list (Digest mode)

Bruce Johnson
I have used it, and it's a godsend for getting ancient data into useable form.

On Feb 8, 2011, at 12:13 PM, Dave Braze wrote:

> Maybe this will help (although I've not actually used it): http://datathief.org/
>
> In the past I've done a similar thing using GSview and Ghostscript, which worked but was fairly tedious.
>
> -D
>
> On 2:59 PM, [hidden email] wrote:
>> Greetings:
>>
>> This is a question probably more related to machine vision, but I want
>> to digitize a lot of hand-drawn graphs that we have accumulated over
>> the years.  I would like to scan them, have a clerical person select a
>> line on the graph (maybe in several spots), and get back a set of XY
>> coordinates of the line.  (A bonus would be to select points on the
>> axes and enter the values to automatically do scaling.)  To confound
>> the process, there is a grid on the image, and there are several lines
>> which may cross each other at various angles.
>>
>> My first thought is someone must have had this problem before and
>> solved it -- if so, can I adapt your solution?  (There was a product
>> available commercially, but it didn't work worth a darn.)
>>
>> If not, can anyone suggest an approach?  My first thought is to
>> set an image threshold to convert it to ones and zeros, then do some
>> kind of line-following algorithm that would take guidance from a
>> human being.  Fortunately, the desired data form smooth curves.
>> It will be hard to discriminate between the line and the grid though.
>>
>> Regards,
>> Allen
>
> --
>
> Dave Braze, Ph.D.                           [hidden email]
> Haskins Laboratories                       www.haskins.yale.edu/staff/braze.html
> 300 George Street, STE 900             phone: 1-203-865-6163 x241
> New Haven, CT 06511-6624             fax: 1-203-865-8963
>
> _______________________________________________
> Image-SIG maillist  -  [hidden email]
> http://mail.python.org/mailman/listinfo/image-sig
>

--
Bruce Johnson
University of Arizona
College of Pharmacy
Information Technology Group

Institutions do not have opinions, merely customs


_______________________________________________
Image-SIG maillist  -  [hidden email]
http://mail.python.org/mailman/listinfo/image-sig
Reply | Threaded
Open this post in threaded view
|

Re: Welcome to the "Image-SIG" mailing list (Digest mode)

Allen.Windhorn-2
In reply to this post by Dave Braze
Dave,

-----Original Message-----
From: Dave Braze [mailto:[hidden email]]

> Maybe this will help (although I've not actually used it):
> http://datathief.org/
>
> In the past I've done a similar thing using GSview and Ghostscript,
> which worked but was fairly tedious.

Thanks!  That works pretty well, even for the graph with grid (with
a little help from the operator).  I wish it were open-source so I
could tweak it (and written in Python, of course), but it will do
the job.

Regards,
Allen
_______________________________________________
Image-SIG maillist  -  [hidden email]
http://mail.python.org/mailman/listinfo/image-sig
Reply | Threaded
Open this post in threaded view
|

Re: Welcome to the "Image-SIG" mailing list (Digest mode)

Dave Braze
Glad it was helpful. Another search of my not terribly well organized bookmarks
turned up

http://digitizer.sourceforge.net/
http://plotdigitizer.sourceforge.net/

both of which seem to be opensource.

-D

On 2:59 PM, [hidden email] wrote:

> Dave,
>
> -----Original Message-----
> From: Dave Braze [mailto:[hidden email]]
>
>> Maybe this will help (although I've not actually used it):
>> http://datathief.org/
>>
>> In the past I've done a similar thing using GSview and Ghostscript,
>> which worked but was fairly tedious.
> Thanks!  That works pretty well, even for the graph with grid (with
> a little help from the operator).  I wish it were open-source so I
> could tweak it (and written in Python, of course), but it will do
> the job.
>
> Regards,
> Allen
>

--

Dave Braze, Ph.D.                           [hidden email]
Haskins Laboratories                       www.haskins.yale.edu/staff/braze.html
300 George Street, STE 900             phone: 1-203-865-6163 x241
New Haven, CT 06511-6624             fax: 1-203-865-8963

_______________________________________________
Image-SIG maillist  -  [hidden email]
http://mail.python.org/mailman/listinfo/image-sig