kenjutsu.kenjutsu module

Warning

The module kenjutsu.kenjutsu is deprecated. Please use kenjutsu.core instead.

kenjutsu.kenjutsu.len_slice(a_slice, a_length=None)[source]

Determines how many elements a slice will contain.

Warning

This function is deprecated. Please use kenjutsu.core.len_slice instead.

Raises:
  • UnknownSliceLengthException – Will raise an exception if
  • a_slice.stop and a_length is None.
Parameters:
  • a_slice (slice) – a slice to reformat.
  • a_length (int) – a length to fill for stopping if not provided.
Returns:

a new slice with as many values filled in as

possible.

Return type:

(slice)

Examples

>>> len_slice(slice(2, None), 10)
8
>>> len_slice(slice(2, 6))
4
kenjutsu.kenjutsu.len_slices(slices, lengths=None)[source]

Takes a tuple of slices and reformats them to fill in as many undefined values as possible.

Warning

This function is deprecated. Please use kenjutsu.core.len_slices instead.

Parameters:
  • slices (tuple(slice)) – a tuple of slices to reformat.
  • lengths (tuple(int)) – a tuple of lengths to fill.
Returns:

a tuple of slices with all default

values filled if possible.

Return type:

(slice)

Examples

>>> len_slices(
...     (
...         slice(None),
...         slice(3, None),
...         slice(None, 5),
...         slice(None, None, 2)
...     ),
...     (10, 13, 15, 20)
... )
(10, 10, 5, 10)
kenjutsu.kenjutsu.reformat_slice(a_slice, a_length=None)[source]

Takes a slice and reformats it to fill in as many undefined values as possible.

Warning

This function is deprecated. Please use kenjutsu.core.reformat_slice instead.

Parameters:
  • a_slice (slice) – a slice to reformat.
  • a_length (int) – a length to fill for stopping if not provided.
Returns:

a new slice with as many values filled in as

possible.

Return type:

(slice)

Examples

>>> reformat_slice(slice(2, -1, None))
slice(2, -1, 1)
>>> reformat_slice(slice(2, -1, None), 10)
slice(2, 9, 1)
kenjutsu.kenjutsu.reformat_slices(slices, lengths=None)[source]

Takes a tuple of slices and reformats them to fill in as many undefined values as possible.

Warning

This function is deprecated. Please use kenjutsu.core.reformat_slices instead.

Parameters:
  • slices (tuple(slice)) – a tuple of slices to reformat.
  • lengths (tuple(int)) – a tuple of lengths to fill.
Returns:

a tuple of slices with all default

values filled if possible.

Return type:

(slice)

Examples

>>> reformat_slices(
...     (
...         slice(None),
...         slice(3, None),
...         slice(None, 5),
...         slice(None, None, 2)
...     ),
...     (10, 13, 15, 20)
... )
(slice(0, 10, 1), slice(3, 13, 1), slice(0, 5, 1), slice(0, 20, 2))
kenjutsu.kenjutsu.split_blocks(space_shape, block_shape, block_halo=None)[source]

Return a list of slicings to cut each block out of an array or other.

Takes an array with space_shape and block_shape for every dimension and a block_halo to extend each block on each side. From this, it can compute slicings to use for cutting each block out from the original array, HDF5 dataset or other.

Warning

This function is deprecated. Please use kenjutsu.core.split_blocks instead.

Note

Blocks on the boundary that cannot extend the full range will be truncated to the largest block that will fit. This will raise a warning, which can be converted to an exception, if needed.

Parameters:
  • space_shape (tuple) – Shape of array to slice
  • block_shape (tuple) – Size of each block to take
  • block_halo (tuple) – Halo to tack on to each block
Returns:

Provides tuples of slices for retrieving blocks.

Return type:

collections.Sequence of tuples of slices

Examples

>>> split_blocks(
...     (2, 3,), (1, 1,), (1, 1,)
... )  
([(slice(0, 1, 1), slice(0, 1, 1)),
  (slice(0, 1, 1), slice(1, 2, 1)),
  (slice(0, 1, 1), slice(2, 3, 1)),
  (slice(1, 2, 1), slice(0, 1, 1)),
  (slice(1, 2, 1), slice(1, 2, 1)),
  (slice(1, 2, 1), slice(2, 3, 1))],

 [(slice(0, 2, 1), slice(0, 2, 1)),
  (slice(0, 2, 1), slice(0, 3, 1)),
  (slice(0, 2, 1), slice(1, 3, 1)),
  (slice(0, 2, 1), slice(0, 2, 1)),
  (slice(0, 2, 1), slice(0, 3, 1)),
  (slice(0, 2, 1), slice(1, 3, 1))],

 [(slice(0, 1, 1), slice(0, 1, 1)),
  (slice(0, 1, 1), slice(1, 2, 1)),
  (slice(0, 1, 1), slice(1, 2, 1)),
  (slice(1, 2, 1), slice(0, 1, 1)),
  (slice(1, 2, 1), slice(1, 2, 1)),
  (slice(1, 2, 1), slice(1, 2, 1))])