RegionSimilarity
Computes similarity values between the regions from two label images.
Access to parameter description
This algorithm allows the comparison of a segmented image with a ground truth in order to assess the accuracy of a segmentation process; for instance, a classification by machine learning. It outputs three statistical indicators for each label value:
Access to parameter description
This algorithm allows the comparison of a segmented image with a ground truth in order to assess the accuracy of a segmentation process; for instance, a classification by machine learning. It outputs three statistical indicators for each label value:
- The sensitivity, which measures the proportion of actual positives that are correctly identified as such (true positive rate, $TP$)
- The specificity, which measures the proportion of actual negatives that are correctly identified as such (true negative rate, $TN$)
- The dice coefficient, which is a statistic used for comparing the similarity of two samples (S rensen Dice coefficient)
- $FP$ is the false positive rate (that is, the proportion of positives that are not defined as such in the ground truth).
- $FN$ is the false negative rate (that is, the proportion of negatives that are actually positive in the ground truth).
Function Syntax
This function returns outputMeasurement.
// Function prototype
RegionSimilarityMsr::Ptr regionSimilarity( std::shared_ptr< iolink::ImageView > inputLabelImage, std::shared_ptr< iolink::ImageView > inputReferenceImage, RegionSimilarityMsr::Ptr outputMeasurement = NULL );
This function returns outputMeasurement.
// Function prototype. region_similarity( input_label_image, input_reference_image, output_measurement = None )
This function returns outputMeasurement.
// Function prototype. public static RegionSimilarityMsr RegionSimilarity( IOLink.ImageView inputLabelImage, IOLink.ImageView inputReferenceImage, RegionSimilarityMsr outputMeasurement = null );
Class Syntax
Parameters
Parameter Name | Description | Type | Supported Values | Default Value | |
---|---|---|---|---|---|
inputLabelImage |
The segmented image to assess. | Image | Label | nullptr | |
inputReferenceImage |
The ground truth image. This image must have same dimensions and type as the main input image. | Image | Label | nullptr | |
outputMeasurement |
The similarity results. | RegionSimilarityMsr | nullptr |
Parameter Name | Description | Type | Supported Values | Default Value | |
---|---|---|---|---|---|
input_label_image |
The segmented image to assess. | image | Label | None | |
input_reference_image |
The ground truth image. This image must have same dimensions and type as the main input image. | image | Label | None | |
output_measurement |
The similarity results. | RegionSimilarityMsr | None |
Parameter Name | Description | Type | Supported Values | Default Value | |
---|---|---|---|---|---|
inputLabelImage |
The segmented image to assess. | Image | Label | null | |
inputReferenceImage |
The ground truth image. This image must have same dimensions and type as the main input image. | Image | Label | null | |
outputMeasurement |
The similarity results. | RegionSimilarityMsr | null |
Object Examples
auto polystyrene_sep_label = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "polystyrene_sep_label.vip" ); RegionSimilarity regionSimilarityAlgo; regionSimilarityAlgo.setInputLabelImage( polystyrene_sep_label ); regionSimilarityAlgo.setInputReferenceImage( polystyrene_sep_label ); regionSimilarityAlgo.execute(); std::cout << "sensitivity: " << regionSimilarityAlgo.outputMeasurement()->sensitivity( 0 ) ;
polystyrene_sep_label = imagedev.read_vip_image(imagedev_data.get_image_path("polystyrene_sep_label.vip")) region_similarity_algo = imagedev.RegionSimilarity() region_similarity_algo.input_label_image = polystyrene_sep_label region_similarity_algo.input_reference_image = polystyrene_sep_label region_similarity_algo.execute() print( "sensitivity: ", str( region_similarity_algo.output_measurement.sensitivity( 0 ) ) )
ImageView polystyrene_sep_label = Data.ReadVipImage( @"Data/images/polystyrene_sep_label.vip" ); RegionSimilarity regionSimilarityAlgo = new RegionSimilarity { inputLabelImage = polystyrene_sep_label, inputReferenceImage = polystyrene_sep_label }; regionSimilarityAlgo.Execute(); Console.WriteLine( "sensitivity: " + regionSimilarityAlgo.outputMeasurement.sensitivity( 0 ) );
Function Examples
auto polystyrene_sep_label = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "polystyrene_sep_label.vip" ); auto result = regionSimilarity( polystyrene_sep_label, polystyrene_sep_label ); std::cout << "sensitivity: " << result->sensitivity( 0 ) ;
polystyrene_sep_label = imagedev.read_vip_image(imagedev_data.get_image_path("polystyrene_sep_label.vip")) result = imagedev.region_similarity( polystyrene_sep_label, polystyrene_sep_label ) print( "sensitivity: ", str( result.sensitivity( 0 ) ) )
ImageView polystyrene_sep_label = Data.ReadVipImage( @"Data/images/polystyrene_sep_label.vip" ); RegionSimilarityMsr result = Processing.RegionSimilarity( polystyrene_sep_label, polystyrene_sep_label ); Console.WriteLine( "sensitivity: " + result.sensitivity( 0 ) );