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_arraysay) where non-positive elements of thenum_slices_per_axissequence have been replaced with positive integer values such thatnumpy.product(return_array) == num_slicesand: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_arrayhas 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. IfNonedefaults tonumpy.array([numpy.inf,]*len(num_slices_per_axis)).
Return type: Returns: An array
return_arraysuch 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