# LeapImageWithHeatmap

Used to visualize attention maps or a similar float-based mask over an image.

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

@dataclass
class LeapImageWithHeatmap:
    image: npt.NDArray[np.float32]
    heatmaps: npt.NDArray[np.float32]
    labels: List[str]
    type: LeapDataType = LeapDataType.ImageWithHeatmap
```

<table><thead><tr><th width="167.39065467110788">Args</th><th></th></tr></thead><tbody><tr><td><code>image</code></td><td>np.ndarray 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].</td></tr><tr><td><code>heatmaps</code></td><td>np.ndarray float32 representation of the heatmaps. The expected shape is [C,H,W], where C is the amount of heatmaps that are provided for the image.</td></tr><tr><td><code>labels</code></td><td>A list of labels of C length for the heatmap labels</td></tr></tbody></table>

## Examples

#### Basic Usage

```python
import numpy as np
from code_loader.contract.visualizer_classes import LeapImageWithHeatmap
from code_loader import leap_binder
from code_loader.contract.enums import LeapDataType
...

@tensorleap_custom_visualizer("heatmap", LeapDataType.ImageWithHeatmap)
def heatmap(image_data: np.ndarray, heatmap_data: np.ndarray):
    labels = ["heatmap1"]
    return LeapImageWithHeatmap(image=image_data.squeeze(0), heatmaps=heatmap_data, labels=labels)
```
