Hvordan man konverterer en DICOM-fil til JSON ved hjælp af DicomJsonSerializer
Denne tutorial viser, hvordan man konverterer DICOM-filer til JSON-format ved hjælp af C#.JSON output er afgørende for at integrere DIKOM metadata med moderne webtjenester, REST APIs og sundhedsinformationssystemer.
Fordelene ved at konvertere DICOM til JSON
• Web integration:- JSON er det standardformat for REST APIs og webtjenester.
Analyse af data:- Det er nemt at behandle DICOM metadata i dataanalyse rørledninger.
• Interoperabilitet *- Del metadata med systemer, der ikke understøtter indfødte DICOM-format.
Forside: Forberedelse af miljøet
- Indstill Visual Studio eller ethvert kompatibelt .NET IDE.
- Skab et nyt .NET 8 applikationsprojekt.
- Installere Aspose.Medical fra NuGet Package Manager.
Step-by-Step Guide til at konvertere DICOM til JSON
Trin 1: Installation af Aspose.Medical
Tilføj Aspose.Medicinsk bibliotek til dit projekt ved hjælp af NuGet.
Install-Package Aspose.MedicalTrin 2: Indtast de nødvendige navneområder
Tilføj henvisninger til de krævede navneområder i din kode.
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;Trin 3: Last ned DICOM-filen
Download den DICOM-fil, du ønsker at konvertere.
DicomFile dcm = DicomFile.Open("patient_scan.dcm");Trin 4: Serialiser til JSON
Brug den DicomJsonSerializer.Serialize Metode til at konvertere DICOM filen til JSON.
string json = DicomJsonSerializer.Serialize(dcm);Trin 5: Spare eller bruge JSON-udgang
Spare JSON til en fil eller bruge den direkte i din ansøgning.
// Save to file
File.WriteAllText("patient_scan.json", json);
// Or use directly
Console.WriteLine(json);Komplet kodeksempel til at konvertere DICOM til JSON
Her er et komplet eksempel, der viser, hvordan man konverterer en DICOM-fil til 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-printet JSON udgave
For menneskelig læsbar JSON med indentation, brug writeIndented Parametre er:
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!");Konvertering af dataset i stedet for DicomFile
Du kan også kun konvertere Dataset-delen:
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);Eksempel på JSON udgangsstruktur
JSON-udgang følger DICOM PS3.18 standard. her er et eksempel på, hvordan udgangen ser ud:
{
"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-baseret serialisering
For store filer eller webapplikationer, brug streamingbaseret serialisering:
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!");Integration Eksempel: Send JSON til Web API
Her er, hvordan du integrerer DICOM til JSON konvertering med en HTTP-klient:
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!");
}Brug tips
Debugging af DICOM metadata
Brug JSON konvertering til at kontrollere DICOM tagværdier:
DicomFile dcm = DicomFile.Open("unknown_scan.dcm");
string json = DicomJsonSerializer.Serialize(dcm, writeIndented: true);
Console.WriteLine(json);Sending til web front-end
JSON er ideel til at vise DICOM metadata i browserbaserede seere:
// 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");
}Hvad er inkluderet i JSON Output
JSON-produktionen omfatter:
- Alle DICOM tags med deres værdier
- Value Representations (VR) for hver tag
- Sequence elementer som nestede JSON-objekter
- Binære data referencer (BulkData) for pixeldata
Yderligere information
- JSON-formatet følger DICOM PS3.18 Web Services specifikation.
- Store binære værdier (som pixeldata) er typisk refereret i stedet for indlejret.
- Overvej brugen af tilpassede serialisering muligheder for specifikke integrationskrav.
Konklusion
Denne tutorial har vist dig, hvordan du kan konvertere DICOM filer til JSON format i C# ved hjælp af Aspose.Medical.JSON output muliggør sømløs integration med moderne sundhedspleje APIs, webvisere og dataanalyse systemer.