convert 16 bit to 32 bit

14 Ansichten (letzte 30 Tage)
mohd akmal masud
mohd akmal masud am 20 Feb. 2018
Kommentiert: Stephen23 am 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?

Akzeptierte Antwort

Daniel Bridges
Daniel Bridges am 20 Feb. 2018
Bearbeitet: Daniel Bridges am 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 Kommentare
mohd akmal masud
mohd akmal masud am 20 Feb. 2018
what is bluereddose? is it bluereddose is variable?
Stephen23
Stephen23 am 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):

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Image Analyst
Image Analyst am 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 Kommentar
mohd akmal masud
mohd akmal masud am 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?

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu DICOM Format finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by