Skip to content

Converting the graphics window to a data matrix

5 messages · Barry Rowlingson, Michael Sumner, Beutel, Terry S +1 more

#
On Thu, May 19, 2011 at 5:19 AM, Beutel, Terry S
<Terry.Beutel at deedi.qld.gov.au> wrote:
Instead of drawing to the screen, you can use the 'png' function to
create a graphics device that "draws" to an image file. Then you can
read that image file into R and get it as a matrix.

 You probably also want to set some of the margin and axis parameters
so the plotting region fills the whole device, and you dont have the
axes and tick marks etc confusing the matrix.

 That's some pointers for starters. I've not had breakfast yet...

Barry
#
Thanks Barry. I have now got as far as creating the png (or gif or tiff) images (as per your suggestions). But I am unable to work out how to convert each to a 2 dimensionional numeric matrix showing the spatial distribution of occupied/unoccupied pixels in R. Any suggestions anybody? 
Thanks

Terry

-----Original Message-----
From: b.rowlingson at googlemail.com [mailto:b.rowlingson at googlemail.com] On Behalf Of Barry Rowlingson
Sent: Thursday, 19 May 2011 4:19 PM
To: Beutel, Terry S
Cc: r-help at r-project.org
Subject: Re: [R] Converting the graphics window to a data matrix
On Thu, May 19, 2011 at 5:19 AM, Beutel, Terry S <Terry.Beutel at deedi.qld.gov.au> wrote:
Instead of drawing to the screen, you can use the 'png' function to create a graphics device that "draws" to an image file. Then you can read that image file into R and get it as a matrix.

 You probably also want to set some of the margin and axis parameters so the plotting region fills the whole device, and you dont have the axes and tick marks etc confusing the matrix.

 That's some pointers for starters. I've not had breakfast yet...

Barry


********************************DISCLAIMER****************************
The information contained in the above e-mail message or messages 
(which includes any attachments) is confidential and may be legally 
privileged.  It is intended only for the use of the person or entity 
to which it is addressed.  If you are not the addressee any form of 
disclosure, copying, modification, distribution or any action taken 
or omitted in reliance on the information is unauthorised.  Opinions 
contained in the message(s) do not necessarily reflect the opinions 
of the Queensland Government and its authorities.  If you received 
this communication in error, please notify the sender immediately 
and delete it from your computer system network.
#
The EBImage package from bioconductor will read image files (png and others), the object read has a slot called .Data that is a 3 dimensional array with one dimension being the color (red,green,blue), so you could just grab one of those 3 layers and it would probably be what you want (or some function of that layer, or combination of the 3 layers).