Miten muuntaa DICOM-tiedosto JSON käyttäen DicomJsonSerializer

Miten muuntaa DICOM-tiedosto JSON käyttäen DicomJsonSerializer

Tämä opetusohjelma osoittaa, miten muuntaa DICOM-tiedostoja JSON-muodossa C#: n avulla.JSONin tulos on välttämätöntä integroida Dicom-metatietoja nykyaikaisiin verkkopalveluihin, REST APIs:iin ja terveydenhuollon tietojärjestelmiin.

Edut muuntaa DICOM JSON

  • • Verkkosivujen käyttö*- JSON on standardimuoto REST-API:ille ja web-palveluille.

  • Tietojen analysointi:- Helppo käsitellä DICOM-metatietoja tietojen analysointiin.

  • • Yhteentoimivuus *- Jaa metatietoja järjestelmiin, jotka eivät tue alkuperäisiä DICOM-muotoja.

Edellytykset: Ympäristön valmistelu

  • Aseta Visual Studio tai yhteensopiva .NET IDE.
  • Luo uusi .NET 8 -konsolin sovellusprojekti.
  • Asenna Aspose.Medical NuGet Package Managerista.

Vaiheittainen opas muuntaa DICOM JSON

Vaihe 1: Asenna Aspose.Medical

Lisää Aspose.Medical -kirjasto projektillesi NuGetin avulla.

Install-Package Aspose.Medical

Vaihe 2: Sisällytä tarvittavat nimet

Lisää viittauksia vaadittuihin nimipaikkoihin koodissasi.

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

Vaihe 3: Lataa DICOM-tiedosto

Lataa DICOM-tiedosto, jonka haluat muuntaa.

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

Vaihe 4: Serioi JSON

Käytä sitä DicomJsonSerializer.Serialize menetelmä muuntaa DICOM-tiedosto JSON.

string json = DicomJsonSerializer.Serialize(dcm);

Vaihe 5: Tallenna tai käytä JSON-tulosta

Tallenna JSON tiedostoon tai käytä sitä suoraan sovelluksessasi.

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

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

Täydellinen koodi esimerkki muuntaa DICOM JSON

Tässä on täydellinen esimerkki siitä, miten muuntaa DICOM-tiedosto 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");

Hyvin tulostettu JSON-tulostus

Ihmisen luettavissa oleva JSON indentation kanssa, käytä writeIndented ja parametrit:

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

Tietokoneen muuntaminen DicomFile:n sijaan

Voit myös muuntaa vain Dataset-osan:

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

Esimerkki JSON-tuotantorakenteesta

JSON-tuotanto noudattaa DICOM PS3.18 -standardia. tässä on esimerkki siitä, miltä tuote näyttää:

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

Stream-pohjainen sarjakuva

Suuriin tiedostoihin tai web-sovelluksiin käytä virta-pohjaista sarjakuvausta:

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

Esimerkki yhdentymisestä: JSON:n lähettäminen Web API:lle

Tässä on, miten integroida DICOMin JSON-muuntaminen HTTP-klienttiin:

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

Käytä vinkkejä

Debugging DICOM metatiedot

Käytä JSON-muuntamista tarkastamaan DICOM-tag-arvoja:

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

Lähetä sivustolle Front-End

JSON on ihanteellinen DICOM-metatietojen näyttämiseen selaimella perustuvissa katsojissa:

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

Mitä on sisällytetty JSON-lähteeseen

JSONin tulos sisältää:

  • Kaikki DICOM-merkinnät niiden arvojen kanssa
  • Arvon esityksiä (VR) jokaiselle merkille
  • Sequence-objekteja kuin nested JSON -objektit
  • Binary data references (BulkData) pixelitietoja varten

Lisätietoja

  • JSON-muodossa on DICOM PS3.18 Web Services -sovellus.
  • Suuret binaariset arvot (kuten pixel-tiedot) viitataan yleensä sen sijaan, että ne sisällytetään.
  • Harkitse räätälöityjen sarjakuvausvaihtoehtojen käyttöä tiettyjen integrointivaatimusten osalta.

johtopäätöksiä

Tämä opetusohjelma on osoittanut sinulle, miten muuntaa DICOM-tiedostoja JSON-muodossa C#: ssä käyttämällä Aspose.Medical.JSON -tuotanto mahdollistaa sujuvan integroinnin nykyaikaisiin terveydenhuollon APIs, web-näytöihin ja tietojen analysointijärjestelmiin.

 Suomi