چگونه یک فایل DICOM را به JSON با استفاده از DicomJsonSerializer تبدیل کنیم

چگونه یک فایل DICOM را به JSON با استفاده از DicomJsonSerializer تبدیل کنیم

این راهنمای نشان می دهد که چگونه برای تبدیل فایل های DICOM به فرمت JSON با استفاده از C#.JSON خروجی ضروری برای ادغام متا داده های دیکوم با خدمات وب مدرن، REST APIs، و سیستم های اطلاعاتی مراقبت های بهداشتی.

مزایای تبدیل DICOM به JSON

  • *آموزش وب سایت *:- JSON فرمت استاندارد برای REST API ها و خدمات وب است.

  • تجزیه و تحلیل داده ها:- به راحتی پردازش داده های DICOM در لوله های تجزیه و تحلیل داده ها.

  • تغییرمسیر :- به اشتراک گذاری متا داده ها با سیستم هایی که از فرمت های DICOM بومی پشتیبانی نمی کنند.

برچسب ها: آماده سازی محیط زیست

  • Visual Studio یا هر IDE .NET سازگار را نصب کنید.
  • ایجاد یک برنامه جدید .NET 8 کنسول.
  • نصب Aspose.Medical از NuGet Package Manager.

راهنمای گام به گام برای تبدیل DICOM به JSON

مرحله اول: نصب Aspose.Medical

کتابخانه Aspose.Medical را به پروژه خود با استفاده از NuGet اضافه کنید.

Install-Package Aspose.Medical

مرحله دوم: فضای نام مورد نیاز را شامل کنید

ارجاعات را به فضاهای نام مورد نیاز در کد خود اضافه کنید.

using Aspose.Medical.Dicom;
using Aspose.Medical.Dicom.Serialization;

مرحله 3: فایل DICOM را بارگذاری کنید

فایل DICOM را که می خواهید تبدیل کنید بارگذاری کنید.

DicomFile dcm = DicomFile.Open("patient_scan.dcm");

مرحله چهارم: سریالی شدن به JSON

استفاده از DicomJsonSerializer.Serialize روش تبدیل فایل DICOM به JSON.

string json = DicomJsonSerializer.Serialize(dcm);

مرحله 5: ذخیره یا استفاده از خروجی JSON

JSON را به یک فایل ذخیره کنید یا از آن به طور مستقیم در برنامه خود استفاده کنید.

// Save to file
File.WriteAllText("patient_scan.json", json);

// Or use directly
Console.WriteLine(json);

نمونه کامل کد برای تبدیل DICOM به JSON

در اینجا یک مثال کامل نشان می دهد که چگونه به تبدیل یک فایل DICOM به 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 پرینت شده

برای JSON قابل خواندن انسان با indentation، از 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!");

تبدیل Dataset به جای DicomFile

شما همچنین می توانید فقط بخش 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);

ساختار خروجی 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!");

مثال ادغام: ارسال JSON به وب API

در اینجا چگونه به ادغام تبدیل DICOM به JSON با یک مشتری HTTP:

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!");
}

استفاده از Tips

دانلود دیکوم متادا

از تبدیل JSON برای بررسی ارزش های برچسب DICOM استفاده کنید:

DicomFile dcm = DicomFile.Open("unknown_scan.dcm");
string json = DicomJsonSerializer.Serialize(dcm, writeIndented: true);
Console.WriteLine(json);

ارسال به سایت Front-End

JSON ایده آل برای نمایش داده های DICOM در مخاطبان مبتنی بر مرورگر است:

// 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 شامل:

  • بایگانی برچسب ها: همه با ارزش های خود
  • VR (Value Representations) برای هر برچسب
  • عناصر ردیابی مانند اشیاء JSON
  • اطلاعات دوگانه (BulkData) برای داده های پیکسل

اطلاعات اضافی

  • فرمت JSON مطابق با مشخصات DICOM PS3.18 Web Services است.
  • ارزش های باینری بزرگ (مانند داده های پیکسل) به طور معمول به جای ادغام اشاره می شود.
  • در نظر داشته باشید که از گزینه های سریالی سازی سفارشی برای نیازهای یکپارچه سازی خاص استفاده کنید.

نتیجه گیری

این راهنمای به شما نشان داده است که چگونه برای تبدیل فایل های DICOM به فرمت JSON در C# با استفاده از Aspose.Medical.JSON خروجی اجازه می دهد تا یکپارچه سازی بی سیم با APIs بهداشت مدرن، مرورگرهای وب، و سیستم های تجزیه و تحلیل داده.

 فارسی