Việc chuyển đổi đồ họa y tế động sang định dạng mà hệ thống chẩn đoán hình ảnh hiểu được có thể là một nút thắt cho các nhà phát triển. Aspose.Slides Cloud SDK for Python cung cấp một thư viện mạnh mẽ giúp đơn giản hoá công việc này. Trong hướng dẫn này, bạn sẽ thấy một ví dụ đầy đủ về chuyển đổi GIF sang DICOM bằng Python, học cách thiết lập xác thực, xử lý xử lý hàng loạt, và khám phá các lệnh cURL tương đương cho việc tích hợp REST.
Cách Chuyển Đổi Hình GIF Thành Tệp DICOM Bằng Python - Từng Bước
- Cấu hình Xác thực và Khởi tạo SlidesApi: Đặt thông tin xác thực client của bạn và tạo một thể hiện SlidesApi.
from asposeslidescloud import SlidesApi, Configuration
config = Configuration()
config.api_key['client_id'] = "YOUR_CLIENT_ID"
config.api_key['client_secret'] = "YOUR_CLIENT_SECRET"
slides_api = SlidesApi(configuration=config)
Bước này chuẩn bị môi trường cho ví dụ chuyển đổi GIF sang DICOM trong Python.
- Xác định Thư mục Đầu vào và Đầu ra: Tạo các thư mục cho các tệp GIF nguồn và các tệp DICOM được tạo.
import os
INPUT_FOLDER = "gif_inputs"
OUTPUT_FOLDER = "dicom_outputs"
os.makedirs(OUTPUT_FOLDER, exist_ok=True)
- Tạo hàm chuyển đổi: Sử dụng
convert_localđể chuyển một GIF thành DICOM, truyền siêu dữ liệu tùy chọn.
def convert_gif_to_dicom(gif_path: str, dicom_path: str):
with open(gif_path, "rb") as gif_file:
result_bytes = slides_api.convert_local(
file=gif_file,
format="dicom",
patientName="John Doe",
patientId="123456",
studyDescription="Sample GIF to DICOM conversion"
)
with open(dicom_path, "wb") as out_file:
out_file.write(result_bytes)
- Chuyển đổi Hàng loạt Tất cả các Tệp GIF: Quét thư mục đầu vào và gọi hàm chuyển đổi cho mỗi tệp.
import glob
def batch_convert_gif_folder(input_folder: str, output_folder: str):
gif_files = glob.glob(os.path.join(input_folder, "*.gif"))
for gif_file in gif_files:
base_name = os.path.splitext(os.path.basename(gif_file))[0]
dicom_file = os.path.join(output_folder, f"{base_name}.dcm")
convert_gif_to_dicom(gif_file, dicom_file)
- Thực thi Script: Chạy chuyển đổi hàng loạt khi mô-đun được thực thi trực tiếp.
if __name__ == "__main__":
batch_convert_gif_folder(INPUT_FOLDER, OUTPUT_FOLDER)
Script này hoàn thành ví dụ chuyển đổi GIF sang DICOM trong Python và cung cấp cho bạn các tệp DICOM sẵn sàng để sử dụng.
Ví dụ mã hoàn chỉnh: Chuyển đổi GIF sang DICOM bằng Aspose.Slides Cloud SDK
Đoạn mã sau đây hiển thị việc triển khai đầy đủ của ví dụ chuyển đổi GIF sang DICOM trong Python.
import os
import glob
from asposeslidescloud import SlidesApi, ApiException, Configuration
# -------------------- Setup Aspose.Slides Cloud SDK and Authentication --------------------
# Replace with your actual Aspose Cloud credentials
CLIENT_ID = "YOUR_CLIENT_ID"
CLIENT_SECRET = "YOUR_CLIENT_SECRET"
config = Configuration()
config.api_key['client_id'] = CLIENT_ID
config.api_key['client_secret'] = CLIENT_SECRET
# Optional: set the base URL if you use a different region
# config.host = "https://api.aspose.cloud"
slides_api = SlidesApi(configuration=config)
# -------------------- Prepare GIF Input and Define DICOM Parameters --------------------
INPUT_FOLDER = "gif_inputs"
OUTPUT_FOLDER = "dicom_outputs"
os.makedirs(OUTPUT_FOLDER, exist_ok=True)
# Example DICOM metadata (if the API supports passing them as query parameters)
# Here we just illustrate the idea; actual parameter names may differ.
dicom_params = {
"patientName": "John Doe",
"patientId": "123456",
"studyDescription": "Sample GIF to DICOM conversion"
}
# -------------------- Write Python Script for GIF to DICOM Conversion Example --------------------
def convert_gif_to_dicom(gif_path: str, dicom_path: str):
"""
Converts a single GIF file to DICOM format using Aspose.Slides Cloud SDK.
"""
try:
# Read the GIF file into memory
with open(gif_path, "rb") as gif_file:
# The SDK method `convert_local` returns the converted file bytes.
# Pass the desired output format ("dicom") and any additional parameters.
result_bytes = slides_api.convert_local(
file=gif_file,
format="dicom",
# The following dictionary is illustrative; adjust according to SDK docs.
**dicom_params
)
# Write the resulting DICOM bytes to the output file
with open(dicom_path, "wb") as out_file:
out_file.write(result_bytes)
print(f"Converted '{gif_path}' → '{dicom_path}'")
except ApiException as e:
print(f"API error while converting '{gif_path}': {e}")
except Exception as ex:
print(f"Unexpected error while converting '{gif_path}': {ex}")
# -------------------- Batch Convert GIF Files to DICOM in Python --------------------
def batch_convert_gif_folder(input_folder: str, output_folder: str):
"""
Scans the input folder for *.gif files and converts each to DICOM,
storing results in the output folder.
"""
gif_files = glob.glob(os.path.join(input_folder, "*.gif"))
if not gif_files:
print(f"No GIF files found in '{input_folder}'.")
return
for gif_file in gif_files:
base_name = os.path.splitext(os.path.basename(gif_file))[0]
dicom_file = os.path.join(output_folder, f"{base_name}.dcm")
convert_gif_to_dicom(gif_file, dicom_file)
# -------------------- Execute Batch Conversion --------------------
if __name__ == "__main__":
batch_convert_gif_folder(INPUT_FOLDER, OUTPUT_FOLDER)
Lưu ý: Ví dụ mã này minh họa chức năng cốt lõi. Trước khi sử dụng trong dự án của bạn, hãy chắc chắn cập nhật mọi đường dẫn tệp và giá trị cấu hình để phù hợp với môi trường thực tế của bạn, xác minh rằng tất cả các phụ thuộc cần thiết đã được cài đặt đúng cách, và kiểm tra kỹ lưỡng trong môi trường phát triển. Nếu gặp bất kỳ vấn đề nào, vui lòng tham khảo tài liệu chính thức hoặc liên hệ với đội hỗ trợ để được trợ giúp.
Sử dụng cURL để Gọi Endpoint Chuyển Đổi của Aspose.Slides Cloud
Dưới đây là các cuộc gọi REST thực hiện cùng một ví dụ chuyển đổi GIF sang DICOM trong Python thông qua Aspose.Slides Cloud API.
- Lấy token truy cập (thay thế các placeholder bằng thông tin xác thực của bạn).
curl -X POST "https://api.aspose.cloud/connect/token" \
-d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
- Tải lên tệp GIF đến bộ nhớ tạm thời.
curl -X PUT "https://api.aspose.cloud/v3.0/slides/storage/file/gif_inputs/sample.gif" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/octet-stream" \
--data-binary "@sample.gif"
- Yêu cầu chuyển đổi sang DICOM đồng thời truyền siêu dữ liệu tùy chọn.
curl -X POST "https://api.aspose.cloud/v3.0/slides/gif_inputs/sample.gif/convert/dicom?patientName=John%20Doe&patientId=123456&studyDescription=Sample%20GIF%20to%20DICOM%20conversion" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o "dicom_outputs/sample.dcm"
- Tải xuống tệp DICOM kết quả (nếu bạn đã lưu nó ở nơi khác).
curl -X GET "https://api.aspose.cloud/v3.0/slides/storage/file/dicom_outputs/sample.dcm" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o "sample.dcm"
Để biết thêm chi tiết về các tham số yêu cầu, xem Tham chiếu API.
Cài đặt và cấu hình Aspose.Slides Cloud SDK for Python
SDK được phân phối qua PyPI. Cài đặt nó bằng pip và xác minh đường dẫn cài đặt.
pip install asposeslidescloud
Sau khi cài đặt, tạo một tệp cấu hình hoặc đặt các biến môi trường với CLIENT_ID và CLIENT_SECRET của bạn. Đoạn mã trong phần Steps cho thấy cách tạo đối tượng Configuration.
Cài đặt chuyển đổi: Tùy chọn và Tham số
Bạn có thể tùy chỉnh đầu ra DICOM bằng cách điều chỉnh từ điển dicom_params. Các trường phổ biến bao gồm thông tin bệnh nhân và mô tả nghiên cứu.
dicom_params = {
"patientName": "John Doe",
"patientId": "123456",
"studyDescription": "Sample GIF to DICOM conversion"
}
Các tham số bổ sung như độ phân giải hình ảnh hoặc nén có thể được truyền nếu API hỗ trợ; tham khảo tài liệu tham khảo API để biết danh sách đầy đủ.
Câu hỏi thường gặp
-
Có thể chuyển đổi một tệp GIF đơn lẻ sang DICOM bằng SDK không?
Có, bạn có thể gọi phương thứcconvert_localcho một tệp GIF riêng lẻ. Xem tài liệu Aspose.Slides Cloud SDK for Python để biết chi tiết. -
Làm thế nào để chuyển đổi hàng loạt các tệp GIF sang DICOM trong Python?
Sử dụng hàmbatch_convert_gif_folder. Hàm này sẽ quét một thư mục để tìm các tệp *.GIF và chuyển đổi từng tệp, rất phù hợp cho các bộ ảnh lớn. -
Có cách nào để chuyển DICOM trở lại thành JPEG hoặc PNG?
SDK tập trung vào việc chuyển đổi sang DICOM, nhưng bạn có thể sử dụng Aspose.Imaging Cloud SDK for .NET hoặc các sản phẩm hỗ trợ khác để trích xuất hình ảnh từ các tệp DICOM. -
Các tùy chọn cấp phép nào có sẵn và làm thế nào để tôi có được giấy phép tạm thời?
Giấy phép thương mại là bắt buộc cho việc sử dụng trong môi trường sản xuất. Bạn có thể nhận giấy phép tạm thời để đánh giá từ trang giấy phép tạm thời.