Створити файл DICOM на C# | DCM | DICOM | Aspose.Medical

DICOM є стандартним форматом файлів для зберігання медичних зображень. У медичних дослідженнях, радіології, кардіології та інших сферах охорони здоров’я широко використовують файли DICOM. Якщо ви розробляєте систему медичної візуалізації або хочете працювати з медичними даними, важливо вивчити, як програмно створювати файли DICOM. У цьому пості ви дізнаєтеся, як створити файл DICOM за допомогою C#. Давайте розпочнемо.

Ця стаття охопить наступні теми:

Aspose.Medical—Генератор файлів DICOM

Для створення DICOM файлів ми будемо використовувати Aspose.Medical for .NET.Це дозволяє розробникам програмно створювати, редагувати та обробляти DICOM файли в додатках .NET.

Встановіть Aspose.Medical for .NET.

Будь ласка, завантажте SDK з releases.Ви також можете встановити його через NuGet Package Manager, використовуючи наступну команду:

Install-Package Aspose.Medical

Покрокова інструкція зі створення файлу DICOM

Створення DICOM-файлів програмно є простим завдяки Aspose.Medical for .NET. Дотримуйтесь цих простих кроків, щоб згенерувати базовий DICOM-файл на C#:

  1. Створіть екземпляр класу DicomFile.
  2. Додайте дані до новоствореного файлу DICOM за допомогою методу AddOrUpdate().
  3. Нарешті, викличте метод Save(), щоб зберегти файл DCM за вказаним шляхом.

Ось повний фрагмент коду для створення базового файлу DICOM з деякими основними метаданими.

using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Tags;

// Створіть порожній файл DICOM
DicomFile dicomFile = new();

// Додати дані до новоствореного файлу DICOM
dicomFile.Dataset.AddOrUpdate(Tag.PatientID, "JD123456");
dicomFile.Dataset.AddOrUpdate(Tag.PatientName, "John Doe");
dicomFile.Dataset.AddOrUpdate(Tag.PatientBirthDate, new DateTime(1985, 7, 20));
dicomFile.Dataset.AddOrUpdate(Tag.PatientSex, 0);
dicomFile.Dataset.AddOrUpdate(Tag.StudyDate, DateTime.Now);
dicomFile.Dataset.AddOrUpdate(Tag.StudyID, "Study001");

// Встановити інформацію про зображення (псевдодані пікселів)
dicomFile.Dataset.AddOrUpdate(Tag.Rows, 256);
dicomFile.Dataset.AddOrUpdate(Tag.Columns, 256);
dicomFile.Dataset.AddOrUpdate(Tag.BitsAllocated, 8);

byte[] pixelData = new byte[256 * 256]; // 256x256 grayscale image
dicomFile.Dataset.AddOrUpdate(Tag.PixelData, pixelData);

// Встановити модальність (наприклад, КТ, МР, УЗД)
dicomFile.Dataset.AddOrUpdate(Tag.Modality, "OT"); // OT = Other

// Збережіть файл DICOM
dicomFile.Save("sample.dcm");

Як працює код

Клас DicomFile є основним класом, який представляє повний DICOM файл. Він включає всі метадані та дані зображення, необхідні для стандарту DICOM. Наступний рядок створює новий, порожній DICOM файл. Ви можете потім заповнити його метаданими та даними пікселів.

Aspose.Medical.Dicom.DicomFile dicomFile = new();

Dataset є колекцією елементів DICOM. Елементи DICOM зберігають інформацію про пацієнта, деталі сканування, дані зображення та інше у вигляді тегів. Клас Tag надає список стандартних тегів DICOM. Код нижче додає або оновлює елемент DICOM (в цьому випадку, швидкість кадрів захоплення) за допомогою заздалегідь визначеного тега.

dicomFile.Dataset.AddOrUpdate(Tag.XAAcquisitionFrameRate, 17.95);

Якщо ви додали необхідні дані за допомогою заздалегідь визначених тегів, використайте метод Save() для запису файлу на диск. Наступний фрагмент коду зберігає файл у форматі .dcm за вказаним шляхом.

dicomFile.Save("sample.dcm");

Отримайте безкоштовну ліцензію

Ви можете отримати безкоштовну тимчасову ліцензію та дослідити всі функції Aspose.Medical for .NET без жодних обмежень. Це швидко, просто і займає лише хвилину.

Створення DICOM DCM файлів: Безкоштовні ресурси

Досліджуйте більше з цими корисними посиланнями:

Висновок

Створення DICOM файлу програмно більше не є складним. Використовуючи Aspose.Medical for .NET, ви можете легко генерувати повністю сумісні DICOM файли всього за кілька рядків коду. Не соромтеся використовувати цей приклад, додаючи реальні піксельні дані або підключаючи його до іміджевих пристроїв.

Якщо у вас є запитання або вам потрібна допомога з роботою з файлами DICOM, будь ласка, не соромтеся звертатися на наш support forum.Команда підтримки та громада завжди готові допомогти.

Дивитися також