IUF-SDK-3
Interventional Ultrasound Library
iufTypes.h File Reference

Go to the source code of this file.

Data Structures

struct  IufVelocity
 velocity vector in x,y,z dimensions More...
 
struct  IufGrid
 
struct  Iuf3dRoi
 
struct  Iuf2dRoi
 
struct  IufRange
 

Macros

#define IUF_TRUE   (1)
 
#define IUF_FALSE   (0)
 
#define TRANSDUCER_SHAPE_LINE   "LINE"
 
#define TRANSDUCER_SHAPE_CIRCLE   "CIRCLE"
 
#define TRANSDUCER_SHAPE_PLANE   "PLANE"
 
#define TRANSDUCER_SHAPE_CYLINDER   "CYLINDER"
 
#define TRANSDUCER_SHAPE_SPHERE   "SPHERE"
 
#define DRIVINGSCHEME_DIVERGING_WAVES_PARAMETRIZED   "DIVERGING_WAVES_PARAMETRIZED"
 
#define DRIVINGSCHEME_DIVERGING_WAVES   "DIVERGING_WAVES"
 
#define DRIVINGSCHEME_FOCUSED_WAVES_PARAMETRIZED   "FOCUSED_WAVES_PARAMETRIZED"
 
#define DRIVINGSCHEME_FOCUSED_WAVES   "FOCUSED_WAVES"
 
#define DRIVINGSCHEME_PLANE_WAVES   "PLANE_WAVES"
 
#define DRIVINGSCHEME_SINGLE_ELEMENT   "SINGLE_ELEMENT"
 
#define DRIVINGSCHEME_CUSTOM_WAVES   "CUSTOM_WAVES"
 

Typedefs

typedef int IUF_BOOL
 
typedef float * IufSampleLine
 a line of sampledata is an array of floats More...
 
typedef IufSampleLineIufPage
 a page of data is an array of IufSampleLine More...
 
typedef IufPageIufTransmitWave
 a transmitWave is an array of IufPage More...
 

Enumerations

enum  IufInterpolationMethod { IUF_INTERPOLATION_NONE = 0, IUF_INTERPOLATION_LINEAR, IUF_INTERPOLATION_PREFILTERED_LINEAR, IUF_INTERPOLATION_2DSCALING }
 a frame is an array of IufTransmitWave More...
 
enum  IufCoordinateSystemType { IUF_COORDINATESYSTEM_CARTESIAN = 0, IUF_COORDINATESYSTEM_POLAR }
 
enum  IufGridType { IUF_GRID_POLAR = 0, IUF_GRID_CARTESIAN, IUF_GRID_SPARSE_POLAR, IUF_GRID_SPARSE_CARTESIAN }
 
enum  IufComponent { IUF_IQ_COMPONENT_I = 0, IUF_IQ_COMPONENT_Q }
 
enum  IufTransducerShape {
  IUF_INVALID_TRANSDUCER_SHAPE = 0, IUF_LINE, IUF_CIRCLE, IUF_PLANE,
  IUF_CYLINDER, IUF_SPHERE
}
 
enum  IufShape { IUF_INVALID_SHAPE = 0, IUF_2D_SHAPE, IUF_3D_SHAPE }
 
enum  IufDemodulationMethod { IUF_DEMODULATION_QUADRATURE = 0, IUF_DEMODULATION_FOURX, IUF_DEMODULATION_HILBERT }
 
enum  IufDrivingSchemeType {
  IUF_INVALID_DRIVING_SCHEME = 0, IUF_DIVERGING_WAVES_PARAMETRIZED, IUF_DIVERGING_WAVES, IUF_FOCUSED_WAVES_PARAMETRIZED,
  IUF_FOCUSED_WAVES, IUF_PLANE_WAVES, IUF_SINGLE_ELEMENT, IUF_CUSTOM_WAVES
}
 Possible driving patterns. More...
 

Data Structure Documentation

◆ IufVelocity

struct IufVelocity

velocity vector in x,y,z dimensions

Data Fields
float Vx
float Vy
float Vz

◆ IufGrid

struct IufGrid

A 3D grid contains a number of points along each dimension plus the position of these points. According to the IUF convention:

  • 1st dimension is elevational position (phi or y)
  • 2nd dimension is lateral position (theta or x)
  • 3rd dimension is axial posision (r or z)
Data Fields
int numPoints0

Size in 1st dimension

int numPoints1

Size in 2nd dimension

int numPoints2

Size in 3rd dimension

float * pPoints0

Location of the values along 1st dimension

float * pPoints1

Location of the values along 2nd dimension

float * pPoints2

Location of the values along 3rd dimension

◆ Iuf3dRoi

struct Iuf3dRoi
Data Fields
int numSamples0
int numSamples1
int numSamples2
int startIndex0
int startIndex1
int startIndex2

◆ Iuf2dRoi

struct Iuf2dRoi
Data Fields
int numSamples0
int numSamples1
int startIndex0
int startIndex1

◆ IufRange

struct IufRange
Data Fields
int numSamples
int startIndex

Macro Definition Documentation

◆ DRIVINGSCHEME_CUSTOM_WAVES

#define DRIVINGSCHEME_CUSTOM_WAVES   "CUSTOM_WAVES"

◆ DRIVINGSCHEME_DIVERGING_WAVES

#define DRIVINGSCHEME_DIVERGING_WAVES   "DIVERGING_WAVES"

◆ DRIVINGSCHEME_DIVERGING_WAVES_PARAMETRIZED

#define DRIVINGSCHEME_DIVERGING_WAVES_PARAMETRIZED   "DIVERGING_WAVES_PARAMETRIZED"

◆ DRIVINGSCHEME_FOCUSED_WAVES

#define DRIVINGSCHEME_FOCUSED_WAVES   "FOCUSED_WAVES"

◆ DRIVINGSCHEME_FOCUSED_WAVES_PARAMETRIZED

#define DRIVINGSCHEME_FOCUSED_WAVES_PARAMETRIZED   "FOCUSED_WAVES_PARAMETRIZED"

◆ DRIVINGSCHEME_PLANE_WAVES

#define DRIVINGSCHEME_PLANE_WAVES   "PLANE_WAVES"

◆ DRIVINGSCHEME_SINGLE_ELEMENT

#define DRIVINGSCHEME_SINGLE_ELEMENT   "SINGLE_ELEMENT"

◆ IUF_FALSE

#define IUF_FALSE   (0)

◆ IUF_TRUE

#define IUF_TRUE   (1)

◆ TRANSDUCER_SHAPE_CIRCLE

#define TRANSDUCER_SHAPE_CIRCLE   "CIRCLE"

◆ TRANSDUCER_SHAPE_CYLINDER

#define TRANSDUCER_SHAPE_CYLINDER   "CYLINDER"

◆ TRANSDUCER_SHAPE_LINE

#define TRANSDUCER_SHAPE_LINE   "LINE"

◆ TRANSDUCER_SHAPE_PLANE

#define TRANSDUCER_SHAPE_PLANE   "PLANE"

◆ TRANSDUCER_SHAPE_SPHERE

#define TRANSDUCER_SHAPE_SPHERE   "SPHERE"

Typedef Documentation

◆ IUF_BOOL

typedef int IUF_BOOL

◆ IufPage

a page of data is an array of IufSampleLine

◆ IufSampleLine

typedef float* IufSampleLine

a line of sampledata is an array of floats

◆ IufTransmitWave

a transmitWave is an array of IufPage

Enumeration Type Documentation

◆ IufComponent

Enumerator
IUF_IQ_COMPONENT_I 
IUF_IQ_COMPONENT_Q 

◆ IufCoordinateSystemType

Enumerator
IUF_COORDINATESYSTEM_CARTESIAN 
IUF_COORDINATESYSTEM_POLAR 

◆ IufDemodulationMethod

Enumerator
IUF_DEMODULATION_QUADRATURE 
IUF_DEMODULATION_FOURX 
IUF_DEMODULATION_HILBERT 

◆ IufDrivingSchemeType

Possible driving patterns.

Enumerator
IUF_INVALID_DRIVING_SCHEME 
IUF_DIVERGING_WAVES_PARAMETRIZED 

focus point has negative z value (parametrized)

IUF_DIVERGING_WAVES 

focus point has negative z value

IUF_FOCUSED_WAVES_PARAMETRIZED 

focus point has positive z value

IUF_FOCUSED_WAVES 

focus point has positive z value

IUF_PLANE_WAVES 

neighbouring elements fire consecutively with constant inter-element delay

IUF_SINGLE_ELEMENT 

simplified case where there is only one element

IUF_CUSTOM_WAVES 

non-specified driving scheme category, the transmit pattern and transmit delays of elements can be anything

◆ IufGridType

Enumerator
IUF_GRID_POLAR 
IUF_GRID_CARTESIAN 
IUF_GRID_SPARSE_POLAR 
IUF_GRID_SPARSE_CARTESIAN 

◆ IufInterpolationMethod

a frame is an array of IufTransmitWave

RFData is an array of IufFrame Different type of interpolation when resampling signals

Enumerator
IUF_INTERPOLATION_NONE 
IUF_INTERPOLATION_LINEAR 
IUF_INTERPOLATION_PREFILTERED_LINEAR 
IUF_INTERPOLATION_2DSCALING 

◆ IufShape

enum IufShape
Enumerator
IUF_INVALID_SHAPE 
IUF_2D_SHAPE 
IUF_3D_SHAPE 

◆ IufTransducerShape

Enumerator
IUF_INVALID_TRANSDUCER_SHAPE 
IUF_LINE 

Todo: See Draft

IUF_CIRCLE 
IUF_PLANE 
IUF_CYLINDER 
IUF_SPHERE