![]() |
ImFusion SDK 4.3
|
#include <ImFusion/US/FrameGeometryCircular.h>
Specialization for circular frame geometries. More...
Inheritance diagram for FrameGeometryCircular: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) | |
| FrameGeometryCircular * | asCircular () 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< FrameGeometry > | convertTo (CoordinateSystem coordSys) const override |
| Returns a copy where internal values were converted to new units. | |
| std::unique_ptr< FrameGeometry > | clone () 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 ImageDescriptor & | imgDesc () const |
| Returns the ImageDescriptor for the frame geometry. | |
| const ImageDescriptor & | imgDescPrescan () 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< GlGeometricTransform > | glGeometricTransform () 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 FrameGeometryLinear * | asLinear () |
| Convenience cast to the derived type, or nullptr if not possible. | |
| virtual FrameGeometryConvex * | asConvex () |
| Convenience cast to the derived type, or nullptr if not possible. | |
| virtual FrameGeometryConvexSteered * | asConvexSteered () |
| virtual FrameGeometrySector * | asSector () |
| Convenience cast to the derived type, or nullptr if not possible. | |
| const FrameGeometryLinear * | asLinear () const |
| Convenience cast to the derived type, or nullptr if not possible. | |
| const FrameGeometryConvex * | asConvex () const |
| Convenience cast to the derived type, or nullptr if not possible. | |
| const FrameGeometryConvexSteered * | asConvexSteered () const |
| const FrameGeometrySector * | asSector () const |
| Convenience cast to the derived type, or nullptr if not possible. | |
| const FrameGeometryCircular * | asCircular () 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 | |
| Configurable & | operator= (const Configurable &) |
| Configurable & | operator= (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< Param > | m_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. | |
|
overridevirtual |
Returns a pointer to this object as a FrameGeometryCircular, or nullptr if not possible.
Reimplemented from FrameGeometry.
|
overridevirtual |
Checks for equality, also considering the image descriptor.
Reimplemented from FrameGeometry.
|
overridevirtual |
Gets the depth of the frame annulus, in mm or pixels, depending on the coordinate system.
Implements FrameGeometry.
|
overridevirtual |
Sets the depth of the frame annulus. The long radius will be adapted accordingly.
Implements FrameGeometry.
|
overridevirtual |
Sets general properties. Only intended to be called from derived classes. See FrameGeometryMetadata.
Reimplemented from FrameGeometry.
|
overridevirtual |
Retrieves general properties. Only intended to be called from derived classes. See FrameGeometryMetadata.
Reimplemented from FrameGeometry.
|
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.
|
overridevirtual |
Clones the current frame geometry, including the image descriptor.
Implements FrameGeometry.
|
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.
|
overridevirtual |
Returns the center of the frame.
Reimplemented from FrameGeometry.
|
overridevirtual |
True if the given frame geometry is similar to this one, within a given tolerance.
Implements FrameGeometry.
|
overridevirtual |
Applies the specified geometric transformation to a point.
Implements FrameGeometry.
|
overrideprotectedvirtual |
Internal fan geometry generation to be implemented by subclass.
Implements FrameGeometry.