GenericShortType

GenericShortType

Method Detail

getEntitiesPerPixel

Get the number of entities in the storage array required to store one
pixel value. A pixel value may be spread over several or less than one
entity. For example, a complex number may require 2 entries of a float[]
array to store one pixel. Or a 12-bit type might need 12/64th entries of
a long[] array.

updateContainer

This method is used by an accessor (e.g., a Cursor) to request an
update of the current data array.

As an example consider a CellCursor moving on a CellImg.
The cursor maintains a NativeType which provides access to the
image data. When the cursor moves from one cell to the next, the
underlying data array of the NativeType must be switched to the
data array of the new cell.

To achieve this, the CellCursor calls updateContainer()
with itself as the argument. updateContainer() in turn will call
NativeImg.update(Object) on it's container, passing along the
reference to the cursor. In this example, the container would be a
CellImg. While the NativeType does not know about the
type of the cursor, the container does. CellImg knows that it is
passed a CellCursor instance, which can be used to figure out the
current cell and the underlying data array, which is then returned to the
NativeType.

The idea behind this concept is maybe not obvious. The NativeType
knows which basic type is used (float, int, byte, ...). However, it does
not know how the data is stored (ArrayImg, CellImg, ...).
This prevents the need for multiple implementations of NativeType
.