DICOM에서 JPG로 의료 이미지를 변환하는 것은 방사선 응용 프로그램이 웹 포털이나 모바일 뷰어에서 연구 결과를 표시해야 할 때 자주 수행되는 작업입니다. Aspose.HTML Cloud SDK for Python은 서버 측에서 무거운 작업을 처리하는 강력한 라이브러리를 제공합니다. 이 가이드에서는 Python에서 DICOM을 JPG로 변환하는 방법을 단계별로 배우고, 멀티스레드 옵션을 탐색하며, REST 기반 워크플로를 위해 cURL로 동일한 서비스를 호출하는 방법을 확인합니다.

DICOM을 JPG로 변환 요구 사항

방사선 워크스테이션은 종종 빠른 미리보기를 위해 가벼운 JPG 썸네일로 렌더링해야 하는 DICOM 파일을 받습니다. 개발자는 다음과 같은 솔루션이 필요합니다:

  • 외부 이미지 라이브러리에 의존하지 않고 바이너리 DICOM 데이터를 읽습니다.
  • 진단 품질을 유지하면서 JPG와 같이 널리 지원되는 형식으로 이미지를 변환합니다.
  • 대용량 파일을 효율적으로 처리하며, 가능하면 병렬 처리를 사용합니다.

데스크톱 도구를 사용한 수동 변환은 시간이 많이 소요되고 서버‑사이드 파이프라인에 확장되지 않으므로, 현대 방사선 소프트웨어에 자동화된 API가 필수적입니다.

접근 방식: 최적화된 클라우드 변환 워크플로우

Aspose.HTML Cloud SDK for Python은 변환 로직을 추상화하는 클라우드 기반 API를 제공합니다. 이 서비스:

  • 원시 DICOM 바이트를 받아 JPG 바이트 스트림을 반환합니다.
  • Aspose 클라우드에서 실행되어 로컬 DICOM 파서가 필요하지 않습니다.
  • 이미지 품질, 해상도 및 다중 스레드 실행을 위한 구성 옵션을 제공합니다.

인증 세부 정보는 공식 문서를 참고하고, 이 튜토리얼에 사용된 ConvertDocumentRequest 클래스에 대해서는 API 참조를 참고하십시오.

Python에서 DICOM을 JPG로 변환 구현

아래는 모든 방사선 백엔드에 통합할 수 있는 실용적인 단계별 구현 예시입니다.

Aspose.HTML Cloud SDK for Python 설치

pip install asposehtmlcloud

자격 증명으로 API 클라이언트 구성

from asposehtmlcloud import HtmlApi, Configuration

config = Configuration()
config.api_key['api_key'] = api_key               # Replace with your actual API key
config.host = "https://api.aspose.cloud"

html_api = HtmlApi(config)

메모리로 DICOM 파일 로드

with open(input_file, "rb") as f:
    dicom_bytes = f.read()

JPG 출력에 대한 변환 요청 만들기

from asposehtmlcloud import ConvertDocumentRequest

request = ConvertDocumentRequest(
    file=dicom_bytes,
    format="jpg"
)

JPG 바이트를 디스크에 쓰기

jpg_bytes = html_api.convert_document(request)

with open(output_file, "wb") as out_f:
    out_f.write(jpg_bytes)

이러한 단계들을 통해 DICOM을 JPG로 변환하는 워크플로가 완료되었으며, 이제 유틸리티를 더 큰 파이프라인에 통합하거나 명령줄 스크립트에서 호출할 수 있습니다.

DICOM을 JPG로 변환하는 유틸리티 - 전체 코드 예제

다음 예제는 전체 엔드‑투‑엔드 프로세스를 보여줍니다.

import os
from asposehtmlcloud import HtmlApi, Configuration, ConvertDocumentRequest

def dicom_to_jpg(input_file: str, output_file: str, api_key: str):
    # Configure Aspose.HTML Cloud SDK
    config = Configuration()
    config.api_key['api_key'] = api_key               # Replace with your actual API key
    config.host = "https://api.aspose.cloud"

# Initialize the API client
    html_api = HtmlApi(config)

# Read the DICOM file into memory
    with open(input_file, "rb") as f:
        dicom_bytes = f.read()

# Build the conversion request (target format: jpg)
    request = ConvertDocumentRequest(
        file=dicom_bytes,
        format="jpg"
    )

# Perform conversion – the response is a binary stream of the JPG image
    jpg_bytes = html_api.convert_document(request)

# Write the resulting JPG to disk
    with open(output_file, "wb") as out_f:
        out_f.write(jpg_bytes)

if __name__ == "__main__":
    # Example usage
    INPUT_DICOM = "sample.dcm"          # Path to your source DICOM file
    OUTPUT_JPG = "sample_converted.jpg" # Desired output path
    API_KEY = "YOUR_ASPOSE_CLOUD_API_KEY"

dicom_to_jpg(INPUT_DICOM, OUTPUT_JPG, API_KEY)

Note: 이 코드 예제는 핵심 기능을 보여줍니다. 프로젝트에 사용하기 전에 파일 경로와 구성 값을 실제 환경에 맞게 업데이트하고, 모든 필수 종속성이 올바르게 설치되었는지 확인하며, 개발 환경에서 충분히 테스트하십시오. 문제가 발생하면 공식 문서를 참조하거나 지원 팀에게 문의하십시오.

cURL을 사용한 REST API를 통한 다중 스레드 변환

순수 REST 방식을 선호한다면, 동일한 변환을 cURL 명령으로 수행할 수 있습니다. 이는 명령줄 자동화 또는 CI 파이프라인과의 통합에 유용합니다.

  1. 액세스 토큰 얻기
curl -X POST "https://api.aspose.cloud/connect/token" \
     -d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
  1. DICOM 파일 업로드
   curl -X PUT "https://api.aspose.cloud/v4.0/html/storage/file/sample.dcm" \
        -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
        -H "Content-Type: application/dicom" \
        --data-binary "@sample.dcm"
  1. JPG로 변환 요청
curl -X POST "https://api.aspose.cloud/v4.0/html/convert?format=jpg" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{"FileName":"sample.dcm"}' \
     -o sample_converted.jpg
  1. 변환된 JPG 다운로드 (직접 저장되지 않은 경우)
curl -X GET "https://api.aspose.cloud/v4.0/html/storage/file/sample_converted.jpg" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o sample_converted.jpg

이 명령은 여러 파일을 동시에 여러 업로드/변환 쌍을 발행하여 병렬로 처리할 수 있는 다중 스레드 변환 워크플로를 보여줍니다. 전체 API 세부 사항은 공식 API 문서를 참조하십시오.

DICOM을 JPG로 변환 옵션 구성

SDK는 출력물을 미세 조정할 수 있도록 합니다. 일반적인 옵션은 다음과 같습니다:

  • 이미지 품질 - JPEG 압축 레벨(0‑100)을 조정합니다.
  • 해상도 - 고해상도 출력을 위해 DPI를 설정합니다.
  • 컬러 모드 - DICOM에 컬러 데이터가 포함된 경우 흑백과 컬러 중 선택합니다.

요청 페이로드에 이러한 옵션을 전달할 수 있습니다. 예를 들어, 품질을 설정하려면:

request = ConvertDocumentRequest(
    file=dicom_bytes,
    format="jpg",
    options={"quality": 90}
)

지원되는 모든 매개변수는 API 참조에 설명되어 있습니다. 특히 대용량 DICOM 데이터 세트를 다룰 때 파일 크기와 진단 명확성 사이의 최적 균형을 얻기 위해 이러한 설정을 실험해 보세요.

결론

Python에서 DICOM을 JPG로 변환 은 Aspose.HTML Cloud SDK for Python을 사용하면 간단해집니다. 라이브러리는 무거운 작업을 처리하고, 고처리량 환경을 위한 멀티스레드 실행을 제공하며, 이미지 품질에 대한 세밀한 제어를 가능하게 합니다. 프로덕션 배포를 위해 적절한 상용 라이선스를 확보하는 것을 잊지 마세요; 가격 세부 정보는 제품 페이지에서 확인할 수 있으며, 임시 라이선스는 임시 라이선스 페이지에서 얻을 수 있습니다. 위의 코드와 cURL 예제를 사용하면 오늘 바로 신뢰할 수 있는 DICOM을 JPG로 변환하는 기능을 모든 방사선학 애플리케이션에 통합할 수 있습니다.

FAQs

Aspose.HTML Cloud SDK가 DICOM 외에 변환할 수 있는 파일 형식은 무엇입니까?
SDK는 PDF, PNG, BMP, GIF, TIFF 및 SVG를 포함한 다양한 형식을 지원합니다. 전체 목록은 문서를 참조하십시오.

외부 도구를 설치하지 않고 변환을 실행할 수 있나요?
예. 변환은 완전히 클라우드에서 수행되므로 로컬 DICOM 라이브러리나 이미지 처리 도구가 필요하지 않습니다.

멀티스레드 변환이 성능을 어떻게 향상시키나요?
병렬로 여러 변환 요청을 발행하면 Aspose 서버의 다중 CPU 코어를 활용할 수 있어 대량의 DICOM 파일 처리 시 전체 처리 시간을 단축할 수 있습니다.

SDK를 명령줄 스크립트에서 사용할 수 있나요?
물론입니다. 제공된 cURL 예제는 명령줄 워크플로를 보여주며, Python 스크립트는 터미널이나 예약 작업에서 직접 실행할 수 있습니다.

더 읽기