Learn R Programming

colorplane

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))

Copy Link

Version

Install

install.packages('colorplane')

Monthly Downloads

240

Version

0.5.0

License

MIT + file LICENSE

Maintainer

Bradley Buchsbaum

Last Published

March 3rd, 2023

Functions in colorplane (0.5.0)

blend_colors

blend two color planes
col2hex

convert color name to hex character string
HexColorPlane-class

HexColorPlane
RGBColorPlane-class

RGBColorPlane
ColorPlane-class

ColorPlane
ColorScale-class

ColorScale
IntensityColorPlane-class

IntensityColorPlane
get_color

get_color
multiply_alpha

multiply rgb matrix with alpha channel
rgb2hex

convert rgb colors to hex colors
alpha_channel

alpha_channel
map_colors

map data values to a set of colors
as_hexcol

convert to hex colors
DiscreteColorPlane-class

DiscreteColorPlane
ConstantColorPlane-class

ConstantColorPlane
as_rgb

convert to rgb colors