class_docstr: Event handler triggered on completing every iteration to save the classification predictions as CSV file.
  If running in distributed data parallel, only saves CSV file in the specified rank.
class_docstr_tok: ["Event","handler","triggered","on","completing","every","iteration","to","save","the","classification","predictions","as","CSV","file",".","If","running","in","distributed","data","parallel",",","only","saves","CSV","file","in","the","specified","rank","."]
docstr: This method assumes self.batch_transform will extract metadata from the input batch.
  
  Args:
      engine: Ignite Engine, it can be a trainer, validator or evaluator.
docstr_tok: ["This","method","assumes","self.batch_transform","will","extract","metadata","from","the","input","batch",".","Args",":","engine",":","Ignite","Engine",",","it","can","be","a","trainer",",","validator","or","evaluator","."]
code: def __call__(self, engine: Engine) -> None:
      """
      This method assumes self.batch_transform will extract metadata from the input batch.
  
      Args:
          engine: Ignite Engine, it can be a trainer, validator or evaluator.
      """
      meta_data = self.batch_transform(engine.state.batch)
      if isinstance(meta_data, dict):
          # decollate the `dictionary of list` to `list of dictionaries`
          meta_data = decollate_batch(meta_data)
      engine_output = self.output_transform(engine.state.output)
      for m, o in zip(meta_data, engine_output):
          self._filenames.append(f"{m.get(Key.FILENAME_OR_OBJ)}")
          if isinstance(o, torch.Tensor):
              o = o.detach()
          self._outputs.append(o)
  
file_path: MONAI/monai/handlers/classification_saver.py
imports: from __future__ import annotations
  import logging
  import warnings
  from collections.abc import Callable
  from typing import TYPE_CHECKING
  import torch
  from monai.config import IgniteInfo
  from monai.data import CSVSaver, decollate_batch
  from monai.utils import ImageMetaKey
  from monai.utils import evenly_divisible_all_gather, min_version, optional_import, string_list_all_gather
label_desc: Use image node_id 4 for calling the ClassificationSaver obj's underlying member method code with example usage: obj.__call__(engine) without return types