code: def _gen_tileable_params(
      cls, op: "DataFrameDropDuplicates", input_params
  ):
      params = input_params.copy()
      if op.ignore_index:
          params["index_value"] = parse_index(pd.RangeIndex(-1))
      else:
          params["index_value"] = gen_unknown_index_value(
              input_params["index_value"],
              op.keep,
              op.subset,
              type(op).__name__,
          )
      params["shape"] = cls._get_shape(input_params["shape"], op)
      return params
  
imports: import numpy
  import pandas
  from ...None import opcodes
  from ...core.operand import OperandStage
  from ...serialization.serializables import BoolField
  from ...utils import lazy_import, calc_nsplits
  from ..operands import OutputType
  from ..utils import parse_index, hash_dataframe_on, gen_unknown_index_value, standardize_range_index
  from ._duplicate import DuplicateOperand, validate_subset
label_desc: Use image node_id 4 for calling the DataFrameDropDuplicates obj's underlying member method code with example usage: obj._gen_tileable_params(cls, op, input_params) and returns: params