class_docstr: This summary analyzer processes the values of specific key `stats_name` in a list of dict.
  Typically, the list of dict is the output of case analyzer under the same prefix
  (ImageStats).
  
  Args:
      stats_name: the key of the to-process value in the dict.
      average: whether to average the statistical value across different image modalities.
class_docstr_tok: ["This","summary","analyzer","processes","the","values","of","specific","key","`","stats_name","`","in","a","list","of","dict",".","Typically",",","the","list","of","dict","is","the","output","of","case","analyzer","under","the","same","prefix","(","ImageStats",")",".","Args",":","stats_name",":","the","key","of","the","to-process","value","in","the","dict",".","average",":","whether","to","average","the","statistical","value","across","different","image","modalities","."]
docstr: Callable to execute the pre-defined functions
  
  Returns:
      A dictionary. The dict has the key in self.report_format and value
      in a list format. Each element of the value list has stats pre-defined
      by SampleOperations (max, min, ....).
  
  Raises:
      RuntimeError if the stats report generated is not consistent with the pre-
          defined report_format.
  
  Examples:
      output dict contains a dictionary for all of the following keys{
          ImageStatsKeys.SHAPE:{...}
          ImageStatsKeys.CHANNELS: {...},
          ImageStatsKeys.CROPPED_SHAPE: {...},
          ImageStatsKeys.SPACING: {...},
          ImageStatsKeys.SIZEMM: {...},
          ImageStatsKeys.INTENSITY: {...},
          }
  
  Notes:
      The stats operation uses numpy and torch to compute max, min, and other
      functions. If the input has nan/inf, the stats results will be nan/inf.
docstr_tok: ["Callable","to","execute","the","pre-defined","functions","Returns",":","A","dictionary",".","The","dict","has","the","key","in","self.report_format","and","value","in","a","list","format",".","Each","element","of","the","value","list","has","stats","pre-defined","by","SampleOperations","(","max",",","min",",","....",")",".","Raises",":","RuntimeError","if","the","stats","report","generated","is","not","consistent","with","the","pre-","defined","report_format",".","Examples",":","output","dict","contains","a","dictionary","for","all","of","the","following","keys","{","ImageStatsKeys.SHAPE",":","{","...","}","ImageStatsKeys.CHANNELS",":","{","...","}",",","ImageStatsKeys.CROPPED_SHAPE",":","{","...","}",",","ImageStatsKeys.SPACING",":","{","...","}",",","ImageStatsKeys.SIZEMM",":","{","...","}",",","ImageStatsKeys.INTENSITY",":","{","...","}",",","}","Notes",":","The","stats","operation","uses","numpy","and","torch","to","compute","max",",","min",",","and","other","functions",".","If","the","input","has","nan\/inf",",","the","stats","results","will","be","nan\/inf","."]
code: def __call__(self, data: list[dict]) -> dict:
      """
      Callable to execute the pre-defined functions
  
      Returns:
          A dictionary. The dict has the key in self.report_format and value
          in a list format. Each element of the value list has stats pre-defined
          by SampleOperations (max, min, ....).
  
      Raises:
          RuntimeError if the stats report generated is not consistent with the pre-
              defined report_format.
  
      Examples:
          output dict contains a dictionary for all of the following keys{
              ImageStatsKeys.SHAPE:{...}
              ImageStatsKeys.CHANNELS: {...},
              ImageStatsKeys.CROPPED_SHAPE: {...},
              ImageStatsKeys.SPACING: {...},
              ImageStatsKeys.SIZEMM: {...},
              ImageStatsKeys.INTENSITY: {...},
              }
  
      Notes:
          The stats operation uses numpy and torch to compute max, min, and other
          functions. If the input has nan/inf, the stats results will be nan/inf.
      """
      if not isinstance(data, list):
          raise ValueError(
              f"Callable {self.__class__} requires list inputs"
          )
  
      if len(data) == 0:
          raise ValueError(
              f"Callable {self.__class__} input list is empty"
          )
  
      if self.stats_name not in data[0]:
          raise KeyError(f"{self.stats_name} is not in input data")
  
      report = deepcopy(self.get_report_format())
  
      for k in [
          ImageStatsKeys.SHAPE,
          ImageStatsKeys.CHANNELS,
          ImageStatsKeys.CROPPED_SHAPE,
          ImageStatsKeys.SPACING,
          ImageStatsKeys.SIZEMM,
      ]:
          v_np = concat_val_to_np(data, [self.stats_name, k])
          report[k] = self.ops[k].evaluate(
              v_np,
              dim=(0, 1)
              if v_np.ndim > 2 and self.summary_average
              else 0,
          )
  
      intst_str = ImageStatsKeys.INTENSITY
      op_keys = report[intst_str].keys()  # template, max/min/...
      intst_dict = concat_multikeys_to_dict(
          data, [self.stats_name, intst_str], op_keys
      )
      report[intst_str] = self.ops[intst_str].evaluate(
          intst_dict, dim=None if self.summary_average else 0
      )
  
      if not verify_report_format(report, self.get_report_format()):
          raise RuntimeError(
              f"report generated by {self.__class__} differs from the report format."
          )
  
      return report
  
imports: from __future__ import annotations
  import time
  from abc import ABC, abstractmethod
  from collections.abc import Hashable, Mapping
  from copy import deepcopy
  from typing import Any
  import numpy
  import torch
  from monai.apps.utils import get_logger
  from monai.auto3dseg.operations import Operations, SampleOperations, SummaryOperations
  from monai.auto3dseg.utils import concat_multikeys_to_dict, concat_val_to_np, get_foreground_image, get_foreground_label, get_label_ccp, verify_report_format
  from monai.bundle.config_parser import ConfigParser
  from monai.bundle.utils import ID_SEP_KEY
  from monai.data import MetaTensor, affine_to_spacing
  from monai.transforms.transform import MapTransform
  from monai.transforms.utils_pytorch_numpy_unification import sum, unique
  from monai.utils import convert_to_numpy
  from monai.utils.enums import DataStatsKeys, ImageStatsKeys, LabelStatsKeys
  from monai.utils.misc import ImageMetaKey, label_union
label_desc: Use image node_id 2 for calling the ImageStatsSumm obj's underlying member method code with example usage: obj.__call__(data) and returns: report