Currently there are two ways to create an ImageData: createImageData and createImageDataCopy. Both of these create empty ImageData. However, the API actually provides a third way to create an ImageData, which is through its constructor. Quoted from the MDN docs:
The ImageData() constructor returns a newly instantiated ImageData object built from the typed array given and having the specified width and height.
Not having such a constructor means that we currently have no way to neither create new ImageData nor modify existing ones.