ImFusion SDK 4.3
FrameGeometryLinear Class Reference

#include <ImFusion/US/FrameGeometryLinear.h>

Specialization for linear frame geometries. More...

+ Inheritance diagram for FrameGeometryLinear:

Detailed Description

Specialization for linear frame geometries.

See FrameGeometry for a detailed summary of the frame geometry concept.

Width and depth define the size of the ultrasound frame relative to the offset location. The offset is in the top or bottom center of the frame, depending on the topDown setting, i.e. at the center of the transducer array. For a classic linear frame without steering, the offset is at (width/2, 0) in pixels, and at (0, -height/2) in image coordinates.

The steering angle is positive when tilted to the right, for instance when using Doppler CFM windows.

Linear frame geometry

Public Member Functions

 FrameGeometryLinear (CoordinateSystem coordSys)
 
FrameGeometryLinearasLinear () override
 Returns a pointer to this object as a FrameGeometryLinear, or nullptr if not possible.
 
bool operator== (const FrameGeometry &rhs) const override
 Checks for equality, also considering the image descriptor.
 
void setWidth (double width)
 Set the width of the frame sector, in mm or pixels, depending on the coordinate system.
 
void setDepth (double depth) override
 Set the depth of the frame sector, in mm or pixels, depending on the coordinate system.
 
void setSteeringAngle (double degrees)
 Set the steering angle of the frame sector [deg]. The angle is positive when tilted to the right.
 
double width () const
 Get the width of the frame sector, in mm or pixels, depending on the coordinate system.
 
double depth () const override
 Get the depth of the frame sector, in mm or pixels, depending on the coordinate system.
 
double steeringAngle () const
 Get the steering angle of the frame sector [deg]. The angle is positive when tilted to the right.
 
void configure (const Properties *) override
 Sets general properties. Only intended to be called from derived classes. See FrameGeometryMetadata.
 
void configuration (Properties *) const override
 Retrieves general properties. Only intended to be called from derived classes. See FrameGeometryMetadata.
 
std::unique_ptr< FrameGeometryconvertTo (CoordinateSystem coordSys) const override
 Convert the frame geometry to the given coordinate system.
 
std::unique_ptr< FrameGeometryclone () const override
 Create a copy of this frame geometry.
 
bool contains (vec2 coord) const override
 Returns true if the given point is within the fan.
 
vec2 frameCenter () const override
 Returns the center of the frame.
 
bool isSimilar (const FrameGeometry *other, bool ignoreOffset=false, double eps=0.1) const override
 True if the given frame geometry is similar to this one, within a given tolerance.
 
vec2 transformPoint (const vec2 &p, TransformationMode mode) const override
 Applies the specified geometric transformation to a point.
 
std::unique_ptr< GlGeometricTransformglGeometricTransform () const override
 Returns the geometric transformation between image coordinates and pre-scan converted coordinates, if available.
 
- Public Member Functions inherited from FrameGeometry
 FrameGeometry (CoordinateSystem coordSys)
 Constructor requires the coordinate system to be defined. It cannot be changed afterward.
 
bool operator!= (const FrameGeometry &rhs) const
 Checks for inequality, also considering the image descriptor.
 
vec2 offset () const
 Offset of the geometry within the image.
 
void setOffset (const vec2 &offset)
 Sets the offset of the geometry.
 
bool isTopDown () const
 Returns if the geometry is oriented top to bottom, where the frame geometry origin is higher on the image than the end.
 
void setTopDown (bool b)
 Sets if the geometry is oriented top to bottom, or bottom to top.
 
const ImageDescriptorimgDesc () const
 Returns the ImageDescriptor for the frame geometry.
 
const ImageDescriptorimgDescPrescan () const
 Returns the ImageDescriptor for the pre-scanconverted image.
 
void setImgDesc (const ImageDescriptor &imgDescr)
 Sets the ImageDescriptor for the frame geometry.
 
void setImgDescPrescan (const ImageDescriptor &imgDescrPrescan)
 Sets the ImageDescriptor for the pre-scanconverted image.
 
OrientationIndicatorPosition indicatorPos () const
 Returns the OrientationIndicatorPosition for the frame geometry.
 
void setIndicatorPos (OrientationIndicatorPosition pos)
 Sets the OrientationIndicatorPosition for the frame geometry.
 
CoordinateSystem coordinateSystem () const
 Returns the CoordinateSystem used in the frame geometry.
 
Geometry::AlignedBox bounds () const
 Returns the Bounds of the frame geometry.
 
mat4 transformation () const
 Convenience method to get the 2D transformation formed by the offset and orientation.
 
bool isLinear () const
 Convenience type check.
 
bool isCircular () const
 Convenience type check.
 
bool isConvex () const
 Convenience type check.
 
bool isSector () const
 Convenience type check.
 
virtual FrameGeometryConvexasConvex ()
 Convenience cast to the derived type, or nullptr if not possible.
 
virtual FrameGeometryConvexSteeredasConvexSteered ()
 
virtual FrameGeometrySectorasSector ()
 Convenience cast to the derived type, or nullptr if not possible.
 
virtual FrameGeometryCircularasCircular ()
 Convenience cast to the derived type, or nullptr if not possible.
 
const FrameGeometryLinearasLinear () const
 Convenience cast to the derived type, or nullptr if not possible.
 
const FrameGeometryConvexasConvex () const
 Convenience cast to the derived type, or nullptr if not possible.
 
const FrameGeometryConvexSteeredasConvexSteered () const
 
const FrameGeometrySectorasSector () const
 Convenience cast to the derived type, or nullptr if not possible.
 
const FrameGeometryCircularasCircular () const
 Convenience cast to the derived type, or nullptr if not possible.
 
virtual FrameGeometry::Fan createFan ()
 Computes the fan geometry edges and points.
 

Protected Member Functions

FrameGeometry::Fan createFanImpl () override
 Internal fan geometry generation to be implemented by subclass.
 
void onTopLeftChanged (vec2 delta)
 
void onTopRightChanged (vec2 delta)
 
void onBottomRightChanged (vec2 delta)
 
void onBottomLeftChanged (vec2 delta)
 
void onTopEdgeChanged (vec2 delta)
 
void onRightEdgeChanged (vec2 delta)
 
void onBottomEdgeChanged (vec2 delta)
 
void onLeftEdgeChanged (vec2 delta)
 
void onSteeringAngleChanged (vec2 delta)
 
- Protected Member Functions inherited from FrameGeometry
void onCenterChanged (vec2 delta)
 Manipulation callback.
 
vec2 conversionSpacing () const
 Internal helper methods returning the spacing or its inverse, dependent on the current coordinate system, either as vec2, are as the diagonal of a 2x2 matrix.
 
mat2 localCoordinateFrame () const
 
- Protected Member Functions inherited from Configurable
virtual void configureDefaults ()
 Retrieve the properties of this object, replaces values with their defaults and sets it again.
 
void registerParameter (ParameterBase *param)
 Register the given Parameter or SubProperty, so that it will be configured during configure()/configuration().
 
void unregisterParameter (const ParameterBase *param)
 Remove the given Parameter or SubProperty from the list of registered parameters.
 
 Configurable (const Configurable &rhs)
 
 Configurable (Configurable &&rhs) noexcept
 
Configurableoperator= (const Configurable &)
 
Configurableoperator= (Configurable &&) noexcept
 

Protected Attributes

double m_width
 Width.
 
double m_depth
 Depth.
 
double m_steeringAngle
 Steering angle [deg].
 
- Protected Attributes inherited from FrameGeometry
vec2 m_offset = vec2::Zero()
 location of the fan center (virtual apex) wrt. transducer center (image top)
 
bool m_isTopDown = true
 Orientation of fan.
 
OrientationIndicatorPosition m_indicatorPosition
 Position of the external orientation indicator.
 
CoordinateSystem m_coordSys = CoordinateSystem::Image
 Coordinate system this geometry is defined in.
 
ImageDescriptor m_imgDesc
 Image descriptor for frame conversion.
 
ImageDescriptor m_imgDescPrescan
 Image descriptor for pre-scanconverted image conversion.
 
- Protected Attributes inherited from Configurable
std::vector< Paramm_params
 List of all registered Parameter and SubProperty instances.
 
Signal signalParametersChanged
 Emitted whenever one of the registered Parameters' or SubPropertys' signalValueChanged signal was emitted.
 

Additional Inherited Members

- Public Types inherited from FrameGeometry
enum class  OrientationIndicatorPosition { Nearside = 0 , Farside = 1 }
 Position of external orientation indicator (e.g. colored knob) More...
 
enum class  TransformationMode { NormalizedRawToScanConverted = 0 , NormalizedPrescanToScanConverted = 0 , ScanConvertedToNormalizedRaw = 1 , ScanConvertedToNormalizedPrescan = 1 }
 Used in transformPoint() to specify which geometric transformation to apply. More...
 
- Static Protected Attributes inherited from FrameGeometry
static constexpr double m_insetEpsilon = 1e-7
 Inset distance to avoid numerical errors when computing frame boundaries.
 

Member Function Documentation

◆ asLinear()

FrameGeometryLinear * asLinear ( )
overridevirtual

Returns a pointer to this object as a FrameGeometryLinear, or nullptr if not possible.

Reimplemented from FrameGeometry.

◆ operator==()

bool operator== ( const FrameGeometry & rhs) const
overridevirtual

Checks for equality, also considering the image descriptor.

Reimplemented from FrameGeometry.

◆ setDepth()

void setDepth ( double depth)
overridevirtual

Set the depth of the frame sector, in mm or pixels, depending on the coordinate system.

Implements FrameGeometry.

◆ depth()

double depth ( ) const
overridevirtual

Get the depth of the frame sector, in mm or pixels, depending on the coordinate system.

Implements FrameGeometry.

◆ configure()

void configure ( const Properties * )
overridevirtual

Sets general properties. Only intended to be called from derived classes. See FrameGeometryMetadata.

Reimplemented from FrameGeometry.

◆ configuration()

void configuration ( Properties * ) const
overridevirtual

Retrieves general properties. Only intended to be called from derived classes. See FrameGeometryMetadata.

Reimplemented from FrameGeometry.

◆ convertTo()

std::unique_ptr< FrameGeometry > convertTo ( CoordinateSystem coordSys) const
overridevirtual

Convert the frame geometry to the given coordinate system.

Reimplemented from FrameGeometry.

◆ clone()

std::unique_ptr< FrameGeometry > clone ( ) const
overridevirtual

Create a copy of this frame geometry.

Implements FrameGeometry.

◆ contains()

bool contains ( vec2 coord) const
overridevirtual

Returns true if the given point is within the fan.

Implements FrameGeometry.

◆ frameCenter()

vec2 frameCenter ( ) const
overridevirtual

Returns the center of the frame.

Reimplemented from FrameGeometry.

◆ isSimilar()

bool isSimilar ( const FrameGeometry * other,
bool ignoreOffset = false,
double eps = 0.1 ) const
overridevirtual

True if the given frame geometry is similar to this one, within a given tolerance.

Implements FrameGeometry.

◆ transformPoint()

vec2 transformPoint ( const vec2 & p,
TransformationMode mode ) const
overridevirtual

Applies the specified geometric transformation to a point.

Implements FrameGeometry.

◆ glGeometricTransform()

std::unique_ptr< GlGeometricTransform > glGeometricTransform ( ) const
overridevirtual

Returns the geometric transformation between image coordinates and pre-scan converted coordinates, if available.

Reimplemented from FrameGeometry.

◆ createFanImpl()

FrameGeometry::Fan createFanImpl ( )
overrideprotectedvirtual

Internal fan geometry generation to be implemented by subclass.

Implements FrameGeometry.


The documentation for this class was generated from the following file:
Search Tab / S to search, Esc to close