Description
Already implemented features and todos:
-
ExactChunks
andExactChunksMut
aswell as theirNdProducer
impl -
RaggedChunks
or simplyChunks
aswell as theirNdProducer
impl -
Windows
-
NdProducer
impl forWindows
Implement n-dimensional windows
and chunks
iterators.
Windows-iterators are especially useful for convolutional neural networks while chunk iterations may prove useful for paralell algorithms.
N-Dimensionality for both iterators use N-dimensionally shaped items.
For example for a 1-dimensional Array the windows
and chunks
items are also 1-dimensional.
For a 2-dimensional Array the windows
and chunks
items are 2-dimensional, and so on.
For windows
iterator it could be useful to support two different kinds of windows
iterators.
One for "valid" windows only that iterate only over windows within a valid region.
For example in a valid-windows iterator over a 10x10
shaped 2d-array and window sizes of 4x4
the iterator would iterate totally over (10-4+1)x(10-4+1)
items of size 4x4
.
A full-windows iterator would also iterate over the windows with invalid elements (on the edges of the array) and would simulate missing elements with zero elements.
Semi-nice visualization of n-dimensional chunks and windows iterators.
A similar approach could be used for n-dimensional chunks that iterate beyond the array sizes and replace missing/invalid array elements with zero elements.