# LeapVideo

Used to visualize a grayscale/RGB image

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

@dataclass
class LeapVideo:
  data: Union[npt.NDArray[np.float32], npt.NDArray[np.uint8]]
  type: LeapDataType = LeapDataType.Video
```

<table><thead><tr><th width="167.39065467110788">Args</th><th></th></tr></thead><tbody><tr><td><code>data</code></td><td>np.ndarray uint8/float32 representation of the video frames. The expected image format is [T, H,W,1] OR [T, H,W,3] and is expected to be in [0,255].</td></tr></tbody></table>

## Examples

#### Basic Usage

```python
from code_loader.contract.visualizer_classes import LeapVideo
import cv2
from code_loader.contract.visualizer_classes import LeapTextMask
from code_loader.contract.enums import LeapDataType
...

@tensorleap_custom_visualizer(name='video',
                              visualizer_type=LeapDataType.Video)
def video_visualizer(frames: np.ndarray) -> LeapVideo:
    #data shape is [1,F,H,W,3]
    return LeapVideo(frames.squeeze(0))
```
