To note: Javascript is not running in this browser environment. The canvas elements are ignored; instead placeholder images display where the canvases would have appeared.
It is usually best to create the weights array with the help of some sort of tool where the user can shape and manipulate the curve - and also curves for each individual channel - to get the output they require for a given image.
Touch test: should work as expected. Known issue: the pins are currently too small for effective UX on touch devices.