locan.data.region.AxisOrientedHypercuboid#

class locan.data.region.AxisOrientedHypercuboid(corner=(0, 0, 0), lengths=(1, 1, 1))[source]#

Bases: RegionND

Region class to define an axis-oriented n-dimensional hypercuboid.

This is a n-dimensional convex region with rectangular faces and edges that are parallel to coordinate axes. Extension in x-, y-, z-coordinates correspond to length, width, height.

Parameters:
  • corner (npt.ArrayLike) – A point with shape (dimension,) that defines the lower left corner.

  • lengths (npt.ArrayLike) – Array of shape(dimension,) of length values for the 1-dimensional edge vectors.

Methods

__init__([corner, lengths])

buffer(distance, **kwargs)

Extend the region perpendicular by a distance.

contains(points)

Return list of indices for all points that are inside the region of interest.

from_intervals(intervals)

Constructor for instantiating Region from list of (min, max) bounds.

intersection(other)

Returns a region representing the intersection of this region with other.

symmetric_difference(other)

Returns the union of the two regions minus any areas contained in the intersection of the two regions.

union(other)

Returns a region representing the union of this region with other.

Attributes

bounding_box

A region describing the minimum axis-aligned bounding box that encloses the original region.

bounds

Region bounds min_x, min_y, ..., max_x, max_y, .

centroid

Point coordinates for region centroid.

corner

A point that defines the lower left corner.

dimension

The region dimension.

extent

The extent (max_x - min_x), (max_y - min_y), .

intervals

Provide bounds in a tuple (min, max) arrangement.

lengths

Array of length values for the 1-dimensional edge vectors.

max_distance

The maximum distance between any two points within the region.

points

Point coordinates.

region_measure

Region measure, i.e. area (for 2d) or volume (for 3d).

subregion_measure

Measure of the sub-dimensional region, i.e. circumference (for 2d) or surface (for 3d).

property bounding_box: Self#

A region describing the minimum axis-aligned bounding box that encloses the original region.

Return type:

Region

property bounds: ndarray[Any, dtype[float64]]#

Region bounds min_x, min_y, …, max_x, max_y, … for each dimension.

Returns:

of shape (2 * dimension,)

Return type:

npt.NDArray[np.float64] | None

buffer(distance, **kwargs)[source]#

Extend the region perpendicular by a distance.

Parameters:

distance (float) – Distance by which the region is extended.

Returns:

The extended region.

Return type:

Region

property centroid: ndarray[Any, dtype[float64]]#

Point coordinates for region centroid.

Returns:

of shape (dimension,)

Return type:

npt.NDArray[np.float64] | None

contains(points)[source]#

Return list of indices for all points that are inside the region of interest.

Parameters:

points (Union[_SupportsArray[dtype[Any]], _NestedSequence[_SupportsArray[dtype[Any]]], bool, int, float, complex, str, bytes, _NestedSequence[Union[bool, int, float, complex, str, bytes]]]) – Coordinates of points that are tested for being inside the specified region.

Returns:

Array with indices for all points in original point array that are within the region.

Return type:

npt.NDArray[np.int64]

property corner: ndarray[Any, dtype[float64]]#

A point that defines the lower left corner.

Returns:

with shape (dimension,)

Return type:

npt.NDArray[np.float64]

property dimension: int#

The region dimension.

Return type:

int | None

property extent: ndarray[Any, dtype[float64]]#

The extent (max_x - min_x), (max_y - min_y), … for each dimension.

Returns:

of shape (dimension,)

Return type:

npt.NDArray[np.float64] | None

classmethod from_intervals(intervals)[source]#

Constructor for instantiating Region from list of (min, max) bounds.

Parameters:

intervals (npt.ArrayLike) – The region bounds for each dimension of shape (dimension, 2)

Return type:

AxisOrientedHypercuboid

property intervals: ndarray[Any, dtype[float64]]#

Provide bounds in a tuple (min, max) arrangement.

Returns:

((min_x, max_x), …) of shape(dimension, 2).

Return type:

tuple[tuple[float, float], …]

property lengths: ndarray[Any, dtype[float64]]#

Array of length values for the 1-dimensional edge vectors.

Returns:

of shape(dimension,)

Return type:

npt.NDArray[np.float64]

property max_distance: float#

The maximum distance between any two points within the region.

Return type:

float

property points: ndarray[Any, dtype[float64]]#

Point coordinates.

Returns:

of shape (n_points, dimension)

Return type:

npt.NDArray[np.float64] | list[npt.NDArray[np.float64]]

property region_measure: float#

Region measure, i.e. area (for 2d) or volume (for 3d).

Return type:

float

property subregion_measure: float#

Measure of the sub-dimensional region, i.e. circumference (for 2d) or surface (for 3d).

Return type:

float