Animation images and dataframe content

Alright… I’ve figured it out:

using CairoMakie
using Images
using DataFrames
using DataFramesMeta

# Load cow
img_orig = load(Makie.assetpath("cow.png"))
img_filt1 = imfilter(img_orig, Kernel.gaussian(3))
img_filt2 = imfilter(img_orig, Kernel.gaussian(30))
img_filt3 = imfilter(img_orig, Kernel.gaussian(300))
img_bw = Gray.(img_orig)

# Combine
img_array = [img_orig;;; img_filt1;;; img_filt2;;; img_filt3;;; img_bw]

# Data
df = DataFrame(x=rand(1:400, 10), y=rand(1:300, 10), c=rand(10), f=rand(1:5, 10))

frame_i = Observable(1)

df_i = @lift(@rsubset(df, :f == $frame_i))
img_i = @lift(img_array[:, :, $frame_i])

fig = Figure()
ax = CairoMakie.Axis(fig[1, 1])

# Plot
function _plt_fig!(frame)

    frame_i[] = frame
    image!(ax, rotr90(img_i.val))
    scatter!(ax, df_i.val.x, df_i.val.y, color=df_i.val.c, markersize=30)
    return fig
end

frames = 1:5
record(fig, "video.mp4", frames; framerate=1) do i
        _plt_fig!(i)
end