![]() |
IPSDK
4_1_0_2
IPSDK : Image Processing Software Development Kit
|
sum of the distance difference between the outline of a shape in certain direction to that of an equivalent ellipse More...
Classes | |
| class | ipsdk::imaproc::shape::analysis::RadiusAngularityIndex2dMsr |
| Measurement object for measure RadiusAngularityIndex2d. More... | |
| class | ipsdk::imaproc::shape::analysis::RadiusAngularityIndex2dMsrInfo |
| Information object for measure RadiusAngularityIndex2d. More... | |
| class | ipsdk::imaproc::shape::analysis::RadiusAngularityIndex2dMsrParams |
| Parameter object for measure RadiusAngularityIndex2d. More... | |
sum of the distance difference between the outline of a shape in certain direction to that of an equivalent ellipse
This measure allows to quantified the angularity of a shape using the difference between shape radius in a certain direction and that of its equivalent ellipse.
Note that equivalent ellipse associated to a shape is define such as :
Given a set of orientations regularly sampled around unit circle (with number of orientation defined by parameter NbOrientations), we compute an angularity value given by :
where :
is the angle associated to sample number
(
with
set to NbOrientations)
is the radius of shape at angle
, which is the length of segment starting at equivalent ellipse center, oriented and directed with respect to angle
and ending at intersection with shape boundary (note that we retain farest intersection in case of non convex shape which may lead to several intersection points).
is the radius of equivalent ellipse at angle
.
Then the global shape angularity value is simply given by the sum of previous values over all sampled angles :
Here is an example of degree of angularity 2d computation on few caracteristic shapes :
sum of the distance difference between the outline of a shape in certain direction to that of an equivalent ellipse
| Measure Type | Measure Unit Type | Parameter Type | Result Type | Shape Requirements |
|---|---|---|---|---|
Geometry 2d |
None |
|
Value (ipsdk::ipReal64) |
Both |
This is a geometry 2d measure
This measure can only be used in 2d case
Measure RadiusAngularityIndex2d is not associated to any unit [ipsdk::shape::analysis::eMsrUnitFormat::eMUF_NoUnit]
Measure RadiusAngularityIndex2d is associated to RadiusAngularityIndex2dMsrParams parameters
Measure RadiusAngularityIndex2d is associated to ipsdk::shape::analysis::ValueMeasureResult<ipsdk::ipReal64> results
Measure RadiusAngularityIndex2d requires row intersections and boundary approximation from shape data
Measure RadiusAngularityIndex2d depends on following measures :
| Measure Mode | Measure Name | Measure Type | Measure Parameters |
|---|---|---|---|
| eMVP_2d | Perimeter2d | Perimeter2d | createHolesBasicPolicyMsrParams(_pMsrParams->getValue<RadiusAngularityIndex2dMsrParams::ProcessHoles>()) |
| eMVP_2d | Area2d | PolygonArea2d | createHolesBasicPolicyMsrParams(_pMsrParams->getValue<RadiusAngularityIndex2dMsrParams::ProcessHoles>()) |
| eMVP_2d | Barycenter2d | Barycenter2d | |
| eMVP_2d | InertiaOrientation2d | InertiaOrientation2d | |
| eMVP_2d | Shape2dRTree | Shape2dRTree |
Generic example in 2d case :
1.8.14