Compute number of holes associated to shape.
More...
Compute number of holes associated to shape.
NbHoles measure simply count number of holes associated to each shapes.
Here is an example of number of holes measurement in 2d case :
- Author
- E. Noirfalise
- Date
- 2015/07/10
- Copyright
- 2015 Reactiv'IP, all right reserved.
Compute number of holes associated to shape
Measure synthesis :
| Measure Type | Measure Unit Type | Parameter Type | Result Type | Shape Requirements |
Generic
|
None
|
None
|
Value (ipsdk::ipUInt32)
|
Boundary Approximation
|
See Shape measurement for additional information on these pictograms Measure Type :
This is a generic measure
- it does not directly use shape or image data
- it can use dependencies to other measures to compute a result (see Measure Dependencies section)
This measure can be used in 2d and 3d case
Measure Unit Type:
Measure NbHoles is not associated to any unit [ipsdk::shape::analysis::eMsrUnitFormat::eMUF_NoUnit]
Measure Parameter Type :
Measure NbHoles has no parameters
Measure Result Type :
Measure NbHoles is associated to ipsdk::shape::analysis::ValueMeasureResult<ipsdk::ipUInt32> results
Measure Shape Requirements :
Measure NbHoles requires boundary approximation from shape data
Measure Dependencies :
Measure NbHoles depends on following measures :
| Measure Mode | Measure Name | Measure Type | Measure Parameters |
| eMVP_2d | NbHoles | NbHoles2d | |
| eMVP_3d | NbHoles | NbHoles3d | |
- Note
- See Shape Analysis 2d for more information on general shape 2d analysis and measurement usage.
-
See Shape Analysis 3d for more information on general shape 3d analysis and measurement usage.
Example of Python code :
Generic example in 2d case :
import PyIPSDK
import PyIPSDK.IPSDKIPLShapeAnalysis as shapeanalysis
inMeasureInfoSet2d = PyIPSDK.createMeasureInfoSet2d()
PyIPSDK.createMeasureInfo(inMeasureInfoSet2d, "NbHolesMsr")
outMeasureSet = shapeanalysis.labelAnalysis2d(inGreyImg, inLabelImg2d, inMeasureInfoSet2d)
PyIPSDK.saveCsvMeasureFile(os.path.join(tmpPath, "shape_analysis_results.csv"), outMeasureSet)
outMsr = outMeasureSet.getMeasure("NbHolesMsr")
outMsrValues = outMsr.getMeasureResult().getColl(0)
print("First label measurement equal " + str(outMsrValues[1]))
Generic example in 3d case :
import PyIPSDK
import PyIPSDK.IPSDKIPLShapeAnalysis as shapeanalysis
inMeasureInfoSet3d = PyIPSDK.createMeasureInfoSet3d()
PyIPSDK.createMeasureInfo(inMeasureInfoSet3d, "NbHolesMsr")
outMeasureSet = shapeanalysis.labelAnalysis3d(inGreyImg, inLabelImg, inMeasureInfoSet3d)
PyIPSDK.saveCsvMeasureFile(os.path.join(tmpPath, "shape_analysis_results.csv"), outMeasureSet)
outMsr = outMeasureSet.getMeasure("NbHolesMsr")
outMsrValues = outMsr.getMeasureResult().getColl(0)
print("First label measurement equal " + str(outMsrValues[1]))
Example of C++ code :
Example informations
Associated library
IPSDKIPLShapeAnalysis
Code Example
const MeasureConstPtr& pNbHolesOutMsr = pOutMeasureSet->getMeasure(
"NbHolesMsr");