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: Initialize composite with highlight factor options.
  
  Args:
      min_highlight (float): Minimum raw value of the "highlight" data
          that will be used for linearly scaling the data along with
          ``max_hightlight``.
      max_highlight (float): Maximum raw value of the "highlight" data
          that will be used for linearly scaling the data along with
          ``min_hightlight``.
      max_factor (tuple): Maximum effect that the highlight data can
          have on each channel of the primary image data. This will be
          multiplied by the linearly scaled highlight data and then
          added or subtracted from the highlight channels. See class
          docstring for more information. By default this is set to
          ``(0.8, 0.8, -0.8, 0)`` meaning the Red and Green channel
          will be added to by at most 0.8, the Blue channel will be
          subtracted from by at most 0.8, and the Alpha channel will
          not be effected.
docstr_tok: ["Initialize","composite","with","highlight","factor","options",".","Args",":","min_highlight","(","float",")",":","Minimum","raw","value","of","the","``","highlight","''","data","that","will","be","used","for","linearly","scaling","the","data","along","with","``","max_hightlight","``",".","max_highlight","(","float",")",":","Maximum","raw","value","of","the","``","highlight","''","data","that","will","be","used","for","linearly","scaling","the","data","along","with","``","min_hightlight","``",".","max_factor","(","tuple",")",":","Maximum","effect","that","the","highlight","data","can","have","on","each","channel","of","the","primary","image","data",".","This","will","be","multiplied","by","the","linearly","scaled","highlight","data","and","then","added","or","subtracted","from","the","highlight","channels",".","See","class","docstring","for","more","information",".","By","default","this","is","set","to","``","(","0.8",",","0.8",",","-0.8",",","0",")","``","meaning","the","Red","and","Green","channel","will","be","added","to","by","at","most","0.8",",","the","Blue","channel","will","be","subtracted","from","by","at","most","0.8",",","and","the","Alpha","channel","will","not","be","effected","."]
code: def __init__(
      self,
      name,
      min_highlight=0.0,
      max_highlight=10.0,  # noqa: D417
      max_factor=(0.8, 0.8, -0.8, 0),
      **kwargs,
  ):
      """Initialize composite with highlight factor options.
  
      Args:
          min_highlight (float): Minimum raw value of the "highlight" data
              that will be used for linearly scaling the data along with
              ``max_hightlight``.
          max_highlight (float): Maximum raw value of the "highlight" data
              that will be used for linearly scaling the data along with
              ``min_hightlight``.
          max_factor (tuple): Maximum effect that the highlight data can
              have on each channel of the primary image data. This will be
              multiplied by the linearly scaled highlight data and then
              added or subtracted from the highlight channels. See class
              docstring for more information. By default this is set to
              ``(0.8, 0.8, -0.8, 0)`` meaning the Red and Green channel
              will be added to by at most 0.8, the Blue channel will be
              subtracted from by at most 0.8, and the Alpha channel will
              not be effected.
  
      """
      self.min_highlight = min_highlight
      self.max_highlight = max_highlight
      self.max_factor = max_factor
      super().__init__(name, **kwargs)
  
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 1 to create a new HighlightCompositor object from inherited base classes: GenericCompositor with example: obj = HighlightCompositor(name, min_highlight, max_highlight, max_factor)