You can use any format, for example tiff or png, which supports 16-bit grayscale images, since your data will correspond to 16-bit (2 ^ 16-1 = 65535).
The advantage of using these formats is, of course, that you can read them using another program. Most likely, you will not want to use the jpeg format due to compression artifacts.
Here is what the matlab documentation says about imwrite for png format:
By default, imwrite uses 8 bits per pixel if the image is double or uint8; 16 bits per pixel if the image is uint16; 1 bit per pixel if the image is logical.
So, you will be fine if your data is saved as uint16.
source share