Kā konvertēt DICOM failu uz JSON, izmantojot DicomJsonSerializer
Šis apmācība parāda, kā konvertēt DICOM failus JSON formātā, izmantojot C#.JSON iznākums ir būtisks, lai integrētu DIKOM metadatus ar mūsdienu tīmekļa pakalpojumiem, REST API un veselības aprūpes informācijas sistēmām.
Priekšrocības, lai konvertētu DICOM uz JSON
• Tīmekļa integrācija:- JSON ir standarta formāts REST API un tīmekļa pakalpojumiem.
Datu analīze:- DICOM metadatu viegli apstrādā datu analīzes caurulēs.
- Interoperabilitāte ir:- Metadatu koplietošana ar sistēmām, kas nepalīdz vietējiem DICOM formāta veidiem.
Priekšnoteikumi: Vides sagatavošana
- Iestatīt Visual Studio vai jebkuru saderīgu .NET IDE.
- Izveidojiet jaunu .NET 8 konsoles lietojumprogrammu projektu.
- Instalējiet Aspose.Medical no NuGet Package Manager.
Pakāpeniski ceļvedis, kā pārvērst DICOM uz JSON
1. solis: instalēt Aspose.Medical
Pievienojiet Aspose.Medicīnas bibliotēku savam projektam, izmantojot NuGet.
Install-Package Aspose.Medical2. solis: Iekļaut nepieciešamos nosaukuma telpas
Pievienojiet atsauces uz pieprasītajiem nosaukuma telpām savā kodā.
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;3. solis: lejupielādēt DICOM failu
Lejupielādēt DICOM failu, kuru vēlaties konvertēt.
DicomFile dcm = DicomFile.Open("patient_scan.dcm");4. solis: Serializējieties uz JSON
Izmantojiet DicomJsonSerializer.Serialize Metode, lai konvertētu DICOM failu uz JSON.
string json = DicomJsonSerializer.Serialize(dcm);5. solis: glabāt vai izmantot JSON iznākumu
Saglabājiet JSON failu vai izmantojiet to tieši jūsu lietojumprogrammā.
// Save to file
File.WriteAllText("patient_scan.json", json);
// Or use directly
Console.WriteLine(json);Pilns koda piemērs, lai konvertētu DICOM uz JSON
Šeit ir pilns piemērs, kas parāda, kā konvertēt DICOM failu uz 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 Printed JSON iznākums
Cilvēki lasāms JSON ar indentāciju, izmantojiet writeIndented Parametrs ir:
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!");Konvertēt dataset vietā DicomFile
Jūs varat arī konvertēt tikai Dataset daļu:
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);Piemērs JSON izejas struktūra
JSON iznākums atbilst DICOM PS3.18 standartiem. šeit ir piemērs tam, kā tas izskatās:
{
"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-bāzes serializācija
Lieliem failiem vai tīmekļa lietojumiem izmantojiet streamu balstītu serializāciju:
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!");Integrācijas piemērs: JSON sūtīšana uz Web API
Lūk, kā integrēt DICOM uz JSON konversiju ar HTTP klientu:
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!");
}Lietošanas padomi
Debugging DICOM metadati
Izmantojiet JSON konversiju, lai pārbaudītu DICOM etiķetes vērtības:
DicomFile dcm = DicomFile.Open("unknown_scan.dcm");
string json = DicomJsonSerializer.Serialize(dcm, writeIndented: true);
Console.WriteLine(json);Sūtīt uz web front-end
JSON ir ideāls DICOM metadatu parādīšanai pārlūkprogrammas skatītājiem:
// 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");
}Kas ir iekļauts JSON iznākumā
JSON iznākums ietver:
- Visi DICOM tags ar savām vērtībām
- Valūtas prezentācijas (VR) katram marķierim
- Sekvences priekšmeti kā nestēti JSON objekti
- Bināro datu atsauces (BulkData) piksela datiem
Papildu informācija
- JSON formāts atbilst DICOM PS3.18 Web Services specifikācijai.
- Lielas bināras vērtības (piemēram, pikseļu dati) parasti tiek atsauces, nevis iebūvēti.
- Apsveriet pielāgotas serializācijas iespējas konkrētiem integrācijas prasībām.
Conclusion
Šī instrukcija ir parādījusi, kā konvertēt DICOM failus JSON formātā C#, izmantojot Aspose.Medical.JSON iznākums ļauj bezjēdzīgu integrāciju ar mūsdienu veselības aprūpes APIs, tīmekļa skatītājiem un datu analīzes sistēmām.