MyNixOS website logo
Description

Basic S4 Classes and Methods for Mapping Between Numeric Values and Colors.

A simple set of classes and methods for mapping between scalar intensity values and colors. There is also support for layering maps on top of one another using alpha composition.

colorplane

R-CMD-check

The goal of colorplane is to facilitate the creation and manipulation of color maps that can be rescaled, thresholded, and blended. The main motivation for the package was to help with the creation of image overlays for the display of scalar fields on a backgroound image (e.g. for display of brain activation maps).

Installation

You can install the development version of colorplane from GitHub with:

# install.packages("devtools")
devtools::install_github("bbuchsbaum/colorplane")

Example

We create two color planes that map from “intensity” to colors provided in a color map.

library(colorplane)

vals <- rnorm(100)
cmap <- IntensityColorPlane(vals, cols=rainbow(100))

## now we map to a set of colors, such that the color scale ranges from -1 to 1.
hexmap <- map_colors(cmap, irange=c(-1,1))
print(class(hexmap))
#> [1] "HexColorPlane"
#> attr(,"package")
#> [1] "colorplane"
plot(vals, col=hexmap@clr)

## let's do the same except threshold colors in the range [-.5,.5]
cmap2 <- map_colors(cmap, irange=c(-1,1), threshold=c(-.5,.5))

## cmap2 is an RGBColorPlane because we added element-wise transparency due to thresholding. 
## We can convert back to hexcolors to plot.
print(class(cmap2))
#> [1] "RGBColorPlane"
#> attr(,"package")
#> [1] "colorplane"

## Note value between [-.5,.5] are now invisible.
plot(vals, col=as_hexcol(cmap2))

We can also blend colors using alpha composition. Here we simply give all colors a greenish tint to demonstrate color blending.


library(colorplane)

vals <- rnorm(100) 
bottom <- map_colors(IntensityColorPlane(vals, cols=rainbow(100)),irange=c(-1,1))
top <- ConstantColorPlane("#00FF00") 

blend <- blend_colors(bottom, top, alpha=.5)
plot(vals, col=as_hexcol(blend))
Metadata

Version

0.5.0

License

Unknown

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows