code: def assign(
      self,
      pred_instances: InstanceData,
      gt_instances: InstanceData,
      gt_instances_ignore: Optional[InstanceData] = None,
      **kwargs,
  ):
      """Assign boxes to either a ground truth boxes or a negative boxes."""
  
imports: from abc import ABCMeta, abstractmethod
  from typing import Optional
  from mmengine.structures import InstanceData
label_desc: Use image node_id 1 for calling the BaseAssigner obj's underlying member method code with example usage: obj.assign(pred_instances, gt_instances, gt_instances_ignore) without return types