class_docstr: Highlight pixels of a layer by an amount determined by a secondary layer.
  
  The highlighting is applied per channel to either add or subtract an
  intensity from the primary image. In the addition case, the code is
  essentially doing::
  
      highlight_factor = (highlight_data - min_highlight) / (max_highlight - min_highlight)
      channel_result = primary_data + highlight_factor * max_factor
  
  The ``max_factor`` is defined per channel and can be positive for an
  additive effect, negative for a subtractive effect, or zero for no
  effect.
class_docstr_tok: ["Highlight","pixels","of","a","layer","by","an","amount","determined","by","a","secondary","layer",".","The","highlighting","is","applied","per","channel","to","either","add","or","subtract","an","intensity","from","the","primary","image",".","In","the","addition","case",",","the","code","is","essentially","doing",":",":","highlight_factor","=","(","highlight_data","-","min_highlight",")","\/","(","max_highlight","-","min_highlight",")","channel_result","=","primary_data","+","highlight_factor","*","max_factor","The","``","max_factor","``","is","defined","per","channel","and","can","be","positive","for","an","additive","effect",",","negative","for","a","subtractive","effect",",","or","zero","for","no","effect","."]
docstr: Create RGBA image with highlighted pixels.
docstr_tok: ["Create","RGBA","image","with","highlighted","pixels","."]
code: def __call__(self, projectables, optional_datasets=None, **attrs):
      """Create RGBA image with highlighted pixels."""
      highlight_product, background_layer = self.match_data_arrays(
          projectables
      )
      background_data = self._get_enhanced_background_data(
          background_layer
      )
  
      # Adjust the colors of background by highlight layer
      factor = self._get_highlight_factor(highlight_product)
      new_channels = self._apply_highlight_effect(
          background_data, factor
      )
      new_data = xr.concat(new_channels, dim="bands")
      self._update_attrs(new_data, background_layer, highlight_product)
      return super(HighlightCompositor, self).__call__(
          (new_data,), **attrs
      )
  
file_path: satpy/satpy/composites/glm.py
imports: import logging
  import xarray
  from satpy.composites import GenericCompositor
  from satpy.writers import get_enhanced_image
label_desc: Use image node_id 6 for calling the HighlightCompositor obj's underlying member method code with example usage: obj.__call__(projectables, optional_datasets) and returns: super