Како конвертовати ДИЦОМ датотеку у ЈСОН користећи ДицомЈсонСеријализатор
Овај туториал показује како конвертовати ДИЦОМ датотеке у ЈСОН формат користећи Ц#. ЈСОН излаз је од суштинског значаја за интегрисање МЕТАДАТА ДИСОМА са модерним веб услугама, РЕСТ АПИ и здравственим информационим системима.
Предности конверзије ДИКОМ у ЈСОН
- Интеграција сајта *:- JSON је стандардни формат за REST АПИ и веб услуге.
Анализа података:- Једноставно обрадује ДИЦОМ метадане у цеви за анализу података.
- Интерактивна интерактивност *- Поделите метадане са системима који не подржавају индијанске ДИЦОМ формати.
Принципи: Припрема за животну средину
- Инсталирајте Visual Studio или било који компатибилан .NET IDE.
- Креирање новог .NET 8 апликационог пројекта конзоле.
- Инсталирајте Aspose.Medical из менаџера пакета NuGet.
Корак по корак водич за конверзију ДИКОМ-а у ЈСОН
Корак 1: Инсталирајте Aspose.Medical
Додајте Аппосе.Медицинска библиотека у свој пројекат користећи НуГет.
Install-Package Aspose.MedicalКорак 2: Укључите неопходне имена
Додајте референце на потребне имена простора у вашем коду.
using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;Корак 3: Преузмите ДИКОМ датотеку
Преузмите ДИКОМ датотеку коју желите конвертовати.
DicomFile dcm = DicomFile.Open("patient_scan.dcm");Корак 4: Серијализација на ЈСОН
Искористите је DicomJsonSerializer.Serialize Метода за конверзију датотеке ДИКОМ у ЈСОН.
string json = DicomJsonSerializer.Serialize(dcm);Корак 5: Сачувајте или користите JSON излаз
Сачувајте JSON у датотеку или га користите директно у апликацији.
// Save to file
File.WriteAllText("patient_scan.json", json);
// Or use directly
Console.WriteLine(json);Kompletni primer koda za pretvaranje DICOM-a 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");Прелепо штампани JSON излаз
За људско-читајуће ЈСОН са индентацијом, користите writeIndented Параметар је:
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!");Претварање датотеке уместо ДицомФиле
Такође можете конвертовати само део Датасета:
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);Пример JSON излазне структуре
JSON излаз следи стандард DICOM PS3.18. Ево примера о томе како излази:
{
"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"]
}
}Серијализација заснована на струју
За велике датотеке или веб апликације, користите сериализацију засновану на току:
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!");Пример интеграције: Пошаљите ЈСОН на веб АПИ
Ево како интегрисати ДИКОМ у ЈСОН конверзију са ХТТП клијентом:
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!");
}Употреба типова
Дебуггирање диком метадате
Користите JSON конверзију да бисте проверили вредности ознака ДИКОМ-а:
DicomFile dcm = DicomFile.Open("unknown_scan.dcm");
string json = DicomJsonSerializer.Serialize(dcm, writeIndented: true);
Console.WriteLine(json);Пошаљите на веб фронт-енд
JSON је идеалан за приказивање ДИКОМ метада у претраживачима заснованим на:
// 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");
}Шта је укључено у JSON излаз
JSON излаз укључује:
- Svi DICOM oznake sa svojim vrednostima
- Репрезентације вредности (ВР) за сваку ознаку
- Секвенцијски предмети као гнездани JSON објекти
- Бинарне референце података (BulkData) за пикселне податке
Додатне информације
- JSON формат следи DICOM PS3.18 веб услуге спецификације.
- Велике бинарне вредности (као што су пикселни подаци) се обично референцирају уместо уграђених.
- Размислите о коришћењу прилагођених опција сериализације за специфичне захтеве интеграције.
Закључак
Овај туториал вам је показао како да конвертујете ДИКОМ датотеке у ЈСОН формат у Ц # користећи Аппосе.Медицал. ЈССОН излаз омогућава беспрекорно интегрисање са модерним здравственим АПИ, веб прегледачима и системима анализе података.