I´m working in a project to get images from DDSM ( http://marathon.csee.usf.edu/Mammography/Database.html). I´ve got the step to convert (LJPEG to LJPEG.1) and now I´m with the step to convert LJPEG.1 to PNG, but the problem is the PNG image must be of 12 bits (because the original image of DDSM has 12 bits).
I know it´s not possible to obtain directly a 12 bit image from PNG, so I´ve used 2 ways:
With this two options, I get the same result, a matrix with max(I5(:)) = 4095, so the process is OK and I could see it in a figure, but the problem comes when I want to save in a png file, because the image must be saved in 16-bit and get me a dark image with a big size (four times the 8 bit png image). I also checked the value of bits: 13, 14, 15 and 16 and their values are 0.
I´ve used the PNG option of 'SignificantBits' with 12, but I obtained the same result.
Any ideas to solve the problem? I´ve found many articles about it but any of them gives a solution.
Thanks & Regards
Do not downscale the data: it must be full-range for the bitdepth (16). Use 'SignificantBits' of 12.
Grayscale, 16 bits per channel, 12 significant bits, is the way that PNG represents 12-bit grayscale images. Decoders are allowed to ignore the 12 bit specification
See 22.214.171.124. sBIT Significant bits in http://www.libpng.org/pub/png/spec/1.2/PNG-Chunks.html
I have written a small utility to easily download, convert, view and get annotations from DDSM data, without the need for any manual work. You just need to download the required cases and then follow the instructions on how to use my utility to convert the LJPEG files to LJPEG1 and then to other formats like PNG, JPEG, TIF, GIF etc.
You can download my utility from here - https://github.com/trane293/DDSMUtility
The detailed instructions along with images are given in the Tutorial PDF file.