Medikal görüntüyü sıkıştırmanın sebebi nedir?

Sıkıştırılan bir medikal görüntünün boyutu azalır dolayısıyla da aktarım süresi ve depolamak için gereken zamanda da azalma gerçekleşir. Tabi kullanılan görüntü sıkıştırma yöntemine bağlı olarak medikal görüntünüzün kalitesinden ve tanı koyma yeteneğinizden de olabilirsiniz. Dolayısıyla medikal görüntülerin sıkıştırılması konusunda bilinçli olmak size çok şey kazandıracaktır.

Geçen günlerde daha önceden yabancı kökenli bir PACS sistemi kullanan ama bizim sistemi gördükten sonra altyapısını bize açıp tüm sistemini bizim PACS sistemine geçirmek isteyen bir müşterimizde bazı ilginçliklerle karşılaştık. Çok pahalı ve uluslararası alternatifimiz olan bir sistemde PACS sunucusu üzerinde DICOM görüntüler ziplenmiş olarak! saklanıyor ve bunun da sıkıştırma olduğu düşünülüyordu zannettiğim kadarıyla :) Tabi aslinda daha kötüsü bu Open DICOM Architecture ile tezat oluşturuyor ve PACS veri tabanındaki DICOM görüntülerin sorgulanıp görüntülenmesini ( DICOM Query ve DICOM Retrieve ) imkansız hale getiriyor. Müşteriyi de tek bir sisteme mahkum kılıyor. Bu tarz ahlaksızlıkların yabancı firmalar tarafından yapılması kimseye yapma hakkı tanımaz ama bu daha çok alıcının bilinçlenmesi ile ilgili bir konu bana göre.

Bu bizi şoke eden ve şirkette epey geyiğini döndürdüğümüz konunun sonunda ben medikal görüntülerin sıkıştırılması ve bunun PACS altyapısındaki yeri üzerine yazmaya karar verdim. Doktora yeterlilik sınavlarım yeni bitti aylardır stresli bir şekilde çalışıp uzak kaldığım günlüğe de taze bir dönüş olur diye düşünüyorum.

Yazıya başlamadan önce konuyla ilgilenen ama literatür eksikliği çeken arkadaşları Medikal Görüntü İşleme hakkındaki terminolojimi okumaya davet ediyorum.

PACS ve DICOM açısından medikal görüntü sıkıştırma arkaplanı :

PACS medikal görüntülerin sıkıştırılmasından görüntü aktarımını hızlandırmak ve depolama alanını azaltmak anlamında faydalanır. Bu ikili bile aslında çok önemli kriterler ve sağlam bir PACS sunucusu için gereken bileşenlerdir.  Yazıyı yazdığım yıl 2009 itibarıyla sadece Amerika’da elde edilen medikal görüntü boyutu petabyte seviyelerini geçmiştir ve her yıl daha da artmaktadır. Görüntü sıkıştırma PACS için gittikçe daha da anahtar bir bileşen haline gelmekte ve bu altyapı PACS’in görüntü aktarım hızı ve depolama kapasitesi üzerinde devasa değişkenlikler oluşmasını sağlamaktadır. Bu yapıtaşı öncelikle tıbbi teşhisi sağlayacak görüntü kalitesini kaybetmeden görüntüyü saklamak ve göstermek için gereken bit boyutunu azaltmaktadır, ikinci olaraksa medikal görüntü gösterim işistasyonlarına ağ üzerinden aktarılacak görüntülerin hızlıca hedeflerine gönderilmelerini sağlamaktadır.

Teknik olarak görüntü sıkıştırma algoritmaları ikiye ayrılırlar. Bunlardan geriye dönülebilir olan ilki “lossless” yani kayıpsız, veya “error free” – hatasız sıkıştırma olarak geçer. Geriye dönülebilir yapılar 2:1 veya 3:1 oranlarında sıkıştırma sağlarlar ve orjinal görüntüye tümüyle geri dönüş imkanı sağlarlar.  İkinci sırada ise geri dönülemez olan versiyon veya “lossy” yani kayıplı sıkıştırma vardır, geri dönüldüğünde orijinal görüntüye dönüş imkanı vermez ama kayıpsıza göre çok daha yüksek ( 10:1 den 50:1 ve daha fazlasına kadar ) sıkıştırma oranı sağlar. Genel olarak konuşacak olursak daha fazla sıkıştırmanın fiyatı görüntü kalitesinden ödün vererek sağlanabilir. Bir başka deyişle sıkıştırma oranı yükseldikçe görüntü kalitesi düşer.  Tabi medikal görüntüleme söz konusu olduğunda başka şekilde sıkıştırmalar da ihtiyaç kökenli olarak ortaya çıkmış ve bunların geneline klinik görüntü sıkıştırma adı verilmiştir. Burada hekimler tarafından hastanın seri görüntülerinden belirlenen bir kaç görüntünün depolanması söz konusudur. Depolanan görüntüler daha sonrası için dönüşümlü olarak sıkıştırılabilir veya sıkıştırılmayabilir de burada önemli olan yüzlerce görüntüden en gerekli olanların saklanıp kalanların atılmasıdır. Örneğin bir baş MR görüntüsündeki 100’lerce kesitten teşhis için sadece 3-4 tanesi önem taşıyabilir ve kalanları atılabilir. Tabi bu mantık bana göre depolamanın zorluklarla dolu olduğu ilk zamanlardan kalma bir ara çözümdür. Hangi medikal görüntünün ne zaman işe yarayabileceğine karar vermek çok zordur, ya atılan bu görüntüler bir kaç ay sonraki görüntülerle kıyaslanmak istense ne yapılacak? İlk günlerde bu da ara yöntem olarak ortaya çıkmıştır.

Görüntüdeki kalite kaybı göz tarafından algılanamayabilir bu tarz gözle algılanmayacak şekilde kalite kaybına “visually lossless” yani görsel açıdan kayıpsız denilir ve bu şekildeki kayıplı sıkıştırmalardan gözle algılanamayanlarını karakterize etmede kullanılır.

Kayıplı ve Kayıpsız Sıkıştırma Yöntemi
Kayıplı ve Kayıpsız Sıkıştırma Yöntemi

Benzeri bir terim olarak da ACR-NEMA ( American College of Radiology and the National Electrical Manufacturing Association ) namı diğer DICOM’un yaratıcıları tarafından ortaya atılan “information preserving” – bilgiyi koruyan da kullanılabilir.   ACR-NEMA, DICOM standardı elde edilen görüntü eğer tıbbi anlamda orijinal görüntünün tüm bilgisini koruyorsa bunu bilgiyi koruyan olarak adlandırır. Her ik terim yani “visually lossless” ve “information preserving” subjektif terimlerdir ve bu konular üzerine çalışırken çok dikkatli olmalıdır. Biz bunları yapıyoruz diyen kişilerden bunları nasıl yaptıklarına dair gerekçelendirmeleri de öğrenilmelidir.

Günümüzde, kayıplı sıkıştırma ana teşhis açısından radyologlar tarafından genelde kullanılmamaktadır. Radyologlar özellikle kayıplı görüntü üzerinden konabilecek olası yanlış tanının hukuki geri dönüşlerinden korkmaktadırlar. Kayıplı sıkıştırma kullanıcılarda olduğu kadar üreticilerde de çeşitli sorulara yol açmıştır ve bu konuya yazının ilerideki aşamalarında döneceğiz ama şimdilik şunu bilmekte fayda var Amerika’da FDA (  Food & Drug Administration ) bu konuda yönlendirici regülasyonlar çıkartmıştır.

Kayıpsız sıkıştırma algoritmaları:

Arkaplan Çıkarımı : ( Background Removal )

Burada ana espirimiz görüntü üzerinde arkaplana dahil olan fazlalık kısımları gözardı etmektir. Özellikle CT – MR gibi kesit görüntülerde güzel bir segmentason da başarılmışsa başarılı sonuçlar verebilir. Tabi burada lossless yapının sadece ilgi alanımız olan ROI için geçerli olduğunu bu alan dışında kalan kısımın ise zaten işe yaramaz olduğu için kaybedilebilir olduğunu unutmamak gerekir. İlk örnek olarak 512×512 CT görüntüsünün ROI ( Region of Interest ) yapısının belirlenmesi ve bunun dışında kalanların atılmasını gösterebiliriz. Geriye kalan ROI daha sonra diğer kayıpsız sıkıştırma algoritmaları ile de sıkıştırılabilir.

ROI Belirlenen CT Görüntüsü
ROI Belirlenen BT Görüntüsü

Medikal Görüntü İşleme ve Sinyal İşleme camiası için segmentation büyük bir inceleme alanıdır ama bir çok başarı da elde etmek olasıdır. Yapmamız gereken konu basit sayılabilir aslında.  Diyagnostik değeri olmayan bölgeleri bul, bunları adama saymayıp hepsine 0 değeri ata ve sonra bütün görüntüde kayıpsız sıkıştırma yap. 0 atanmış olanlar zaten mis gibi sıkıştırılacaklardır :)

Segmentasyon ile sınırları çizilmiş CT görüntüsü
Segmentasyon ile sınırları çizilmiş CT görüntüsü

Sözün özü sağlam arka plan bulabilen sistemler sıkıştırmada büyük avantaj elde ederler. Bunu başarabilmek için de Medikal Görüntü İşleme konusunda akademik altyapı ile pratik yazılım deneyimini birleştirebilmek önem addeder.

Run – Length Coding: RLE

Öncelikli olarak günlüğü okuyanlardan her terimi Türkçe kullanamadığım için özür dilerim ama bu kadar temel bilgisayar bilimi terimlerini nasıl ifade edeceğimi bilemiyorum ve açıkçası bunlara kafa yormak da istemiyorum, eleştirecek arkadaşları da benzeri Türkçe kaynak aramaya davet ediyorum, nasıl olsa bulamayacaklar :)

RLE en ilkel sıkıştırma yapılarından birisidir. Birbirini tekrar eden komşu pikselleri sayıları kadar belirtirsiniz örneğin bir satır ” 16 02 20 06 16 16 16 16 16 16 16 22″ diye gidiyorsa RLE dizini : 1 16-1 02-1 20-1 06-7 16-1 22 şeklinde olacaktır. Burada sizin de gözünüze çarpacak olan sorunlardan en açık olanı ardışıl piksellerin devamlı birbirinden farklılık göstermesidir, bu durumda Gri Skala 8 Bit lik bir görüntüde her bir piksel için 2 Byte’lık sayı kullanma söz konusu olabilir ki bu da görüntüyü 3 katına çıkartabilir.

lossless compression comparison
Kayıpsız sıkıştırma algoritmalarının sıkıştırma performansları kıyaslaması

JPEG 2000

Bu tablodan da görülebileceği gibi iki boyutlu sinyallerin sıkıştırılmasında öne çıkan en önemli bileşenlerden birisi JPEG 2000 olup aynı zamanda diğer alternatiflere göre DICOM 3.0 protokolünce de desteklenmenin avantajını yaşar. Günümüzde JPEG 2000 sıkıştırma ve açma yeteneği olmayan bir yazılımın DICOM 3.0 uyumluluğu sorgulanmaktadır. Bu konu teorik olarak algılanması zor ve yazımızın genel anlatmak istediklerinin ve kapsamının sapmasını sağlayacak kadar da uzun anlatılması gereken bir konudur. Yakın zamanda JPEG 2000 ile medikal görüntü sıkıştırma hakkında kapsamlı bir yazı planladığım için şimdilik isteklilerine ipucu vermekle yetineceğim. Görüntü işleme konusunda çalışan veya ders almış her okuyucunun bileceği Wavelet trasnformlarının devrimsel yapıları sayesinde ( ilgilenenler önce Fourier transfromları öğrenmeli sonrasında da sinyal özetlemenin harika yolu olan Sub-Band Encoding / Decoding konularına bakıp matematikleri yetmediği anda vazgeçip işi bilenlere yani bize bırakmalılar :) ) kayıplı sıkıştırmada da yüksek oran ve güzel görüntü kalitesi sağlanabilir. JPEG 2000’in temelinde de Wavelet transformlar yatar ve görüntüyü daha alt çözünürlüklerde özetleyerek ortaya bir piramid mimarisi koyar. Bu noktada özet görüntülerin sıkıştırılması sayesinde istenildiğinde görüntüdeki bir çok lekeden kurtulma şansı doğar.  Özellikle gri skala yapısındaki ( medikal görüntüler gibi ) görüntüleri sıkıştırmada çok başarılı olan bu sistem alt çözünürlüklerde örnekleme yeteneği sayesinde teleradyoloji gibi kısıtlı veri aktarım imkanı olan yerlerde de yoğun kazanç elde edilmesini sağlar. Neyse daha fazla kafa karıştırmaya gerek yok, bu konuyu dilim döndüğünce anlatmaya çalışacağım o yüzden şimdilik burada kesiyorum. Son olarak JPEG 2000 hiç bir şey yapmasa dahi öncülü JPEG standardına göre %20 başarılı sıkıştırır, ayrıca başarılı bir JPEG sıkıştırma için genelde görüntünün özetlenmesi gerekirken JPEG 2000 zaten bunu doğası gereği ilk başta yapmak zorundadır.

Renkli Görüntü Sıkıştırma

Radyolojik görüntü elde etmede geleneksel olarak ışık kaynaklarından teşhis amaçlı görüntü oluşturmak amacıyla faydalanılmaz dolayısıyla radyolojide renkli görüntüler çok az kullanılır. Renkten çoğunlukla tıbbi görüntüyü geliştirme anlamında faydalanılır konuyu gözümüzde canlandırmak için ülkemizde çok moda olan renklendirilmiş Çanakkale Savaşı veya Atatürk’ün görüntülerini düşünebiliriz, aslında gri skalada olan bu resimler daha sonradan renklendirilmişlerdir. Tabi tedavi amacıyla düşündüğümüzde insanlar arasında en fazla gri skala ayrımı yapabilen Radyoloji mesleğinden gelenler için bunun pek bir anlamı yoktur ama diğer branşlardaki az eğitimli gözlerin buna ihtiyacı olabilir. Bu anlamda renkli görüntünün faydalı olduğu dallardan birisi de nükleer tıp görüntülemesindeki aktörler SPECT ve PET olabilir ama bu kısımlarda sıkıştırma genelde kullanılmaz çünkü elde edilen görüntülerin dosya büyüklükleri görece küçük sayılabilir.

Burada öne çıkan ve standartsızlığın at koşturduğu başka medikal görüntüleme dallarını unutmamakta fayda var aksi takdirde konuyla ilgililer beni “Doppler Ultrason renksiz mi? Endoskopi sistemleri tüm gökkuşağını barındırıyorlar! Sen mikroskoplarla elde edilen görüntüleri adamdan saymıyor musun?” şeklinde topa tutarlar. Açıkçası bu görüntülerin yakalanması ve aktarılmasıyla yıllarca uğraşmış da olsam, ortağım Eren ve benim master konularımızın endoskopi kayıt sistemlerinin verimliliği üzerine de odaklanmış olsa bu yapılardan sıtkımız sıyrılmış durumda. Sırf yüksek yer kapladıkları ( saatler süren bir laparoskopi kaydı veya 20-30 saniyelik Doppler Ultrason’u bir düşünelim ) için yıllarca PACS sistemleri bu verilere nasıl yaklaşacaklarını bilemediler. Bunun sonucu olarak meydan medikal görüntüleme sistemleri ve yapıları hakkındaki bilgili olanlardan daha çok bunları güvenlik kamerası sistemleri kaydıyla aynı tutan ve DVR benzeri sistemleri pazarlayanlara kaldı. Bu tüm dünyada aynı şekilde gerçekleştiği için renkli ve sıkıştırılmış büyük görüntülerin DICOM haline getirilmesi ve daha sonra da saklanması sorun haline geldi. Sonuçta bu görüntüleri saklayan yazılımlar yerden kazanabilmek için veri kaybını göze aldılar ve DICOM uyumlu olmayan sıkıştırma formatlarına eğilmek zorunda kaldılar. Tabi bu sistemlerde DICOM aktarımı vb var artık ama hala içsel yapılarında DICOM uyumlu sıkıştırma formatı kullanmıyorlar. Biz burada DICOM uyumlu olmayan yapıları düşünmek yerine başka bir metoddan bahsedelim.

Renkli görüntüler üç banttan oluşurlar: Kırmızı – Yeşil ve Mavi (RGB – Red – Green – Blue ), bu kanallar üç ayrı bağımsız görüntü olarak ele alınır ama gösterileceği zaman birleştirilirler. Bu yapı RGB uzayı veya renk uzayı olarak anılır ve CIE (Commission Internationale L’Eclairag ) tarafından geliştirilmiş bir gösterim yapısıyla bir üçgenin köşeleri olarak gösterilir. CIE renk uzayı gösterimi Luminance ( parlaklık ) ile Chrominance ( hue – renk ) yapılarının ayrıştırılmasına fayda sağlar. Bu yapının desteğiyle NTSC ( National Television System Committee ) YIQ adı verilen yeni bir renk uzayı belirledi. Burada görüntü sırayla Luminance, In-phase Chrominance ve Quadrature Chrominance koordinatlarına ayrıştırıldı. Dijital görüntülemede ise YCbCr oluşturuldu. Standart RGB’den YCbCr ye geçiş aşağıdaki gibidir:

   Y  =  0.2989 R + 0.5866 G + 0.1145 B
   Cb = -0.1687 R - 0.3312 G + 0.5000 B
   Cr =  0.5000 R - 0.4183 G - 0.0816 B

Sadece bu geçiş bile medikal görüntü üzerinde 2:1 oranında bir sıkıştırma sağlar, bu oranın doğrulanması ile ilgilenenler internetten bir çok örnek bulabilirler ama şimdilik yazarın söylediklerine biat etmenizde fayda var. Bu çevrimden sonra Y, Cb ve Cr bileşenleri ayrı olarak sıkıştırılabilirler ki medikal görüntü sıkıştırma konusundaki ilk sevgilimiz JPEG bu tekniği kullanır. Burada belli bir yöntemi öne çıkartmaya çalışmıyorum, mühendislik hayatım boyunca bu kısımlarda DivX, ASF, MPEG-4, MPEG-4 Part 10 ( H264 ) kullanan bir çok sistem gördüm, onlar kötü bu yöntem en babası demiyorum hatta bahsettiğim yöntem genelde daha az sıkıştırma sonuçları döndürür ama medikal görüntü sıkıştırma konusu bir yarışmadan önce bilimsel standartların kullanılmasınını ve DICOM uyumluluğunu şart koşar. Yoksa bizim askeri ve milli güvenlik sistemlerimizde benzeri sıkıştırma yapılarını destekliyoruz hatta bu konuda (mesela H264 ) ülkemizin en iddialı şirketlerinden birisiyiz, sadece bu sıkıştırma standartlarını müşterimiz aksini istemedikçe medikal ürünlerimize yerleştirmiyoruz.

DICOM Standardının ve kurumların Medikal Görüntü Sıkıştırma hakkındaki kısıtlamaları :

Kayıpsız sıkıştırma genelde görüntü boyutunda 2:1 veya 3:1 oranında azalma sağlar. Bunu arttırabilmek için tıbbi değeri olmayan kısımların ( arka plan )  ana görüntüden ayrıştırılması gibi yöntemlerden faydalanabileceğimizden bahsetmiştik. Tabi bu genelde kullanıcının katılımını gerektiren senaryolar oluşturur, Amerika veya Avrupa’da hemen hemen her hastanede PACS yöneticiliği bu ve benzeri konulardan dolayı özelleşmeyi ve eğitimi gerektirirken bizde sistem yönetimi bile komşu internet kafe sahibinin ellerinde olduğu için gerçekçi olmakta fayda var diye düşünüyorum. Medikal görüntüyü kayıplı sıkıştırma konusu kanuni sorunlarla karşılaşabilir, sonuçta orjinal görüntüden kayıp söz konusudur ve bu konuda neler yapıldığına göz atmakta fayda var.

Klinik çalışmada medikal görüntü sıkıştırma konusu iki ana kurumdan etkilenmiştir bunlardan birincisi Amerikan Yiyecek ve İlaç Yönetimi ( FDA – Food and Drug Administration ) kurumuna bağlı CDRH ( Center for Devices and Radiological Health ) olup, ikincisi ise canımız ciğer paremiz DICOM 3.0 ( Digital Imaging and Communication in Medicine ) standardını ortaya çıkartan ACR / NEMA ( American College of Radiology / National Electrical Manufacturers Association ) kurumudur.

FDA

FDA sıkıştırma konusunu kullanıcın ellerine bırakmıştır. Tabi bunu yaparken kullanıcının karar verebilmek için kayıplı medikal görüntü sıkıştırma manifestosunun verilmesini medikal görüntülerde kayıplı sıkıştırma oranlarının sıkıştırılan medikal görüntüye eklenmesi için gerekenlerin yapıldığına emin olunmasını şart koşmuştur. Üreticilerin kullanıcı dökümanlarına medikal görüntüde kayıplı sıkıştırma yapılması konusunda bilgilendirici kısımlar koymaları gerekmektedir. Ayrıca bir medikal görüntüleme cihazı yeni medikal görüntü sıkıştırma teknolojisi kullanıyorsa bunu pazarlama faaliyetlerinden önce bildirmekle zorunludur. Ülkemizde bazı hocalarımızdan duyduğumuz “X firmasının yeni cihazı medikal görüntüsünü öyle bir sıkıştırıyormuş ki bu kadar olur!” gibisinden laflarını Amerika’da o kadar rahat duyamayacağımız böylece garntilenmiş olur. Kim ne yapsın standart dışı sıkıştırmayı? Bunu gerçekten anlayamıyorum, bir yandan herkes standartların öneminin farkında bir yandan da standart dışı olabilecek sistemlerin sadece kendi cihazında olabileceğiyle övünmekte, iyi bir yazılım sistemi için açar bu satndartları okursunuz ve herkesle uyumluluk sağlarsınız bunu yapınca başkasına göre eksik görğnmek veya algılanmak son derece üzücü. 1993 tarihli PACS yönlendirme dokümanı üreticilerin medikal görüntüleri kayıplı sıkıştırma ve aktarma yetenekleriyle ilgili olarak NMSE ( Normalized Mean-Square Error) değerlerini paylaşmalarına izin verir. Bu değerin seçilmesinin ana nedeni üreticilerin de kendi testlerinde bu değerlerden faydalanmaları ve bu değerlerin objektif olmalarıdır. Tabi NMSE’nin lokal bilgi kaybıyla ilgilenmediğini de unutmamak gerekir.

Sonuç olarak Amerika’da aldığınız bir medikal görüntüleme cihazının kayıplı sıkıştırma ile depolama yapmasına izin vermek kullanıcının elinde, ama bu yüzden hasta görüntüsünde veri kaybı olursa ve bu sonradan tedavi sürecini sıkıntıya sokarsa ceremesine de aynı kullanıcı katlanmak zorundadır. Bir PACS kurulumu sırasında dünyaca ünlü bir DR üreticisinin görüntülerinde Default sıkıştırma yapılarının görüntüyü gerekenden fazla sıkıştırması sonucunda biz cihazda sıkıştırma yerine PACS sunucusunda sıkıştırma yoluna gittik ve üreticinin Amerika marketindeki sorunlarla ilgili bilgilenmesini sağladık ve aldığımız tepkiler doğru düşündüğümüzü görmemize yardımcı oldu. Üretici de kendi sistemini hemen düzelterek işin ciddiyetini algıladığını gösterdi.

DICOM

DICOM ilk defa sıkıştırma konusunu ortaya attığında başlarda Arttırımsal Block DCT ardından gelen Huffman kodlamanın kullanıldığı JPEG temelli yapıyı hem kayıpsız hem de kayıplı medikal görüntü sıkıştırma ile yola çıkmıştı. Günümüzde ise Wavelet transformlarca desteklenen JPEG 2000 ( ISO/IS 15444 ) kayıplı ve kayıpsız medikal görüntü sıkıştırma konusunda temel altyapı haline gelmiştir. DICOM görüntüsünde JPEG 2000 sıkıştırma yapılması DICOM dosyasının başlığında transfer yapısı kısmında belirtilmelidir. Kayıpsız ve kayıplı olmak üzere iki farklı transfer yapısı DICOM başlığı için belirlenmiştir.

“Bunlar yetmez DICOM sıkıştırmanın dibine kadar anlaşılmasını görev addeddim!” diyorsanız ACR/NEMA sayfasından ( linklerde vermiştim bir zahmet oradan bakınız ) 5. kısmı indirsinler. Annex A4.1 JPEG, A4.2 JPEG LS, A4.3 RLE ve A4.4 JPEG 2000’e ayrılmıştır. Ama medikal görüntü sıkıştırma yapılarının günümüzdeki kralı JPEG 2000 için benim keyfimi de bekleyebilirsiniz, ona bir itirazım olmaz :)

2 Responses to “Medikal Görüntü Sıkıştırma, DICOM ve PACS”

  1. Fatih says:

    Araştırdığım yazılar arasında türkçe olması bir yana en faydalı makalelerden birisi. teşekkürler.

Leave a Reply