class_docstr: Implementation of IROF (Iterative Removal of Features) by Rieger at el., 2020.
  
  The metric computes the area over the curve per class for sorted mean importances
  of feature segments (superpixels) as they are iteratively removed (and prediction scores are collected),
  averaged over several test samples.
  
  Assumptions:
      - The original metric definition relies on image-segmentation functionality. Therefore, only apply the
      metric to 3-dimensional (image) data. To extend the applicablity to other data domains,
      adjustments to the current implementation might be necessary.
  
  References:
      1) Laura Rieger and Lars Kai Hansen. "Irof: a low resource evaluation metric for
      explanation methods." arXiv preprint arXiv:2003.08747 (2020).
  
  Attributes:
      -  _name: The name of the metric.
      - _data_applicability: The data types that the metric implementation currently supports.
      - _models: The model types that this metric can work with.
      - score_direction: How to interpret the scores, whether higher/ lower values are considered better.
      - evaluation_category: What property/ explanation quality that this metric measures.
class_docstr_tok: ["Implementation","of","IROF","(","Iterative","Removal","of","Features",")","by","Rieger","at","el.",",","2020",".","The","metric","computes","the","area","over","the","curve","per","class","for","sorted","mean","importances","of","feature","segments","(","superpixels",")","as","they","are","iteratively","removed","(","and","prediction","scores","are","collected",")",",","averaged","over","several","test","samples",".","Assumptions",":","-","The","original","metric","definition","relies","on","image-segmentation","functionality",".","Therefore",",","only","apply","the","metric","to","3-dimensional","(","image",")","data",".","To","extend","the","applicablity","to","other","data","domains",",","adjustments","to","the","current","implementation","might","be","necessary",".","References",":","1",")","Laura","Rieger","and","Lars","Kai","Hansen",".","``","Irof",":","a","low","resource","evaluation","metric","for","explanation","methods",".","''","arXiv","preprint","arXiv:2003.08747","(","2020",")",".","Attributes",":","-","_name",":","The","name","of","the","metric",".","-","_data_applicability",":","The","data","types","that","the","metric","implementation","currently","supports",".","-","_models",":","The","model","types","that","this","metric","can","work","with",".","-","score_direction",":","How","to","interpret","the","scores",",","whether","higher\/","lower","values","are","considered","better",".","-","evaluation_category",":","What","property\/","explanation","quality","that","this","metric","measures","."]
docstr: This method performs XAI evaluation on a single batch of explanations.
  For more information on the specific logic, we refer the metric’s initialisation docstring.
  
  Parameters
  ----------
  model: ModelInterface
      A ModelInterface that is subject to explanation.
  x_batch: np.ndarray
      The input to be evaluated on a batch-basis.
  y_batch: np.ndarray
      The output to be evaluated on a batch-basis.
  a_batch: np.ndarray
      The explanation to be evaluated on a batch-basis.
  kwargs:
      Unused.
  
  Returns
  -------
  scores_batch:
      The evaluation results.
docstr_tok: ["This","method","performs","XAI","evaluation","on","a","single","batch","of","explanations",".","For","more","information","on","the","specific","logic",",","we","refer","the","metric","\u2019","s","initialisation","docstring",".","Parameters","--","--","--","--","--","model",":","ModelInterface","A","ModelInterface","that","is","subject","to","explanation",".","x_batch",":","np.ndarray","The","input","to","be","evaluated","on","a","batch-basis",".","y_batch",":","np.ndarray","The","output","to","be","evaluated","on","a","batch-basis",".","a_batch",":","np.ndarray","The","explanation","to","be","evaluated","on","a","batch-basis",".","kwargs",":","Unused",".","Returns","--","--","--","-","scores_batch",":","The","evaluation","results","."]
code: def evaluate_batch(
      self,
      model: ModelInterface,
      x_batch: np.ndarray,
      y_batch: np.ndarray,
      a_batch: np.ndarray,
      **kwargs,
  ) -> List[float]:
      """
      This method performs XAI evaluation on a single batch of explanations.
      For more information on the specific logic, we refer the metric’s initialisation docstring.
  
      Parameters
      ----------
      model: ModelInterface
          A ModelInterface that is subject to explanation.
      x_batch: np.ndarray
          The input to be evaluated on a batch-basis.
      y_batch: np.ndarray
          The output to be evaluated on a batch-basis.
      a_batch: np.ndarray
          The explanation to be evaluated on a batch-basis.
      kwargs:
          Unused.
  
      Returns
      -------
      scores_batch:
          The evaluation results.
      """
      return [
          self.evaluate_instance(model=model, x=x, y=y, a=a)
          for x, y, a in zip(x_batch, y_batch, a_batch)
      ]
  
file_path: Quantus/quantus/metrics/faithfulness/irof.py
imports: import sys
  from typing import Any, Callable, Dict, List, Optional
  import numpy
  from quantus.functions.perturb_func import baseline_replacement_by_indices
  from quantus.helpers import asserts, utils, warn
  from quantus.helpers.enums import DataType, EvaluationCategory, ModelType, ScoreDirection
  from quantus.helpers.model.model_interface import ModelInterface
  from quantus.helpers.perturbation_utils import make_perturb_func
  from quantus.metrics.base import Metric
label_desc: Use image node_id 6 for calling the IROF obj's underlying member method code with example usage: obj.evaluate_batch(model, x_batch, y_batch, a_batch) and returns: unknown