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.MedicalVaihe 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.