class_docstr: Structure to discover and store `Dataset` dependencies.
  
  Used primarily by the `Scene` object to organize dependency finding.
  Dependencies are stored used a series of `Node` objects which this
  class is a subclass of.
class_docstr_tok: ["Structure","to","discover","and","store","`","Dataset","`","dependencies",".","Used","primarily","by","the","`","Scene","`","object","to","organize","dependency","finding",".","Dependencies","are","stored","used","a","series","of","`","Node","`","objects","which","this","class","is","a","subclass","of","."]
docstr: Add additional compositors and modifiers to the tree.
  
  Provided dictionaries and the first sub-level dictionaries are copied
  to avoid modifying the input.
  
  Args:
      compositors (dict):
          Sensor name -> composite ID -> Composite Object
      modifiers (dict):
          Sensor name -> Modifier name -> (Modifier Class, modifier options)
docstr_tok: ["Add","additional","compositors","and","modifiers","to","the","tree",".","Provided","dictionaries","and","the","first","sub-level","dictionaries","are","copied","to","avoid","modifying","the","input",".","Args",":","compositors","(","dict",")",":","Sensor","name","-",">","composite","ID","-",">","Composite","Object","modifiers","(","dict",")",":","Sensor","name","-",">","Modifier","name","-",">","(","Modifier","Class",",","modifier","options",")"]
code: def update_compositors_and_modifiers(
      self, compositors: dict, modifiers: dict
  ) -> None:
      """Add additional compositors and modifiers to the tree.
  
      Provided dictionaries and the first sub-level dictionaries are copied
      to avoid modifying the input.
  
      Args:
          compositors (dict):
              Sensor name -> composite ID -> Composite Object
          modifiers (dict):
              Sensor name -> Modifier name -> (Modifier Class, modifier options)
  
      """
      for sensor_name, sensor_comps in compositors.items():
          self.compositors.setdefault(
              sensor_name, DatasetDict()
          ).update(sensor_comps)
      for sensor_name, sensor_mods in modifiers.items():
          self.modifiers.setdefault(sensor_name, {}).update(sensor_mods)
  
imports: from __future__ import annotations
  from typing import Container, Iterable, Optional
  import numpy
  from satpy import DataID, DatasetDict
  from satpy.dataset import ModifierTuple, create_filtered_query
  from satpy.dataset.data_dict import TooManyResults, get_key
  from satpy.node import EMPTY_LEAF_NAME, LOG, CompositorNode, MissingDependencies, Node, ReaderNode
label_desc: Use image node_id 2 for calling the DependencyTree obj's underlying member method code with example usage: obj.update_compositors_and_modifiers(compositors, modifiers) without return types