[BioC] EBImage: Negative pixel intensities?!?

Henrik Bengtsson hb at biostat.ucsf.edu
Wed Mar 7 00:39:52 CET 2012


Thanks for the clarification Wolfgang. /Henrik

On Tue, Mar 6, 2012 at 1:06 PM, Wolfgang Huber <whuber at embl.de> wrote:
> Hi Henrik
>
> you are right; the software (and documentation) is intentionally
> non-prescriptive about the range of the values in the images, to allow for
> flexibility. Restrictions may be imposed on the level of specific functions,
> e.g. by 'display'.
>
> The behaviour of EBImage's display depends on the behaviour of the external
> library function that it calls, and this can either be from GTK+ or
> ImageMagick. The GTK+ code seems to do something like function(x)
> ifelse(x<0, 0, ifelse(x>1, 1, x)), see the below code example.
>
>        Best wishes
>        Wolfgang
>
> library("EBImage")
>
> x = seq(0, 2*pi, length=300)
> y = seq(-1, 2, length=length(x))
> img = Image(outer(x, y, function(x, y) sin(x)*y))
> display(img)
> display(abs(img))
> display(img-10)
> display(img*10)
>
>
> sessionInfo()
> R Under development (unstable) (2012-03-06 r58616)
> Platform: x86_64-apple-darwin10.8.0/x86_64 (64-bit)
>
> locale:
> [1] C/UTF-8/C/C/C/C
>
>
> attached base packages:
> [1] stats     graphics  grDevices utils     datasets  methods   base
>
> other attached packages:
> [1] EBImage_3.11.2 abind_1.4-0    fortunes_1.4-2
>
> loaded via a namespace (and not attached):
> [1] tools_2.16.0
>
>
>
> Mar/6/12 5:42 PM, Henrik Bengtsson scripsit::
>>
>> [Package maintainer cc:ed]
>>
>> Hi,
>>
>> in EBImage (3.11.2), an Image object can take intensities outside
>> [0,1] including negative ones.  What are they/how are they mapped when
>> rendered?  Here are some examples adopted from example("Image") and
>> example("readImage"):
>>
>> # (a) Image object with intensities in [0,1]
>>>
>>> x<- readImage(system.file("images", "lena-color.png",
>>> package="EBImage"));
>>> range(x)
>>
>> [1] 0.01176471 1.00000000
>>
>> # (b) Image object with intensities in [0,1]
>>>
>>> y<- readImage(system.file('images', 'nuclei.tif', package='EBImage'))
>>> range(y)
>>
>> [1] 0 1
>>
>> # (c) Image object with large negative and positive intensities
>>>
>>> z<- Image(rnorm(300*300*3),dim=c(300,300,3), colormode='Color')
>>> range(z)
>>
>> [1] -4.661843  4.353772
>>
>> All three Image:s can be displayed using display().
>>
>> I assume the colors in 'z' are rescaled/renormalized to (R,G,B) \in
>> [0,1]x[0,1]x[0,1], but how?
>>
>> BTW, I went through the EBImage docs, but I cannot find any
>> information on what range the intensities should have.  I only
>> inferred from the examples that [0,1] seems to be the scale, but the
>> above 'z' puzzles me.
>>
>> Thanks,
>>
>> Henrik
>>
>>> library(EBImage)
>>
>> Loading required package: abind
>> Warning message:
>> package 'EBImage' was built under R version 2.15.0
>>>
>>> sessionInfo()
>>
>> R version 2.14.2 Patched (2012-02-29 r58590)
>> Platform: x86_64-pc-mingw32/x64 (64-bit)
>>
>> locale:
>> [1] LC_COLLATE=English_United States.1252
>> [2] LC_CTYPE=English_United States.1252
>> [3] LC_MONETARY=English_United States.1252
>> [4] LC_NUMERIC=C
>> [5] LC_TIME=English_United States.1252
>>
>> attached base packages:
>> [1] stats     graphics  grDevices utils     datasets  methods   base
>>
>> other attached packages:
>> [1] EBImage_3.11.2 abind_1.4-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
>
>
>
> --
> Best wishes
>        Wolfgang
>
> Wolfgang Huber
> EMBL
> http://www.embl.de/research/units/genome_biology/huber
>
> _______________________________________________
> 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