While the Image datatype is very useful for working with images, there are many functions that are not available (e.g. Square Root, or the Wavelet Transforms). In order to achieve this, it is necessary to convert the Image to an Array, thereby duplicating the memory required, and then convert back again. (IMAQ GetImagePixelPtr/IMAQ MemPeek also duplicates data). I would like to be able to directly access the Image data as a LabVIEW Array. Perhaps the In Memory structure could be used to achieve this, e.g.
One potential problem is the extra information (border pixels) which are part
of Images - for most use cases it would probably be ok to retain these
(i.e. the array is larger than the image, though perhaps there could be
an option as to whether they are mirrored or zero etc. RGB images would
provide an array of U32/64, but even better might be a cluster of
arrays for each colour plane.
Bonus points for the ability to access an Array of Images as a 3D Array!