Troubles using dicomwrite() for the PET modality?
3 次查看(过去 30 天)
显示 更早的评论
I have many PET slices in the dicom format. I am trying to manipulate the metadata of each slice (specifically the ImagePositionPatient fieldname) in order to automatically center the image at the origin in an image viewer(Amide). To do this I must use the dicomread, dicominfo, and dicomwrite functions.
d=dicominfo(fid); % dicom object
V=dicomread(fid); % dicom volume
xdcm=-((double(d.Rows)*double(d.PixelSpacing(1)))/2); % reset the xy Image Position
% so that it will view at the origin for my image viewer
ydcm=-((double(d.Columns)*double(d.PixelSpacing(2)))/2);
d.ImagePositionPatient(:)=[xdcm,ydcm];
dicomwrite(V,fid,d); % write this new dicom object in the same file.
I have done this successfully for the 'CT' modality, but keep running into errors for the 'PT' modality. I believe this is because dicomwrite doesn't support usage of PET data. The error I'm getting looks something like this:
% Error using dicom_prep_metadata (line 92)
% Unsupported SOP class (1.2.840.10008.5.1.4.1.1.128) in full verification mode.
% Consider using 'CreateMode' with a value of 'Copy'.
I'm thinking of just changing the SOPclass to a 'CT' number in order to just "cheat the system", but surly their has to be away to write a dicom volume for a PET dicom object?
Any help is greatly appreciated.
Thanks,
Bryce
0 个评论
采纳的回答
Jyotsna Talluri
2019-8-9
编辑:Jyotsna Talluri
2019-8-11
Hi,
Try using
dicomwrite(V,fid,d,'CreateMode','copy');
dicomwrite does not verify the metadata written to the file when ‘CreateMode’ parameter is set to ‘copy'
Hope it helps
更多回答(1 个)
Laure Saint-Aubert
2019-12-3
Hi,
I am also trying to center my PET images at the origin, so I thought of benefiting from your post and code.
However, when I am trying to run it, I can't seem to make it work because of the number of dimensions of ImagePositionPatient ([3x1 double]), so d.ImagePositionPatient(:)[xdcm,ydcm] gives me the following message: "In an assignment A(:)=B, the number of elements in A and B must be the same".
I believe I should also reset the z dimension of Image Position, but I can't figure out how to.
Any help is more than welcome :)
Cheers
Laure
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!