PPTX DOCX XLSX PDF ODP
Aspose.Imaging  Python के लिए
DICOM

DICOM छवियों के लिए फ़िल्टर लागू करने के लिए Python का उपयोग करें

सर्वर एपीआई के माध्यम से DICOM छवियों और तस्वीरों को फ़िल्टर करने के लिए Python ऐप्स बनाएं

Python के साथ DICOM छवियों और फ़ोटो को कैसे फ़िल्टर करें

अच्छी तरह से खींची गई प्रत्येक तस्वीर में सुधार की संभावना होती है, कुछ पूरी तरह से अलग विकसित होने का मौका होता है, और एक अनूठी रचना के रूप में उभरने का मौका मिलता है। फ़िल्टर छवि और फोटो को बेहतर बनाने में एक बहुमुखी उपकरण के रूप में काम करते हैं, जो आपको चुनिंदा रूप से तीक्ष्णता बढ़ाने, धुंधलापन लाने, या वास्तव में विशिष्ट परिणाम के लिए रंग कलाकृतियों को खत्म करने की अनुमति देते हैं। रंग ग्रेडिएंट्स को सहजता से मिश्रित करने, अवांछित शोर को खत्म करने और अपनी तस्वीर में ऑब्जेक्ट किनारों की तीक्ष्णता को बढ़ाने के लिए व्यक्तिगत रूप से या संयोजन में छवि प्रभावों के साथ प्रयोग करें। इन छवि फ़िल्टर को DICOM फ़ाइलों पर लागू करने के लिए, हम इसका उपयोग करेंगे Aspose.Imaging for Python via .NET एपीआई जो कि पायथन प्लेटफॉर्म के लिए एक सुविधा संपन्न, शक्तिशाली और उपयोग में आसान छवि हेरफेर और रूपांतरण एपीआई है। आप इसे अपने सिस्टम कमांड से निम्नलिखित कमांड का उपयोग करके इंस्टॉल कर सकते हैं।

द सिस्टम कमांड लाइन

>> pip install aspose-imaging-python-net

Python के माध्यम से DICOM को फ़िल्टर करने के चरण

आपको aspose-imaging-python-net की जरूरत है ताकि आप अपने खुद के माहौल में नीचे दिए गए वर्कफ़्लो को आज़मा सकें।

  • लोड DICOM छवि के साथ फ़ाइलें। लोड विधि
  • छवियों को फ़िल्टर करें;
  • Aspose द्वारा समर्थित डिस्क में संपीड़ित छवि को सहेजें। इमेजिंग प्रारूप

सिस्टम आवश्यकताएं

Aspose.Imaging for Python सभी प्रमुख ऑपरेटिंग सिस्टम पर समर्थित है। बस सुनिश्चित करें कि आपके पास निम्नलिखित पूर्वापेक्षाएँ हैं।

  • माइक्रोसॉफ्ट विंडोज/लिनक्स .NET कोर रनटाइम के साथ।
  • पायथन और PyPi पैकेज मैनेजर।
 

फ़िल्टर DICOM इमेज - Python

from aspose.imaging import RasterImage, Image, IMultipageImage, Rectangle
from aspose.imaging.imagefilters.filteroptions import *
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 small_rectangular_filter():
filter_images(lambda image: image.filter(Rectangle(image.width // 6, image.height // 6, image.width * 2 // 3, image.height * 2 // 3), SmallRectangularFilterOptions()), "smallrectangular")
def big_rectangular_filter():
filter_images(lambda image: image.filter(Rectangle(image.width // 6, image.height // 6, image.width * 2 // 3, image.height * 2 // 3), BigRectangularFilterOptions()), "bigrectangular")
def sharpen_filter():
filter_images(lambda image: image.filter(Rectangle(image.width // 6, image.height // 6, image.width * 2 // 3, image.height * 2 // 3), SharpenFilterOptions()), "sharpen")
def motion_wiener_filter():
filter_images(lambda image: image.filter(Rectangle(image.width // 6, image.height // 6, image.width * 2 // 3, image.height * 2 // 3), MotionWienerFilterOptions(20, 2, 0)), "motionwiener")
def bilateral_smoothing_filter():
filter_images(lambda image: image.filter(Rectangle(image.width // 6, image.height // 6, image.width * 2 // 3, image.height * 2 // 3), BilateralSmoothingFilterOptions()), "bilateralsmoothing")
def gauss_blur_filter():
filter_images(lambda image: image.filter(Rectangle(image.width // 6, image.height // 6, image.width * 2 // 3, image.height * 2 // 3), GaussianBlurFilterOptions(5, 4)), "gaussblur")
def gauss_wiener_filter():
filter_images(lambda image: image.filter(Rectangle(image.width // 6, image.height // 6, image.width * 2 // 3, image.height * 2 // 3), GaussWienerFilterOptions(5, 5)), "gausswiener")
def median_filter():
filter_images(lambda image: image.filter(Rectangle(image.width // 6, image.height // 6, image.width * 2 // 3, image.height * 2 // 3), MedianFilterOptions(20)), "median")
def filter_images(do_filter, filter_name):
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}")
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"{filter_name}_{format_ext}.png")
print(format_ext)
# explicit type casting from Image to RasterImage
with as_of(Image.load(input_file), RasterImage) as image:
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"{filter_name}_page{page_index}_{format_ext}.png"
do_filter(as_of(page, RasterImage))
page.save(templates_folder + file_name, PngOptions())
delete_file(templates_folder + file_name)
page_index += 1
else:
do_filter(image)
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, "rasterized.{format_ext}.png")
with Image.load(input_file) as image:
image.save(output_file, PngOptions())
return output_file
# run
median_filter()
 
  • Aspose.Imaging for Python API . के बारे में

    Aspose.Imaging API अनुप्रयोगों के भीतर छवियों (फ़ोटो) को बनाने, संशोधित करने, आकर्षित करने या परिवर्तित करने के लिए एक छवि प्रसंस्करण समाधान है। यह प्रदान करता है: क्रॉस-प्लेटफ़ॉर्म छवि प्रसंस्करण, जिसमें विभिन्न छवि प्रारूपों (समान बहु-पृष्ठ या बहु-फ़्रेम छवि प्रसंस्करण सहित) के बीच रूपांतरण शामिल हैं, लेकिन इन्हीं तक सीमित नहीं है, ड्राइंग जैसे संशोधन, ग्राफिक प्राइमेटिव के साथ काम करना, परिवर्तन (आकार बदलना, फसल करना, फ्लिप करना और घुमाना) , बिनाराइज़ेशन, ग्रेस्केल, एडजस्ट), उन्नत छवि हेरफेर सुविधाएँ (फ़िल्टरिंग, डिथरिंग, मास्किंग, डेस्क्यूइंग), और मेमोरी ऑप्टिमाइज़ेशन रणनीतियाँ। यह एक स्टैंडअलोन लाइब्रेरी है और इमेज ऑपरेशंस के लिए किसी सॉफ्टवेयर पर निर्भर नहीं है। परियोजनाओं के भीतर देशी एपीआई के साथ आसानी से उच्च-प्रदर्शन छवि रूपांतरण सुविधाएँ जोड़ सकते हैं। ये 100% निजी ऑन-प्रिमाइसेस एपीआई हैं और छवियों को आपके सर्वर पर संसाधित किया जाता है।

    फ़िल्टर DICOMs ऑनलाइन ऐप के माध्यम से

    हमारी लाइव डेमो वेबसाइट पर जाकर DICOM दस्तावेज़ों को फ़िल्टर करें। लाइव डेमो के निम्नलिखित लाभ हैं

      कुछ भी डाउनलोड या सेटअप करने की आवश्यकता नहीं है
      कोई कोड लिखने की जरूरत नहीं
      बस अपनी DICOM फ़ाइलें अपलोड करें और फ़िल्टर करें बटन दबाएं
      परिणामी फ़ाइल के लिए तुरंत डाउनलोड लिंक प्राप्त करें

    DICOM क्या है DICOM फाइल का प्रारूप

    DICOM चिकित्सा में डिजिटल इमेजिंग और संचार के लिए संक्षिप्त है और चिकित्सा सूचना विज्ञान के क्षेत्र से संबंधित है। DICOM फ़ाइल स्वरूप परिभाषा और एक नेटवर्क संचार प्रोटोकॉल का संयोजन है। DICOM .DCM एक्सटेंशन का उपयोग करता है। .DCM दो अलग-अलग स्वरूपों में मौजूद है अर्थात स्वरूप 1.x और स्वरूप 2.x। DCM प्रारूप 1.x आगे सामान्य और विस्तारित दो संस्करणों में उपलब्ध है। DICOM का उपयोग विभिन्न विक्रेताओं से चिकित्सा इमेजिंग उपकरणों जैसे प्रिंटर, सर्वर, स्कैनर आदि के एकीकरण के लिए किया जाता है और इसमें विशिष्टता के लिए प्रत्येक रोगी का पहचान डेटा भी होता है। DICOM फ़ाइलें दो पक्षों के बीच साझा की जा सकती हैं यदि वे DICOM प्रारूप में छवि डेटा प्राप्त करने में सक्षम हैं। DICOM का संचार भाग अनुप्रयोग परत प्रोटोकॉल है और संस्थाओं के बीच संचार के लिए TCP/IP का उपयोग करता है। DICOM की वेब सेवाओं के लिए HTTP और HTTPS प्रोटोकॉल का उपयोग किया जाता है। वेब सेवाओं द्वारा समर्थित संस्करण 1.0, 1.1, 2 या बाद के संस्करण हैं।

    अधिक पढ़ें

    अन्य समर्थित फ़िल्टर प्रारूप

    Python का उपयोग करके, कोई भी व्यक्ति विभिन्न स्वरूपों को आसानी से फ़िल्टर कर सकता है, जिनमें शामिल हैं।

    APNG (एनिमेटेड पोर्टेबल नेटवर्क ग्राफिक्स)
    BMP (बिटमैप चित्र)
    ICO (विंडोज आइकन)
    JPG (फ़ोटोग्राफ़ी संबंधी विशेषज्ञों का संयुक्त समूह)
    JPEG (फ़ोटोग्राफ़ी संबंधी विशेषज्ञों का संयुक्त समूह)
    DIB (डिवाइस स्वतंत्र बिटमैप)
    DJVU (ग्राफिक्स प्रारूप)
    DNG (डिजिटल कैमरा छवि)
    EMF (उन्नत मेटाफ़ाइल प्रारूप)
    EMZ (विंडोज कम्प्रेस्ड एन्हांस्ड मेटाफाइल)
    GIF (ग्राफिकल इंटरचेंज प्रारूप)
    JP2 (जेपीईजी 2000)
    J2K (तरंगिका संपीड़ित छवि)
    PNG (पोर्टेबल नेटवर्क ग्राफ़िक्स)
    TIFF (टैग की गई छवि प्रारूप)
    TIF (टैग की गई छवि प्रारूप)
    WEBP (रेखापुंज वेब छवि)
    WMF (माइक्रोसॉफ्ट विंडोज मेटाफाइल)
    WMZ (संपीड़ित विंडोज मीडिया प्लेयर त्वचा)
    TGA (टार्गा ग्राफिक)
    SVG (स्केलेबल वेक्टर ग्राफिक्स)
    EPS (एनकैप्सुलेटेड पोस्टस्क्रिप्ट भाषा)
    CDR (वेक्टर ड्राइंग छवि)
    CMX (कोरल एक्सचेंज इमेज)
    OTG (OpenDocument मानक)
    ODG (अपाचे ओपनऑफिस ड्रा प्रारूप)