IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
ipsdk::shape::analysis::MeasureSet Class Reference

Object allowing to agregate a collection of measure. More...

#include <MeasureSet.h>

Inheritance diagram for ipsdk::shape::analysis::MeasureSet:
ipsdk::BaseObjectWithSkeleton ipsdk::BaseSerializationObject ipsdk::BaseDynamicObject

Public Member Functions

 ~MeasureSet ()
 destructor
 
ipUInt64 getNbMeasure () const
 retrieve number of measures in set
 
ipUInt64 getNbEntities () const
 retrieve number of entities associated to measure set
 
ipUInt64 getNbColorPlans () const
 retrieve number of color plans associated to measure set
 
const MeasureInfoSetgetMeasureInfoSet () const
 retrieve measure information set associated to measure set
 
const MeasureCollgetMeasureColl () const
 retrieve collection of measure objects
 
const GeometricCalibrationConstPtrgetGlobalGeometricCalibration () const
 retrieve global geometric calibration attached to object More...
 
bool is2dMeasureSet () const
 
bool is3dMeasureSet () const
 
bool isMsrProcessingPolicy (const eMsrProcessingPolicy &msrProcessingPolicy) const
 
bool isProcessingStatus (const eMsrProcessingStatus &msrProcessingStatus) const
 
bool isReadyToProcess () const
 
BoolResult startProcessing (const ipUInt64 nbColorPlans, const ipUInt64 nbEntities)
 initialize measure processing for all measures into set More...
 
void setMsrGlobalInfo (const eMsrInputImageId &msrInputImageId, const MsrGlobalInfoConstPtr &pMsrGlobalInfo)
 update of global measure informations for a given input image id More...
 
bool hasMsrGlobalInfo (const eMsrInputImageId &msrInputImageId) const
 check whether object is associated to global information for a given input image id
 
const MeasureGlobalInfogetMsrGlobalInfo (const eMsrInputImageId &msrInputImageId) const
 retrieve global measure informations for a given input image id More...
 
bool extractNextReadyMeasureSet (MeasureSetPtr &pSubMeasureSet, eMsrProcessingPolicy &msrProcessingPolicy, eMsrShapeRequirements &msrShapeRequirements, MeasureConfigConstPtr &pMeasureConfig)
 retrieve next ready to process measure set More...
 
bool isStillNeeded (const eMsrInputShapeCollId &shapeCollId, const GeometricCalibration &calibration) const
 
bool isStillNeeded (const eMsrInputImageId &imageId, const BaseIntensityPreProcessorConfig &intensityPreProcessorConfig) const
 check whether a given preprocessed image is still needed for processing
 
BoolResult indivisibleMeasure ()
 process all measures associated to all shapes More...
 
BoolResult genericMeasure (const ipUInt64 shapeIdx)
 process all measures associated to a given shape More...
 
void genericCollectResults (const ipUInt64 resultStartIndex, const MeasureSet &subMeasureSet)
 collect results of a sub measure set from a result start index More...
 
BoolResult geometry2dMeasure (const ipUInt64 shapeIdx, const geom::Shape2d &shape2d)
 process all measures associated to a given shape More...
 
void geometry2dCollectResults (const ipUInt64 resultStartIndex, const MeasureSet &subMeasureSet)
 collect results of a sub measure set from a result start index More...
 
BoolResult geometry3dMeasure (const ipUInt64 shapeIdx, const geom::Shape3d &shape3d)
 process all measures associated to a given shape More...
 
void geometry3dCollectResults (const ipUInt64 resultStartIndex, const MeasureSet &subMeasureSet)
 collect results of a sub measure set from a result start index More...
 
BoolResult intensityStartShapeMeasures (const ipUInt64 shapeIdx)
 start an intensity measure processing for a given shape More...
 
BoolResult intensityMeasure (const ipUInt64 cPlanIdx, const ipUInt64 shapeIdx, const geom::RowSegments &rowSegments, const image::eImageBufferType &imageBufferType, const ipUInt64 rowIdx, const ipUInt64 zPlanIdx, const void *pBuf)
 process all measures associated to a given shape and a row index More...
 
BoolResult intensityEndShapeMeasures (const ipUInt64 shapeIdx)
 end an intensity measure processing for a given shape More...
 
BoolResult intensityCollectResults (const UInt64Vector &resultIndexColl, const MeasureSet &subMeasureSet)
 collect results of a sub measure set from a result index collection More...
 
void endProcessing (const geom::Shape2dConstVector &shape2dColl)
 end 2d measure processing More...
 
void endProcessing (const geom::Shape3dConstVector &shape3dColl)
 end 3d measure processing More...
 
void clearProcessing ()
 method allowing to clear processing data for all measures into set
 
MeasureConstPtr getMeasure (const std::string &measureName) const
 retrieve a given measure More...
 
const MeasurePtrgetMeasure (const std::string &measureName)
 retrieve a given measure More...
 
MeasureSetPtr extractSubMeasureSet (const ipUInt64 subDataStartOffset, const ipUInt64 nbSubData) const
 duplicate a sub measure set with a given number of data to process
 
MeasureSetPtr extractSubMeasureSet (const UInt64Vector &subDataIdxColl) const
 duplicate a sub measure set with a given number of data to process
 
- Public Member Functions inherited from ipsdk::BaseObjectWithSkeleton
const eSklSrzModegetSerializationMode () const
 retrieve serialization flag for object More...
 
void setSerializationMode (const eSklSrzMode &sklSrzMode) const
 set serialization flag for object
 
 BaseObjectWithSkeleton ()
 
 ~BaseObjectWithSkeleton ()
 
- Public Member Functions inherited from ipsdk::BaseSerializationObject
 BaseSerializationObject ()
 Default constructor.
 
virtual ~BaseSerializationObject ()=0
 destructor
 
- Public Member Functions inherited from ipsdk::BaseDynamicObject
virtual const std::string & getClassName () const
 method allowing to retrieve object class name
 
virtual BaseDynamicObjectcreateNew () const =0
 method allowing to create new instance of current object type
 
virtual DynamicObjectPtr createShared () const =0
 method allowing to create new shared instance of current object type
 
virtual bool hasCopySupport () const =0
 check whether objet has copy support
 
virtual BaseDynamicObjectduplicate () const =0
 method allowing to duplicate current object More...
 
virtual DynamicObjectPtr duplicateShared () const =0
 method allowing shared duplication of current object More...
 
 BaseDynamicObject ()
 
virtual ~BaseDynamicObject ()=0
 

Static Public Member Functions

static MeasureSetPtr createMeasureSet (const MeasureInfoSetConstPtr &pMeasureInfoSet)
 
- Static Public Member Functions inherited from ipsdk::BaseSerializationObject
static ipUInt32 getVersion ()
 method allowing to retrieve class version information for serialization
 
- Static Public Member Functions inherited from ipsdk::BaseDynamicObject
static const std::string & getTypeName ()
 method allowing to retrieve name associated to class
 

Protected Member Functions

 MeasureSet ()
 constructor
 
- Protected Member Functions inherited from ipsdk::BaseSerializationObject
virtual BoolResult write (BaseOArchive &ar) const
 method allowing to ensure serialization write part for object
 
virtual BoolResult read (BaseIArchive &ar)
 method allowing to ensure serialization read part for object
 
- Protected Member Functions inherited from ipsdk::BaseDynamicObject
virtual void initCtorCopy (const BaseDynamicObject &object)
 
virtual void copy (const BaseDynamicObject &object)
 method allowing to copy data from another object
 

Protected Attributes

MeasureInfoSetConstPtr _pMeasureInfoSet
 shared pointer to associated measure information set
 
MeasureColl _measureColl
 collection of measure associated to object
 
ipUInt64 _nbEntities
 number of entities associated to measure set
 
- Protected Attributes inherited from ipsdk::BaseObjectWithSkeleton
eSklSrzMode _sklSrzMode
 serialization flag for object More...
 

Friends

MeasureSetPtr boost::make_shared ()
 

Detailed Description

Object allowing to agregate a collection of measure.

Author
E. Noirfalise
Date
2015/06/16
Note
each measure name must be unique

Member Function Documentation

◆ createMeasureSet()

static MeasureSetPtr ipsdk::shape::analysis::MeasureSet::createMeasureSet ( const MeasureInfoSetConstPtr pMeasureInfoSet)
static

methode allowing to create a new measure set object

Exceptions
ipsdk::shape::analysis::IPSDKBaseShapeAnalysisExceptionif pMeasureInfoSet.get() == 0

◆ getGlobalGeometricCalibration()

const GeometricCalibrationConstPtr& ipsdk::shape::analysis::MeasureSet::getGlobalGeometricCalibration ( ) const

retrieve global geometric calibration attached to object

Returns
a null shared pointer if global geometric calibration has not been set

◆ is2dMeasureSet()

bool ipsdk::shape::analysis::MeasureSet::is2dMeasureSet ( ) const

check whether all measure associated to measure set can be used in 2d case

◆ is3dMeasureSet()

bool ipsdk::shape::analysis::MeasureSet::is3dMeasureSet ( ) const

check whether all measure associated to measure set can be used in 3d case

◆ isMsrProcessingPolicy()

bool ipsdk::shape::analysis::MeasureSet::isMsrProcessingPolicy ( const eMsrProcessingPolicy msrProcessingPolicy) const

check whether all measure associated to measure set are associated to a given processing policy

◆ isProcessingStatus()

bool ipsdk::shape::analysis::MeasureSet::isProcessingStatus ( const eMsrProcessingStatus msrProcessingStatus) const

check whether all measures associated to measure set are associated to a given processing status

◆ isReadyToProcess()

bool ipsdk::shape::analysis::MeasureSet::isReadyToProcess ( ) const

check whether all measures associated to measure set are ready to be processed

◆ getMeasure() [1/2]

MeasureConstPtr ipsdk::shape::analysis::MeasureSet::getMeasure ( const std::string &  measureName) const

retrieve a given measure

Exceptions
ipsdk::shape::analysis::IPSDKBaseShapeAnalysisExceptionif _pMeasureInfoSet->existsMeasureInfo(measureName) == false

◆ getMeasure() [2/2]

const MeasurePtr& ipsdk::shape::analysis::MeasureSet::getMeasure ( const std::string &  measureName)

retrieve a given measure

Exceptions
ipsdk::shape::analysis::IPSDKBaseShapeAnalysisExceptionif _pMeasureInfoSet->existsMeasureInfo(measureName) == false

◆ startProcessing()

BoolResult ipsdk::shape::analysis::MeasureSet::startProcessing ( const ipUInt64  nbColorPlans,
const ipUInt64  nbEntities 
)

initialize measure processing for all measures into set

Returns
false in case of failure

◆ setMsrGlobalInfo()

void ipsdk::shape::analysis::MeasureSet::setMsrGlobalInfo ( const eMsrInputImageId msrInputImageId,
const MsrGlobalInfoConstPtr pMsrGlobalInfo 
)

update of global measure informations for a given input image id

Exceptions
ipsdk::shape::analysis::IPSDKBaseShapeAnalysisExceptionif pMsrGlobalInfo.get() == 0
ipsdk::shape::analysis::IPSDKBaseShapeAnalysisExceptionif pMsrGlobalInfo.isInit() == false

◆ getMsrGlobalInfo()

const MeasureGlobalInfo& ipsdk::shape::analysis::MeasureSet::getMsrGlobalInfo ( const eMsrInputImageId msrInputImageId) const

retrieve global measure informations for a given input image id

Exceptions
ipsdk::shape::analysis::IPSDKBaseShapeAnalysisExceptionif hasMsrGlobalInfo(msrInputImageId)

◆ extractNextReadyMeasureSet()

bool ipsdk::shape::analysis::MeasureSet::extractNextReadyMeasureSet ( MeasureSetPtr pSubMeasureSet,
eMsrProcessingPolicy msrProcessingPolicy,
eMsrShapeRequirements msrShapeRequirements,
MeasureConfigConstPtr pMeasureConfig 
)

retrieve next ready to process measure set

Returns
false if no more data are ready to be processed

◆ isStillNeeded()

bool ipsdk::shape::analysis::MeasureSet::isStillNeeded ( const eMsrInputShapeCollId shapeCollId,
const GeometricCalibration calibration 
) const

check whether a given calibrated shape collection is still needed for processing

◆ indivisibleMeasure()

BoolResult ipsdk::shape::analysis::MeasureSet::indivisibleMeasure ( )

process all measures associated to all shapes

Exceptions
ipsdk::shape::analysis::IPSDKBaseShapeAnalysisExceptionif isMsrProcessingPolicy(eMsrProcessingPolicy::eMPP_Indivisible) == false
Returns
false in case of failure

◆ genericMeasure()

BoolResult ipsdk::shape::analysis::MeasureSet::genericMeasure ( const ipUInt64  shapeIdx)

process all measures associated to a given shape

Exceptions
ipsdk::shape::analysis::IPSDKBaseShapeAnalysisExceptionif isMsrProcessingPolicy(eMsrProcessingPolicy::eMPP_Generic) == false
Returns
false in case of failure

◆ genericCollectResults()

void ipsdk::shape::analysis::MeasureSet::genericCollectResults ( const ipUInt64  resultStartIndex,
const MeasureSet subMeasureSet 
)

collect results of a sub measure set from a result start index

Exceptions
ipsdk::shape::analysis::IPSDKBaseShapeAnalysisExceptionif isMsrProcessingPolicy(eMsrProcessingPolicy::eMPP_Generic) == false
ipsdk::shape::analysis::IPSDKBaseShapeAnalysisExceptionif measure collection mismatch
ipsdk::shape::analysis::IPSDKBaseShapeAnalysisExceptionif measure results size are not compatible

◆ geometry2dMeasure()

BoolResult ipsdk::shape::analysis::MeasureSet::geometry2dMeasure ( const ipUInt64  shapeIdx,
const geom::Shape2d shape2d 
)

process all measures associated to a given shape

Exceptions
ipsdk::shape::analysis::IPSDKBaseShapeAnalysisExceptionif isMsrProcessingPolicy(eMsrProcessingPolicy::eMPP_Geometry2d) == false
Returns
false in case of failure

◆ geometry2dCollectResults()

void ipsdk::shape::analysis::MeasureSet::geometry2dCollectResults ( const ipUInt64  resultStartIndex,
const MeasureSet subMeasureSet 
)

collect results of a sub measure set from a result start index

Exceptions
ipsdk::shape::analysis::IPSDKBaseShapeAnalysisExceptionif isMsrProcessingPolicy(eMsrProcessingPolicy::eMPP_Geometry2d) == false
ipsdk::shape::analysis::IPSDKBaseShapeAnalysisExceptionif measure collection mismatch
ipsdk::shape::analysis::IPSDKBaseShapeAnalysisExceptionif measure results size are not compatible

◆ geometry3dMeasure()

BoolResult ipsdk::shape::analysis::MeasureSet::geometry3dMeasure ( const ipUInt64  shapeIdx,
const geom::Shape3d shape3d 
)

process all measures associated to a given shape

Exceptions
ipsdk::shape::analysis::IPSDKBaseShapeAnalysisExceptionif isMsrProcessingPolicy(eMsrProcessingPolicy::eMPP_Geometry3d) == false
Returns
false in case of failure

◆ geometry3dCollectResults()

void ipsdk::shape::analysis::MeasureSet::geometry3dCollectResults ( const ipUInt64  resultStartIndex,
const MeasureSet subMeasureSet 
)

collect results of a sub measure set from a result start index

Exceptions
ipsdk::shape::analysis::IPSDKBaseShapeAnalysisExceptionif isMsrProcessingPolicy(eMsrProcessingPolicy::eMPP_Geometry2d) == false
ipsdk::shape::analysis::IPSDKBaseShapeAnalysisExceptionif measure collection mismatch
ipsdk::shape::analysis::IPSDKBaseShapeAnalysisExceptionif measure results size are not compatible

◆ intensityStartShapeMeasures()

BoolResult ipsdk::shape::analysis::MeasureSet::intensityStartShapeMeasures ( const ipUInt64  shapeIdx)

start an intensity measure processing for a given shape

Exceptions
ipsdk::shape::analysis::IPSDKBaseShapeAnalysisExceptionif isMsrProcessingPolicy(eMsrProcessingPolicy::eMPP_Intensity) == false
Returns
false in case of failure

◆ intensityMeasure()

BoolResult ipsdk::shape::analysis::MeasureSet::intensityMeasure ( const ipUInt64  cPlanIdx,
const ipUInt64  shapeIdx,
const geom::RowSegments rowSegments,
const image::eImageBufferType imageBufferType,
const ipUInt64  rowIdx,
const ipUInt64  zPlanIdx,
const void *  pBuf 
)

process all measures associated to a given shape and a row index

Exceptions
ipsdk::shape::analysis::IPSDKBaseShapeAnalysisExceptionif isMsrProcessingPolicy(eMsrProcessingPolicy::eMPP_Intensity) == false
Returns
false in case of failure

◆ intensityEndShapeMeasures()

BoolResult ipsdk::shape::analysis::MeasureSet::intensityEndShapeMeasures ( const ipUInt64  shapeIdx)

end an intensity measure processing for a given shape

Exceptions
ipsdk::shape::analysis::IPSDKBaseShapeAnalysisExceptionif isMsrProcessingPolicy(eMsrProcessingPolicy::eMPP_Intensity) == false
Returns
false in case of failure

◆ intensityCollectResults()

BoolResult ipsdk::shape::analysis::MeasureSet::intensityCollectResults ( const UInt64Vector resultIndexColl,
const MeasureSet subMeasureSet 
)

collect results of a sub measure set from a result index collection

Warning
their is no check on results index validity
Exceptions
ipsdk::shape::analysis::IPSDKBaseShapeAnalysisExceptionif isMsrProcessingPolicy(eMsrProcessingPolicy::eMPP_Intensity) == false
ipsdk::shape::analysis::IPSDKBaseShapeAnalysisExceptionif measure collection mismatch
Returns
false in case of failure

◆ endProcessing() [1/2]

void ipsdk::shape::analysis::MeasureSet::endProcessing ( const geom::Shape2dConstVector shape2dColl)

end 2d measure processing

Exceptions
ipsdk::shape::analysis::IPSDKBaseShapeAnalysisExceptionif measure are not associated to a started processing status
ipsdk::shape::analysis::IPSDKBaseShapeAnalysisExceptionif is2dMeasureSet() == false

◆ endProcessing() [2/2]

void ipsdk::shape::analysis::MeasureSet::endProcessing ( const geom::Shape3dConstVector shape3dColl)

end 3d measure processing

Exceptions
ipsdk::shape::analysis::IPSDKBaseShapeAnalysisExceptionif measure are not associated to a started processing status
ipsdk::shape::analysis::IPSDKBaseShapeAnalysisExceptionif is3dMeasureSet() == false

The documentation for this class was generated from the following file: