SOFUS ..
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
ApertureData< T > Class Template Reference

ApertureData structure. More...

#include <fnm_data.hpp>

Inheritance diagram for ApertureData< T >:
Inheritance graph
[legend]
Collaboration diagram for ApertureData< T >:
Collaboration graph
[legend]

Public Types

typedef sps::unique_aligned_multi_array< sps::element_rect_t< T >, 2U > element_array
 
template<typename U >
using unique_aligned_array = sps::unique_aligned_array< U >
 

Public Member Functions

 ApertureData ()
 Ctor. More...
 
void ElementsSet (element_array &&elements, const size_t &nRows, const size_t &nCols)
 
int Rotate (const sps::point_t< T > &reference, const sps::euler_t< T > &euler)
 
int ApodizationSet (sps::unique_aligned_array< T > &&apodization, const size_t nElements)
 
int ApodizationSet (const sps::point_t< T > &direction, const T &depth, const ApodizationType &type)
 
int ElementsRefGet (size_t *nElements, size_t *nSubElements, const sps::element_rect_t< T > **&elements) const
 
int ApodizationsRefGet (size_t *nElements, const T *&apodizations) const
 
int DelaysRefGet (size_t *nElements, const T *&delays) const
 
void ElementExtentGet (const size_t iElement, sps::bbox_t< T > *pBox) const
 
void ExtentGet (sps::bbox_t< T > *pBbox) const
 
AreaGet () const
 
 ~ApertureData ()
 

Public Attributes

size_t m_nelements
 Number of elements. More...
 
size_t m_nsubelements
 Number of sub-elements per element. More...
 
size_t m_npos
 Number of positions, equals number of elements. More...
 
element_array m_elements
 Elements (nElements x nSubElements) More...
 
unique_aligned_array< sps::point_t< T > > m_pos
 Focus positions. More...
 
unique_aligned_array< T > m_sensitivities
 Apodization values (sensitivity) More...
 
unique_aligned_array< T > m_phases
 Phases, range is (-pi;pi]. More...
 
unique_aligned_array< T > m_delays
 Delays. More...
 
m_f0
 Center frequency (nominal frequency) More...
 
sps::point_t< T > m_focus
 Focus point. More...
 
sps::point_t< T > m_focus2
 Focus point. More...
 
sps::point_t< T > m_center_focus
 Center Focus point. More...
 
int m_focus_type
 Focusing Type, Rayleigh, Pythagorean or Delays (fixed) More...
 
int m_apodization_type
 Apodization Type, Parametric, Hamming or Gaussian. More...
 
m_fnumber
 F-number. More...
 
unique_aligned_array< sps::rect_t< T > > m_rectangles
 Rectangles. More...
 
unique_aligned_array< sps::bbox_t< T > > m_boxes
 Boxes encapsulating sub-elements for each element. More...
 
m_h_xyz [3]
 Maximum half width or height (used for far field memory allocation) More...
 
int m_focus_valid
 Validity of focus, if equal m_focus_type, phases are valid. More...
 
size_t m_id
 Unique identifier. More...
 
sofus::AperturePulses< T > * m_pulses
 

Static Public Attributes

static size_t nextID
 Next unique identifier to use. More...
 

Detailed Description

template<class T>
class fnm::ApertureData< T >

ApertureData structure.

A struct containing data of the aperture

Template Parameters
Tfloating point type

Member Typedef Documentation

◆ element_array

typedef sps::unique_aligned_multi_array<sps::element_rect_t<T>, 2U> element_array

◆ unique_aligned_array

using unique_aligned_array = sps::unique_aligned_array<U>

Constructor & Destructor Documentation

◆ ApertureData()

Ctor.

◆ ~ApertureData()

Dtor

Returns

Member Function Documentation

◆ ApodizationSet() [1/2]

int ApodizationSet ( const sps::point_t< T > &  direction,
const T &  depth,
const ApodizationType type 
)

◆ ApodizationSet() [2/2]

int ApodizationSet ( sps::unique_aligned_array< T > &&  apodization,
const size_t  nElements 
)

◆ ApodizationsRefGet()

int ApodizationsRefGet ( size_t *  nElements,
const T *&  apodizations 
) const

Get reference to apodizations

Parameters
nElements
apodizationspointer to const apodizations
Returns

◆ AreaGet()

T AreaGet ( ) const

Total acoustic area

Returns
total area of elements

◆ DelaysRefGet()

int DelaysRefGet ( size_t *  nElements,
const T *&  delays 
) const
Parameters
nElements
delays
Returns

◆ ElementExtentGet()

void ElementExtentGet ( const size_t  iElement,
sps::bbox_t< T > *  pBox 
) const

ElementExtentGet

Parameters
iElement
bboxBounding box enclosing sub-elements for the i'th element

◆ ElementsRefGet()

int ElementsRefGet ( size_t *  nElements,
size_t *  nSubElements,
const sps::element_rect_t< T > **&  elements 
) const

Get reference to (sub)-elements

Parameters
nElements
nSubElements
elementsdouble-pointer to const elements
Returns

◆ ElementsSet()

void ElementsSet ( element_array &&  elements,
const size_t &  nRows,
const size_t &  nCols 
)

Set elements. Data are moved

Parameters
elements
nRows
nCols

◆ ExtentGet()

void ExtentGet ( sps::bbox_t< T > *  pBbox) const

Return extent of aperture in directions: x, y, and z

Parameters
pBbox[out]Bounding box enclosing aperture

◆ Rotate()

int Rotate ( const sps::point_t< T > &  reference,
const sps::euler_t< T > &  euler 
)

Member Data Documentation

◆ m_apodization_type

int m_apodization_type

Apodization Type, Parametric, Hamming or Gaussian.

◆ m_boxes

Boxes encapsulating sub-elements for each element.

◆ m_center_focus

sps::point_t<T> m_center_focus

Center Focus point.

◆ m_delays

unique_aligned_array<T> m_delays

Delays.

◆ m_elements

element_array m_elements

Elements (nElements x nSubElements)

◆ m_f0

T m_f0

Center frequency (nominal frequency)

◆ m_fnumber

T m_fnumber

F-number.

◆ m_focus

sps::point_t<T> m_focus

Focus point.

◆ m_focus2

sps::point_t<T> m_focus2

Focus point.

◆ m_focus_type

int m_focus_type

Focusing Type, Rayleigh, Pythagorean or Delays (fixed)

◆ m_focus_valid

int m_focus_valid

Validity of focus, if equal m_focus_type, phases are valid.

◆ m_h_xyz

T m_h_xyz[3]

Maximum half width or height (used for far field memory allocation)

◆ m_id

size_t m_id

Unique identifier.

◆ m_nelements

size_t m_nelements

Number of elements.

◆ m_npos

size_t m_npos

Number of positions, equals number of elements.

◆ m_nsubelements

size_t m_nsubelements

Number of sub-elements per element.

◆ m_phases

unique_aligned_array<T> m_phases

Phases, range is (-pi;pi].

◆ m_pos

Focus positions.

◆ m_pulses

sofus::AperturePulses<T>* m_pulses

◆ m_rectangles

unique_aligned_array<sps::rect_t<T> > m_rectangles

Rectangles.

◆ m_sensitivities

unique_aligned_array<T> m_sensitivities

Apodization values (sensitivity)

◆ nextID

size_t nextID
static

Next unique identifier to use.


The documentation for this class was generated from the following files: