pyroomacoustics.experimental.point_cloud module¶
Point Clouds¶
Contains PointCloud class.
Given a number of points and their relative distances, this class aims at reconstructing their relative coordinates.
-
class
pyroomacoustics.experimental.point_cloud.
PointCloud
(m=1, dim=3, diameter=0.0, X=None, labels=None, EDM=None)¶ -
EDM
()¶ Computes the EDM corresponding to the marker set
-
align
(marker, axis)¶ Rotate the marker set around the given axis until it is aligned onto the given marker
Parameters: - marker (int or str) – the index or label of the marker onto which to align the set
- axis (int) – the axis around which the rotation happens
-
center
(marker)¶ Translate the marker set so that the argument is the origin.
-
classical_mds
(D)¶ Classical multidimensional scaling
Parameters: D (square 2D ndarray) – Euclidean Distance Matrix (matrix containing squared distances between points
-
copy
()¶ Return a deep copy of this marker set object
-
correct
(corr_dic)¶ correct a marker location by a given vector
-
doa
(receiver, source)¶ Computes the direction of arrival wrt a source and receiver
-
flatten
(ind)¶ Transform the set of points so that the subset of markers given as argument is as close as flat (wrt z-axis) as possible.
Parameters: ind (list of bools) – Lists of marker indices that should be all in the same subspace
-
fromEDM
(D, labels=None, method='mds')¶ Compute the position of markers from their Euclidean Distance Matrix
Parameters: - D (square 2D ndarray) – Euclidean Distance Matrix (matrix containing squared distances between points
- labels (list, optional) – A list of human friendly labels for the markers (e.g. ‘east’, ‘west’, etc)
- method (str, optional) – The method to use * ‘mds’ for multidimensional scaling (default) * ‘tri’ for trilateration
-
key2ind
(ref)¶ Get the index location from a label
-
normalize
(refs=None)¶ Reposition points such that x0 is at origin, x1 lies on c-axis and x2 lies above x-axis, keeping the relative position to each other. The z-axis is defined according to right hand rule by default.
Parameters: - refs (list of 3 ints or str) – The index or label of three markers used to define (origin, x-axis, y-axis)
- left_hand (bool, optional (default False)) – Normally the z-axis is defined using right-hand rule, this flag allows to override this behavior
-
plot
(axes=None, show_labels=True, **kwargs)¶
-
trilateration
(D)¶ Find the location of points based on their distance matrix using trilateration
Parameters: D (square 2D ndarray) – Euclidean Distance Matrix (matrix containing squared distances between points
-
trilateration_single_point
(c, Dx, Dy)¶ Given x at origin (0,0) and y at (0,c) the distances from a point at unknown location Dx, Dy to x, y, respectively, finds the position of the point.
-