stimupy.components.shapes#
Demos#
Functions#
Draw a rectangle |
|
Draw a triangle |
|
Draw a cross |
|
Draw a parallelogram |
|
Draw an ellipse |
|
Draw an ellipse |
|
Draw a wedge, i.e., segment of a disc |
|
Draw a ring (annulus) |
|
Draw a central disc |
|
Draw a ring (annulus) |
- rectangle(visual_size=None, ppd=None, shape=None, rectangle_size=None, rectangle_position=None, intensity_rectangle=1.0, intensity_background=0.0, rotation=0.0)[source]#
Draw a rectangle
- Parameters:
visual_size (Sequence[Number, Number], Number, or None (default)) – visual size [height, width] of image, in degrees visual angle
ppd (Sequence[Number, Number], Number, or None (default)) – pixels per degree [vertical, horizontal]
shape (Sequence[Number, Number], Number, or None (default)) – shape [height, width] of image, in pixels
rectangle_size (Number, Sequence[Number, Number]) – rectangle size [height, width], in degrees visual angle
rectangle_position (Number, Sequence[Number, Number], or None (default)) – position of the rectangle, in degrees visual angle. If None, rectangle will be placed in center of image.
intensity_rectangle (float, optional) – intensity value for rectangle, by default 1.0
intensity_background (float, optional) – intensity value of background, by default 0.0
rotation (float, optional) – rotation (in degrees), counterclockwise, by default 0.0 (horizontal)
- Returns:
dict with the stimulus (key: “img”), mask with integer index for the shape (key: “rectangle_mask”), and additional keys containing stimulus parameters
- Return type:
- triangle(visual_size=None, ppd=None, shape=None, triangle_size=None, intensity_triangle=1.0, intensity_background=0.0, include_corners=True, rotation=0.0)[source]#
Draw a triangle
- Parameters:
visual_size (Sequence[Number, Number], Number, or None (default)) – visual size [height, width] of image, in degrees visual angle
ppd (Sequence[Number, Number], Number, or None (default)) – pixels per degree [vertical, horizontal]
shape (Sequence[Number, Number], Number, or None (default)) – shape [height, width] of image, in pixels
triangle_size (Number, Sequence[Number, Number]) – triangle size [height width], in degrees visual angle
intensity_triangle (float, optional) – intensity value for triangle, by default 1.0
intensity_background (float, optional) – intensity value of background, by default 0.0
rotation (float, optional) – rotation (in degrees), counterclockwise, by default 0.0
- Returns:
dict with the stimulus (key: “img”), mask with integer index for the shape (key: “triangle_mask”), and additional keys containing stimulus parameters
- Return type:
- cross(visual_size=None, ppd=None, shape=None, cross_size=None, cross_thickness=None, cross_arm_ratios=(1.0, 1.0), intensity_cross=1.0, intensity_background=0.0, rotation=0.0)[source]#
Draw a cross
- Parameters:
visual_size (Sequence[Number, Number], Number, or None (default)) – visual size [height, width] of image, in degrees visual angle
ppd (Sequence[Number, Number], Number, or None (default)) – pixels per degree [vertical, horizontal]
shape (Sequence[Number, Number], Number, or None (default)) – shape [height, width] of image, in pixels
cross_size (Number, Sequence[Number, Number]) – cross size [height, width], in degrees visual angle
cross_thickness (Number, Sequence[Number, Number]) – thickness of cross in degrees visual angle
cross_arm_ratios (float or (float, float)) – ratio used to create arms (up-down, left-right)
intensity_cross (float, optional) – intensity value for cross, by default 1.0
intensity_background (float, optional) – intensity value of background, by default 0.0
rotation (float, optional) – rotation (in degrees), counterclockwise, by default 0.0
- Returns:
dict with the stimulus (key: “img”), mask with integer index for the shape (key: “cross_mask”), and additional keys containing stimulus parameters
- Return type:
- parallelogram(visual_size=None, ppd=None, shape=None, parallelogram_size=None, intensity_parallelogram=1.0, intensity_background=0.0, rotation=0.0)[source]#
Draw a parallelogram
- Parameters:
visual_size (Sequence[Number, Number], Number, or None (default)) – visual size [height, width] of image, in degrees visual angle
ppd (Sequence[Number, Number], Number, or None (default)) – pixels per degree [vertical, horizontal]
shape (Sequence[Number, Number], Number, or None (default)) – shape [height, width] of image, in pixels
parallelogram_size ([Number, Number, Number], [Number, Number], Number or None (default)) – parallelogram size [height, width, depth], in degrees visual angle
intensity_parallelogram (float, optional) – intensity value for parallelogram, by default 1.0
intensity_background (float, optional) – intensity value of background, by default 0.0
rotation (float, optional) – rotation (in degrees), counterclockwise, by default 0.0
- Returns:
dict with the stimulus (key: “img”), mask with integer index for the shape (key: “parallelogram_mask”), and additional keys containing stimulus parameters
- Return type:
- ellipse(visual_size=None, ppd=None, shape=None, radius=None, intensity_ellipse=1.0, intensity_background=0.0, rotation=0.0, origin='mean', restrict_size=True)[source]#
Draw an ellipse
- Parameters:
visual_size (Sequence[Number, Number], Number, or None (default)) – visual size [height, width] of image, in degrees visual angle
ppd (Sequence[Number, Number], Number, or None (default)) – pixels per degree [vertical, horizontal]
shape (Sequence[Number, Number], Number, or None (default)) – shape [height, width] of image, in pixels
radius (Sequence[Number, Number], Number or None (default)) – ellipse radius [ry, rx] in degrees visual angle
intensity_ellipse (float, optional) – intensity value for ellipse, by default 1.0
intensity_background (float, optional) – intensity value of background, by default 0.0
rotation (float, optional) – rotation (in degrees), counterclockwise, by default 0.0
origin ("corner", "mean" or "center") – if “corner”: set origin to upper left corner if “mean”: set origin to hypothetical image center (default) if “center”: set origin to real center (closest existing value to mean)
restrict_size (Bool) – if False, allow ellipse to reach beyond image size (default: True)
- Returns:
dict with the stimulus (key: “img”), mask with integer index for the shape (key: “ellipse_mask”), and additional keys containing stimulus parameters
- Return type:
- circle(visual_size=None, ppd=None, shape=None, radius=None, intensity_circle=1.0, intensity_background=0.0, origin='mean', restrict_size=True)[source]#
Draw an ellipse
- Parameters:
visual_size (Sequence[Number, Number], Number, or None (default)) – visual size [height, width] of image, in degrees visual angle
ppd (Sequence[Number, Number], Number, or None (default)) – pixels per degree [vertical, horizontal]
shape (Sequence[Number, Number], Number, or None (default)) – shape [height, width] of image, in pixels
radius (Number or None (default)) – circle radius in degrees visual angle
intensity_circle (float, optional) – intensity value for circle, by default 1.0
intensity_background (float, optional) – intensity value of background, by default 0.0
origin ("corner", "mean" or "center") – if “corner”: set origin to upper left corner if “mean”: set origin to hypothetical image center (default) if “center”: set origin to real center (closest existing value to mean)
restrict_size (Bool) – if False, allow circle to reach beyond image size (default: True)
- Returns:
dict with the stimulus (key: “img”), mask with integer index for the shape (key: “circle_mask”), and additional keys containing stimulus parameters
- Return type:
- wedge(visual_size=None, ppd=None, shape=None, angle=None, radius=None, rotation=0.0, inner_radius=0.0, intensity_wedge=1.0, intensity_background=0.0, origin='mean')[source]#
Draw a wedge, i.e., segment of a disc
- Parameters:
visual_size (Sequence[Number, Number], Number, or None (default)) – visual size [height, width] of image, in degrees
ppd (Sequence[Number, Number], Number, or None (default)) – pixels per degree [vertical, horizontal]
shape (Sequence[Number, Number], Number, or None (default)) – shape [height, width] of image, in pixels
angle (float) – angular-width (in degrees) of segment
radius (float) – radius of disc, in degrees visual angle
rotation (float, optional) – rotation (in degrees) from 3 o’clock, counterclockwise, by default 0.0
inner_radius (float, optional) – inner radius (in degrees visual angle), to turn disc into a ring, by default 0
intensity_wedge (float, optional) – intensity value of wedge, by default 1.0
intensity_background (float, optional) – intensity value of background, by default 0.0
origin ("corner", "mean" or "center") – if “corner”: set origin to upper left corner if “mean”: set origin to hypothetical image center (default) if “center”: set origin to real center (closest existing value to mean)
- Returns:
dict with the stimulus (key: “img”), mask with integer index for each segment (key: “wedge_mask”), and additional keys containing stimulus parameters
- Return type:
- annulus(visual_size=None, ppd=None, shape=None, radii=None, intensity_ring=1.0, intensity_background=0.0, origin='mean')#
Draw a ring (annulus)
- Parameters:
visual_size (Sequence[Number, Number], Number, or None (default)) – visual size [height, width] of image, in degrees
ppd (Sequence[Number, Number], Number, or None (default)) – pixels per degree [vertical, horizontal]
shape (Sequence[Number, Number], Number, or None (default)) – shape [height, width] of image, in pixels
radii (Sequence[Number, Number]) – inner and outer radius of ring in degree visual angle
intensity_ring (Number, optional) – intensity value of ring, by default 1.0
intensity_background (float, optional) – intensity value of background, by default 0.0
origin ("corner", "mean" or "center", optional) – if “corner”: set origin to upper left corner if “mean”: set origin to hypothetical image center (default) if “center”: set origin to real center (closest existing value to mean)
- Returns:
dict with the stimulus (key: “img”), mask with integer index for each ring (key: “ring_mask”), and additional keys containing stimulus parameters
- Return type:
- Raises:
ValueError – if passed in less/more than 2 radii (inner, outer)
ValueError – if passed in less/more than 1 intensity
- disc(visual_size=None, ppd=None, shape=None, radius=None, intensity_disc=1.0, intensity_background=0.0, origin='mean')[source]#
Draw a central disc
Essentially, dics(radius) is an alias for ring(radii=[0, radius])
- Parameters:
visual_size (Sequence[Number, Number], Number, or None (default)) – visual size [height, width] of image, in degrees
ppd (Sequence[Number, Number], Number, or None (default)) – pixels per degree [vertical, horizontal]
shape (Sequence[Number, Number], Number, or None (default)) – shape [height, width] of image, in pixels
radius (Number) – outer radius of disc in degree visual angle
intensity_disc (Number, optional) – intensity value of disc, by default 1.0
intensity_background (float, optional) – intensity value of background, by default 0.0
origin ("corner", "mean" or "center", optional) – if “corner”: set origin to upper left corner if “mean”: set origin to hypothetical image center (default) if “center”: set origin to real center (closest existing value to mean)
- Returns:
dict with the stimulus (key: “img”), mask with integer index for each ring (key: “ring_mask”), and additional keys containing stimulus parameters
- Return type:
- ring(visual_size=None, ppd=None, shape=None, radii=None, intensity_ring=1.0, intensity_background=0.0, origin='mean')[source]#
Draw a ring (annulus)
- Parameters:
visual_size (Sequence[Number, Number], Number, or None (default)) – visual size [height, width] of image, in degrees
ppd (Sequence[Number, Number], Number, or None (default)) – pixels per degree [vertical, horizontal]
shape (Sequence[Number, Number], Number, or None (default)) – shape [height, width] of image, in pixels
radii (Sequence[Number, Number]) – inner and outer radius of ring in degree visual angle
intensity_ring (Number, optional) – intensity value of ring, by default 1.0
intensity_background (float, optional) – intensity value of background, by default 0.0
origin ("corner", "mean" or "center", optional) – if “corner”: set origin to upper left corner if “mean”: set origin to hypothetical image center (default) if “center”: set origin to real center (closest existing value to mean)
- Returns:
dict with the stimulus (key: “img”), mask with integer index for each ring (key: “ring_mask”), and additional keys containing stimulus parameters
- Return type:
- Raises:
ValueError – if passed in less/more than 2 radii (inner, outer)
ValueError – if passed in less/more than 1 intensity