DCM'den JPG'ye dönüştürücü

Java’da DCM’yi JPG’ye dönüştürme

Tıpta Dijital Görüntüleme ve İletişim (DICOM), tıbbi görüntüleme bilgilerinin ve ilgili verilerin iletişimi ve yönetimi için standarttır. Ayrıca, zengin bir meta veri kümesiyle birlikte birden çok tek renkli görüntü içerir. Bu tür bilgiler, hasta bilgileri, kurum, modalite ve daha pek çok şey olabilir. Ayrıca tarayıcılar, sunucular, iş istasyonları, yazıcılar, ağ donanımları gibi tıbbi görüntüleme cihazlarının entegrasyonunu kolayca sağlayabildikleri için popülerdir. Ancak, DICOM görüntüsünü görüntülemek için özel bir uygulamaya ihtiyacımız var ve onu bir web sayfasında görüntülememiz gerektiğinde gerçekten zorlaşıyor. Dolayısıyla uygulanabilir çözümlerden biri DICOM’u JPG biçimine dönüştürmektir. JPEG dosyalarının bir başka yararı da tek bir tek renkli (veya renkli) görüntü içermesidir. JPG görüntüsünün ilişkili bir meta verisi olmadığından, görüntünün boyutunu azaltır ve çıktı da sıkıştırılmış/boyut olarak daha küçüktür.

DICOM Görüntüleri Dönüştürme API’sı

Aspose.Imaging Cloud SDK for Java, popüler görüntü formatlarını işleme yeteneklerini uygulamanıza olanak tanır. Raster görüntüleri, Photoshop dosyalarını, Meta dosyaları ve WebP gibi diğer biçimleri düzenleyebilir ve dönüştürebilirsiniz. Benzer şekilde, DICOM görüntülerini eşit derecede işleme yeteneğine sahiptir ve biz onu DCM’nin JPG formatına dönüştürülmesi için kullanacağız. Şimdi SDK kullanımına başlamak için pom.xml (maven yapı tipi proje) içine aşağıdaki bilgileri dahil ederek java projemize referansını eklememiz gerekiyor.

<repositories> 
    <repository>
        <id>aspose-cloud</id>
        <name>artifact.aspose-cloud-releases</name>
        <url>https://artifact.aspose.cloud/repo</url>
    </repository>   
</repositories>

<dependencies>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-imaging-cloud</artifactId>
        <version>22.4</version>
    </dependency>
</dependencies>

Aspose Cloud Dashboard‘a zaten kaydolduysak, lütfen müşteri kimlik bilgilerinizi Cloud Dashboard‘dan alın. Aksi takdirde, geçerli bir e-posta adresi kullanırken önce ücretsiz bir hesap açmanız gerekir.

Java’da DCM’yi JPG’ye dönüştürme

Bu bölümde, Java kod snippet’i kullanılarak DCM’nin nasıl yüklenip JPG formatına dönüştürüleceğine ilişkin ayrıntılar sağlanmaktadır.

  • Kişiselleştirilmiş müşteri kimlik bilgilerini kullanarak bir ImagingApi nesnesi oluşturun
  • Şimdi readAllBytes(…) yöntemini kullanarak DCM dosyasını yükleyin ve byte[] dizisine geçin
  • DICOM görüntü adı bağımsız değişkenini sağlarken ve bunu uploadFile(…) yöntemini kullanarak bulut depolamaya yüklerken bir UploadFileRequest örneği oluşturun
  • Sonraki adım, giriş DCM adını ve JPG’yi bağımsız değişken olarak alan bir ConvertImageRequest nesnesi oluşturmaktır.
  • DCM’yi JPG biçimine dönüştürmek için convertImage(…) yöntemini çağırın ve sonuç yanıt akışı olarak döndürülür
  • Son olarak, ortaya çıkan JPG’yi FileOutputStream nesnesini kullanarak yerel sürücüye kaydedin.
// ClientID ve ClientSecret'i https://dashboard.aspose.cloud/ adresinden alın
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// Görüntüleme nesnesi oluştur
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// DICOM görüntüsünü yerel sürücüden yükle
File file1 = new File("skull_2.dcm");
byte[] imageStream = Files.readAllBytes(file1.toPath());
			
// dosya yükleme isteği nesnesi oluştur
UploadFileRequest uploadRequest = new UploadFileRequest("input.dcm",imageStream,null);
// DICOM görüntüsünü Bulut depolamaya yükleyin
imageApi.uploadFile(uploadRequest);

// görüntünün çıktı biçimini belirtin
String format = "jpg";

// Görüntü dönüştürme isteği nesnesi oluştur
ConvertImageRequest convertImage = new ConvertImageRequest("input.dcm", format, null, null);
// DCM'yi JPG'ye dönüştürün ve çıktıyı yanıt akışında döndürün
byte[] resultantImage = imageApi.convertImage(convertImage);

// Ortaya çıkan JPG'yi yerel sürücüye kaydedin
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "Resultant.jpg");
fos.write(resultantImage);
fos.close();

Yukarıdaki örnekte kullanılan örnek DICOM görüntüsü skull2.dcm adresinden ve çıktı Resultant.jpg adresinden indirilebilir.

dcm'den jpg'ye dönüştürme

Resim:- DCM’den JPG’ye dönüştürme önizlemesi

cURL Komutlarını kullanarak DCM’den JPG’ye

REST API’lerine programlama dili dışında cURL komutları aracılığıyla da erişilebilir. Aspose.Imaging Cloud, REST mimarisine göre geliştirildiğinden, bu yazıda, cURL komutlarını kullanarak DICOM Görüntülerini JPG’ye dönüştürmenin ayrıntılarını tartışacağız. İlk adımlar, aşağıdaki komutu kullanarak bir JWT erişim belirteci (istemci kimlik bilgilerine dayalı) oluşturmaktır.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bb959721-5780-4be6-be35-ff5c3a6aa4a2&client_secret=4d84d5f6584160cbd91dba1fe145db14" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

JWT oluşturma işleminden sonra, DCM’yi JPG formatına dönüştürmek için lütfen aşağıdaki komutu yürütün.

curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/input.dcm/convert?format=Resultant.jpg" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-o Resultant.jpg

Çözüm

Aspose.Imaging Cloud SDK for Java kullanarak DICOM Görüntülerini programlı bir şekilde JPG formatına nasıl dönüştürebileceğimizin ayrıntılarını tartıştık. Aynı zamanda, cURL komutlarını kullanarak DCM’yi JPG’ye dönüştürme seçeneğini de araştırdık. Ayrıca Ürün Belgeleri, API tarafından sunulan diğer heyecan verici özellikler hakkında bilgi edinmek için harika bir bilgi kaynağıdır.

Lütfen API özelliklerinin bir web tarayıcısında SwaggerUI kullanılarak test edilebileceğini ve Cloud SDK’nın eksiksiz kaynak kodunun GitHub‘de (MIT lisansı altında) mevcut olduğunu unutmayın. rahatlığınıza göre değiştirerek. Son olarak, API’yi kullanırken herhangi bir sorunla karşılaşırsanız, hızlı bir çözüm için ücretsiz ürün destek forumu aracılığıyla bize ulaşmayı düşünebilirsiniz.

İlgili Makaleler

Hakkında daha fazla bilgi edinmek için lütfen aşağıdaki bağlantıları ziyaret edin: