eVision Python API
Loading...
Searching...
No Matches
eVision.EasyDeepLearning.EUnsupervisedSegmenterMetrics Class Reference

Collection of metrics used to evaluate the state of an eVision.EasyDeepLearning.EUnsupervisedSegmenter. More...

Inheritance diagram for eVision.EasyDeepLearning.EUnsupervisedSegmenterMetrics:
Collaboration diagram for eVision.EasyDeepLearning.EUnsupervisedSegmenterMetrics:

Public Member Functions

None __init__ (self)
 Constructs an eVision.EasyDeepLearning.EUnsupervisedSegmenterMetrics object.
None __init__ (self, eVision.EasyDeepLearning.EUnsupervisedSegmenterMetrics other)
 Copy constructor of an eVision.EasyDeepLearning.EUnsupervisedSegmenterMetrics object.
bool IsTotallyUnsupervised (self)
 Whether this metrics has results from only good images (true) or from both good and defective images (false).
bool IsValid (self)
 Indicates whether the object contains at least one result.
None Load (self, str path)
 Loads an unsupervised segmentation metric.
None Load (self, eVision.ESerializer|None serializer)
 Loads an unsupervised segmentation metric.
None Save (self, str path)
 Saves an unsupervised segmentation metric.
None Save (self, eVision.ESerializer|None serializer)
 Saves an unsupervised segmentation metric.
None AddResult (self, eVision.EasyDeepLearning.EUnsupervisedSegmenterResult result, bool isGoodImage)
 Adds the given result with the corresponding ground truth label to the metrics.
None AddErrorResult (self, eVision.EasyDeepLearning.EUnsupervisedSegmenterResult result)
 Adds the given result to the metric for error computation.
None RemoveResult (self, eVision.EasyDeepLearning.EUnsupervisedSegmenterResult result, bool isGoodImage)
 Removes the given result with the corresponding ground truth label to the metrics.
None RemoveErrorResult (self, eVision.EasyDeepLearning.EUnsupervisedSegmenterResult result)
 Removes the given result from the metric for error computation.
None AddMetrics (self, eVision.EasyDeepLearning.EUnsupervisedSegmenterMetrics other)
 Adds the other metrics to the current metrics of this object.
float GetBestWeightedAccuracy (self, float goodWeight, float badWeight)
 Best achievable weighted accuracy.
float GetBestWeightedAccuracy (self, eVision.EasyDeepLearning.EDataset dataset)
 Best achievable weighted accuracy.
float GetBestWeightedAccuracyClassificationThreshold (self, float goodWeight, float badWeight)
 Classification threshold giving the best achievable weighted accuracy (see eVision.EasyDeepLearning.EUnsupervisedSegmenterMetrics.GetBestWeightedAccuracy).
float GetBestWeightedAccuracyClassificationThreshold (self, eVision.EasyDeepLearning.EDataset dataset)
 Classification threshold giving the best achievable weighted accuracy (see eVision.EasyDeepLearning.EUnsupervisedSegmenterMetrics.GetBestWeightedAccuracy).
float Error (self)
 The error of the segmenter.
float AverageScoreOnGoodImages (self)
 Gets the average score of good images.
float AverageScoreOnDefectiveImages (self)
 Gets the average score of defective images.
Public Member Functions inherited from eVision.EasyDeepLearning.EDeepLearningDefectDetectionMetrics
None __init__ (self)
 Constructs an empty eVision.EasyDeepLearning.EDeepLearningDefectDetectionMetrics object.
None __init__ (self, eVision.EasyDeepLearning.EDeepLearningDefectDetectionMetrics other)
 Copy constructor.
bool IsDefectDetectionMetricsValid (self)
 Whether the defect detection metrics are valid or not.
float GetAccuracy (self, int index)
 The accuracy of the segmenter.
float GetAccuracy (self)
 The accuracy of the segmenter.
int GetConfusion (self, eVision.EasyDeepLearning.EConfusionMatrixElement element, int index)
 Confusion value of one label with another.
int GetConfusion (self, eVision.EasyDeepLearning.EConfusionMatrixElement element)
 Confusion value of one label with another.
float GetRecall (self, int index)
 Recall for the current threshold.
float GetRecall (self)
 Recall for the current threshold.
float GetPrecision (self, int index)
 Precision for the current threshold.
float GetPrecision (self)
 Precision for the current threshold.
float GetFScore (self, int index)
 The F1-Score for the current threshold.
float GetFScore (self)
 The F1-Score for the current threshold.
eVision.EasyDeepLearning.EROCPoint GetPrecisionRecallCurvePoint (self, int index)
 Get a point on the precision/recall curve.
eVision.EasyDeepLearning.EROCPoint GetPrecisionRecallCurvePoint (self)
 Get a point on the precision/recall curve.
eVision.EasyDeepLearning.EROCPoint GetROCPoint (self, int index)
 ROC (Receiver Operating Characteristic) point.
eVision.EasyDeepLearning.EROCPoint GetROCPoint (self)
 ROC (Receiver Operating Characteristic) point.
int NumDefectiveSample (self)
 Number of defective sample added to the metric.
int NumGoodSample (self)
 Number of good sample added to the metric.
float BestAccuracy (self)
 Best achievable accuracy.
float BestBalancedAccuracy (self)
 Best achievable balanced accuracy.
float BestAccuracyClassificationThreshold (self)
 Classification threshold giving the best achievable accuracy (see eVision.EasyDeepLearning.EDeepLearningDefectDetectionMetrics.BestAccuracy).
float BestBalancedAccuracyClassificationThreshold (self)
 Classification threshold giving the best achievable balanced accuracy (see eVision.EasyDeepLearning.EDeepLearningDefectDetectionMetrics.BestBalancedAccuracy).
float AreaUnderROCCurve (self)
 The area under ROC curve (AUC) of the classifier (see eVision.EasyDeepLearning.EDeepLearningDefectDetectionMetrics.GetROCPoint).
float AveragePrecision (self)
 Average precision.
float BestFScore (self)
 Best F1-Score.
float BestFScoreThreshold (self)
 Classification threshold that yields the best F1-Score.
int PrecisionRecallCurveIndex (self)
 Index in the precision/recall curve for the current eVision.EasyDeepLearning.EDeepLearningDefectDetectionMetrics.ClassificationThreshold.
int NumPrecisionRecallCurvePoint (self)
 Number of point in the precision/recall curve.
int NumberOfClassifiers (self)
 Number of different possible classifiers.
float ClassificationThreshold (self)
 Classification threshold.
 ClassificationThreshold (self, float value)
 Classification threshold.

Detailed Description

Collection of metrics used to evaluate the state of an eVision.EasyDeepLearning.EUnsupervisedSegmenter.

A metric is a value summarizing the quality of a collection of unsupervised segmentation results (see eVision.EasyDeepLearning.EUnsupervisedSegmenterResult) with respect to their ground truth. New results can be added to the object individually with eVision.EasyDeepLearning.EUnsupervisedSegmenterMetrics.AddResult or collectively with eVision.EasyDeepLearning.EUnsupervisedSegmenterMetrics.AddMetrics.

eVision.EasyDeepLearning.EUnsupervisedSegmenterMetrics contains two types of metrics: unsupervised metrics that are computed only on good images and supervised/defect detection metrics that are computed on both good and bad images. The defect detection metrics are accessible only when results for bad images were added to the object. When supervised metrics are accessible, eVision.EasyDeepLearning.EUnsupervisedSegmenterMetrics.IsTotallyUnsupervised is false.

There is only one unsupervised metric: the error (see eVision.EasyDeepLearning.EUnsupervisedSegmenterMetrics.Error). See eVision.EasyDeepLearning.EDeepLearningDefectDetectionMetrics for a description of the defect detection metrics.

Remarks:

License(s): BasicTypes

Constructor & Destructor Documentation

◆ __init__() [1/2]

None eVision.EasyDeepLearning.EUnsupervisedSegmenterMetrics.__init__ ( self)

◆ __init__() [2/2]

None eVision.EasyDeepLearning.EUnsupervisedSegmenterMetrics.__init__ ( self,
eVision.EasyDeepLearning.EUnsupervisedSegmenterMetrics other )

Copy constructor of an eVision.EasyDeepLearning.EUnsupervisedSegmenterMetrics object.

Parameters
otherReference to the eVision.EasyDeepLearning.EUnsupervisedSegmenterMetrics object that should be copied

Member Function Documentation

◆ AddErrorResult()

None eVision.EasyDeepLearning.EUnsupervisedSegmenterMetrics.AddErrorResult ( self,
eVision.EasyDeepLearning.EUnsupervisedSegmenterResult result )

Adds the given result to the metric for error computation.

The result must be computed from a good image that was corrupted during training.

Parameters
resultA reference to an eVision.EasyDeepLearning.EUnsupervisedSegmenterResult object.

◆ AddMetrics()

None eVision.EasyDeepLearning.EUnsupervisedSegmenterMetrics.AddMetrics ( self,
eVision.EasyDeepLearning.EUnsupervisedSegmenterMetrics other )

Adds the other metrics to the current metrics of this object.

Parameters
otherUnsupervised segmenter metrics

◆ AddResult()

None eVision.EasyDeepLearning.EUnsupervisedSegmenterMetrics.AddResult ( self,
eVision.EasyDeepLearning.EUnsupervisedSegmenterResult result,
bool isGoodImage )

Adds the given result with the corresponding ground truth label to the metrics.

Parameters
resultA reference to an eVision.EasyDeepLearning.EUnsupervisedSegmenterResult object.
isGoodImageTrue if the ground truth of this result is good, else false.

◆ AverageScoreOnDefectiveImages()

float eVision.EasyDeepLearning.EUnsupervisedSegmenterMetrics.AverageScoreOnDefectiveImages ( self)

Gets the average score of defective images.

◆ AverageScoreOnGoodImages()

float eVision.EasyDeepLearning.EUnsupervisedSegmenterMetrics.AverageScoreOnGoodImages ( self)

Gets the average score of good images.

◆ Error()

float eVision.EasyDeepLearning.EUnsupervisedSegmenterMetrics.Error ( self)

The error of the segmenter.

This metric is only available in the metrics computed during a training which are accessible through eVision.EasyDeepLearning.EUnsupervisedSegmenter.GetValidationMetrics.

The error, which is also called the loss, is the quantity that is minimized during the training of the deep neural network.

◆ GetBestWeightedAccuracy() [1/2]

float eVision.EasyDeepLearning.EUnsupervisedSegmenterMetrics.GetBestWeightedAccuracy ( self,
eVision.EasyDeepLearning.EDataset dataset )

Best achievable weighted accuracy.

The weighted accuracy is the weighted average of the true positive rate and the true negative rate (which is equal to 1 minus the false positive rate). See eVision.EasyDeepLearning.EROCPoint.

The classification threshold corresponding to this accuracy is given by eVision.EasyDeepLearning.EUnsupervisedSegmenterMetrics.GetBestWeightedAccuracyClassificationThreshold.

Remarks:

When using a dataset as the source for the label weights, the good weight is the weight of the "good" label and the bad weight is the sum of the weights of all the other labels.

Parameters
datasetDataset to get the label weight from.

Reimplemented from eVision.EasyDeepLearning.EDeepLearningDefectDetectionMetrics.

◆ GetBestWeightedAccuracy() [2/2]

float eVision.EasyDeepLearning.EUnsupervisedSegmenterMetrics.GetBestWeightedAccuracy ( self,
float goodWeight,
float badWeight )

Best achievable weighted accuracy.

The weighted accuracy is the weighted average of the true positive rate and the true negative rate (which is equal to 1 minus the false positive rate). See eVision.EasyDeepLearning.EROCPoint.

The classification threshold corresponding to this accuracy is given by eVision.EasyDeepLearning.EUnsupervisedSegmenterMetrics.GetBestWeightedAccuracyClassificationThreshold.

Remarks:

When using a dataset as the source for the label weights, the good weight is the weight of the "good" label and the bad weight is the sum of the weights of all the other labels.

Parameters
goodWeightweight of the good label.
badWeightweight of the bad label.

Reimplemented from eVision.EasyDeepLearning.EDeepLearningDefectDetectionMetrics.

◆ GetBestWeightedAccuracyClassificationThreshold() [1/2]

float eVision.EasyDeepLearning.EUnsupervisedSegmenterMetrics.GetBestWeightedAccuracyClassificationThreshold ( self,
eVision.EasyDeepLearning.EDataset dataset )

Classification threshold giving the best achievable weighted accuracy (see eVision.EasyDeepLearning.EUnsupervisedSegmenterMetrics.GetBestWeightedAccuracy).

Parameters
datasetDataset to get the label weight from.

Reimplemented from eVision.EasyDeepLearning.EDeepLearningDefectDetectionMetrics.

◆ GetBestWeightedAccuracyClassificationThreshold() [2/2]

float eVision.EasyDeepLearning.EUnsupervisedSegmenterMetrics.GetBestWeightedAccuracyClassificationThreshold ( self,
float goodWeight,
float badWeight )

Classification threshold giving the best achievable weighted accuracy (see eVision.EasyDeepLearning.EUnsupervisedSegmenterMetrics.GetBestWeightedAccuracy).

Parameters
goodWeightWeight for the good label
badWeightWeight for the bad label

Reimplemented from eVision.EasyDeepLearning.EDeepLearningDefectDetectionMetrics.

◆ IsTotallyUnsupervised()

bool eVision.EasyDeepLearning.EUnsupervisedSegmenterMetrics.IsTotallyUnsupervised ( self)

Whether this metrics has results from only good images (true) or from both good and defective images (false).

Some metrics are accessible only if eVision.EasyDeepLearning.EUnsupervisedSegmenterMetrics.IsTotallyUnsupervised is false.

◆ IsValid()

bool eVision.EasyDeepLearning.EUnsupervisedSegmenterMetrics.IsValid ( self)

Indicates whether the object contains at least one result.

◆ Load() [1/2]

None eVision.EasyDeepLearning.EUnsupervisedSegmenterMetrics.Load ( self,
eVision.ESerializer | None serializer )

Loads an unsupervised segmentation metric.

The given eVision.ESerializer must have been created for reading.

Parameters
serializerThe serializer.

Reimplemented from eVision.EasyDeepLearning.EDeepLearningDefectDetectionMetrics.

◆ Load() [2/2]

None eVision.EasyDeepLearning.EUnsupervisedSegmenterMetrics.Load ( self,
str path )

Loads an unsupervised segmentation metric.

The given eVision.ESerializer must have been created for reading.

Parameters
pathThe file path.

Reimplemented from eVision.EasyDeepLearning.EDeepLearningDefectDetectionMetrics.

◆ RemoveErrorResult()

None eVision.EasyDeepLearning.EUnsupervisedSegmenterMetrics.RemoveErrorResult ( self,
eVision.EasyDeepLearning.EUnsupervisedSegmenterResult result )

Removes the given result from the metric for error computation.

The result must be computed from a good image that was corrupted during training.

Parameters
resultA reference to an eVision.EasyDeepLearning.EUnsupervisedSegmenterResult object.

◆ RemoveResult()

None eVision.EasyDeepLearning.EUnsupervisedSegmenterMetrics.RemoveResult ( self,
eVision.EasyDeepLearning.EUnsupervisedSegmenterResult result,
bool isGoodImage )

Removes the given result with the corresponding ground truth label to the metrics.

Parameters
resultA reference to an eVision.EasyDeepLearning.EUnsupervisedSegmenterResult object.
isGoodImageTrue if the ground truth of this result is good, else false.

◆ Save() [1/2]

None eVision.EasyDeepLearning.EUnsupervisedSegmenterMetrics.Save ( self,
eVision.ESerializer | None serializer )

Saves an unsupervised segmentation metric.

The given eVision.ESerializer must have been created for writing.

Parameters
serializerThe serializer.

Reimplemented from eVision.EasyDeepLearning.EDeepLearningDefectDetectionMetrics.

◆ Save() [2/2]

None eVision.EasyDeepLearning.EUnsupervisedSegmenterMetrics.Save ( self,
str path )

Saves an unsupervised segmentation metric.

The given eVision.ESerializer must have been created for writing.

Parameters
pathThe file path.

Reimplemented from eVision.EasyDeepLearning.EDeepLearningDefectDetectionMetrics.