function laplacianCanvas({
image,
width = image.naturalWidth,
height = image.naturalHeight,
canvas = DOM.canvas(width, height, 1),
gain = 1,
alpha = 0,
radius
}) {
const context = canvas.getContext("2d");
context.drawImage(image, 0, 0, width, height);
const imageData = context.getImageData(0, 0, width, height);
const L = laplacian(context.getImageData(0, 0, width, height), radius);
const {data: I} = imageData;
for (let i = 0, n = I.length; i < n; ++i) {
if (i % 4 === 3) continue;
I[i] = (1 - alpha) * 128 + alpha * I[i] + gain * L[i];
}
context.putImageData(imageData, 0, 0);
return canvas;
}