array_split.split.calculate_num_slices_per_axis¶
-
array_split.split.
calculate_num_slices_per_axis
(num_slices_per_axis, num_slices, max_slices_per_axis=None)[source]¶ Returns a
numpy.ndarray
(return_array
say) where non-positive elements of thenum_slices_per_axis
sequence have been replaced with positive integer values such thatnumpy.product(return_array) == num_slices
and:numpy.all( return_array[numpy.where(num_slices_per_axis <= 0)] <= max_slices_per_axis[numpy.where(num_slices_per_axis <= 0)] ) is True
Parameters: - num_slices_per_axis (sequence of
int
) – Constraint for per-axis sub-divisions. Non-positive elements indicate values to be replaced in the returned array. Positive values are identical to the corresponding element in the returned array. - num_slices (integer) – Indicates the number of slices (rectangular sub-arrays)
formed by performing sub-divisions per axis. The returned array
return_array
has elements assigned such thatnumpy.product(return_array) == num_slices
. - max_slices_per_axis (sequence of
int
(orNone
)) – Constraint specifying maximum number of per-axis sub-divisions. IfNone
defaults tonumpy.array([numpy.inf,]*len(num_slices_per_axis))
.
Return type: Returns: An array
return_array
such thatnumpy.product(return_array) == num_slices
.Examples:
>>> from array_split.split import calculate_num_slices_per_axis >>> >>> calculate_num_slices_per_axis([0, 0, 0], 16) array([4, 2, 2]) >>> calculate_num_slices_per_axis([1, 0, 0], 16) array([1, 4, 4]) >>> calculate_num_slices_per_axis([1, 0, 0], 16, [2, 2, 16]) array([1, 2, 8])
- num_slices_per_axis (sequence of