Я работаю над C # Conic Dicom Writer, который будет изменять значения тегов для набора данных. Файлы, над которыми я работаю, находятся на сервере, я не могу загрузить их локально для изменения. Что у меня работает, но работает довольно медленно.
Я указываю путь к каталогу, содержащему файлы dicom. Затем я запускаю свой метод, который модифицирует dicom и обновляет значения.
using System;
using System.Collections.Generic;
using System.Text;
using Dicom;
namespace SpiromicsImporterPrep.DicomMethods
{
class ModifyDicom
{
public static void ModifyCommonDicomTags(string path_to_file)
{
try
{
//this will put all of the dicom files that are in a directory into an array, I still need to write a method that
//will get to the directories that contain the dicom files, once that is done I can use this method.
string[] files = System.IO.Directory.GetFiles(path_to_file);
foreach (var item in files)
{
Console.WriteLine("Modifying the following file: " + item);
DicomFile dicomFile = DicomFile.Open(item, FileReadOption.ReadAll);
dicomFile.Dataset.AddOrUpdate<string>(DicomTag.PatientName, "NEW-PATIENTNAME");
dicomFile.Dataset.AddOrUpdate<string>(DicomTag.PatientID, "NEW-PATIENTID");
dicomFile.Dataset.AddOrUpdate<string>(DicomTag.StudyID, "NEW-STUDYID");
dicomFile.Save(item);
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
}
Я ищу несколько советов, которые могли бы ускорить этот процесс, я довольно новичок в разработке на c #. В настоящее время обновление набора данных занимает ~ 8 минут.