vocalpy.validators.validators.is_valid_boundaries_array#
- vocalpy.validators.validators.is_valid_boundaries_array(y: ndarray[Any, dtype[_ScalarType_co]], name: str | None = None) bool [source]#
Validates that
y
is a valid array of boundaries found with a segmentation algorithm, e.g., onsets or offsets of segments returned byvocalpy.segment.meansquared()
.To be a valid array of boundaries,
y
must meet the following conditions: - Be a one dimensional numpy array, as validated withvocalpy.validators.is_1d_ndarray()
.Have a dtype that is a float or int, e.g.
np.float64
ornp.int32
.Have values that are all non-negative, i.e.
np.all(y >= 0.0)
Have values that are strictly increasing, i.e.
np.all(y[1:] > y[:-1])
An empty array or an array with a single value are also considered valid, as long as the dtype is correct and any value is non-negative.
- Parameters:
- y: numpy.ndarray
Array to be validated.
- name: str, optional
Name of array in calling function. Used in any error message if supplied.
- Returns:
- is_valid_boundaries_array: bool
True if
y
is valid.
Examples
>>> vocalpy.validators.is_valid_boundaries_array(np.array([1, 2, 3], dtype=np.int16)) True >>> vocalpy.validators.is_valid_boundaries_array(np.array([1.0, 2.0, 3.0], dtype=np.float32)) True >>> vocalpy.validators.is_valid_boundaries_array(np.array([], dtype=np.float32)) True >>> vocalpy.validators.is_valid_boundaries_array(np.array([1.0], dtype=np.float32)) True