IntensityHistogram
Computes the histogram of a gray level image.
Access to parameter description
For an introduction:
This number of points per level is given in an histogram array. The histogram size depends on the intensity range. As an example, for an 8-bit integer image, the histogram $H$ is an array with 256 entries. $H(i)$ is the number of pixels at level i, for $i \in [0,255]$.
Notice: This algorithm can be used only on integer input images. The IntensityBinHistogram algorithm must be used to compute a histogram on floating point images.
See also
Access to parameter description
For an introduction:
- section Image Analysis
- section Image Statistics
This number of points per level is given in an histogram array. The histogram size depends on the intensity range. As an example, for an 8-bit integer image, the histogram $H$ is an array with 256 entries. $H(i)$ is the number of pixels at level i, for $i \in [0,255]$.
Notice: This algorithm can be used only on integer input images. The IntensityBinHistogram algorithm must be used to compute a histogram on floating point images.
See also
Function Syntax
This function returns outputMeasurement.
// Function prototype
IntensityHistogramMsr::Ptr intensityHistogram( std::shared_ptr< iolink::ImageView > inputImage, IntensityHistogram::RangeMode rangeMode, iolink::Vector2i32 intensityInputRange, IntensityHistogramMsr::Ptr outputMeasurement = NULL );
This function returns outputMeasurement.
// Function prototype. intensity_histogram( input_image, range_mode = IntensityHistogram.RangeMode.MIN_MAX, intensity_input_range = [0, 255], output_measurement = None )
This function returns outputMeasurement.
// Function prototype. public static IntensityHistogramMsr IntensityHistogram( IOLink.ImageView inputImage, IntensityHistogram.RangeMode rangeMode = ImageDev.IntensityHistogram.RangeMode.MIN_MAX, int[] intensityInputRange = null, IntensityHistogramMsr outputMeasurement = null );
Class Syntax
Parameters
Class Name | IntensityHistogram |
---|
Parameter Name | Description | Type | Supported Values | Default Value | |||||
---|---|---|---|---|---|---|---|---|---|
inputImage |
The input gray scale image. Float images are not supported | Image | Binary, Label, Grayscale or Multispectral | nullptr | |||||
rangeMode |
The way to determine the input intensity range within which the histogram is computed.
|
Enumeration | MIN_MAX | ||||||
intensityInputRange |
The input intensity range [a,b] within which the histogram is computed. This parameter is ignored if the range mode is set to MIN_MAX. | Vector2i32 | Any value | {0, 255} | |||||
outputMeasurement |
The output histogram. | IntensityHistogramMsr | nullptr |
Object Examples
std::shared_ptr< iolink::ImageView > polystyrene = ioformat::readImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "polystyrene.tif" ); IntensityHistogram intensityHistogramAlgo; intensityHistogramAlgo.setInputImage( polystyrene ); intensityHistogramAlgo.setRangeMode( IntensityHistogram::RangeMode::MIN_MAX ); intensityHistogramAlgo.setIntensityInputRange( {0, 255} ); intensityHistogramAlgo.execute(); std::cout << "intensityValue: " << intensityHistogramAlgo.outputMeasurement()->intensityValue( 0 ) ;
polystyrene = ioformat.read_image(imagedev_data.get_image_path("polystyrene.tif")) intensity_histogram_algo = imagedev.IntensityHistogram() intensity_histogram_algo.input_image = polystyrene intensity_histogram_algo.range_mode = imagedev.IntensityHistogram.MIN_MAX intensity_histogram_algo.intensity_input_range = [0, 255] intensity_histogram_algo.execute() print( "intensityValue: ", str( intensity_histogram_algo.output_measurement.intensity_value( 0 ) ) )
ImageView polystyrene = ViewIO.ReadImage( @"Data/images/polystyrene.tif" ); IntensityHistogram intensityHistogramAlgo = new IntensityHistogram { inputImage = polystyrene, rangeMode = IntensityHistogram.RangeMode.MIN_MAX, intensityInputRange = new int[]{0, 255} }; intensityHistogramAlgo.Execute(); Console.WriteLine( "intensityValue: " + intensityHistogramAlgo.outputMeasurement.intensityValue( 0 ) );
Function Examples
std::shared_ptr< iolink::ImageView > polystyrene = ioformat::readImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "polystyrene.tif" ); auto result = intensityHistogram( polystyrene, IntensityHistogram::RangeMode::MIN_MAX, {0, 255} ); std::cout << "intensityValue: " << result->intensityValue( 0 ) ;
polystyrene = ioformat.read_image(imagedev_data.get_image_path("polystyrene.tif")) result = imagedev.intensity_histogram( polystyrene, imagedev.IntensityHistogram.MIN_MAX, [0, 255] ) print( "intensityValue: ", str( result.intensity_value( 0 ) ) )
ImageView polystyrene = ViewIO.ReadImage( @"Data/images/polystyrene.tif" ); IntensityHistogramMsr result = Processing.IntensityHistogram( polystyrene, IntensityHistogram.RangeMode.MIN_MAX, new int[]{0, 255} ); Console.WriteLine( "intensityValue: " + result.intensityValue( 0 ) );