ImageDev

ObjectSpecificSurface

Measures the ratio of binarized surface to volume of objects contained inside the volume of interest of a binary image.

Access to parameter description

For an introduction: In the 2D case, the Object Specific Surface, $OSS$, is calculated as the division of the perimeter $P$ by area $Ar$. In the 3D case, it is calculated as the division of the surface $S$ from the Area3d algorithm by the 3D volume $V$. See also

Function Syntax

This function returns outputMeasurement.
// Function prototype
ObjectSpecificSurfaceMsr::Ptr objectSpecificSurface( std::shared_ptr< iolink::ImageView > inputBinaryImage, ObjectSpecificSurfaceMsr::Ptr outputMeasurement = nullptr );
This function returns outputMeasurement.
// Function prototype.
object_specific_surface(input_binary_image: idt.ImageType,
                        output_measurement: Union[Any, None] = None) -> ObjectSpecificSurfaceMsr
This function returns outputMeasurement.
// Function prototype.
public static ObjectSpecificSurfaceMsr
ObjectSpecificSurface( IOLink.ImageView inputBinaryImage, ObjectSpecificSurfaceMsr outputMeasurement = null );

Class Syntax

Parameters

Parameter Name Description Type Supported Values Default Value
input
inputBinaryImage
The input binary image. Image Binary nullptr
output
outputMeasurement
The output measurement result. ObjectSpecificSurfaceMsr nullptr
Parameter Name Description Type Supported Values Default Value
input
input_binary_image
The input binary image. image Binary None
output
output_measurement
The output measurement result. ObjectSpecificSurfaceMsr None
Parameter Name Description Type Supported Values Default Value
input
inputBinaryImage
The input binary image. Image Binary null
output
outputMeasurement
The output measurement result. ObjectSpecificSurfaceMsr null

Object Examples

auto polystyrene_sep = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "polystyrene_sep.vip" );

ObjectSpecificSurface objectSpecificSurfaceAlgo;
objectSpecificSurfaceAlgo.setInputBinaryImage( polystyrene_sep );
objectSpecificSurfaceAlgo.execute();

std::cout << "ratio: " << objectSpecificSurfaceAlgo.outputMeasurement()->ratio( 0 ) ;
polystyrene_sep = imagedev.read_vip_image(imagedev_data.get_image_path("polystyrene_sep.vip"))

object_specific_surface_algo = imagedev.ObjectSpecificSurface()
object_specific_surface_algo.input_binary_image = polystyrene_sep
object_specific_surface_algo.execute()

print("ratio: ", str(object_specific_surface_algo.output_measurement.ratio(0)))
ImageView polystyrene_sep = Data.ReadVipImage( @"Data/images/polystyrene_sep.vip" );

ObjectSpecificSurface objectSpecificSurfaceAlgo = new ObjectSpecificSurface
{
    inputBinaryImage = polystyrene_sep
};
objectSpecificSurfaceAlgo.Execute();

Console.WriteLine( "ratio: " + objectSpecificSurfaceAlgo.outputMeasurement.ratio( 0 ) );

Function Examples

auto polystyrene_sep = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "polystyrene_sep.vip" );

auto result = objectSpecificSurface( polystyrene_sep );

std::cout << "ratio: " << result->ratio( 0 ) ;
polystyrene_sep = imagedev.read_vip_image(imagedev_data.get_image_path("polystyrene_sep.vip"))

result = imagedev.object_specific_surface(polystyrene_sep)

print("ratio: ", str(result.ratio(0)))
ImageView polystyrene_sep = Data.ReadVipImage( @"Data/images/polystyrene_sep.vip" );

ObjectSpecificSurfaceMsr result = Processing.ObjectSpecificSurface( polystyrene_sep );

Console.WriteLine(  "ratio: " + result.ratio( 0 )  );





© 2025 Thermo Fisher Scientific Inc. All rights reserved.