Shapes¶
Shapes¶
- deepbench.shapes.Shapes¶
alias of
ShapeGenerator
- class deepbench.shapes.shape_generator.ShapeGenerator(image_shape=(28, 28))¶
- Parameters:
image_shape (tuple)
- create_arc(center=(14, 13), radius=8.681374925954255, theta1=7.612387191902298, theta2=99.88483443456671, line_width=1)¶
Create an arc with radius “radius” arcing from theta1 to theta2 counter-clockwise
- Parameters:
center (tuple, optional) – Center point of the arc. Defaults to (np.random.randint(10, 16), np.random.randint(10, 16)).
radius (Union[int, float], optional) – distance from the arc to the center point. Defaults to np.random.random(8, 12).
theta1 (Union[int, float], optional) – starting point of the arc (degrees). Defaults to np.random.random(0, 45).
theta2 (Union[int, float], optional) – ending point of the arc (degrees). Defaults to np.random.random(85, 120).
line_width (int, optional) – thickness of the arc (pixels) Defaults to 1.
- Returns:
The arc image
- Return type:
np.ndarray
- create_ellipse(center=(14, 15), width=13, height=13, angle=0, line_width=1, fill=False)¶
Create an ellipse/circle (where width/height are the same)
- Parameters:
center (tuple, optional) – Center point of the ellipse. Defaults to (np.random.randint(10, 16), np.random.randint(10, 16)).
width (int, optional) – Horizontal length of the ellipse (pixels). Defaults to np.random.randint(10, 16).
height (int, optional) – Vertical height of the ellipse (pixels). Defaults to np.random.randint(10, 16).
angle (Union[float, int], optional) – Rotation angle of the ellipse (degrees). Defaults to 0.
line_width (int, optional) – Width of the ellipse’s border (pixels). Defaults to 1.
fill (bool, optional) – Fill the center of the ellipse. Defaults to False.
- Returns:
np.ndarray
- create_empty_shape()¶
Create an array of 0s with shape self.image_shape
- Returns:
np.ndarray
- create_line(start=(4, 9), end=(23, 17), line_width=1)¶
Generate a numpy array of a line
- Parameters:
start (tuple, optional) – Starting corner of the line. Defaults to (np.random.randint(0, 10), np.random.randint(0, 10)).
end (tuple, optional) – Ending corner of the line. Defaults to (np.random.randint(12, 28), np.random.randint(12, 28)).
line_width (int, optional) – Thickness of the line (pixels). Defaults to 1.
- Returns:
np.ndarray
- create_rectangle(center=(13, 15), width=10, height=13, angle=0, line_width=1, fill=False)¶
Make a rectangle.
- Parameters:
center (tuple(*int), optional) – Center of the rectangle (coordinate). Defaults to (14, 14).
width (int, optional) – Horizontal width of the rectangle (in pixels). Defaults to random int.
height (int, optional) – Vertical height of the rectangle (in pixels). Defaults to random int.
angle (Union[float, int], optional) – tilt the rectangle (degrees). Defaults to 0.
line_width (int, optional) – line width of the outline. Defaults to 1.
fill (bool, optional) – Fill in the rectangle. Defaults to False.
- Returns:
A Rectangle image
- Return type:
np.ndarray
- create_regular_polygon(center=(13, 14), angle=70.07108210290104, vertices=3, radius=8.33859080489697, line_width=1, fill=False)¶
Create a polygon with equal length sides
- Parameters:
center (tuple[*int], optional) – Where to center the object.
angle (Union[int, float], optional) – Angle of rotation (degrees)
vertices (int, optional) – Number of verticies. Defaults to 3, a triangle.
radius (int, optional) – distance from vertex to vertex Defaults to 10.
line_width (int, optional) – line width of the outline. Defaults to 1.
fill (bool, optional) – Fill in the rectangle. Defaults to False.
- Returns:
A polygon image
- Return type:
np.ndarray
- resize(image, resize_dimensions=(28, 28))¶
Resize an array-like
- Parameters:
image (np.ndarray) – shape to resize
resize_dimensions (tuple, optional) – resize to shape. Defaults to (28, 28).
- Raises:
ValueError – invalid size, either too small (0,0) or having the number of incorrect dimensions
- Returns:
array of size (resize_dimensions)
- Return type:
np.ndarray