[BioC] EBImage: alpha plane in grey scale
Gregoire Pau
gregoire.pau at embl.de
Sun Feb 27 16:16:29 CET 2011
Hello Samuel,
EBImage uses ImageMagick's WriteImage() to write images and doesn't do
anything more. Image format is guessed by ImageMagick from the file name
and the dynamic range of the image. As an example, the following code
creates a random uniform 16-bit grayscale TIFF 20x20 image:
> library("EBImage")
> a = matrix(runif(20*20), 20, 20)
> display(a)
> writeImage(a, "a.tiff")
Your example uses an image with only one color and ImageMagick (and
therefore EBImage) uses the 1-bit mode of the TIFF image format to write
it. The bug you are facing seems to come from the fact that ImageJ does
not support the 1-bit TIFF image format.
In the future, it would be nice to have more control in the output image
format. But, in the meanwhile, just use more colors to force EBImage to
use the 16-bit format.
Hope this helps,
Best regards,
Greg
---
Gregoire Pau
EMBL Research officer
http://www.embl.de/~gpau/
On 25/02/2011 19:37, Samuel GRANJEAUD - IR/ICIM wrote:
> Hello,
>
> I am using EBImage to convert matrix to tiff grey scale. And I would
> like to read them directly in ImageJ. Unfortunately such image contains
> an extra plane that is not needed and not supported by ImageJ. This
> alpha plane seems to be automatically added at the creation of the image
> in the C code (I guess). In ImageMagick API, this is referred as "matte"
> http://www.imagemagick.org/api/magick-image.php#MagickSetImageMatte
>
> If I am not wrong, it would be nice if this alpha plane could be removed
> in next release.
>
> Regards,
> Samuel
>
> ~$ R --vanilla
>
> R version 2.12.1 (2010-12-16)
> Copyright (C) 2010 The R Foundation for Statistical Computing
> ISBN 3-900051-07-0
> Platform: x86_64-pc-linux-gnu (64-bit)
>
> R is free software and comes with ABSOLUTELY NO WARRANTY.
> You are welcome to redistribute it under certain conditions.
> Type 'license()' or 'licence()' for distribution details.
>
> Natural language support but running in an English locale
>
> R is a collaborative project with many contributors.
> Type 'contributors()' for more information and
> 'citation()' on how to cite R or R packages in publications.
>
> Type 'demo()' for some demos, 'help()' for on-line help, or
> 'help.start()' for an HTML browser interface to help.
> Type 'q()' to quit R.
>
> > library(EBImage)
> Loading required package: abind
> > a <- matrix(10,20,20)
> > b <- Image(a)
> > b
> Image
> colormode: Grayscale
> storage.mode: double
> dim: 20 20
> nb.total.frames: 1
> nb.render.frames: 1
>
> imageData(object)[1:5,1:6]:
> [,1] [,2] [,3] [,4] [,5] [,6]
> [1,] 10 10 10 10 10 10
> [2,] 10 10 10 10 10 10
> [3,] 10 10 10 10 10 10
> [4,] 10 10 10 10 10 10
> [5,] 10 10 10 10 10 10
>
> > writeImage(b,"b.tif")
> > system("tiffinfo b.tif")
> TIFF Directory at offset 0x6c (108)
> Image Width: 20 Image Length: 20
> Resolution: 72, 72 pixels/inch
> Bits/Sample: 1
> Compression Scheme: None
> Photometric Interpretation: min-is-black
> Extra Samples: 1<unassoc-alpha>
> FillOrder: msb-to-lsb
> Orientation: row 0 top, col 0 lhs
> Samples/Pixel: 2
> Rows/Strip: 1638
> Planar Configuration: single image plane
> DocumentName: b.tif
> Software: ImageMagick 6.3.7 12/02/10 Q16 http://www.imagemagick.org
> > system("convert b.tif +matte c.tif")
> > system("tiffinfo c.tif")
> TIFF Directory at offset 0x44 (68)
> Image Width: 20 Image Length: 20
> Resolution: 72, 72 pixels/inch
> Bits/Sample: 1
> Compression Scheme: None
> Photometric Interpretation: min-is-black
> FillOrder: msb-to-lsb
> Orientation: row 0 top, col 0 lhs
> Samples/Pixel: 1
> Rows/Strip: 2730
> Planar Configuration: single image plane
> DocumentName: c.tif
> Software: ImageMagick 6.3.7 12/02/10 Q16 http://www.imagemagick.org
> > sessionInfo()
> R version 2.12.1 (2010-12-16)
> Platform: x86_64-pc-linux-gnu (64-bit)
>
> locale:
> [1] LC_CTYPE=en_GB.utf8 LC_NUMERIC=C [3] LC_TIME=en_GB.utf8
> LC_COLLATE=en_GB.utf8 [5] LC_MONETARY=C LC_MESSAGES=en_GB.utf8 [7]
> LC_PAPER=en_GB.utf8 LC_NAME=C [9] LC_ADDRESS=C LC_TELEPHONE=C [11]
> LC_MEASUREMENT=en_GB.utf8 LC_IDENTIFICATION=C
> attached base packages:
> [1] stats graphics grDevices utils datasets methods base
> other attached packages:
> [1] EBImage_3.6.0 abind_1.1-0
>
> _______________________________________________
> Bioconductor mailing list
> Bioconductor at r-project.org
> https://stat.ethz.ch/mailman/listinfo/bioconductor
> Search the archives:
> http://news.gmane.org/gmane.science.biology.informatics.conductor
More information about the Bioconductor
mailing list