ImFusion SDK 4.3
FrameGeometryCircular Class Reference

#include <ImFusion/US/FrameGeometryCircular.h>

Specialization for circular frame geometries. More...

+ Inheritance diagram for FrameGeometryCircular:

Detailed Description

Specialization for circular frame geometries.

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

The US frame is defined by the ring between the short and long radii relative to some center point. Note that in contrast to the convex geometry, the offset is indeed the center of the ring. Depending on the topDown setting, the ruler will indicate positive depths in one or the other direction. The short radius is defaulted to zero.

Public Member Functions

 FrameGeometryCircular (CoordinateSystem coordSys)
 
FrameGeometryCircularasCircular () override
 Returns a pointer to this object as a FrameGeometryCircular, or nullptr if not possible.
 
bool operator== (const FrameGeometry &rhs) const override
 Checks for equality, also considering the image descriptor.
 
void setShortRadius (double radius)
 Set the inner radius of the frame annulus, in mm or pixels, depending on the coordinate system.
 
void setLongRadius (double radius)
 Sets the long radius of the frame annulus, in mm or pixels, depending on the coordinate system.
 
double shortRadius () const
 Gets the short radius of the frame annulus, in mm or pixels, depending on the coordinate system.
 
double longRadius () const
 Gets the long radius of the frame annulus, in mm or pixels, depending on the coordinate system.
 
double depth () const override
 Gets the depth of the frame annulus, in mm or pixels, depending on the coordinate system.
 
void setDepth (double depth) override
 Sets the depth of the frame annulus. The long radius will be adapted accordingly.
 
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
 Returns a copy where internal values were converted to new units.
 
std::unique_ptr< FrameGeometryclone () const override
 Clones the current frame geometry, including the image descriptor.
 
bool contains (vec2 coord) const override
 Returns true if the given point is within the geometry.
 
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.
 
- 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.
 
virtual std::unique_ptr< GlGeometricTransformglGeometricTransform () const
 Returns the geometric transformation between image coordinates and pre-scan converted coordinates, if available.
 
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 FrameGeometryLinearasLinear ()
 Convenience cast to the derived type, or nullptr if not possible.
 
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.
 
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 onEdgeChanged (vec2 delta, bool longRadius, int component, int sign)
 
- 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_shortRadius
 Inner radius.
 
double m_longRadius
 Outer radius.
 
- 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

◆ asCircular()

FrameGeometryCircular * asCircular ( )
overridevirtual

Returns a pointer to this object as a FrameGeometryCircular, 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.

◆ depth()

double depth ( ) const
overridevirtual

Gets the depth of the frame annulus, in mm or pixels, depending on the coordinate system.

Implements FrameGeometry.

◆ setDepth()

void setDepth ( double depth)
overridevirtual

Sets the depth of the frame annulus. The long radius will be adapted accordingly.

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

Returns a copy where internal values were converted to new units.

The image descriptor of the object is used for the conversion.

Reimplemented from FrameGeometry.

◆ clone()

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

Clones the current frame geometry, including the image descriptor.

Implements FrameGeometry.

◆ contains()

bool contains ( vec2 coord) const
overridevirtual

Returns true if the given point is within the geometry.

Note that whenever angular computations are made, these should be done in the image coordinate system to avoid errors when non-isotropic spacing is used.

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.

◆ 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