hilbertImage: Produce a matrix that visualizes a long data vector along a...

Description Usage Arguments Details Value Note Author(s) Examples

View source: R/hilbert.R

Description

Calculate a Hilbert curve visualization of a long data vector and return it as a square matrix.

Usage

1
hilbertImage(data, level = 9, mode = "absmax")

Arguments

data

A (potentially very long) vector of numerical data.

level

The level of the Hilbert curve, determining the size of the returned matrix

mode

The binning mode. See shrinkVector for details.

Details

See the package vignette for an explanation of this visualization technique.

Value

A matrix of dimension 2^level x 2^level. Each matrix element corresponds to a bin of consecutive elements of the data vector, the bins arranged to follow the Hilbert curve of the given level. By default, the value of a matrix element is either the largest or smallest element in the bin, whichever is larger by absolute value. (See shrinkVector for other possible binning modes.)

To display such a matrix graphically, you can use the standard functions image or levelplot but the function showHilbertImage may be more convenient.

Note

For an interactive GUI to explore a Hilbert curve visualisation, use the function hilbertDisplay in the HilbertVisGUI package.

Author(s)

Simon Anders, EMBL-EBI, sanders@fs.tum.de

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
   # Get a vector with example data
   dataVec <- makeRandomTestData( )
   
   # Plot it in conventional (linear) fashion
   plotLongVector( dataVec )
   
   # Note how the peaks look quite uniform

   # Get the Hilbert curve matrix
   hMat <- hilbertImage( dataVec )
   
   # Plot it with the 'showHilbertImage' function
   showHilbertImage( hMat )
   
   # Note how you can now see the non-uniformity hidden in the previous plot.
   # Note also the ugly aliasing when you change the size of the plot window.
   # Using EBImage allows to display in each matrix element as one pixel:
   
   # if( require ( EBImage ) )
   #    showHilbertImage( hMat, mode="EBImage" )

Example output

Loading required package: grid
Loading required package: lattice

HilbertVis documentation built on Nov. 8, 2020, 6:50 p.m.