readImage {EBImage}R Documentation

Image I/O

Description

Functions to read and write images from/to files and URL's. The supported image formats depend on the capabilities of ImageMagick.

Usage

  readImage(files, colormode)
  writeImage(x, files, quality = 100)

Arguments

files

A character vector of file names or URLs. If missing, an interactive file chooser is displayed.

x

An Image object or an array.

quality

A numeric, ranging from 1 to 100. Default is 100.

colormode

Deprecated.

Details

When writing images in formats supporting lossy compression (like JPEG), the quality can be specified used a quality value in the range [1,100]. The best quality is obtained with 100.

The file format is deduced from the file name extension.

ImageMagick is used to perform all image I/O operations. Therefore, the package supports all the file types supported by ImageMagick.

When reading images, files of different formats can be mixed in any sequence, including mixing single 2D images with TIFF image stacks. The result will contain a stack with all images and stacks, at the size of the first image read. Subsequent images are cropped (if larger) or filled with background (if smaller).

readImage returns an Image object, containing an array of double values ranging from 0 (black) to 1 (white). Image formats have a limited dynamic range (e.g. JPEG: 8 bit, TIFF: 16 bit) and writeImage may cause some loss of accuracy.

Value

readImage returns a new Image object. writeImage returns invisible(files).

Author(s)

Oleg Sklyar, osklyar@ebi.ac.uk, 2005-2006

References

ImageMagick: http://www.imagemagick.org

Examples

   ## Reads and display images
   f = system.file("images", "lena-color.png", package="EBImage")
   x = readImage(f)
   if (interactive()) display(x)

   x = readImage(system.file("images", "nuclei.tif", package="EBImage"))
   if (interactive()) display(x)
   
   try({
     im = readImage("http://www.google.com/intl/en/images/logo.gif")
     if (interactive()) display(im)
   })

   ## Converts a TIFF file into JPEG
   f1 = system.file("images", "lena-color.png", package="EBImage")
   x1 = readImage(f1)
   f2 = paste(tempfile(), "jpeg", sep=".")
   writeImage(x1, f2)
   cat("Converted '", f1, "' into '", f2, "'.\n", sep='')

[Package EBImage version 3.10.0 Index]