Gunakan Python untuk mengubah skala abu-abu DICOM Gambar
Buat Aplikasi Python ke Gambar dan Foto DICOM Skala Abu-abu melalui API Server
Cara Grayscale DICOM Gambar dan Foto dengan Python
Warna-warna cerah biasanya diasosiasikan sebagai inti dari foto yang indah. Namun bagaimana jika kemungkinan pencetakan berwarna bukanlah suatu pilihan? Dalam skenario seperti ini, muncul kebutuhan untuk mengubah foto berwarna menjadi skala abu-abu, dan yang mengejutkan, hal ini tidak serta merta mengurangi dampaknya. Seringkali, konversi dari warna penuh ke skala abu-abu merupakan teknik seni tersendiri, yang meningkatkan daya tarik desain Anda. Prosesnya, ditambah dengan penghapusan informasi warna, dapat berperan sebagai kaki tangan Anda, menonjolkan detail gambar, menonjolkan tekstur permukaan, dan mengatur simfoni visual antara cahaya dan bayangan - sehingga menciptakan efek visual yang khas. Untuk mengonversi gambar DICOM menjadi skala abu-abu, kami akan menggunakan Aspose.Imaging for Python via .NET API yang merupakan API konversi dan manipulasi gambar yang kaya fitur, kuat, dan mudah digunakan untuk platform Python. Anda dapat menginstalnya menggunakan perintah berikut dari perintah sistem Anda.
Baris perintah sistem
>> pip install aspose-imaging-python-net
Langkah-langkah ke Grayscale DICOM melalui Python
Anda memerlukan aspose-imaging-python-net untuk mencoba alur kerja berikut di lingkungan Anda sendiri.
- Muat file DICOM dengan metode Image.Load
- Gambar skala abu-abu;
- Simpan gambar terkompresi ke disk dalam format yang didukung oleh Aspose.Imaging
Persyaratan sistem
Aspose.Imaging untuk Python didukung di semua sistem operasi utama. Pastikan saja Anda memiliki prasyarat berikut.
- Microsoft Windows / Linux dengan .NET Core Runtime.
- Manajer paket Python dan PyPi.
Gambar skala abu-abu DICOM - Python
from aspose.imaging import RasterImage, Image, IMultipageImage | |
from aspose.imaging.imageoptions import PngOptions | |
from aspose.pycore import as_of, is_assignable | |
import os | |
if 'TEMPLATE_DIR' in os.environ: | |
templates_folder = os.environ['TEMPLATE_DIR'] | |
else: | |
templates_folder = r"C:\Users\USER\Downloads\templates" | |
delete_output = 'SAVE_OUTPUT' not in os.environ | |
def delete_file(file): | |
if delete_output: | |
os.remove(file) | |
def grayscale_images(): | |
obj_init = [] | |
obj_init.append("jpg") | |
obj_init.append("png") | |
obj_init.append("bmp") | |
obj_init.append("apng") | |
obj_init.append("dicom") | |
obj_init.append("jp2") | |
obj_init.append("j2k") | |
obj_init.append("tga") | |
obj_init.append("webp") | |
obj_init.append("tiff") | |
obj_init.append("gif") | |
obj_init.append("ico") | |
raster_formats = obj_init | |
obj_init2 = [] | |
obj_init2.append("svg") | |
obj_init2.append("otg") | |
obj_init2.append("odg") | |
obj_init2.append("eps") | |
obj_init2.append("wmf") | |
obj_init2.append("emf") | |
obj_init2.append("wmz") | |
obj_init2.append("emz") | |
obj_init2.append("cmx") | |
obj_init2.append("cdr") | |
vector_formats = obj_init2 | |
all_formats = raster_formats | |
all_formats.extend(vector_formats) | |
for format_ext in all_formats: | |
input_file = os.path.join(templates_folder, f"template.{format_ext}") | |
if not os.path.exists(input_file): | |
continue | |
is_vector_format = format_ext in vector_formats | |
if is_vector_format: | |
input_file = rasterize_vector_image(format_ext, input_file) | |
output_file = os.path.join(templates_folder, f"grayscale_{format_ext}.png") | |
print(f"Processing {format_ext}") | |
# explicit type casting from Image to RasterImage | |
with as_of(Image.load(input_file), RasterImage) as image: | |
# Additional code examples can be found at | |
# https://apireference.aspose.com/imaging/python-net/aspose.imaging/rasterimage/methods/grayscale | |
image.grayscale() | |
multi_page = None | |
# if image implements an IMultipageImage interface | |
if is_assignable(image, IMultipageImage): | |
multi_page = as_of(image, IMultipageImage) | |
if multi_page is not None and multi_page.page_count > 1: | |
page_index = 0 | |
for page in multi_page.pages: | |
file_name = f"grayscale_page{page_index}_{format_ext}.png" | |
page.save(templates_folder + file_name, PngOptions()) | |
delete_file(templates_folder + file_name) | |
page_index += 1 | |
else: | |
image.save(output_file, PngOptions()) | |
delete_file(output_file) | |
if is_vector_format: | |
delete_file(input_file) | |
def rasterize_vector_image(format_ext, input_file): | |
output_file = os.path.join(templates_folder, f"rasterized.{format_ext}.png") | |
with Image.load(input_file) as image: | |
image.save(output_file, PngOptions()) | |
return output_file | |
grayscale_images() |
Tentang Aspose.Imaging untuk Python API
Aspose.Imaging API adalah solusi pemrosesan gambar untuk membuat, memodifikasi, menggambar, atau mengonversi gambar (foto) dalam aplikasi. Menawarkan: pemrosesan gambar lintas platform, termasuk tetapi tidak terbatas pada konversi antara berbagai format gambar (termasuk pemrosesan gambar multi-halaman atau multi-bingkai yang seragam), modifikasi seperti menggambar, bekerja dengan grafik primitif, transformasi (mengubah ukuran, memotong, membalik & memutar , binarisasi, skala abu-abu, sesuaikan), fitur manipulasi gambar lanjutan (pemfilteran, dithering, masking, deskewing), dan strategi pengoptimalan memori. Ini adalah perpustakaan mandiri dan tidak bergantung pada perangkat lunak apa pun untuk operasi gambar. Seseorang dapat dengan mudah menambahkan fitur konversi gambar berkinerja tinggi dengan API asli dalam proyek. Ini adalah 100% API lokal pribadi dan gambar diproses di server Anda.Skala abu-abu DICOM melalui Aplikasi Online
Dokumen skala abu-abu DICOM dengan mengunjungi situs web Live Demos . Demo langsung memiliki manfaat sebagai berikut
DICOM Apa DICOM Format Berkas
DICOM adalah singkatan dari Digital Imaging and Communications in Medicine dan berkaitan dengan bidang Informatika Medis. DICOM adalah kombinasi definisi format file dan protokol komunikasi jaringan. DICOM menggunakan ekstensi .DCM. .DCM ada dalam dua format yang berbeda yaitu format 1.x dan format 2.x. DCM Format 1.x selanjutnya tersedia dalam dua versi normal dan diperpanjang. DICOM digunakan untuk integrasi perangkat pencitraan medis seperti printer, server, pemindai dll dari berbagai vendor dan juga berisi data identifikasi setiap pasien untuk keunikan. File DICOM dapat dibagi antara dua pihak jika mereka mampu menerima data gambar dalam format DICOM. Bagian komunikasi DICOM adalah protokol lapisan aplikasi dan menggunakan TCP/IP untuk berkomunikasi antar entitas. Protokol HTTP dan HTTPS digunakan untuk layanan web DICOM. Versi yang didukung oleh layanan web adalah 1.0, 1.1, 2 atau yang lebih baru.
Baca selengkapnyaFormat Grayscale Lainnya yang Didukung
Menggunakan Python, seseorang dapat dengan mudah menskalakan berbagai format termasuk.