DOA Utilities¶
This module contains useful functions to compute distances and errors on on circles and spheres.
- pyroomacoustics.doa.utils.cart2spher(vectors)¶
- Parameters:
vectors (array_like, shape (3, n_vectors)) – The vectors to transform
- Returns:
azimuth (numpy.ndarray, shape (n_vectors,)) – The azimuth of the vectors
colatitude (numpy.ndarray, shape (n_vectors,)) – The colatitude of the vectors
r (numpy.ndarray, shape (n_vectors,)) – The length of the vectors
- pyroomacoustics.doa.utils.circ_dist(azimuth1, azimuth2, r=1.0)¶
Returns the shortest distance between two points on a circle
- Parameters:
azimuth1 – azimuth of point 1
azimuth2 – azimuth of point 2
r (optional) – radius of the circle (Default 1)
- pyroomacoustics.doa.utils.great_circ_dist(r, colatitude1, azimuth1, colatitude2, azimuth2)¶
calculate great circle distance for points located on a sphere
- Parameters:
r (radius of the sphere)
colatitude1 (colatitude of point 1)
azimuth1 (azimuth of point 1)
colatitude2 (colatitude of point 2)
azimuth2 (azimuth of point 2)
- Returns:
great-circle distance
- Return type:
float or ndarray
- pyroomacoustics.doa.utils.polar_distance(x1, x2)¶
Given two arrays of numbers x1 and x2, pairs the cells that are the closest and provides the pairing matrix index: x1(index(1,:)) should be as close as possible to x2(index(2,:)). The function outputs the average of the absolute value of the differences abs(x1(index(1,:))-x2(index(2,:))).
- Parameters:
x1 – vector 1
x2 – vector 2
- Returns:
d – minimum distance between d
index – the permutation matrix
- pyroomacoustics.doa.utils.spher2cart(azimuth, colatitude=None, r=1, degrees=False)¶
Convert a spherical point to cartesian coordinates.
- Parameters:
azimuth – azimuth
colatitude – colatitude
r – radius
degrees – Returns values in degrees instead of radians if set to
True
- Returns:
An ndarray containing the Cartesian coordinates of the points as its columns.
- Return type:
ndarray