class_docstr: Implementation of a fully configurable CLI tool for anomalib.
  
  The advantage of this tool is its flexibility to configure the pipeline
  from both the CLI and a configuration file (.yaml or .json). It is even
  possible to use both the CLI and a configuration file simultaneously.
  For more details, the reader could refer to PyTorch Lightning CLI documentation.
class_docstr_tok: ["Implementation","of","a","fully","configurable","CLI","tool","for","anomalib",".","The","advantage","of","this","tool","is","its","flexibility","to","configure","the","pipeline","from","both","the","CLI","and","a","configuration","file","(",".yaml","or",".json",")",".","It","is","even","possible","to","use","both","the","CLI","and","a","configuration","file","simultaneously",".","For","more","details",",","the","reader","could","refer","to","PyTorch","Lightning","CLI","documentation","."]
docstr: Add default arguments.
  
  Args:
      parser (LightningArgumentParser): Lightning Argument Parser.
docstr_tok: ["Add","default","arguments",".","Args",":","parser","(","LightningArgumentParser",")",":","Lightning","Argument","Parser","."]
code: def add_arguments_to_parser(
      self, parser: LightningArgumentParser
  ) -> None:
      """Add default arguments.
  
      Args:
          parser (LightningArgumentParser): Lightning Argument Parser.
      """
      # TODO: https://github.com/openvinotoolkit/anomalib/issues/20
      parser.add_argument(
          "--export_mode",
          type=str,
          default="",
          help="Select export mode to ONNX or OpenVINO IR format.",
      )
      parser.add_argument(
          "--nncf",
          type=str,
          help="Path to NNCF config to enable quantized training.",
      )
  
      # ADD CUSTOM CALLBACKS TO CONFIG
      # NOTE: MyPy gives the following error:
      # Argument 1 to "add_lightning_class_args" of "LightningArgumentParser"
      # has incompatible type "Type[TilerCallback]"; expected "Union[Type[Trainer],
      # Type[LightningModule], Type[LightningDataModule]]"  [arg-type]
      parser.add_lightning_class_args(TilerConfigurationCallback, "tiling")  # type: ignore
      parser.set_defaults({"tiling.enable": False})
  
      parser.add_lightning_class_args(PostProcessingConfigurationCallback, "post_processing")  # type: ignore
      parser.set_defaults(
          {
              "post_processing.normalization_method": "min_max",
              "post_processing.threshold_method": "adaptive",
              "post_processing.manual_image_threshold": None,
              "post_processing.manual_pixel_threshold": None,
          }
      )
  
      # TODO: Assign these default values within the MetricsConfigurationCallback
      #   - https://github.com/openvinotoolkit/anomalib/issues/384
      parser.add_lightning_class_args(MetricsConfigurationCallback, "metrics")  # type: ignore
      parser.set_defaults(
          {
              "metrics.task": "segmentation",
              "metrics.image_metrics": ["F1Score", "AUROC"],
              "metrics.pixel_metrics": ["F1Score", "AUROC"],
          }
      )
  
      parser.add_lightning_class_args(ImageVisualizerCallback, "visualization")  # type: ignore
      parser.set_defaults(
          {
              "visualization.mode": "full",
              "visualization.task": "segmentation",
              "visualization.image_save_path": "",
              "visualization.save_images": False,
              "visualization.show_images": False,
              "visualization.log_images": False,
          }
      )
  
file_path: anomalib/src/anomalib/utils/cli/cli.py
imports: from __future__ import annotations
  import logging
  import os
  import warnings
  from datetime import datetime
  from importlib import import_module
  from pathlib import Path
  from omegaconf.omegaconf import OmegaConf
  from pytorch_lightning.cli import LightningArgumentParser, LightningCLI
  from anomalib.utils.callbacks import CdfNormalizationCallback, ImageVisualizerCallback, LoadModelCallback, MetricsConfigurationCallback, MinMaxNormalizationCallback, ModelCheckpoint, PostProcessingConfigurationCallback, TilerConfigurationCallback, TimerCallback, add_visualizer_callback
  from anomalib.utils.loggers import configure_logger
label_desc: Use image node_id 1 for calling the AnomalibCLI obj's underlying member method code with example usage: obj.add_arguments_to_parser(parser) without return types