Hvordan konvertere en DICOM fil til JSON ved hjelp av DicomJsonSerializer
Denne veiledningen viser hvordan du konverterer DICOM-filer til JSON-format ved hjelp av C#.JSON utgang er viktig for å integrere DIKOM metadata med moderne webtjenester, REST APIs og helsevesenet informasjonssystemer.
Fordelene med å konvertere DICOM til JSON
• Internett integrasjon:- JSON er standardformatet for REST APIs og webtjenester.
Dataanalysen er avgjørende:- Enkelt å behandle DICOM metadata i dataanalyse rør.
• Interoperabilitet *:- Del metadata med systemer som ikke støtter innfødte DICOM-format.
Forutsetninger: Å forberede miljøet
- Installer Visual Studio eller noe kompatibelt .NET IDE.
- Skap et nytt .NET 8 konsolapplikasjon prosjekt.
- Installere Aspose.Medical fra NuGet Package Manager.
Step-by-step guide for å konvertere DICOM til JSON
Steg 1: Installere Aspose.Medical
Legg til Aspose.Medical Library til prosjektet ditt ved hjelp av NuGet.
Install-Package Aspose.MedicalSteg 2: Inkludere nødvendige navnområder
Legg til referanser til de nødvendige navnene i koden din.
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;Trinn 3: Last ned DICOM-filen
Last ned DICOM-filen du ønsker å konvertere.
DicomFile dcm = DicomFile.Open("patient_scan.dcm");Steg 4: Serialisere til JSON
Bruk den DicomJsonSerializer.Serialize Metode for å konvertere DICOM-filen til JSON.
string json = DicomJsonSerializer.Serialize(dcm);Steg 5: Lagre eller bruke JSON-utgangen
Lagre JSON til en fil eller bruk den direkte i appen din.
// Save to file
File.WriteAllText("patient_scan.json", json);
// Or use directly
Console.WriteLine(json);Komplett kodeksempel for å konvertere DICOM til JSON
Her er et komplett eksempel som viser hvordan du 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 utgang
For menneskelig lesbar JSON med indentasjon, bruk writeIndented Parameter av:
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!");Konverter Dataset i stedet for DicomFile
Du kan også konvertere bare delen av 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);Eksempel på JSON utgangsstruktur
JSON-utgangen følger DICOM PS3.18 standard. her er et eksempel på hva utgangen ser ut:
{
"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-basert serialisering
For store filer eller webapplikasjoner, bruk strømbasert 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!");Integrasjon 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!");
}Bruk Tips
Debugging av metadata
Bruk JSON konvertering for å sjekke DICOM-tagverdier:
DicomFile dcm = DicomFile.Open("unknown_scan.dcm");
string json = DicomJsonSerializer.Serialize(dcm, writeIndented: true);
Console.WriteLine(json);Send til web front-end
JSON er ideell for å vise DICOM-metadata i nettlesere:
// 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");
}Hva er inkludert i JSON Output
JSON utgang inkluderer:
- Alle DICOM tags med sine verdier
- Value Representasjoner (VR) for hver tag
- Sekvenser som nestede JSON-objekter
- Binære data referanser (BulkData) for pixel data
Ytterligere informasjon
- JSON-formatet følger DICOM PS3.18 Web Services spesifikasjon.
- Store binære verdier (som pixeldata) er vanligvis referert i stedet for innebygd.
- Tenk på å bruke tilpassede serialiseringsalternativer for spesifikke integrasjonsbehov.
Conclusion
Denne veiledningen har vist deg hvordan du konverterer DICOM-filer til JSON-format i C# ved hjelp av Aspose.Medical.JSON utgang muliggjør seamless integrasjon med moderne helsetjenester APIs, nettlesere og dataanalyse systemer.