Measure allowing to get the phi component of the orientation of the minimal oriented bounding box of a shape.
This measure computes the phi component of the spherical orientation of the oriented minimal bounding box for each shape.
Here is an example of phi component of the angle orientation measurement :
See OrientedBoundingBox3d for more details about the oriented bounding box calculation.
Measure allowing to get the phi component of the orientation of the minimal oriented bounding box of a shape
Measure synthesis :
| Measure Type | Measure Unit Type | Parameter Type | Result Type | Shape Requirements |
Generic
|
Angle
|
OBBOrientationPhiMsrParams |
Value (ipsdk::ipReal64)
|
Both
|
See Shape measurement for additional information on these pictograms Example of Python code :
Generic example in 3d case :
import PyIPSDK
import PyIPSDK.IPSDKIPLShapeAnalysis as shapeanalysis
inMeasureInfoSet3d = PyIPSDK.createMeasureInfoSet3d()
PyIPSDK.createMeasureInfo(inMeasureInfoSet3d, "OBBOrientationPhiMsr")
outMeasureSet = shapeanalysis.labelAnalysis3d(inGreyImg, inLabelImg, inMeasureInfoSet3d)
PyIPSDK.saveCsvMeasureFile(os.path.join(tmpPath, "shape_analysis_results.csv"), outMeasureSet)
outMsr = outMeasureSet.getMeasure("OBBOrientationPhiMsr")
outMsrValues = outMsr.getMeasureResult().getColl(0)
print("First label measurement equal " + str(outMsrValues[1]))
Example of C++ code :
Example informations
Associated library
IPSDKIPLShapeAnalysis
Code Example
ImagePtr pInGreyImg3d =
loadTiffImageFile(inputGreyImgPath, eTiffDirectoryMode::eTDM_Volume);
Shape3dCollPtr pShape3dColl = boost::make_shared<Shape3dColl>();
readFromBinaryFile(inputShape3dCollPath, *pShape3dColl);
MeasureInfoSetPtr pMeasureInfoSet = MeasureInfoSet::create3dInstance();
createMeasureInfo(pMeasureInfoSet, "OBBOrientationPhiMsr", createOBBOrientationPhiMsrParams(1));
MeasureSetPtr pOutMeasureSet =
shapeAnalysis3d(pInGreyImg3d, pShape3dColl, pMeasureInfoSet);
const MeasureConstPtr& pOBBOrientationPhiOutMsr = pOutMeasureSet->getMeasure("OBBOrientationPhiMsr");
const ipsdk::shape::analysis::ValueMeasureResult<ipsdk::ipReal64>& outResults = static_cast<const ipsdk::shape::analysis::ValueMeasureResult<ipsdk::ipReal64>&>(pOBBOrientationPhiOutMsr->getMeasureResult());