Ako premeniť súbor DICOM na JSON pomocou DicomJsonSerializer

Ako premeniť súbor DICOM na JSON pomocou DicomJsonSerializer

Tento tutoriál ukazuje, ako previesť súbory DICOM do formátu JSON pomocou C#. Výstup J SON je nevyhnutný pre integráciu metadata DIKOM s modernými webovými službami, REST APIs a zdravotníckych informačných systémov.

Výhody konverzie DICOM na JSON

  • • Integrovanie webových stránok:- JSON je štandardný formát pre REST API a webové služby.

  • Analýza údajov:- Ľahko spracúvať metadata DICOM v databázových analytických potrubiach.

  • • interoperabilita *:- Zdieľajte metadata s systémami, ktoré nepodporujú domáce formáty DICOM.

Predpoklady: Príprava životného prostredia

  • Nastaviť Visual Studio alebo akýkoľvek kompatibilný .NET IDE.
  • Vytvorte nový projekt aplikácie .NET 8 konzoly.
  • Inštalovať Aspose.Medical z NuGet Package Manager.

Krok za krokom sprievodca premenou DICOM na JSON

Krok 1: Inštalácia Aspose.Medical

Pridajte do projektu Aspose.Medicínska knižnica pomocou NuGet.

Install-Package Aspose.Medical

Krok 2: Vložte potrebné názvové priestory

Pridajte odkazy na požadované názvové priestory vo vašom kóde.

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

Krok 3: Stiahnite súbor DICOM

Nahrať DICOM súbor, ktorý chcete previesť.

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

Krok 4: Serializovať na JSON

Používa sa DicomJsonSerializer.Serialize metóda previesť súbor DICOM na JSON.

string json = DicomJsonSerializer.Serialize(dcm);

Krok 5: Uložiť alebo použiť výstup JSON

Uložiť JSON do súboru alebo ho použiť priamo vo vašej aplikácii.

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

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

Kompletný príklad kódu pre konverziu DICOM na JSON

Tu je úplný príklad, ktorý ukazuje, ako premeniť súbor DICOM na 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");

Pretty-tlačené JSON výstupy

Pre ľudsky čitateľný JSON s indentáciou, použite writeIndented Parametre sú:

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!");

Konverzia dataset namiesto DicomFile

Môžete tiež premeniť iba časť Dataset:

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);

Príklad výstupnej štruktúry JSON

Výstup JSON nasleduje štandard DICOM PS3.18. tu je príklad toho, ako vyzerá výstup:

{
  "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"]
  }
}

Streamová serializácia

Pri veľkých súboroch alebo webových aplikáciách použite serializáciu založenú na streamovaní:

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!");

Príklad integrácie: Odoslanie JSON na webovú API

Tu je, ako integrovať konverziu DICOM do JSON s HTTP klientom:

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!");
}

Používanie tipov

Debugging DICOM metadata

Použite konverziu JSON, aby ste skontrolovali hodnoty značky DICOM:

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

Odoslať na web Front-End

JSON je ideálny pre zobrazovanie metadata DICOM v prehliadačových divákoch:

// 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");
}

Čo je zahrnuté v JSON Output

Výstup JSON zahŕňa:

  • Všetky značky DICOM s ich hodnotami
  • hodnotové prezentácie (VR) pre každú značku
  • Sekvenčné položky ako nestované JSON objekty
  • Binárne referencie údajov (BulkData) pre pixelové údaje

Dodatočné informácie

  • Formát JSON nasleduje špecifikáciu DICOM PS3.18 Web Services.
  • Veľké binárne hodnoty (ako sú pixelové údaje) sú zvyčajne referované namiesto vstavané.
  • Zvážte používanie vlastných možností serializácie pre špecifické požiadavky na integráciu.

Záver

Tento tutoriál vám ukázal, ako previesť súbory DICOM do formátu JSON v C# pomocou Aspose.Medical.JSON výstup umožňuje bezproblémovú integráciu s modernými zdravotníckym službami, webovými prehliadačmi a systémami analýzy údajov.

 Slovenčina