Како конвертовати ДИЦОМ датотеку у ЈСОН користећи ДицомЈсонСеријализатор

Како конвертовати ДИЦОМ датотеку у ЈСОН користећи ДицомЈсонСеријализатор

Овај туториал показује како конвертовати ДИЦОМ датотеке у ЈСОН формат користећи Ц#. ЈСОН излаз је од суштинског значаја за интегрисање МЕТАДАТА ДИСОМА са модерним веб услугама, РЕСТ АПИ и здравственим информационим системима.

Предности конверзије ДИКОМ у ЈСОН

    • Интеграција сајта *:- JSON је стандардни формат за REST АПИ и веб услуге.
  • Анализа података:- Једноставно обрадује ДИЦОМ метадане у цеви за анализу података.

    • Интерактивна интерактивност *- Поделите метадане са системима који не подржавају индијанске ДИЦОМ формати.

Принципи: Припрема за животну средину

  • Инсталирајте Visual Studio или било који компатибилан .NET IDE.
  • Креирање новог .NET 8 апликационог пројекта конзоле.
  • Инсталирајте Aspose.Medical из менаџера пакета NuGet.

Корак по корак водич за конверзију ДИКОМ-а у ЈСОН

Корак 1: Инсталирајте Aspose.Medical

Додајте Аппосе.Медицинска библиотека у свој пројекат користећи НуГет.

Install-Package Aspose.Medical

Корак 2: Укључите неопходне имена

Додајте референце на потребне имена простора у вашем коду.

using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;

Корак 3: Преузмите ДИКОМ датотеку

Преузмите ДИКОМ датотеку коју желите конвертовати.

DicomFile dcm = DicomFile.Open("patient_scan.dcm");

Корак 4: Серијализација на ЈСОН

Искористите је DicomJsonSerializer.Serialize Метода за конверзију датотеке ДИКОМ у ЈСОН.

string json = DicomJsonSerializer.Serialize(dcm);

Корак 5: Сачувајте или користите JSON излаз

Сачувајте JSON у датотеку или га користите директно у апликацији.

// Save to file
File.WriteAllText("patient_scan.json", json);

// Or use directly
Console.WriteLine(json);

Kompletni primer koda za pretvaranje DICOM-a u JSON

Ево комплетног примера који показује како конвертовати ДИКОМ датотеку у ЈСОН:

using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;

// Load the DICOM file
DicomFile dcm = DicomFile.Open("patient_scan.dcm");

// Convert to JSON
string json = DicomJsonSerializer.Serialize(dcm);

// Save to file
File.WriteAllText("patient_scan.json", json);

Console.WriteLine("DICOM file converted to JSON successfully!");
Console.WriteLine($"Output saved to: patient_scan.json");

Прелепо штампани JSON излаз

За људско-читајуће ЈСОН са индентацијом, користите writeIndented Параметар је:

using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;

DicomFile dcm = DicomFile.Open("patient_scan.dcm");

// Serialize with indentation for readability
string prettyJson = DicomJsonSerializer.Serialize(dcm, writeIndented: true);

File.WriteAllText("patient_scan_pretty.json", prettyJson);

Console.WriteLine("Pretty-printed JSON saved successfully!");

Претварање датотеке уместо ДицомФиле

Такође можете конвертовати само део Датасета:

using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;

DicomFile dcm = DicomFile.Open("patient_scan.dcm");

// Serialize only the dataset (without file meta information)
string datasetJson = DicomJsonSerializer.Serialize(dcm.Dataset);

File.WriteAllText("patient_dataset.json", datasetJson);

Пример JSON излазне структуре

JSON излаз следи стандард DICOM PS3.18. Ево примера о томе како излази:

{
  "00080005": {
    "vr": "CS",
    "Value": ["ISO_IR 100"]
  },
  "00080020": {
    "vr": "DA",
    "Value": ["20240115"]
  },
  "00080030": {
    "vr": "TM",
    "Value": ["143022"]
  },
  "00100010": {
    "vr": "PN",
    "Value": [
      {
        "Alphabetic": "DOE^JOHN"
      }
    ]
  },
  "00100020": {
    "vr": "LO",
    "Value": ["12345"]
  }
}

Серијализација заснована на струју

За велике датотеке или веб апликације, користите сериализацију засновану на току:

using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;

DicomFile dcm = DicomFile.Open("large_scan.dcm");

// Write directly to a file stream
using (FileStream fs = File.Create("large_scan.json"))
{
    DicomJsonSerializer.Serialize(fs, dcm.Dataset);
}

Console.WriteLine("Large DICOM file serialized to JSON stream!");

Пример интеграције: Пошаљите ЈСОН на веб АПИ

Ево како интегрисати ДИКОМ у ЈСОН конверзију са ХТТП клијентом:

using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;
using System.Net.Http;
using System.Text;

DicomFile dcm = DicomFile.Open("patient_scan.dcm");
string json = DicomJsonSerializer.Serialize(dcm);

// Send to web API
using HttpClient client = new();
var content = new StringContent(json, Encoding.UTF8, "application/json");

HttpResponseMessage response = await client.PostAsync(
    "https://api.example.com/dicom/metadata",
    content
);

if (response.IsSuccessStatusCode)
{
    Console.WriteLine("DICOM metadata successfully sent to API!");
}

Употреба типова

Дебуггирање диком метадате

Користите JSON конверзију да бисте проверили вредности ознака ДИКОМ-а:

DicomFile dcm = DicomFile.Open("unknown_scan.dcm");
string json = DicomJsonSerializer.Serialize(dcm, writeIndented: true);
Console.WriteLine(json);

Пошаљите на веб фронт-енд

JSON је идеалан за приказивање ДИКОМ метада у претраживачима заснованим на:

// In ASP.NET Core controller
[HttpGet("dicom/{id}/metadata")]
public IActionResult GetMetadata(string id)
{
    DicomFile dcm = DicomFile.Open($"storage/{id}.dcm");
    string json = DicomJsonSerializer.Serialize(dcm);
    return Content(json, "application/json");
}

Шта је укључено у JSON излаз

JSON излаз укључује:

  • Svi DICOM oznake sa svojim vrednostima
  • Репрезентације вредности (ВР) за сваку ознаку
  • Секвенцијски предмети као гнездани JSON објекти
  • Бинарне референце података (BulkData) за пикселне податке

Додатне информације

  • JSON формат следи DICOM PS3.18 веб услуге спецификације.
  • Велике бинарне вредности (као што су пикселни подаци) се обично референцирају уместо уграђених.
  • Размислите о коришћењу прилагођених опција сериализације за специфичне захтеве интеграције.

Закључак

Овај туториал вам је показао како да конвертујете ДИКОМ датотеке у ЈСОН формат у Ц # користећи Аппосе.Медицал. ЈССОН излаз омогућава беспрекорно интегрисање са модерним здравственим АПИ, веб прегледачима и системима анализе података.

 Српски