PixelData¶
- class mmengine.structures.PixelData(*, metainfo=None, **kwargs)[source]¶
Data structure for pixel-level annotations or predictions.
All data items in
data_fields
ofPixelData
meet the following requirements:They all have 3 dimensions in orders of channel, height, and width.
They should have the same height and width.
Examples
>>> metainfo = dict( ... img_id=random.randint(0, 100), ... img_shape=(random.randint(400, 600), random.randint(400, 600))) >>> image = np.random.randint(0, 255, (4, 20, 40)) >>> featmap = torch.randint(0, 255, (10, 20, 40)) >>> pixel_data = PixelData(metainfo=metainfo, ... image=image, ... featmap=featmap) >>> print(pixel_data.shape) (20, 40)
>>> # slice >>> slice_data = pixel_data[10:20, 20:40] >>> assert slice_data.shape == (10, 20) >>> slice_data = pixel_data[10, 20] >>> assert slice_data.shape == (1, 1)
>>> # set >>> pixel_data.map3 = torch.randint(0, 255, (20, 40)) >>> assert tuple(pixel_data.map3.shape) == (1, 20, 40) >>> with self.assertRaises(AssertionError): ... # The dimension must be 3 or 2 ... pixel_data.map2 = torch.randint(0, 255, (1, 3, 20, 40))
- Parameters:
metainfo (dict | None) –
- property shape¶
The shape of pixel data.