The number of channels is the matrix size divided by the number of frames.
The number of frames which is the size of the streaming dimension,
or 1
if no streaming is used.
Reads a chunk of matrix data into a provided buffer.
Reads a chunk of matrix data into a provided buffer. Multi-dimensional matrices are de-interleaved according to their natural dimensional ordering.
Note: Calls must not be mixed with calls to readFloat2D
or readWindowDouble1D
!
the buffer to read into. This must
have at least a size of off + len
.
the offset into buf
the number of elements to read
Reads a chunk of matrix data into a provided buffer.
Reads a chunk of matrix data into a provided buffer. If the stream-transposed
matrix has more than two dimensions, the de-interleaving is regularly from
from to back. E.g. in a matrix of shape [a][b][c]
, if a
is the streaming
dimension, the first channel is b0, c0
, the second channel is b0, c1
,
and so on until b0, ck-1
where k
is the size of third dimension, followed
by b1, c0
etc.
Note: Calls must not be mixed with calls to readDouble1
or readWindowDouble1D
!
the buffer to read into. This must be two-dimensional with the
outer dimension corresponding to channels, and the inner arrays
having at least a size of off + len
.
the offset into each channel of buf
the number of frames to read
Reads a window (chunk) of matrix data into a provided buffer.
Reads a window (chunk) of matrix data into a provided buffer.
The window is a selection of dimensions, provided by the dims
argument.
For each call, a successive window is read, where successive means iterating
over the remaining dimensions.
For example, if the input matrix has shape [time: 180][lon: 12][lat: 36][alt: 601]
,
then specifying dims = [0, 3]
means that we get time-altitude windows, the first
window corresponding to lon = 0, lat = 0
, the second window corresponding to
lon = 0, lat = 1
, the 37th window corresponding to lon = 1, lat = 0
, etc.
Note: Calls must not be mixed with calls to readFloat2D
or readDouble1D
!
Also in repeated calls, dims
must not be changed.
array of dimension indices which form the window.
the buffer to read into. This must
have at least a size of off + len
.
the offset into buf
The number of elements in the underlying matrix (section).
A reader is a two dimensional view of the matrix, where time proceeds along the streaming dimension used when calling
getKey
. The streaming dimension is reflected by the number of frames.The reader is stateful and remembers the number of frames read (current position). When created, the reader's position is zero. If one tries to read more than
numFrames
frames, an exception will be thrown.