convert 16 bit to 32 bit

14 views (last 30 days)
mohd akmal masud
mohd akmal masud on 20 Feb 2018
Commented: Stephen23 on 20 Feb 2018
hi all,
i have image dicom 16 bit. my problem is, 16 bit image can stored pixel value till 32767 only. now i want change it to 32 bit or 64 bit so that the pixel value can stored more than that, and corresponding how much activity radionuclides i used to diagnosed patient.
Anyone knows how to convert that using matlab? or anyway to solve it?

Accepted Answer

Daniel Bridges
Daniel Bridges on 20 Feb 2018
Edited: Daniel Bridges on 20 Feb 2018
I use the following code for my DICOM dose files to be read by MIM Maestro:
MaxUnsignedInteger = 65535; % cf. https://en.wikipedia.org/wiki/65,535#In_computing
blurreddose = MaxUnsignedInteger / max(max(max(blurreddose))) * blurreddose;
blurreddose = uint16(reshape(blurreddose,...
[size(blurreddose,1) size(blurreddose,2) 1 size(blurreddose,3)]));
Have you read the documentation for uint16, uint32, uint64 ? These articles may answer or lead you to the answer you need.
  2 Comments
mohd akmal masud
mohd akmal masud on 20 Feb 2018
what is bluereddose? is it bluereddose is variable?
Stephen23
Stephen23 on 20 Feb 2018
"what is bluereddose? is it bluereddose is variable?"
Yes, it is a variable. You can learn basic MATLAB concepts, like how to define a variable, by doing the introductory tutorials (which are highly recommended for all beginners):

Sign in to comment.

More Answers (1)

Image Analyst
Image Analyst on 20 Feb 2018
If you want you can convert to double, single, or int32 and save images in a .mat file.
dblData = double(data16);
int32Data = int32(data16);
Or convert to uint16 and save in standard PNG format.
data16 = uint16(data16); % Now can go up to 65535 instead of 32767
I'd guess you can save back into dicom with uint16, but I don't use dicom format - I use PNG.
  1 Comment
mohd akmal masud
mohd akmal masud on 20 Feb 2018
If my image name is PET_I1001_PT135.dcm, then i write like this to convert it:
P=dicomread('PET_I1001_PT135.dcm');
dblData= double(P)
int32Data = int32(P)
is it true?

Sign in to comment.

Categories

Find more on DICOM Format in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!