class_docstr: Config class for an ensemble of anomaly detectors.
docstr: :return: whether to apply the thresholding rules of each individual
      model, before combining their outputs. Only done if doing model
      selection.
docstr_tok: [":","return",":","whether","to","apply","the","thresholding","rules","of","each","individual","model",",","before","combining","their","outputs",".","Only","done","if","doing","model","selection","."]
code: def per_model_threshold(self):
      """
      :return: whether to apply the thresholding rules of each individual
          model, before combining their outputs. Only done if doing model
          selection.
      """
      from merlion.models.ensemble.combine import ModelSelector
  
      return (
          isinstance(self.combiner, ModelSelector)
          and not self.enable_threshold
      )
  
imports: import logging
  import traceback
  from typing import List
  import pandas
  from merlion.evaluate.anomaly import TSADMetric, TSADEvaluator, TSADEvaluatorConfig
  from merlion.models.anomaly.base import DetectorBase, DetectorConfig
  from merlion.models.ensemble.base import EnsembleConfig, EnsembleTrainConfig, EnsembleBase
  from merlion.models.ensemble.combine import Mean
  from merlion.post_process.threshold import AggregateAlarms
  from merlion.utils import TimeSeries
label_desc: Use image node_id 2 for calling the DetectorEnsembleConfig obj's underlying member method code with example usage: obj.per_model_threshold() and returns: unknown