Kako pretvoriti DICOM datoteku u JSON pomoću DicomJsonSerializer
Ovaj tutorial pokazuje kako pretvoriti DICOM datoteke u JSON formatu pomoću C#.JSON izlazak je neophodan za integraciju metapodataka DIKOM-a s modernim web uslugama, REST API-ima i zdravstvenim informacijskim sustavima.
Prednosti pretvaranja DICOM-a u JSON
• Internetska integracija:- JSON je standardni format za REST API i web usluge.
Analiza podataka:- Jednostavno obrađivanje metapodataka DICOM-a u cijevi za analizu podataka.
• Interoperabilnost *:- Podijelite metapodatke sa sustavima koji ne podržavaju native DICOM formate.
Predviđanja: Priprema za okoliš
- Sastavite Visual Studio ili bilo koji kompatibilni .NET IDE.
- Stvorite novi .NET 8 konzol aplikacijski projekt.
- Instalirajte Aspose.Medical iz upravitelja paketa NuGet.
Korak po korak vodič za pretvaranje DICOM-a u JSON
Korak 1: Instalirati Aspose.Medical
Dodajte Aspose.Medical knjižnicu u svoj projekt pomoću NuGeta.
Install-Package Aspose.MedicalKorak 2: Uključite potrebne nazivne prostore
Dodajte upute potrebnim nazivnim prostorima u vašem kodu.
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;Korak 3: Preuzmite DICOM datoteku
Preuzmite DICOM datoteku koju želite pretvoriti.
DicomFile dcm = DicomFile.Open("patient_scan.dcm");Korak 4: Serializirajte se na JSON
Koristite ga DicomJsonSerializer.Serialize Metoda za pretvaranje DICOM datoteke u JSON.
string json = DicomJsonSerializer.Serialize(dcm);Korak 5: Sačuvajte ili koristite JSON izlaz
Sačuvajte JSON u datoteku ili ga koristite izravno u aplikaciji.
// Save to file
File.WriteAllText("patient_scan.json", json);
// Or use directly
Console.WriteLine(json);Kompletni primjer koda za pretvaranje DICOM-a u JSON
Ovdje je potpuni primjer koji pokazuje kako pretvoriti DICOM datoteku 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");Prethodni Članak Pretty Print JSON Output
Za ljudski čitljiv JSON s indentacijom, koristite writeIndented Parametri su:
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!");Konverzija Dataset umjesto DicomFile
Također možete pretvoriti samo dio 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);Primjer JSON izlazna struktura
JSON izlazak slijedi standard DICOM PS3.18. evo primjera kako izlaz izgleda:
{
"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"]
}
}Serializiranje na temelju struje
Za velike datoteke ili web aplikacije, koristite serializiranje na temelju protoka:
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!");Primjer integracije: Pošaljite JSON na web API
Evo kako integrirati konverziju DICOM-a u JSON s HTTP klijenta:
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!");
}Korištenje tipova
Debugging metapodataka
Koristite JSON konverziju kako biste provjerili vrijednosti tagova DICOM-a:
DicomFile dcm = DicomFile.Open("unknown_scan.dcm");
string json = DicomJsonSerializer.Serialize(dcm, writeIndented: true);
Console.WriteLine(json);Pošaljite na web front-end
JSON je idealan za prikazivanje metapodataka DICOM-a u preglednicima koji se temelje na pregledniku:
// 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");
}Što je uključeno u JSON izlazak
Izlazak JSON-a uključuje:
- Svi DICOM oznake sa svojim vrijednostima
- Vrijednost (VR) za svaku oznaku
- Sljedeći članakSekvencijski predmeti kao nestani JSON objekti
- Binarne reference podataka (BulkData) za pixel podatke
Dodatne informacije
- JSON format slijedi specifikaciju DICOM PS3.18 Web Services.
- Velike binarne vrijednosti (kao što su pixel podaci) obično se upućuju umjesto ugrađene.
- Razmislite o korištenju prilagođenih opcija serializiranja za određene zahtjeve integracije.
zaključak
Ovaj tutorial vam je pokazao kako pretvoriti DICOM datoteke u JSON format u C# pomoću Aspose.Medical.JSON izlazak omogućuje bespomoćnu integraciju s modernim zdravstvenim API-ima, web preglednicima i sustavima analize podataka.