def __call__(self, panoptic, segments):
        """
        Generates the raw panoptic target

        Args:
            panoptic (numpy.array): colored image encoding panoptic label.
            segments (list): A list of dictionary containing information of every segment, it has fields:
                - id: panoptic id, after decoding `panoptic`.
                - category_id: semantic class id.
                - area: segment area.
                - bbox: segment bounding box.
                - iscrowd: crowd region.

        Returns:
            A dictionary with fields:
                - panoptic: Tensor, panoptic label, shape=(H, W).
        """
        panoptic = self.rgb2id(panoptic)
        raw_panoptic = np.zeros_like(panoptic) + self.ingore_index
        for seg in segments:
            cat_id = seg['category_id']
            # if seg['iscrowd'] == 1:
            #     continue
            if seg['id'] < 1000:
                raw_panoptic[panoptic == seg['id']] = cat_id
            else:
                ins_id = seg['id'] % self.label_divisor
                raw_panoptic[panoptic ==
                             seg['id']] = cat_id * self.label_divisor + ins_id
        return dict(panoptic=raw_panoptic.astype('long'))

        Generates the raw panoptic target

        Args:
            panoptic (numpy.array): colored image encoding panoptic label.
            segments (list): A list of dictionary containing information of every segment, it has fields:
                - id: panoptic id, after decoding `panoptic`.
                - category_id: semantic class id.
                - area: segment area.
                - bbox: segment bounding box.
                - iscrowd: crowd region.

        Returns:
            A dictionary with fields:
                - panoptic: Tensor, panoptic label, shape=(H, W).
        
contrib/PanopticDeepLab/transforms/target_transforms.py