convert 16 bit to 32 bit
15 次查看(过去 30 天)
显示 更早的评论
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?
0 个评论
采纳的回答
Daniel Bridges
2018-2-20
编辑:Daniel Bridges
2018-2-20
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 个评论
Stephen23
2018-2-20
"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):
更多回答(1 个)
Image Analyst
2018-2-20
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.
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!