VAT  3.0
Video Analysis Tool
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
ReliabilityMerge2D Class Reference

Classes

class  AlternativeElement
 
class  mergeData
 
class  MergedElement
 
class  mergeType
 

Public Types

enum  mergeParameterSet { MergeInTracking, PreMergeInTracking }
 
typedef QSharedPointer< AlternativeElementSpAlternativeElement
 
typedef QSharedPointer< MergedElementSMergedElement
 

Public Member Functions

 ReliabilityMerge2D (Datapool *i_data)
 
bool prepareRun ()
 
bool init ()
 
bool setParameters (QDomNode &config)
 
bool setParameters (QDomNode &config, mergeParameterSet i_mergeParameterSet)
 
bool defaultParameters (mergeParameterSet i_mergeParameterSet)
 
bool canBeMerged (Blob *i_blob1, Blob *i_blob2)
 
bool getNextCorrespondence (Blob **i_pBlob1, Blob **i_pBlob2)
 
bool isAValidCorrespondence (Blob *i_blob1, Blob *i_blob2)
 
bool blobOnTopAndNotOnAOIGround (Blob *i_blob1, Blob *i_blob2)
 
bool distanceCriteria (Blob *i_blob1, Blob *i_blob2)
 
double widthIntersectionRatio (Blob *i_blob1, Blob *i_blob2)
 
double heightIntersectionRatio (Blob *i_blob1, Blob *i_blob2)
 
void preMerge (bool **initialMergeMap, std::vector< Blob > &blobsList)
 
BlobgetMergedBlob (int *mergeSequence, int sequenceLength, std::vector< Blob > &blobsVector, int blobsNumber, bool classify)
 
void computeModelScoresForMerge (std::map< ObjectType, double > &mergeMap, Blob *i_blob1, Blob *i_blob2)
 
mergeType computeMergeScoreForType (Blob *i_blob1, Blob *i_blob2, ObjectType blobType)
 
void constructCorrespondenceTable ()
 
void setInitialCorrespondences (bool **initialMergeMap, int blobsNumber, Blob **blobsVector)
 
bool setMergesForUsableBlobs (tree< SMergedElement > &mergeTree, tree< SMergedElement >::iterator iter, int level, int parent, bool **initialMergeMap, int *reallyMergeableBlobs, int mergeableNumber, Blob **blobsVector, int blobsNumber)
 
int checkValidityOfSubtreesForSequence (int *sequence, int length, bool **initialMergeMap, int *reallyMergeableBlobs, int mergeableNumber, Blob **blobsVector, int blobsNumber)
 
bool subTreesValidator (tree< SMergedElement > &mergeSubTree, tree< SMergedElement >::iterator iter, int level, int parent, bool **initialMergeMap, int *reallyMergeableBlobs, int mergeableNumber, Blob **blobsVector, int blobsNumber, bool *forbiddenElements)
 
BlobgetMergedBlob (int *mergeSequence, int sequenceLength, Blob **blobsVector, int blobsNumber, bool classify)
 
void clearDefinedMerges ()
 
void clearDefinedMergesFromStartingKey (int value)
 
BlobjustMerge2D (int *mergeSequence, int sequenceLength, Blob **blobsVector)
 
bool checkValidityOfPathsForSequence (int *sequence, int length, tree< SMergedElement > &mergeTree, Blob *mergedBlob, int mergeableNumber)
 
bool pathValidator (bool *sequenceElements, int length, int num_valid, tree< SMergedElement > &mergeTree, tree< SMergedElement >::iterator iter, Blob *mergedBlob, int mergeableNumber)
 
void mergeBlobsInFirstOne (Blob *, Blob *)
 
Blob ** reduceOverlapedBlobs (Blob **blobsVector, int &blobsNumber, std::vector< Blob > &blobsList)
 
int reduceOverlapedBlobsMarkingElimination (bool *eliminationVector, bool *blobWithMergeResult, Blob **blobsVector, int blobsNumber, bool *pertinentElements)
 
void setGroup (int groupsVector[], bool **relations, int elementsNumber, int groupId, int startPoint, int referencePoint, int *elementsToAnalyzeVector)
 
int setGroups (int groupsVector[], bool **relations, int elementsNumber, int *elementsToAnalyzeVector)
 
void orderAscending (int *array, int top, int bottom)
 
int getMiddle (int *array, int top, int bottom)
 
void mergeBlobs (Blob *, Blob *)
 
void updateCorrespondenceTable (Blob *i_blob)
 
void removeCorrespondencesWithBlob (Blob *i_blob)
 
void removeCorrespondence (Blob *i_blob1, Blob *i_blob2)
 
void updateClassificationTable (Blob *i_blob1, Blob *i_blob2)
 
bool canBelongToBlob (Blob *blob1, Blob *blob2)
 

Public Attributes

bool initialized
 
double m_mergeThres
 
double m_mergeDistMax
 
double m_overlapingRatio
 
bool m_eliminateOverlapedBlobs
 
double m_eliminateOverlapedBlobsOverlapingRatio
 
double m_eliminateOverlapedBlobsProbability
 
double m_eliminateOverlapedBlobsReliability
 
int * mergeList
 
int elementsToMerge
 
std::map< int, SpAlternativeElement > definedMerges
 
int shortestMergePath
 
int * shortestSequence
 
BlobshortestSequenceMerge
 
std::map< Blob *, std::map< Blob *, mergeData > > m_mapCorrespondences
 
Blobm_mergeBlob
 
Datapoolm_data
 
QImage * m_segmentation
 
Blobm_lastMergedBlob
 

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