I was hoping to be able to pass on custom data together with an IMAQ image thru several processing steps. However, it seems that some basic operations delete the custom data keys and all data associated. For example, when using the mathematical operators on images (eg. IMAQ Add.vi ), the custom data is preserved when just adding a number to the image, but not if image source B is connected.
Custom data is then lost regardless if any of the connected images (A,B, destination) comes with custom data.
The same is true for Calibration (propably all meta data, which I did not check) which may be even worse.
As the math operators do not change image size, I wonder if this is intended behaviour?
A workaround is to copy the original image to an extra image as a buffer for the meta data, and fill in the processed image content using "ImageToImage" at the end. Any better suggestions?
This had been reported under CAR # 172816 to RnD and is currently in work.
As a workarround you could read all the custom data befor doing arithmetic functions and write dem to the new image afterwords.
Thanks, Christian for the info about the CAR #.
By-passing custom data is possibly the easiest. Calibration, Overlay etc will be more tedious, I guess. Thus, copying the image content into a buffer image afterwards may be easier than transfering all meta data.
You are right. Since it affects all the meta data it's easier to create an image buffer containing the meta data before.
I have a similar problem. I put custom data into an image, and then sent it on to a Queue, as a variant.
When I come to handle the queue in another vi, the custom data is sometimes lost.
It is strange because it happens intermittently, sometimes the data is passed through fine,
other times the data is lost (read custom data vi returns an error saying that the image is not an image), though the image is still sent through fine.
I guess the easiest solution is simply to pass the image and data in a cluster with type (Image, string).
But maybe there is a solution for this problem?