Woolz Image Processing Version 1.4.0
_WlzTiledValues Struct Reference

A tiled value table for both 2 an 3D domain objects. Typedef: WlzTiledValues. More...

Data Fields

WlzObjectType type
int linkcount
void * freeptr
int dim
int kol1
int lastkl
int line1
int lastln
int plane1
int lastpl
WlzPixelV bckgrnd
size_t tileSz
size_t tileWidth
size_t numTiles
int * nIdx
unsigned int * indices
int fd
long tileOffset
WlzGreyP tiles

Detailed Description

A tiled value table for both 2 an 3D domain objects. Typedef: WlzTiledValues.

The grey values are stored in square or cubic tiles with tileSz being the number of values in each tile irespective of the grey value type. An index to the tiles is stored as a simple one dimensional array.

To access a grey value at some position $(x,y,z)$ which is known to be within the tiled value table: First the position relative to the first column ( $x_0$), line ( $y_0$) and plane ( $z_0$)of the value table is computed: $x_r = x - x_0, y_r = y - y_0, z_r = z - z_0$. The tile index ( $i$) and within tile offset ( $o$) are then computed:

\begin{eqnarray*} i_x = x_r / w \\ i_y = y_r / w \\ i_z = z_r / w \\ o_x = x_r - (w i_x) \\ o_y = y_r - (w i_y) \\ o_z = z_r - (w i_z) \\ i = (((i_z ni_y) + i_y) ni_x) + i_x \\ o = (((o_z nt_y) + o_y) nt_x) + o_x \\ g = T \left[ ( I \left[ i \right] t_s) + o \right] \end{eqnarray*}

Where $I$ is the index table and $T$ the start of the tile data.

The tile data may be memory mapped instead of read into memory in which case the file descriptor will have a non-negative value. This can be used to close the file.


Field Documentation

From WlzCoreValues: built from WLZ_GREY_TAB_TILED and the grey value type.

Referenced by WlzFreeTiledValues(), WlzMakeTiledValues(), and WlzMakeTiledValuesTiles().

From WlzCoreValues.

Referenced by WlzFreeTiledValues().

From WlzCoreValues, although this won't free the values themselves.

The dimension of the value table, ie 2 or 3D.

Referenced by WlzMakeTiledValues().

First column.

Referenced by WlzShiftValues().

Last column.

Referenced by WlzShiftValues().

First line.

Referenced by WlzShiftValues().

Last line.

Referenced by WlzShiftValues().

First plane.

Referenced by WlzShiftValues().

Last plane.

Referenced by WlzShiftValues().

The number of values in each tile which may be less than the number of bytes.

Referenced by WlzFreeTiledValues(), and WlzMakeTiledValuesTiles().

Width of the tiles ( $w$).

The total number of tiles.

Referenced by WlzFreeTiledValues(), and WlzMakeTiledValuesTiles().

Number of index columns, lines, ....

Referenced by WlzFreeTiledValues(), and WlzMakeTiledValues().

unsigned int* _WlzTiledValues::indices

Table of tile indices.

Referenced by WlzFreeTiledValues().

File descriptor if tiles are memory mapped else -1.

Referenced by WlzFreeTiledValues(), WlzMakeTiledValues(), and WlzMakeTiledValuesTiles().

Offset from the start of the file to the tiles. This may be set even if not memory mapped.


The documentation for this struct was generated from the following file: