class_docstr: Dictionary-based wrapper for :py:class:`monai.apps.pathology.transforms.post.array.HoVerNetInstanceMapPostProcessing`.
  The post-processing transform for HoVerNet model to generate instance segmentation map.
  It generates an instance segmentation map as well as a dictionary containing centroids, bounding boxes, and contours
  for each instance.
  
  Args:
      nuclear_prediction_key: the key for HoVerNet NP (nuclear prediction) branch. Defaults to `HoVerNetBranch.NP`.
      hover_map_key: the key for HoVerNet NC (nuclear prediction) branch. Defaults to `HoVerNetBranch.HV`.
      instance_info_key: the output key where instance information (contour, bounding boxes, and centroids)
          is written. Defaults to `"instance_info"`.
      instance_map_key: the output key where instance map is written. Defaults to `"instance_map"`.
      activation: the activation layer to be applied on the input probability map.
          It can be "softmax" or "sigmoid" string, or any callable. Defaults to "softmax".
      mask_threshold: a float value to threshold to binarize probability map to generate mask.
      min_object_size: objects smaller than this size are removed. Defaults to 10.
      sobel_kernel_size: the size of the Sobel kernel used in :py:class:`GenerateInstanceBorder`. Defaults to 5.
      distance_smooth_fn: smoothing function for distance map.
          If not provided, :py:class:`monai.transforms.intensity.GaussianSmooth()` will be used.
      marker_threshold: a float value to threshold to binarize instance border map for markers.
          It turns uncertain area to 1 and other area to 0. Defaults to 0.4.
      marker_radius: the radius of the disk-shaped footprint used in `opening` of markers. Defaults to 2.
      marker_postprocess_fn: post-process function for watershed markers.
          If not provided, :py:class:`monai.transforms.post.FillHoles()` will be used.
      watershed_connectivity: `connectivity` argument of `skimage.segmentation.watershed`.
      min_num_points: minimum number of points to be considered as a contour. Defaults to 3.
      contour_level: an optional value for `skimage.measure.find_contours` to find contours in the array.
          If not provided, the level is set to `(max(image) + min(image)) / 2`.
      device: target device to put the output Tensor data.
code: def __call__(self, data):
      d = dict(data)
  
      for k in [self.instance_info_key, self.instance_map_key]:
          if k in d:
              raise ValueError(
                  "The output key ['{k}'] already exists in the input dictionary!"
              )
  
      (
          d[self.instance_info_key],
          d[self.instance_map_key],
      ) = self.instance_map_post_process(
          d[self.nuclear_prediction_key], d[self.hover_map_key]
      )
  
      return d
  
imports: from __future__ import annotations
  from collections.abc import Callable, Hashable, Mapping
  import numpy
  import torch
  from monai.apps.pathology.transforms.post.array import GenerateDistanceMap, GenerateInstanceBorder, GenerateInstanceCentroid, GenerateInstanceContour, GenerateInstanceType, GenerateSuccinctContour, GenerateWatershedMarkers, GenerateWatershedMask, HoVerNetInstanceMapPostProcessing, HoVerNetNuclearTypePostProcessing, Watershed
  from monai.config.type_definitions import DtypeLike, KeysCollection, NdarrayOrTensor
  from monai.transforms.transform import MapTransform, Transform
  from monai.utils import optional_import
  from monai.utils.enums import HoVerNetBranch
label_desc: Use image node_id 2 for calling the HoVerNetInstanceMapPostProcessingd obj's underlying member method code with example usage: obj.__call__(data) and returns: d