LeapImage

code_loader.contract.visualizer_classes.LeapImage

Used to visualize a grayscale/RGB image

import numpy.typing as npt
from code_loader.contract.enums import LeapDataType

@dataclass
class LeapImage:
    data: npt.NDArray[npt.NDArray[np.float32], npt.NDArray[np.uint8]]
    type: LeapDataType = LeapDataType.Image
    compress: Optional[bool] = True
Args

data

np.ndarray uint8/float32 representation of the image. The expected image format is [H,W,1] OR [H,W,3] and is expected to be in [0,255].

compress

(boolean, optional). Images are automatically compressed to jpg in the platform. For visualization that require no compression, set compress=False to get a png.

Examples

Basic Usage

from code_loader.contract.visualizer_classes import LeapImage
import cv2
...

@tensorleap_custom_visualizer(name='bgr2rgb_vis',
                              visualizer_type=LeapDataType.Image)
def bgr2rgb_visualizer(data: np.ndarray) -> LeapImage:
    im_rgb = cv2.cvtColor(data, cv2.COLOR_BGR2RGB)
    return LeapImage(im_rgb)

Resize Image and Heat-map

from code_loader.contract.visualizer_classes import LeapImage
import numpy.typing as npt
from code_loader.contract.enums import LeapDataType

def resized_image_visualizer_heatmap(data: npt.NDArray[np.float32]) -> npt.NDArray[np.float32]:
    # data is the heatmap with original size (origin_W, origin_H)
    return np.resize(data, (256, 512))    # we reshape to the resized shape
    
@tensorleap_custom_visualizer(name='image_visualizer',
                              visualizer_type=LeapDataType.Image,
                              heatmap_function=resized_image_visualizer_heatmap)
def resized_image_visualizer(data: npt.NDArray[np.float32]) -> LeapImage:
    return LeapImage(np.resize(data, (256, 512, 3)))

Last updated

Was this helpful?