BinaryAnalysis
Computes a set of measurements globally to an input binary image.
Access to parameter description
For an introduction: This algorithm computes a list of measurements considering all pixels of the binary image as belonging to the same object. It generates an AnalysisMsr output object containing the result values.
It gives a global result on the overall image, considering the non-zero pixels in the image.
If the binary input image has a coordinate system unit defined in its calibration property, analysis results are expressed in this coordinate system unit.
More details about each available measurement can be found in the NativeMeasurement object.
See also
Access to parameter description
For an introduction: This algorithm computes a list of measurements considering all pixels of the binary image as belonging to the same object. It generates an AnalysisMsr output object containing the result values.
It gives a global result on the overall image, considering the non-zero pixels in the image.
If the binary input image has a coordinate system unit defined in its calibration property, analysis results are expressed in this coordinate system unit.
More details about each available measurement can be found in the NativeMeasurement object.
See also
Function Syntax
This function returns outputAnalysis.
// Function prototype
AnalysisMsr::Ptr binaryAnalysis( std::shared_ptr< iolink::ImageView > inputBinaryImage, std::shared_ptr< iolink::ImageView > inputIntensityImage, AnalysisMsr::Ptr outputAnalysis = NULL );
This function returns outputAnalysis.
// Function prototype. binary_analysis( input_binary_image, input_intensity_image, output_analysis = None )
This function returns outputAnalysis.
// Function prototype. public static AnalysisMsr BinaryAnalysis( IOLink.ImageView inputBinaryImage, IOLink.ImageView inputIntensityImage, AnalysisMsr outputAnalysis = null );
Class Syntax
Parameters
Class Name | BinaryAnalysis |
---|
Parameter Name | Description | Type | Supported Values | Default Value | |
---|---|---|---|---|---|
inputBinaryImage |
The binary input image. | Image | Binary | nullptr | |
inputIntensityImage |
The intensity input image. If it equals null, the binary input image is used as the intensity input image. | Image | Binary, Label, Grayscale or Multispectral | nullptr | |
outputAnalysis |
The input and output analysis. This object defines the features to measure and store the results. | AnalysisMsr | nullptr |
Object Examples
auto polystyrene_sep = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "polystyrene_sep.vip" ); std::shared_ptr< iolink::ImageView > polystyrene = ioformat::readImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "polystyrene.tif" ); AnalysisMsr::Ptr analysis= AnalysisMsr::read( std::string( IMAGEDEVDATA_OBJECTS_FOLDER ) + "analysis.vip" ); BinaryAnalysis binaryAnalysisAlgo; binaryAnalysisAlgo.setInputBinaryImage( polystyrene_sep ); binaryAnalysisAlgo.setInputIntensityImage( polystyrene ); binaryAnalysisAlgo.setOutputAnalysis( analysis ); binaryAnalysisAlgo.execute(); std::cout << "Area2d: " << binaryAnalysisAlgo.outputAnalysis()->get( NativeMeasurements::area2d )->value( 0 ) ;
polystyrene_sep = imagedev.read_vip_image(imagedev_data.get_image_path("polystyrene_sep.vip")) polystyrene = ioformat.read_image(imagedev_data.get_image_path("polystyrene.tif")) analysis = imagedev.AnalysisMsr.read(imagedev_data.get_object_path("analysis.vip")) binary_analysis_algo = imagedev.BinaryAnalysis() binary_analysis_algo.input_binary_image = polystyrene_sep binary_analysis_algo.input_intensity_image = polystyrene binary_analysis_algo.output_analysis = analysis binary_analysis_algo.execute() print( "Area2d: ", str( binary_analysis_algo.output_analysis.get(imagedev.native_measurements.Area2d).value( 0 ) ) )
ImageView polystyrene_sep = Data.ReadVipImage( @"Data/images/polystyrene_sep.vip" ); ImageView polystyrene = ViewIO.ReadImage( @"Data/images/polystyrene.tif" ); AnalysisMsr analysis = AnalysisMsr.Read( @"Data/objects/analysis.vip" ); BinaryAnalysis binaryAnalysisAlgo = new BinaryAnalysis { inputBinaryImage = polystyrene_sep, inputIntensityImage = polystyrene, outputAnalysis = analysis }; binaryAnalysisAlgo.Execute(); Console.WriteLine( "Area2d: " + binaryAnalysisAlgo.outputAnalysis.Get( NativeMeasurements.Area2d ).Value( 0 ) );
Function Examples
auto polystyrene_sep = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "polystyrene_sep.vip" ); std::shared_ptr< iolink::ImageView > polystyrene = ioformat::readImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "polystyrene.tif" ); AnalysisMsr::Ptr analysis= AnalysisMsr::read( std::string( IMAGEDEVDATA_OBJECTS_FOLDER ) + "analysis.vip" ); auto result = binaryAnalysis( polystyrene_sep, polystyrene, analysis ); std::cout << "Area2d: " << result->get( NativeMeasurements::area2d )->value( 0 ) ;
polystyrene_sep = imagedev.read_vip_image(imagedev_data.get_image_path("polystyrene_sep.vip")) polystyrene = ioformat.read_image(imagedev_data.get_image_path("polystyrene.tif")) analysis = imagedev.AnalysisMsr.read(imagedev_data.get_object_path("analysis.vip")) result = imagedev.binary_analysis( polystyrene_sep, polystyrene, analysis ) print( "Area2d: ", str( result.get(imagedev.native_measurements.Area2d).value( 0 ) ) )
ImageView polystyrene_sep = Data.ReadVipImage( @"Data/images/polystyrene_sep.vip" ); ImageView polystyrene = ViewIO.ReadImage( @"Data/images/polystyrene.tif" ); AnalysisMsr analysis = AnalysisMsr.Read( @"Data/objects/analysis.vip" ); AnalysisMsr result = Processing.BinaryAnalysis( polystyrene_sep, polystyrene, analysis ); Console.WriteLine( "Area2d: " + result.Get( NativeMeasurements.Area2d ).Value( 0 ) );