uff Data Classes

The uff data classes represent the Ultrasound File Format (UFF) and are used to store ultrasound data, probes, scans, and related structures. All data classes can be written to and read from UFF files.

Data Classes

class channel_data

CHANNEL_DATA UFF data class for raw ultrasound channel data

CHANNEL_DATA holds the raw RF or IQ data as acquired from an ultrasound scanner or generated by a simulator. The data array has dimensions [time x channel x wave x frame].

When modulation_frequency is zero the data is RF (real-valued). When nonzero the data is IQ (complex baseband).

Properties:

sampling_frequency sampling frequency [Hz] initial_time time of the first sample [s] sound_speed reference sound speed [m/s] modulation_frequency modulation frequency [Hz] (0 = RF data) sequence array of UFF.WAVE objects probe UFF.PROBE object data data [time x channel x wave x frame] PRF pulse repetition frequency [Hz] pulse UFF.PULSE object phantom UFF.PHANTOM object

Dependent properties:

N_samples number of time samples N_elements number of probe elements N_channels number of receive channels N_waves number of transmit events N_frames number of frames lambda wavelength [m]

Example:

ch = uff.channel_data(); ch.sampling_frequency = 40e6; ch.sound_speed = 1540;

See also UFF.BEAMFORMED_DATA, UFF.WAVE, UFF.PROBE

Property Summary
N_active_elements

number of active transducers on receive

N_channels

number of elements in the probe

N_elements

number of elements in the probe

N_frames

number of frames

N_samples

number of samples in the data

N_waves

number of transmitted waves

PRF

pulse repetition frequency [Hz]

data

channel data [time dim. x channel dim. x wave dim. x frame dim.]

initial_time

time of the initial sample [s]

lambda

wavelength [m]

modulation_frequency

modulation frequency [Hz]

phantom

UFF.PHANTOM object

probe

UFF.PROBE object

pulse

UFF.PULSE object

sampling_frequency

sampling frequency [Hz]

sequence

collection of UFF.WAVE objects

sound_speed

reference sound speed [m/s]

Method Summary
plot(h, figure_handle_in, n_wave, plot_abs)

PLOT Plots channel data

class beamformed_data

BEAMFORMED_DATA UFF data class for beamformed image data

BEAMFORMED_DATA holds the output of the beamforming (midprocess) stage or any postprocess step. The data array has dimensions [pixel x channel x wave x frame].

After a midprocess.das with dimension.both the data reduces to [pixel x 1 x 1 x frame]. Intermediate results (e.g. dimension.receive) preserve the wave dimension for further processing.

Properties:

scan UFF.SCAN defining pixel positions data data [pixel x channel x wave x frame] phantom UFF.PHANTOM object sequence array of UFF.WAVE objects probe UFF.PROBE object pulse UFF.PULSE object sampling_frequency effective sampling frequency [Hz] modulation_frequency modulation frequency [Hz] frame_rate frame rate for video export [fps]

Dependent properties:

N_pixels number of pixels N_channels number of channels N_waves number of waves N_frames number of frames

Example:

b_data = uff.beamformed_data(); b_data.plot();

See also UFF.CHANNEL_DATA, UFF.SCAN, MIDPROCESS.DAS

Property Summary
N_channels

number of channels

N_frames

number of frames

N_pixels

number of pixels

N_waves

number of waves (transmit events)

data

data [pixel x channel x wave x frame]

frame_rate

Framerate for Video or GIF file to be saved [fps]

modulation_frequency

Modulation frequency in [Hz]

phantom

PHANTOM object

probe

PROBE object

pulse

PULSE object

sampling_frequency

Sampling frequency in the depth direction in [Hz]

scan

SCAN object or array of SCAN objects

sequence

array of WAVE objects

Method Summary
plot(h, parent_handle_in, in_title, dynamic_range, compression, indeces, frame_idex, spatial_units, mode)

PLOT Plots beamformed data

Usage: figure_handle=plot(figure_handle,title,dynamic_range)

figure_handle Handle to the figure to plot to (default: none) title Figure title (default: none) dynamic_range Displayed dynamic range (default: 60 dB) compression String specifying compression type: ‘log’,’none’,’sqrt’ (default: ‘log’) indeces Pair of integers [nrx ntx] indicating receive and transmit events (default: []) indeces Tripler of integers [nrx ntx frame] indicating which receive and transmit and frame must be plotted (default: [])

Probe Classes

class probe

PROBE UFF data class defining an arbitrary transducer geometry

PROBE is the base class for all probe types in the USTB. It stores element positions and orientations in a geometry matrix with one row per element:

[x y z theta phi width height]

m m m rad rad m m

Subclasses such as LINEAR_ARRAY, CURVILINEAR_ARRAY, and MATRIX_ARRAY provide convenient constructors that compute the geometry from higher-level parameters (N, pitch, radius, etc.).

Properties:

origin UFF.POINT location of the probe w.r.t. global origin geometry element matrix [x y z theta phi width height]

Dependent properties:

N_elements number of elements x element x-coordinates [m] y element y-coordinates [m] z element z-coordinates [m] theta element azimuth orientation [rad] phi element elevation orientation [rad] width element width [m] height element height [m] r distance from element to origin [m]

Example:

prb = uff.probe(); prb.geometry = [0 0 0 0 0 300e-6 5e-3];

See also UFF.LINEAR_ARRAY, UFF.CURVILINEAR_ARRAY, UFF.MATRIX_ARRAY

Property Summary
N_elements

number of elements

geometry

matrix with attitude of rectangular elements [x y z theta phi width height] - [m m m rad rad m m]

height

element height [m]

origin

uff.point class location of the probe respect to origin of coordinates

phi

orientation of the element in the elevation direction [rad]

r

distance from the element center to the origin of coordinates [m]

theta

orientation of the element in the azimuth direction [rad]

width

element width [m]

x

center of the element in the x axis[m]

y

center of the element in the y axis[m]

z

center of the element in the z axis[m]

class linear_array

LINEAR_ARRAY UFF data class for a linear (1-D) transducer array

LINEAR_ARRAY defines an array of elements equally spaced along a straight line (the x-axis). The geometry is computed automatically when N and pitch are set.

Properties:

N number of elements pitch inter-element spacing [m] element_width element width [m] (default: pitch) element_height element height [m] (default: 10 * element_width)

Example:

prb = uff.linear_array(); prb.N = 128; prb.pitch = 300e-6;

See also UFF.PROBE, UFF.CURVILINEAR_ARRAY, UFF.MATRIX_ARRAY

Property Summary
N

number of elements

element_height

height of the elements in the elevation direction [m]

element_width

width of the elements in the azimuth direction [m]

pitch

distance between the elements in the azimuth direction [m]

class curvilinear_array

CURVILINEAR_ARRAY UFF data class for a curvilinear (convex) transducer array

CURVILINEAR_ARRAY defines elements equally spaced along an arc in the azimuth direction. The geometry is computed from N, pitch, and radius.

Properties:

N number of elements pitch inter-element spacing along the arc [m] radius radius of curvature [m] element_width element width [m] (default: pitch) element_height element height [m] (default: 10 * element_width)

Dependent properties:

maximum_angle angle of the outermost elements [rad]

Example:

prb = uff.curvilinear_array(); prb.N = 128; prb.pitch = 500e-6; prb.radius = 70e-3;

See also UFF.PROBE, UFF.LINEAR_ARRAY

Property Summary
N

number of elements

element_height

height of the elements in the elevation direction [m]

element_width

width of the elements in the azimuth direction [m]

maximum_angle

angle of the outermost elements in the array

pitch

distance between the elements in the radial direction [m]

radius

radius of the curvilinear array [m]

class matrix_array

MATRIX_ARRAY UFF data class for a 2-D matrix transducer array

MATRIX_ARRAY defines a rectangular grid of elements equally spaced in the azimuth (x) and elevation (y) directions.

Properties:

N_x number of elements in azimuth N_y number of elements in elevation pitch_x inter-element spacing in azimuth [m] pitch_y inter-element spacing in elevation [m] element_width element width [m] (default: pitch_x) element_height element height [m] (default: pitch_y)

Example:

prb = uff.matrix_array(); prb.N_x = 32; prb.N_y = 32; prb.pitch_x = 300e-6; prb.pitch_y = 300e-6;

See also UFF.PROBE, UFF.CURVILINEAR_MATRIX_ARRAY

Property Summary
N_x

number of elements in the azimuth direction

N_y

number of elements in the elevation direction

element_height

height of the elements in the elevation direction [m]

element_width

width of the elements in the azimuth direction [m]

pitch_x

distance between the elements in the azimuth direction [m]

pitch_y

distance between the elements in the elevation direction [m]

class curvilinear_matrix_array

CURVILINEAR_MATRIX_ARRAY UFF data class for a curvilinear 2-D matrix array

CURVILINEAR_MATRIX_ARRAY defines a 2-D grid of elements arranged on a cylindrical surface: curved in the azimuth direction and linear in the elevation direction. Inherits N_x, N_y, pitch_x, pitch_y from MATRIX_ARRAY.

Properties:

radius_x radius of curvature in azimuth [m]

Dependent properties:

maximum_angle angle of the outermost elements [rad]

Example:
prb = uff.curvilinear_matrix_array(‘N_x’, 32, ‘N_y’, 32, …

‘pitch_x’, 300e-6, ‘pitch_y’, 300e-6, ‘radius_x’, 60e-3);

See also UFF.MATRIX_ARRAY, UFF.PROBE

Property Summary
maximum_angle

angle of the outermost elements in the array

radius_x

radius of the curvilinear array in azimuth direction [m]

Scan Classes

class scan

SCAN UFF data class defining a collection of pixel positions

SCAN is the base class for all pixel grids. It stores arbitrary pixel positions as x, y, z coordinate vectors. Use the subclasses LINEAR_SCAN and SECTOR_SCAN for structured grids.

Properties:

x x-coordinates of each pixel [m] y y-coordinates of each pixel [m] z z-coordinates of each pixel [m]

Dependent properties:

N_pixels total number of pixels xyz Nx3 matrix of pixel positions [m]

Example:

sca = uff.scan(); x_axis = linspace(-20e-3, 20e-3, 256); z_axis = linspace(0e-3, 40e-3, 256); [X, Z] = meshgrid(x_axis, z_axis); sca.xyz = [X(:), zeros(numel(X), 1), Z(:)];

See also UFF.LINEAR_SCAN, UFF.SECTOR_SCAN

Property Summary
N_pixels

total number of pixels in the matrix

x

Vector containing the x coordinate of each pixel in the matrix

xyz

location of the source [m m m] if the source is not at infinity

y

Vector containing the x coordinate of each pixel in the matrix

z

Vector containing the z coordinate of each pixel in the matrix

Method Summary
plot(h, figure_handle_in, title_in)

plotting scan

class linear_scan

LINEAR_SCAN UFF data class for a Cartesian pixel grid

LINEAR_SCAN defines a regular grid in Cartesian coordinates using x_axis, y_axis, and z_axis vectors. Pixel positions are generated on an ndgrid of these axes.

Properties:

x_axis x-axis sample positions [m] y_axis y-axis sample positions [m] (default: 0) z_axis z-axis sample positions [m] transform UFF.TRANSFORM applied to pixel positions

Dependent properties:

N_x_axis number of x-axis samples N_y_axis number of y-axis samples N_z_axis number of z-axis samples x_step step size in x [m] z_step step size in z [m] reference_distance distance for phase term calculation [m]

Example:
scan = uff.linear_scan(‘x_axis’, linspace(-20e-3, 20e-3, 256).’, …

‘z_axis’, linspace(0e-3, 40e-3, 256).’);

See also UFF.SCAN, UFF.SECTOR_SCAN

Property Summary
N_x_axis

number of pixels in the x_axis

N_y_axis

number of pixels in the yaxis

N_z_axis

number of pixels in the z_axis

reference_distance

distance used for the calculation of the phase term

transform

Vector of uff.transform objects

x_axis

Vector containing the x coordinates of the x - axis [m]

x_step

the step size in m of the x samples

y_axis

Vector containing the x coordinates of the x - axis [m]

y_step

the step size in m of the x samples

z_axis

Vector containing the z coordinates of the z - axis [m]

z_step

the step size in m of the z samples

class linear_scan_3D

LINEAR_SCAN_3D UFF data class for a 3-D Cartesian volume scan

LINEAR_SCAN_3D defines a regular 3-D grid using x_axis, y_axis, and z_axis vectors.

Properties:

x_axis x-axis sample positions [m] y_axis y-axis sample positions [m] z_axis z-axis sample positions [m] transform UFF.TRANSFORM applied to pixel positions

Example:

sca = uff.linear_scan_3D(); sca.x_axis = linspace(-20e-3, 20e-3, 64); sca.y_axis = linspace(-20e-3, 20e-3, 64); sca.z_axis = linspace(0, 40e-3, 128);

See also UFF.SCAN, UFF.LINEAR_SCAN

Property Summary
N_x_axis

number of pixels in the x_axis

N_y_axis

number of pixels in the x_axis

N_z_axis

number of pixels in the z_axis

reference_distance

distance used for the calculation of the phase term

x_axis

Vector containing the x coordinates of the x - axis [m]

y_axis

Vector containing the y coordinates of the y - axis [m]

z_axis

Vector containing the z coordinates of the z - axis [m]

z_step

the step size in m of the z samples

Method Summary
update_pixel_position(h)

defining the pixel mesh

class sector_scan

SECTOR_SCAN UFF data class for a polar/sector pixel grid

SECTOR_SCAN defines a grid in spherical coordinates using azimuth_axis, elevation_axis, and depth_axis vectors. Commonly used with phased array probes.

Properties:

azimuth_axis azimuth angles [rad] elevation_axis elevation angles [rad] depth_axis depth (radial distance) [m] origin UFF.POINT scan-line origin(s) transform UFF.TRANSFORM applied to pixel positions

Dependent properties:

N_azimuth_axis number of azimuth samples N_elevation_axis number of elevation samples N_depth_axis number of depth samples depth_step step size in depth [m] reference_distance distance for phase term calculation [m]

Example:
scan = uff.sector_scan(‘azimuth_axis’, linspace(-pi/6, pi/6, 128).’, …

‘depth_axis’, linspace(0, 80e-3, 256).’);

See also UFF.SCAN, UFF.LINEAR_SCAN

Property Summary
N_azimuth_axis

Number of pixels in azimuth_axis

N_depth_axis

Number of pixels in depth_axis

N_elevation_axis

Number of pixels in elevation_axis

N_origins

Number of scanline origins

azimuth_axis

Vector containing the azimuth coordinates [rad]

azimuth_step

Step size along the azimuth axis [rad]

depth_axis

Vector containing the distance coordinates [m]

depth_step

Step size along the depth axis [m]

elevation_axis

Vector containing the elevation coordinates [rad]

elevation_step

Step size along the elevation axis [rad]

origin

Vector of uff.point objects

reference_distance

Distance used for the calculation of the phase term [m]

transform

Vector of uff.transform objects

class sector_scan_3D

SECTOR_SCAN_3D UFF data class for a 3-D sector (spherical) volume scan

SECTOR_SCAN_3D defines a 3-D grid in spherical coordinates using azimuth_axis, elevation_axis, and depth_axis vectors.

Properties:

azimuth_axis azimuth angles [rad] elevation_axis elevation angles [rad] depth_axis depth (radial distance) [m] transform UFF.TRANSFORM applied to pixel positions

Example:

sca = uff.sector_scan_3D(); sca.azimuth_axis = linspace(-pi/4, pi/4, 64); sca.elevation_axis = linspace(-pi/4, pi/4, 64); sca.depth_axis = linspace(0, 70e-3, 256);

See also UFF.SCAN, UFF.SECTOR_SCAN

Property Summary
N_azimuth_axis

number of pixels in azimuth_axis

N_depth_axis

number of pixels in depth_axis

N_elevation_axis

number of pixels in elevation_axis

azimuth_axis

Vector containing the azimuth coordinates of the azimuth axis [rad]

depth_axis

Vector containing the distance coordinates of the distance axis [m]

depth_step

the step size in m of the depth samples

elevation_axis

Vector containing the azimuth coordinates of the elevation axis [rad]

reference_distance

distance used for the calculation of the phase term

Wave and Pulse

class wave

WAVE UFF data class describing a transmitted or received wave event

WAVE defines a single transmit event in the acquisition sequence. The wave type is set by the wavefront property. A virtual source model determines the transmit delays used in beamforming.

For spherical waves (diverging or focused imaging) the source property defines the virtual source position. If source.z < 0 the wave is diverging; if source.z > 0 the wave is converging (focused). For plane waves the source azimuth and elevation angles set the steering direction.

Properties:

wavefront UFF.WAVEFRONT type (plane, spherical, photoacoustic) source UFF.POINT virtual source location origin UFF.POINT origin for delay calculations apodization UFF.APODIZATION transmit apodization probe UFF.PROBE reference event index of the transmit/receive event delay time between t0 and acquisition start [s] sound_speed reference speed of sound [m/s]

Dependent properties:

N_elements number of probe elements delay_values per-element transmit delays [s] apodization_values per-element transmit apodization weights

Example:

w = uff.wave(); w.wavefront = uff.wavefront.plane; w.source.azimuth = 0.1;

See also UFF.CHANNEL_DATA, UFF.WAVEFRONT, UFF.POINT, UFF.APODIZATION

Property Summary
N_elements

number of elements

apodization

APODIZATION class

apodization_values

apodization [unitless]

delay

time interval between t0 and acquistion start

delay_values

delay [s]

event

index of the transmit/receive event this wave refers to

origin

POINT class

probe

PROBE class

sound_speed

reference speed of sound

source

POINT class

t0_origin

delay [s] needed in case the t0 should be calculated from origin.xyz rather than [0, 0, 0]

wavefront

WAVEFRONT enumeration class

Method Summary
fix_origin_from_source(h)

FIX_ORIGIN_FROM_SOURCE Set origin from source when not stored

For spherical waves (focused or diverging) where origin was not explicitly stored in the UFF file (i.e. still at default [0,0,0]), sets origin from the source position:

  • Focused (source.z > 0): origin at source x,y with z=0

  • Diverging (source.z < 0): origin at source x,y,z

This ensures correct scanline apodization and delay calculations for RTB and diverging wave examples.

See also UFF.WAVE

class pulse

PULSE UFF data class defining the transmitted pulse waveform

PULSE describes the excitation pulse used in an ultrasound acquisition. The waveform is modelled as a Gaussian-windowed cosine.

Properties:

center_frequency center frequency [Hz] fractional_bandwidth fractional bandwidth (e.g. 0.6 = 60%) phase initial phase [rad] waveform arbitrary transmitted waveform

Example:

pul = uff.pulse(); pul.center_frequency = 5.2e6; pul.fractional_bandwidth = 0.6;

See also UFF.CHANNEL_DATA, UFF.WAVE

Property Summary
center_frequency

center frequency [Hz]

fractional_bandwidth

probe fractional bandwidth [unitless]

phase

initial phase [rad]

waveform

transmitted waveform (for example used for match filtering)

Method Summary
signal(h, time)

gaussian-pulsed pulse

class wavefront

WAVEFRONT Enumeration for transmitted wave types

WAVEFRONT selects the type of wave emitted by the transducer.

Values:

uff.wavefront.plane Plane wave (steered by source angles) uff.wavefront.spherical Spherical wave (diverging or focused) uff.wavefront.photoacoustic Photoacoustic (no transmit wave)

See also UFF.WAVE, UFF.POINT

Support Classes

class apodization

APODIZATION UFF data class for receive and transmit apodization

APODIZATION computes pixel-dependent apodization weights for receive elements or transmit waves. It supports expanding aperture (f-number based), fixed aperture, and various window functions. In the Generalized Beamformer, this implements the receive weighting w_m^Rx(x) from Eq. (22) and the transmit wave weighting w_a^Tx(x) from Eq. (23).

Properties:

probe UFF.PROBE (for receive/transmit apodization) focus UFF.SCAN (pixel positions) sequence array of UFF.WAVE (for transmit apodization) window UFF.WINDOW type (default: uff.window.none) f_number F-number [Fx Fy] tilt tilt angle [azimuth elevation] [rad] minimum_aperture minimum aperture size [x y] [m] maximum_aperture maximum aperture size [x y] [m] apodization_vector manual override of apodization values origin UFF.POINT to override aperture center

Dependent properties:

data computed apodization matrix N_elements number of elements or waves

Example:

apo = uff.apodization(); apo.window = uff.window.hamming; apo.f_number = 1.7;

See also UFF.WINDOW, UFF.WAVE, MIDPROCESS.DAS

Property Summary
MLA

number of multi-line acquisitions, only valid for uff.window.scanline

MLA_overlap

number of multi-line acquisitions, only valid for uff.window.scanline

N_elements

number of elements (real or synthetic)

apodization_vector

apodization vector to override the dynamic calculation of apodization

data

apodization data

f_number

F-number [Fx Fy] [unitless unitless]

focus

UFF.SCAN class (needed for transmit, receive & synthetic apodization)

grating_lobe_angle

grating lobe angle for masking

maximum_aperture

maximum aperture size in the [x y] direction

minimum_aperture

minimum aperture size in the [x y] direction

origin

POINT class to overwrite the location of the aperture window as computed on the wave source location

probe

UFF.PROBE class (needed for transmit & receive apodization)

sequence

collection of UFF.WAVE classes (needed for synthetic apodizaton)

tilt

tilt angle [azimuth elevation] [rad rad]

window

UFF.WINDOW class, default uff.window.none

Method Summary
apply_window(h, ratio_theta, ratio_phi)

SWITCH

compute(h)

if no pixel matrix -> we set it at (0,0,0)

incidence_aperture(h)

Location of the elements

plot(h, figure_handle_in, n_element)

PLOT Plot apodization

class phantom

PHANTOM UFF data class describing a scattering phantom

PHANTOM defines point scatterers and medium properties used by simulators such as FRESNEL.

Properties:

points Nx4 matrix of scatterers [x y z Gamma] [m m m unitless] time time instant [s] sound_speed medium speed of sound [m/s] density medium density [kg/m3] alpha attenuation coefficient [dB/cm/MHz]

Dependent properties:

N_points number of point scatterers x, y, z scatterer coordinates [m] Gamma reflection coefficients

Example:

pha = uff.phantom(); pha.sound_speed = 1540; pha.points = [0, 0, 20e-3, 1];

See also UFF.CHANNEL_DATA, FRESNEL

Constructor Summary
phantom(points_in, time_in, sound_speed_in, density_in, alpha_in)

PHANTOM Constructor of PHANTOM class

h = phantom(points, time, sound_speed, density, alpha)

See also UFF.CHANNEL_DATA

Property Summary
Gamma

reflection coefficient [unitless]

N_points

number of points

alpha

medium attenuation [dB/cm/MHz]

density

medium density [kg/m3]

phi

angle in the elevation direction respect to origin [rad]

points

matrix of point scaterers [x y z Gamma] - [m m m unitless]

r

distance from the points to the origin [m]

sound_speed

medium sound speed [m/s]

theta

angle in the azimuth direction respect to origin [rad]

time

time [s]

x

points position in the x axis [m]

y

points position in the y axis [m]

z

points position in the z axis [m]

Method Summary
plot(h, figure_handle_in, title_in)

plotting phantom

class point

POINT UFF data class for a point in 3-D space

POINT stores a location in spherical coordinates (distance, azimuth, elevation). Setting distance to Inf places the point at infinity, which is used for plane wave sources.

Properties:

distance distance to origin [m] (Inf for plane waves) azimuth angle in the xz-plane [rad] elevation angle out of the xz-plane [rad]

Dependent properties:

xyz Cartesian coordinates [x y z] [m] x, y, z individual Cartesian coordinates [m]

Example:

pt = uff.point(); pt.xyz = [0 0 20e-3];

See also UFF.WAVE, UFF.SCAN

Property Summary
azimuth

angle from the point location to the plane YZ [rad]

distance

distance from the point location to the origin of coordinates [m]

elevation

angle from the point location to the plane XZ [rad]

xyz

location of the point [m m m] if the point is not at infinity

Method Summary
plot(h, figure_handle_in, in_title)

plotting point

class transform

TRANSFORM UFF data class for rigid-body coordinate transforms

TRANSFORM defines a rotation and translation in 3-D Cartesian space. It builds a 4x4 homogeneous transformation matrix from roll, pitch, yaw angles and a translation origin.

Properties:

roll rotation around x-axis [rad] pitch rotation around y-axis [rad] yaw rotation around z-axis [rad] rotation_order order of rotations (default: ‘ypr’) origo UFF.POINT translation vector

Dependent properties:

R 3x3 rotation matrix T 4x4 homogeneous transform matrix t 3x1 translation vector

Example:

tf = uff.transform(); tf.yaw = 0.1; tf.origo = uff.point(‘xyz’, [5e-3 0 0]);

See also UFF.LINEAR_SCAN, UFF.SECTOR_SCAN

Property Summary
origo

UFF.POINT object

pitch

Rotation around the y axis [rad]

roll

Rotation around the x axis [rad]

yaw

Rotation around the z axis [rad]

class window

WINDOW Enumeration for apodization window functions

WINDOW selects the window function used in UFF.APODIZATION for receive and transmit weighting.

Values:

uff.window.none No apodization (all ones) uff.window.boxcar Rectangular window (alias: rectangular, flat) uff.window.hanning Hanning (raised cosine) window uff.window.hamming Hamming window uff.window.tukey25 Tukey window (25% roll-off) uff.window.tukey50 Tukey window (50% roll-off) uff.window.tukey75 Tukey window (75% roll-off) uff.window.sta Single-element (STA) apodization uff.window.scanline Scanline-based MLA apodization uff.window.triangle Triangular (Bartlett) window

See also UFF.APODIZATION

Functions

read_object(filename, location, verbose)

READ_OBJECT Read a UFF object from an HDF5 file

Reads and reconstructs a USTB object stored at the given location within a UFF (.uff / .h5) file.

object = uff.read_object(filename, location, verbose)

Parameters:

filename path to the UFF file location HDF5 group path (default: ‘/’) verbose display progress messages (default: true)

Example:

ch = uff.read_object(‘data.uff’, ‘/channel_data’);

See also UFF.WRITE_OBJECT, UFF.INDEX, UFF.VERSION

write_object(filename, object, name, location, verbose)

WRITE_OBJECT Write a UFF object to an HDF5 file

Serializes a USTB object and stores it at the given location in a UFF (.uff / .h5) file.

uff.write_object(filename, object, name, location, verbose)

Parameters:

filename path to the UFF file object USTB object to store name name for the HDF5 group location parent HDF5 group (default: ‘/’) verbose display progress messages (default: true)

Example:

ch = uff.channel_data(); uff.write_object(‘data.uff’, ch, ‘channel_data’);

See also UFF.READ_OBJECT, UFF.INDEX, UFF.VERSION

version()

VERSION Return the current UFF file format version string

v = uff.version()

See also UFF.READ_OBJECT, UFF.WRITE_OBJECT

index(filename, location, display)

INDEX List contents of a UFF file at a given location

Returns a cell array of dataset and group names stored at the specified location within a UFF (.uff / .h5) file.

out = uff.index(filename, location, display)

Parameters:

filename path to the UFF file location HDF5 group path (default: ‘/’) display print list to screen (default: false)

Example:

list = uff.index(‘data.uff’, ‘/’, true);

See also UFF.READ_OBJECT, UFF.WRITE_OBJECT, UFF.VERSION