An IndirectArray
is one that encodes data using a combination of an
index
and a value
table. Each element is assigned its own index, which
is used to retrieve the value from the value
table. Concretely, if
A
is an IndirectArray
, then A[i,j...] = value[index[i,j,...]]
.
Among other uses, IndirectArrays
can represent
indexed images,
sometimes called "colormap images" or "paletted images."
Pkg.add("IndirectArrays")
For example:
using IndirectArrays, Colors
colors = distinguishable_colors(6)
index = rand(1:6, 32, 32)
A = IndirectArray(index, colors)
which has only 6 colors in it.
The value
array can be of any type; it does not have to be color information.
- CategoricalArrays offers an even more flexible interface for dealing with arrays in which values are looked up in an index.
- PooledArrays