CombineByMask
            Produces a combination of two images in a complementary way.
Access to parameter description
CombineByMask produces an output image $O$ which is the combination of two images $I_1$ and $I_2$ by following a binary mask B as follows:
$$ O(n,m)=\left\{\begin{array}{ll} I_1(n,m) & ~\mbox{if $B(n,m) = 1$}\\ I_2(n,m) & ~\mbox{if $B(n,m) = 0$}\end{array}\right. $$ See also
		Access to parameter description
CombineByMask produces an output image $O$ which is the combination of two images $I_1$ and $I_2$ by following a binary mask B as follows:
$$ O(n,m)=\left\{\begin{array}{ll} I_1(n,m) & ~\mbox{if $B(n,m) = 1$}\\ I_2(n,m) & ~\mbox{if $B(n,m) = 0$}\end{array}\right. $$ See also
Function Syntax
This function returns the outputImage output parameter.
                        
                    
// Function prototype.
std::shared_ptr< iolink::ImageView >
combineByMask( std::shared_ptr< iolink::ImageView > inputImage1,
               std::shared_ptr< iolink::ImageView > inputImage2,
               std::shared_ptr< iolink::ImageView > inputBinaryImage,
               std::shared_ptr< iolink::ImageView > outputImage = NULL );
                    
This function returns the outputImage output parameter.
                        
                    
// Function prototype.
combine_by_mask( input_image1,
                 input_image2,
                 input_binary_image,
                 output_image = None )
                    
This function returns the outputImage output parameter.
                        
                
// Function prototype.
public static IOLink.ImageView
CombineByMask( IOLink.ImageView inputImage1,
               IOLink.ImageView inputImage2,
               IOLink.ImageView inputBinaryImage,
               IOLink.ImageView outputImage = null );
                    Class Syntax
Parameters
| Class Name | CombineByMask | 
|---|
| Parameter Name | Description | Type | Supported Values | Default Value | |
|---|---|---|---|---|---|
![]()  | 
  inputImage1    | 
 The first input image. | Image | Binary, Label, Grayscale or Multispectral | nullptr | 
![]()  | 
  inputImage2    | 
 The second input image. It must have same dimensions and type as other input images. | Image | Binary, Label, Grayscale or Multispectral | nullptr | 
![]()  | 
  inputBinaryImage    | 
 The input binary mask. It must have same dimensions and type as other input images. | Image | Binary | nullptr | 
![]()  | 
  outputImage    | 
 The output image. Its dimensions and type are forced to the same values as the inputs. | Image | nullptr | |
Object Examples
auto foam = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "foam.vip" ); auto foam_sep = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "foam_sep.vip" ); CombineByMask combineByMaskAlgo; combineByMaskAlgo.setInputImage1( foam ); combineByMaskAlgo.setInputImage2( foam ); combineByMaskAlgo.setInputBinaryImage( foam_sep ); combineByMaskAlgo.execute(); std::cout << "outputImage:" << combineByMaskAlgo.outputImage()->toString();
foam = imagedev.read_vip_image(imagedev_data.get_image_path("foam.vip"))
foam_sep = imagedev.read_vip_image(imagedev_data.get_image_path("foam_sep.vip"))
combine_by_mask_algo = imagedev.CombineByMask()
combine_by_mask_algo.input_image1 = foam
combine_by_mask_algo.input_image2 = foam
combine_by_mask_algo.input_binary_image = foam_sep
combine_by_mask_algo.execute()
print( "output_image:", str( combine_by_mask_algo.output_image ) );
            
ImageView foam = Data.ReadVipImage( @"Data/images/foam.vip" );
ImageView foam_sep = Data.ReadVipImage( @"Data/images/foam_sep.vip" );
CombineByMask combineByMaskAlgo = new CombineByMask
{
    inputImage1 = foam,
    inputImage2 = foam,
    inputBinaryImage = foam_sep
};
combineByMaskAlgo.Execute();
Console.WriteLine( "outputImage:" + combineByMaskAlgo.outputImage.ToString() );
            Function Examples
auto foam = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "foam.vip" ); auto foam_sep = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "foam_sep.vip" ); auto result = combineByMask( foam, foam, foam_sep ); std::cout << "outputImage:" << result->toString();
foam = imagedev.read_vip_image(imagedev_data.get_image_path("foam.vip"))
foam_sep = imagedev.read_vip_image(imagedev_data.get_image_path("foam_sep.vip"))
result = imagedev.combine_by_mask( foam, foam, foam_sep )
print( "output_image:", str( result ) );
            ImageView foam = Data.ReadVipImage( @"Data/images/foam.vip" ); ImageView foam_sep = Data.ReadVipImage( @"Data/images/foam_sep.vip" ); IOLink.ImageView result = Processing.CombineByMask( foam, foam, foam_sep ); Console.WriteLine( "outputImage:" + result.ToString() );

