convert 16 bit to 32 bit

7 visualizzazioni (ultimi 30 giorni)
mohd akmal masud
mohd akmal masud il 20 Feb 2018
Commentato: Stephen23 il 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?

Risposta accettata

Daniel Bridges
Daniel Bridges il 20 Feb 2018
Modificato: Daniel Bridges il 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 Commenti
mohd akmal masud
mohd akmal masud il 20 Feb 2018
what is bluereddose? is it bluereddose is variable?
Stephen23
Stephen23 il 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):

Accedi per commentare.

Più risposte (1)

Image Analyst
Image Analyst il 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 Commento
mohd akmal masud
mohd akmal masud il 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?

Accedi per commentare.

Categorie

Scopri di più su DICOM Format in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by