Raw to Dicom conversion
Show older comments
Hello
I have written a code to convert .raw medical images to .dcm format. But I am having some error while trying to add some metadata information.
Following is my code:
fid3 = fopen( 'F:\patient\same patientCT.raw','r');
pCT = fread(fid3, [512*512*160,1], 'int16');
pCT_p = reshape(pCT, [512 512 160]);
fclose(fid3);
new_pCT1=permute(pCT_p,[2 1 3]);
for j =1:size(new_pCT1,3)
File=int16(new_pCT1(:,:,j)+1000);
m = -54.7500 -(j-1)*1.25;
metadata.ImagePositionPatient=[-325 ; -325; m];
metadata.SliceLocation=m;
metadata.InStackPositionNumber=j;
metadata.InstanceNumber=j;
dicomwrite(File,['CT_' int2str(j) '.dcm'], metadata, 'CreateMode', 'copy');
end
Please help me to resolve this issue. Thankyou
7 Comments
Amy
on 25 Oct 2017
Hi Hamza, could you please share the exact error messages you are receiving when trying to run this code?
Hamza Naeem
on 26 Oct 2017
Edited: Walter Roberson
on 26 Oct 2017
Walter Roberson
on 26 Oct 2017
Try passing the appropriate ObjectType parameter to the dicomwrite() call.
Hamza Naeem
on 26 Oct 2017
Walter Roberson
on 26 Oct 2017
dicomwrite(File,['pCT' int2str(j) '.dcm'], metadata, 'CreateMode' , 'copy', 'ObjectType', 'CT Image Storage')
Hamza Naeem
on 26 Oct 2017
Edited: Walter Roberson
on 26 Oct 2017
Walter Roberson
on 26 Oct 2017
As you are creating a new DICOM object, you will need to set a number of attributes in the metadata. See http://dicomlookup.com/lookup.asp?sw=Ttable&q=C.12-1 and http://dicom.nema.org/dicom/2013/output/chtml/part04/sect_B.5.html and https://dicom.innolitics.com/ciods/rt-plan/sop-common/00080016 and http://dicomiseasy.blogspot.ca/2011/12/chapter-4-dicom-objects-in-chapter-3.html
For example for plain CT image storage you might perhaps use SOPClassUID of 1.2.840.10008.5.1.4.1.1.2
... In short, if you are going to create your own metadata then you have a lot to create. It is usually far far easier to take another existing DICOM image of the exact same type that you want to create, and copy its metadata (setting different patient information and dates and a unique instance identifier).
Answers (0)
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!