How to convert tif stack to dcm series?

24 visualizzazioni (ultimi 30 giorni)
Alena Schwartz
Alena Schwartz il 9 Ago 2020
Commentato: Braian Adair il 20 Feb 2024
I have a tif file that contains 1813 pages (images). I want to convert these to DICOM files within a single series. Currently, the code I am using writes over the .dcm file during each loop. How can I fix this?
fname = 'Sample19.tif';
info = imfinfo(fname);
imageStack = [];
numberOfImages = length(info);
for k = 1:numberOfImages
currentImage = imread(fname, k, 'Info', info);
dicomwrite(currentImage,'gear.dcm')
imageStack(:,:,k) = currentImage;
end

Risposte (1)

Walter Roberson
Walter Roberson il 10 Ago 2020
fname = 'Sample19.tif';
info = imfinfo(fname);
imageStack = [];
numberOfImages = length(info);
for k = 1:numberOfImages
currentImage = imread(fname, k, 'Info', info);
imageStack(:,:,k) = currentImage;
end
dicomwrite(imageStack,'gear.dcm')
However, in practice you almost always need a bunch of dicom metadata. The easiest way to get that is to use dicominfo() on a dcm file that has the same kind of attributes that you are going to need, and pass the resulting metadata to dicomwrite after the file name.
  8 Commenti
Amine Adjoud
Amine Adjoud il 16 Nov 2022
I encouter the same problem, did you get a solution?
Braian Adair
Braian Adair il 20 Feb 2024
Thank you Julianna Mather you solved my four days problem!

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