class_docstr: Implements the functionality for albating the image, and retaining only a column
class_docstr_tok: ["Implements","the","functionality","for","albating","the","image",",","and","retaining","only","a","column"]
docstr: Performs ablation on the input x. If no column_pos is specified a random location will be selected.
  
  :param x: input image.
  :param column_pos: int indicating the start column to retain across all samples in the batch
                     or list of ints of length equal to the number of samples to have a different
                     column retained per sample. If not supplied a random location will be selected.
                     NB, if row_ablation_mode is true then this will be used to act on the rows through
                     transposing the image.
  :param row_pos: Unused
  :return: ablated image keeping only a column.
docstr_tok: ["Performs","ablation","on","the","input","x",".","If","no","column_pos","is","specified","a","random","location","will","be","selected",".",":","param","x",":","input","image",".",":","param","column_pos",":","int","indicating","the","start","column","to","retain","across","all","samples","in","the","batch","or","list","of","ints","of","length","equal","to","the","number","of","samples","to","have","a","different","column","retained","per","sample",".","If","not","supplied","a","random","location","will","be","selected",".","NB",",","if","row_ablation_mode","is","true","then","this","will","be","used","to","act","on","the","rows","through","transposing","the","image",".",":","param","row_pos",":","Unused",":","return",":","ablated","image","keeping","only","a","column","."]
code: def __call__(
      self,
      x: np.ndarray,
      column_pos: Optional[Union[int, list]] = None,
      row_pos: Optional[Union[int, list]] = None,
  ) -> np.ndarray:
      """
      Performs ablation on the input x. If no column_pos is specified a random location will be selected.
  
      :param x: input image.
      :param column_pos: int indicating the start column to retain across all samples in the batch
                         or list of ints of length equal to the number of samples to have a different
                         column retained per sample. If not supplied a random location will be selected.
                         NB, if row_ablation_mode is true then this will be used to act on the rows through
                         transposing the image.
      :param row_pos: Unused
      :return: ablated image keeping only a column.
      """
      return self.forward(x=x, column_pos=column_pos)
  
file_path: adversarial-robustness-toolbox/art/estimators/certification/derandomized_smoothing/ablators/tensorflow.py
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  from typing import Optional, Union, Tuple, TYPE_CHECKING
  import random
  import numpy
  from art.estimators.certification.derandomized_smoothing.ablators.ablate import BaseAblator
label_desc: Use image node_id 2 for calling the ColumnAblator obj's underlying member method code with example usage: obj.__call__(x, column_pos, row_pos) and returns: self