Hoe om een DICOM-bestand naar JSON te converteren met behulp van DicomJsonSerializer
Deze tutorial toont aan hoe om DICOM-bestanden in JSON-formaat te converteren met behulp van C#. json-uitgang is essentieel voor het integreren van metadata met moderne webdiensten, REST-API’s en gezondheidszorginformatiesystemen.
De voordelen van het omzetten van DICOM naar JSON
• Web integratie *:- JSON is het standaardformaat voor REST APIs en webdiensten.
De gegevensanalyse:- Eenvoudig verwerken van DICOM metadata in data analytics pipelines.
• Interoperabiliteit *- Metadata delen met systemen die geen inheemse DICOM-formaten ondersteunen.
Voorwaarden: het voorbereiden van het milieu
- Installeer Visual Studio of een compatibele .NET IDE.
- Maak een nieuw .NET 8 console-applicatieproject.
- Installeer Aspose.Medical vanaf de NuGet Package Manager.
Step-by-step gids voor het omzetten van DICOM naar JSON
Stap 1: Installeer Aspose.Medical
Voeg de Aspose.Medische bibliotheek toe aan uw project met behulp van NuGet.
Install-Package Aspose.MedicalStap 2: Inkluderen van noodzakelijke naamruimten
Voeg verwijzingen toe aan de vereiste naamruimten in uw code.
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;Stap 3: Download de DICOM-bestand
Download het DICOM-bestand dat u wilt converteren.
DicomFile dcm = DicomFile.Open("patient_scan.dcm");Stap 4: Serialiseren naar JSON
Gebruik de DicomJsonSerializer.Serialize Methode om de DICOM-bestand te converteren naar JSON.
string json = DicomJsonSerializer.Serialize(dcm);Stap 5: Save of Use de JSON output
Speel de JSON op een bestand of gebruik het rechtstreeks in uw applicatie.
// Save to file
File.WriteAllText("patient_scan.json", json);
// Or use directly
Console.WriteLine(json);Volledige code voorbeeld om DICOM naar JSON te converteren
Hier is een complete voorbeeld van hoe je een DICOM-bestand naar JSON kunt converteren:
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-print JSON uitgang
Voor menselijk leesbare JSON met indentatie, gebruik de writeIndented Parameters :
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!");Dataset converteren in plaats van DicomFile
U kunt ook alleen het gedeelte Dataset converteren:
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);Voorbeeld JSON output structuur
De JSON-uitgang volgt de DICOM PS3.18 standaard. hier is een voorbeeld van hoe de uitgang eruit ziet:
{
"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-gebaseerde serialisering
Voor grote bestanden of web-toepassingen, gebruik stream-based serialisatie:
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!");Integratie voorbeeld: verzenden van JSON naar Web API
Hier is hoe u de conversie van DICOM naar JSON met een HTTP-client kunt integreren:
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!");
}Gebruik tips
Debugging van de metadata
Gebruik JSON conversie om de DICOM tagwaarden te controleren:
DicomFile dcm = DicomFile.Open("unknown_scan.dcm");
string json = DicomJsonSerializer.Serialize(dcm, writeIndented: true);
Console.WriteLine(json);Stuur naar web front-end
JSON is ideaal voor het weergeven van DICOM metadata in browsergebaseerde kijkers:
// 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");
}Wat is opgenomen in JSON Output
De JSON-uitgang omvat:
- Alle DICOM tags met hun waarden
- Value Representations (VR) voor elke tag
- Sequence items als nested JSON objecten
- Binaire gegevensreferenties (BulkData) voor pixelgegevens
Aanvullende informatie
- Het JSON-formaat volgt de DICOM PS3.18 Web Services specificatie.
- Grote binaire waarden (zoals pixelgegevens) worden meestal verwijderd in plaats van ingebouwd.
- Overweeg het gebruik van aangepaste serialisatieopties voor specifieke integratievereisten.
Conclusie
Deze tutorial heeft je aangetoond hoe je DICOM-bestanden in JSON-formaat in C# kunt converteren met behulp van Aspose.Medical.JSON output maakt onbeperkt integratie mogelijk met moderne gezondheidszorg APIs, web viewers en gegevensanalyse systemen.