Source code for pyuff_ustb.objects.probes.curvilinear_matrix_array
import numpy as np
from pyuff_ustb.objects.probes.matrix_array import MatrixArray
from pyuff_ustb.objects.uff import compulsory_property, dependent_property
from pyuff_ustb.readers import LazyScalar
[docs]class CurvilinearMatrixArray(MatrixArray):
""":class:`Uff` class to define a curvilinear matrix array probe geometry.
:class:`CurvilinearMatrixArray` defines a array of regularly space elements on an
arc in the azimuth dimensions and linear in elevation direction. Optionally it can
hold each element width and height, assuming the elements are rectangular.
Original authors:
Anders E. Vrålstad (anders.e.vralstad@ntnu.no)
"""
# Compulsory properties
@compulsory_property
def radius_x(self) -> float:
"Radius of the curvilinear array in azimuth direction [m]"
return LazyScalar(self._reader["radius_x"])
# Dependent properties
@dependent_property
def maximum_angle(self) -> float:
"Angle of the outermost elements in the array"
return np.max(np.abs(self.theta))