imgaug.augmentables.utils

Utility functions used in augmentable modules.

imgaug.augmentables.utils.convert_cbaois_to_kpsois(cbaois)[source]

Convert coordinate-based augmentables to KeypointsOnImage instances.

Added in 0.4.0.

Parameters:

cbaois (list of imgaug.augmentables.bbs.BoundingBoxesOnImage or list of imgaug.augmentables.bbs.PolygonsOnImage or list of imgaug.augmentables.bbs.LineStringsOnImage or imgaug.augmentables.bbs.BoundingBoxesOnImage or imgaug.augmentables.bbs.PolygonsOnImage or imgaug.augmentables.bbs.LineStringsOnImage) – Coordinate-based augmentables to convert, e.g. bounding boxes.

Returns:

KeypointsOnImage instances containing the coordinates of input cbaois.

Return type:

list of imgaug.augmentables.kps.KeypointsOnImage or imgaug.augmentables.kps.KeypointsOnImage

imgaug.augmentables.utils.copy_augmentables(augmentables)[source]
imgaug.augmentables.utils.deepcopy_fast(obj)[source]
imgaug.augmentables.utils.interpolate_point_pair(point_a, point_b, nb_steps)[source]

Interpolate N points on a line segment.

Parameters:
  • point_a (iterable of number) – Start point of the line segment, given as (x,y) coordinates.

  • point_b (iterable of number) – End point of the line segment, given as (x,y) coordinates.

  • nb_steps (int) – Number of points to interpolate between point_a and point_b.

Returns:

The interpolated points. Does not include point_a.

Return type:

list of tuple of number

imgaug.augmentables.utils.interpolate_points(points, nb_steps, closed=True)[source]

Interpolate N on each line segment in a line string.

Parameters:
  • points (iterable of iterable of number) – Points on the line segments, each one given as (x,y) coordinates. They are assumed to form one connected line string.

  • nb_steps (int) – Number of points to interpolate on each individual line string.

  • closed (bool, optional) – If True the output contains the last point in points. Otherwise it does not (but it will contain the interpolated points leading to the last point).

Returns:

Coordinates of points, with additional nb_steps new points interpolated between each point pair. If closed is False, the last point in points is not returned.

Return type:

list of tuple of number

imgaug.augmentables.utils.interpolate_points_by_max_distance(points, max_distance, closed=True)[source]

Interpolate points with distance d on a line string.

For a list of points A, B, C, if the distance between A and B is greater than max_distance, it will place at least one point between A and B at A + max_distance * (B - A). Multiple points can be placed between the two points if they are far enough away from each other. The process is repeated for B and C.

Parameters:
  • points (iterable of iterable of number) – Points on the line segments, each one given as (x,y) coordinates. They are assumed to form one connected line string.

  • max_distance (number) – Maximum distance between any two points in the result.

  • closed (bool, optional) – If True the output contains the last point in points. Otherwise it does not (but it will contain the interpolated points leading to the last point).

Returns:

Coordinates of points, with interpolated points added to the iterable. If closed is False, the last point in points is not returned.

Return type:

list of tuple of number

imgaug.augmentables.utils.invert_convert_cbaois_to_kpsois_(cbaois, kpsois)[source]

Invert the output of convert_to_cbaois_to_kpsois() in-place.

This function writes in-place into cbaois.

Added in 0.4.0.

Parameters:
  • cbaois (list of imgaug.augmentables.bbs.BoundingBoxesOnImage or list of imgaug.augmentables.bbs.PolygonsOnImage or list of imgaug.augmentables.bbs.LineStringsOnImage or imgaug.augmentables.bbs.BoundingBoxesOnImage or imgaug.augmentables.bbs.PolygonsOnImage or imgaug.augmentables.bbs.LineStringsOnImage) – Original coordinate-based augmentables before they were converted, i.e. the same inputs as provided to convert_to_kpsois().

  • kpsois (list of imgaug.augmentables.kps.KeypointsOnImages or imgaug.augmentables.kps.KeypointsOnImages) – Keypoints to convert back to the types of cbaois, i.e. the outputs of convert_cbaois_to_kpsois().

Returns:

Parameter cbaois, with updated coordinates and shapes derived from kpsois. cbaois is modified in-place.

Return type:

list of imgaug.augmentables.bbs.BoundingBoxesOnImage or list of imgaug.augmentables.bbs.PolygonsOnImage or list of imgaug.augmentables.bbs.LineStringsOnImage or imgaug.augmentables.bbs.BoundingBoxesOnImage or imgaug.augmentables.bbs.PolygonsOnImage or imgaug.augmentables.bbs.LineStringsOnImage

imgaug.augmentables.utils.normalize_imglike_shape(shape)[source]

Normalize a shape tuple or image-like array to a shape tuple.

Added in 0.5.0.

Parameters:

shape (tuple of int or ndarray) – The input to normalize. May optionally be an array. If it is an array, it must be 2-dimensional (height, width) or 3-dimensional (height, width, channels). Otherwise an error will be raised.

Returns:

Shape tuple.

Return type:

tuple of int

imgaug.augmentables.utils.normalize_shape(shape)[source]

Normalize a shape tuple or array to a shape tuple.

Parameters:

shape (tuple of int or ndarray) – The input to normalize. May optionally be an array.

Returns:

Shape tuple.

Return type:

tuple of int

imgaug.augmentables.utils.project_coords(coords, from_shape, to_shape)[source]

Project coordinates from one image shape to another.

This performs a relative projection, e.g. a point at 60% of the old image width will be at 60% of the new image width after projection.

Parameters:
  • coords (ndarray or list of tuple of number) – Coordinates to project. Either an (N,2) numpy array or a list containing (x,y) coordinate tuple s.

  • from_shape (tuple of int or ndarray) – Old image shape.

  • to_shape (tuple of int or ndarray) – New image shape.

Returns:

Projected coordinates as (N,2) float32 numpy array.

Return type:

ndarray

imgaug.augmentables.utils.project_coords_(coords, from_shape, to_shape)[source]

Project coordinates from one image shape to another in-place.

This performs a relative projection, e.g. a point at 60% of the old image width will be at 60% of the new image width after projection.

Added in 0.4.0.

Parameters:
  • coords (ndarray or list of tuple of number) – Coordinates to project. Either an (N,2) numpy array or a list containing (x,y) coordinate tuple s.

  • from_shape (tuple of int or ndarray) – Old image shape.

  • to_shape (tuple of int or ndarray) – New image shape.

Returns:

Projected coordinates as (N,2) float32 numpy array. This function may change the input data in-place.

Return type:

ndarray