DicomJsonSerializer를 사용하여 DICOM 파일을 JSON으로 변환하는 방법

DicomJsonSerializer를 사용하여 DICOM 파일을 JSON으로 변환하는 방법

이 튜토리얼은 C#를 사용하여 DICOM 파일을 JSON 형식으로 변환하는 방법을 보여줍니다.JSON 출력은 현대 웹 서비스, REST APIs 및 건강 관리 정보 시스템과 DIKOM 메타 데이터를 통합하는 데 필수적입니다.

DICOM을 JSON으로 변환하는 혜택

  • • 웹 통합* :- JSON은 REST API 및 웹 서비스의 표준 형식입니다.

  • 데이터 분석:- 데이터 분석 파이프라인에서 DICOM 메타 데이터를 쉽게 처리합니다.

    • 상호 작용 가능성 * :- 원주민 DICOM 형식을 지원하지 않는 시스템과 메타 데이터를 공유합니다.

원제 : Environment Preparation

  • Visual Studio 또는 모든 호환되는 .NET IDE를 설정합니다.
  • 새로운 .NET 8 콘솔 애플리케이션 프로젝트를 만드십시오.
  • NuGet 패키지 관리자에서 Aspose.Medical을 설치합니다.

DICOM을 JSON으로 변환하는 단계별 가이드

단계 1 : Aspose.Medical 설치

NuGet을 사용하여 프로젝트에 Aspose.Medical 도서관을 추가합니다.

Install-Package Aspose.Medical

단계 2 : 필요한 이름 공간을 포함

코드에 필요한 이름 공간에 참조를 추가합니다.

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

3단계 : DICOM 파일을 다운로드합니다.

변환하려는 DICOM 파일을 다운로드합니다.

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

단계 4 : 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 인센트를 사용하려면 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!");

DicomFile 대신 데이터 세트 변환

또한 데이터 세트 부분만 변환할 수 있습니다:

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을 Web API로 보내기

다음은 HTTP 클라이언트와 함께 DICOM에서 JSON 변환을 통합하는 방법입니다.

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 변환을 사용하여 DICOM 태그 값을 검사합니다.

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

웹 프론트 엔드에 전송

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 출력에는 다음이 포함되어 있습니다 :

  • 모든 DICOM 태그 그들의 가치
  • 각 태그에 대한 가치 표현 (VR)
  • JSON 개체와 같은 순서 항목
  • 픽셀 데이터에 대한 바이너리 데이터 참조 (BulkData)

추가 정보

  • JSON 형식은 DICOM PS3.18 웹 서비스 사양을 따릅니다.
  • 큰 바이너리 값 (픽셀 데이터와 같은)은 일반적으로 삽입 된 대신 참조됩니다.
  • 특정 통합 요구 사항을 위해 사용자 지정 시리화 옵션을 고려하십시오.

결론

이 튜토리얼은 Aspose.Medical을 사용하여 C#에서 JSON 형식으로 DICOM 파일을 변환하는 방법을 보여줍니다.JSON 출력은 현대 의료 APIs, 웹 브라우저 및 데이터 분석 시스템과 무제한 통합을 가능하게합니다.

 한국어