class_docstr: ConvertInteractiveClickSignals converts interactive annotation information (e.g. from DSA) into a format expected
  by NuClick. Typically, it will take point annotations from data["annotations"][<source_annotation_key>], convert
  it to 2d points, and place it in data[<target_data_key>].
class_docstr_tok: ["ConvertInteractiveClickSignals","converts","interactive","annotation","information","(","e.g",".","from","DSA",")","into","a","format","expected","by","NuClick",".","Typically",",","it","will","take","point","annotations","from","data","[","``","annotations","''","]","[","<","source_annotation_key",">","]",",","convert","it","to","2d","points",",","and","place","it","in","data","[","<","target_data_key",">","]","."]
code: def __init__(
      self,
      source_annotation_keys: KeysCollection,
      target_data_keys: KeysCollection,
      allow_missing_keys: bool = False,
  ):
      super().__init__(target_data_keys, allow_missing_keys)
      self.source_annotation_keys = ensure_tuple(source_annotation_keys)
      self.target_data_keys = ensure_tuple(target_data_keys)
  
imports: import logging
  import pathlib
  import numpy
  import openslide
  import torch
  from monai.config import KeysCollection
  from monai.data import MetaTensor
  from monai.transforms import MapTransform
  from monai.utils import PostFix, convert_to_numpy, ensure_tuple
  from PIL import Image
  from scipy.ndimage import binary_fill_holes
  from skimage.morphology import remove_small_holes, remove_small_objects
label_desc: Use image node_id 1 to create a new ConvertInteractiveClickSignals object from inherited base classes: MapTransform with example: obj = ConvertInteractiveClickSignals(source_annotation_keys, target_data_keys, allow_missing_keys)