LogicalOperationWithImage
            Performs a pointwise logical operation between two images.
Access to parameter description
The logical operators to apply between both input images $I1$ and $I2$ can be selected between:
        
See also
		Access to parameter description
The logical operators to apply between both input images $I1$ and $I2$ can be selected between:
- The logical conjunction AND which corresponds to an intersection when applied on two binary images.
 - The logical disconjunction OR which corresponds to an union when applied on two binary images.
 - The negation of conjunction and disjunction NAND and NOR.
 - The exclusive disjunction NOR and its negation NXOR.
 - A logical difference operator.
 
See also
Function Syntax
This function returns the outputImage output parameter.
                        
                    
// Function prototype.
std::shared_ptr< iolink::ImageView >
logicalOperationWithImage( std::shared_ptr< iolink::ImageView > inputImage1,
                           std::shared_ptr< iolink::ImageView > inputImage2,
                           LogicalOperationWithImage::LogicalOperator logicalOperator,
                           std::shared_ptr< iolink::ImageView > outputImage = NULL );
                    
This function returns the outputImage output parameter.
                        
                    
// Function prototype.
logical_operation_with_image( input_image1,
                              input_image2,
                              logical_operator = LogicalOperationWithImage.LogicalOperator.AND,
                              output_image = None )
                    
This function returns the outputImage output parameter.
                        
                
// Function prototype.
public static IOLink.ImageView
LogicalOperationWithImage( IOLink.ImageView inputImage1,
                           IOLink.ImageView inputImage2,
                           LogicalOperationWithImage.LogicalOperator logicalOperator = ImageDev.LogicalOperationWithImage.LogicalOperator.AND,
                           IOLink.ImageView outputImage = null );
                    Class Syntax
Parameters
| Class Name | LogicalOperationWithImage | 
|---|
| Parameter Name | Description | Type | Supported Values | Default Value | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
![]()  | 
  inputImage1    | 
 The first input image, must be integer, including grayscale, binary, label, and color. | Image | Binary, Label, Grayscale or Multispectral | nullptr | ||||||||||||||
![]()  | 
  inputImage2    | 
 The second input image, must have same dimensions and type as the first input. | Image | Binary, Label, Grayscale or Multispectral | nullptr | ||||||||||||||
![]()  | 
  logicalOperator    | 
 The operator to apply.
  | 
Enumeration | AND | |||||||||||||||
![]()  | 
  outputImage    | 
 The output image, size and type are forced to the same values as the inputs. | Image | nullptr | |||||||||||||||
Object Examples
std::shared_ptr< iolink::ImageView > polystyrene = ioformat::readImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "polystyrene.tif" ); LogicalOperationWithImage logicalOperationWithImageAlgo; logicalOperationWithImageAlgo.setInputImage1( polystyrene ); logicalOperationWithImageAlgo.setInputImage2( polystyrene ); logicalOperationWithImageAlgo.setLogicalOperator( LogicalOperationWithImage::LogicalOperator::AND ); logicalOperationWithImageAlgo.execute(); std::cout << "outputImage:" << logicalOperationWithImageAlgo.outputImage()->toString();
polystyrene = ioformat.read_image(imagedev_data.get_image_path("polystyrene.tif"))
logical_operation_with_image_algo = imagedev.LogicalOperationWithImage()
logical_operation_with_image_algo.input_image1 = polystyrene
logical_operation_with_image_algo.input_image2 = polystyrene
logical_operation_with_image_algo.logical_operator = imagedev.LogicalOperationWithImage.AND
logical_operation_with_image_algo.execute()
print( "output_image:", str( logical_operation_with_image_algo.output_image ) );
            
ImageView polystyrene = ViewIO.ReadImage( @"Data/images/polystyrene.tif" );
LogicalOperationWithImage logicalOperationWithImageAlgo = new LogicalOperationWithImage
{
    inputImage1 = polystyrene,
    inputImage2 = polystyrene,
    logicalOperator = LogicalOperationWithImage.LogicalOperator.AND
};
logicalOperationWithImageAlgo.Execute();
Console.WriteLine( "outputImage:" + logicalOperationWithImageAlgo.outputImage.ToString() );
            Function Examples
std::shared_ptr< iolink::ImageView > polystyrene = ioformat::readImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "polystyrene.tif" ); auto result = logicalOperationWithImage( polystyrene, polystyrene, LogicalOperationWithImage::LogicalOperator::AND ); std::cout << "outputImage:" << result->toString();
polystyrene = ioformat.read_image(imagedev_data.get_image_path("polystyrene.tif"))
result = imagedev.logical_operation_with_image( polystyrene, polystyrene, imagedev.LogicalOperationWithImage.AND )
print( "output_image:", str( result ) );
            ImageView polystyrene = ViewIO.ReadImage( @"Data/images/polystyrene.tif" ); IOLink.ImageView result = Processing.LogicalOperationWithImage( polystyrene, polystyrene, LogicalOperationWithImage.LogicalOperator.AND ); Console.WriteLine( "outputImage:" + result.ToString() );






