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

Java के माध्यम से DICOM को फ़िल्टर करें

सर्वर-साइड API का उपयोग करके DICOM फ़ाइलों को फ़िल्टर करने के लिए अपने स्वयं के Java ऐप्स बनाएं।

Java का उपयोग करके DICOM फ़ाइलों को कैसे फ़िल्टर करें

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

रिपॉजिटरी

<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>

निर्भरता

<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-imaging</artifactId>
<version>version of aspose-imaging API</version>
<classifier>jdk16</classifier>
</dependency>

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

अपने स्वयं के वातावरण में निम्नलिखित वर्कफ़्लो को आज़माने के लिए आपको aspose-imaging-version-jdk16.jar की आवश्यकता होगी।

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

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

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

  • JDK 1.6 या उच्चतर स्थापित है।
 

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

import com.aspose.imaging.IMultipageImage;
import com.aspose.imaging.Image;
import com.aspose.imaging.RasterImage;
import com.aspose.imaging.imageoptions.PngOptions;
import java.io.File;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
import java.util.function.Consumer;
medianfilter();
public static void smallRectangularfilter()
{
filterImages(image ->
{
// https://apireference.aspose.com/imaging/java/com.aspose.imaging.imagefilters.filteroptions/SmallRectangularFilterOptions
Rectangle filterRect = new Rectangle(image.getWidth() / 6, image.getHeight() / 6, image.getWidth() * 2 / 3, image.getHeight() * 2 / 3);
image.filter(filterRect, new SmallRectangularFilterOptions());
}, "smallrectangular");
}
public static void bigRectangularfilter()
{
filterImages(image ->
{
// https://apireference.aspose.com/imaging/java/com.aspose.imaging.imagefilters.filteroptions/BigRectangularFilterOptions
Rectangle filterRect = new Rectangle(image.getWidth() / 6, image.getHeight() / 6, image.getWidth() * 2 / 3, image.getHeight() * 2 / 3);
image.filter(filterRect, new BigRectangularFilterOptions());
}, "bigrectangular");
}
public static void sharpenfilter()
{
filterImages(image ->
{
// https://apireference.aspose.com/imaging/java/com.aspose.imaging.imagefilters.filteroptions/SharpenFilterOptions
Rectangle filterRect = new Rectangle(image.getWidth() / 6, image.getHeight() / 6, image.getWidth() * 2 / 3, image.getHeight() * 2 / 3);
image.filter(filterRect, new SharpenFilterOptions());
}, "sharpen");
}
public static void motionWienerfilter()
{
filterImages(image ->
{
// https://apireference.aspose.com/imaging/java/com.aspose.imaging.imagefilters.filteroptions/MotionWienerFilterOptions
Rectangle filterRect = new Rectangle(image.getWidth() / 6, image.getHeight() / 6, image.getWidth() * 2 / 3, image.getHeight() * 2 / 3);
image.filter(filterRect, new MotionWienerFilterOptions(20, 2, 0));
}, "motionwiener");
}
public static void bilateralSmoothingfilter()
{
filterImages(image ->
{
// https://apireference.aspose.com/imaging/java/com.aspose.imaging.imagefilters.filteroptions/BilateralSmoothingFilterOptions
Rectangle filterRect = new Rectangle(image.getWidth() / 6, image.getHeight() / 6, image.getWidth() * 2 / 3, image.getHeight() * 2 / 3);
image.filter(filterRect, new BilateralSmoothingFilterOptions());
}, "bilateralsmoothing");
}
public static void gaussBlurfilter()
{
filterImages(image ->
{
// https://apireference.aspose.com/imaging/java/com.aspose.imaging.imagefilters.filteroptions/GaussianBlurFilterOptions
Rectangle filterRect = new Rectangle(image.getWidth() / 6, image.getHeight() / 6, image.getWidth() * 2 / 3, image.getHeight() * 2 / 3);
image.filter(filterRect, new GaussianBlurFilterOptions(5, 4));
}, "gaussblur");
}
public static void gaussWienerfilter()
{
filterImages(image ->
{
// https://apireference.aspose.com/imaging/java/com.aspose.imaging.imagefilters.filteroptions/GaussWienerFilterOptions
Rectangle filterRect = new Rectangle(image.getWidth() / 6, image.getHeight() / 6, image.getWidth() * 2 / 3, image.getHeight() * 2 / 3);
image.filter(filterRect, new GaussWienerFilterOptions(5, 5));
}, "gausswiener");
}
public static void medianfilter()
{
filterImages(image ->
{
// https://apireference.aspose.com/imaging/java/com.aspose.imaging.imagefilters.filteroptions/MedianFilterOptions
Rectangle filterRect = new Rectangle(image.getWidth() / 6, image.getHeight() / 6, image.getWidth() * 2 / 3, image.getHeight() * 2 / 3);
image.filter(filterRect, new MedianFilterOptions(20));
}, "median");
}
static String templatesFolder = "D:\\";
public static void filterImages(Consumer<RasterImage> doFilter, String filterName)
{
List<String> rasterFormats = Arrays.asList("jpg", "png", "bmp", "apng", "dicom",
"jp2", "j2k", "tga", "webp", "tif", "gif", "ico");
List<String> vectorFormats = Arrays.asList("svg", "otg", "odg", "eps", "wmf", "emf", "wmz", "emz", "cmx", "cdr");
List<String> allFormats = new LinkedList<>(rasterFormats);
allFormats.addAll(vectorFormats);
allFormats.forEach(
formatExt ->
{
String inputFile = templatesFolder + "template." + formatExt;
boolean isVectorFormat = vectorFormats.contains(formatExt);
//Need to rasterize vector formats before background remove
if (isVectorFormat)
{
inputFile = rasterizeVectorImage(formatExt, inputFile);
}
String outputFile = templatesFolder + String.format("%s_%s.png", filterName, formatExt);
System.out.println("Processing " + formatExt);
try (RasterImage image = (RasterImage) Image.load(inputFile))
{
doFilter.accept(image);
//If image is multipage save each page to png to demonstrate results
if (image instanceof IMultipageImage && ((IMultipageImage) image).getPageCount() > 1)
{
IMultipageImage multiPage = (IMultipageImage) image;
final int pageCount = multiPage.getPageCount();
final Image[] pages = multiPage.getPages();
for (int pageIndex = 0; pageIndex < pageCount; pageIndex++)
{
String fileName = String.format("%s_page%d_%s.png", filterName, pageIndex, formatExt);
pages[pageIndex].save(fileName, new PngOptions());
}
}
else
{
image.save(outputFile, new PngOptions());
}
}
//Remove rasterized vector image
if (isVectorFormat)
{
new File(inputFile).delete();
}
}
);
}
private static String rasterizeVectorImage(String formatExt, String inputFile)
{
String outputFile = templatesFolder + "rasterized."+ formatExt + ".png";
try (Image image = Image.load(inputFile))
{
image.save(outputFile, new PngOptions());
}
return outputFile;
}
 
  • Aspose.Imaging for Java 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 या बाद के संस्करण हैं।

    अधिक पढ़ें

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

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

    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 (अपाचे ओपनऑफिस ड्रा प्रारूप)