Sayfalar

Perşembe, Aralık 24, 2009

ITK Örneği DicomViewer



ITK da neymiş diyenleriniz olabilir Tıbbi görüntü İşleme ve ITK yazımıza bakabilirler. O yazıda basit bir örnek hazırlama niyetinde olduğumuzu söylemiştik. Nasip bu güneymiş.

C# içinde ITK kullanabilmek için ManagedITK ya ihtiyacımız var.
Öyle güçlü bir dökümantasyonu yok malesef
ManagedITK article ile yetinmeniz lazım
Derlenmiş kütüphaneyi indirin ve ilgili dll' leri referansa ekleyin

DICOM (Digital Imaging and Communications in Medicine) değişik cihazlardan elde edilen medikal görüntülerin formatıdır.  Programımızda  basit bir Dicom Göstericisi
Daha Teferruatlı gösterici için VTK ilede uğraşmak gerekiyor...
İndirmek için : DicomViewer

Cumartesi, Aralık 12, 2009

RSS ile Çalıntılama

Epey bir süredir burada yazılar yazmaktayız. Bu yazılardan maddi bir beklentim yok. Ama pek çok reklam içerisinde ve hiç de tasvip etmediğim bir ortamda izinsiz ve bağlantı verilmeksizin, yazılarımın Çalınması hoşuma gitmiyor.  Bu  daha önce de başıma gelmişti e-maill ile halletmiştim yine aynı metodu uyguladım ;Çalıntılama yapan sitenin sahibine  whois çekerek bilgilerini aldım  (sitesine koymamış ne hikmetse )
    Orhan Yasar Celik (saykorhan@gmail.com)
    isiklar1apt 34/24 kozyatagi istanbul
    ISTANBUL
    Tel. +90.2163623956
burdaki e-mail adesiyle ulaşmaya çalıştım. Yazdığım maile karşılık

Delivery to the following recipient failed permanently:
saykorhan@gmail.com
Technical details of permanent failure:
Account disabled

cevabını aldım
Sonra o sitedeki Adsense reklamlardan "Google reklamları " kısmına tıklayınca açılan
"Google Yardımı › AdSense Yardım › Destek Ekibine Ulaşarak "  sayfasından
"Biraz önce gördüðünüz site veya reklamlarla ilgili politika ihlalini bildirin" kısmına tıklayıp
sorun konusu web sitesi seçeneğini işaretleyip
"Bu site, iznim olmaksızın, telif hakkıyla korunan içeriğimi barındırıyor veya dağıtıyor."
seçeneği ile e-mail adresimi vererek ve sayfanın orjinalinin linkiyle şikayette bulundum bir kaç kez
ama Google adsense dende bana cevap gelmedi pek umurlarında değil sanki
bütün bunların üstüne
Eğer yazılarınızın dolaşmasını istiyorsanız rss nizi açarsınız, istemiyorsanız kapatırsınız.
Blog, insanların yazı yazdığı dolayısıyla paylaşım yapılan biryerdir, benim sitem ise, farklı blogları sizlere burada tanıtmakta ve yazılarının RSS kısmını göstermektedir.
Yazılarını çaldığımı söyleyen insanlar ; bilmelidirki, rss lerini açarak, bu yazıların burada yayınlanmasını kendileri bizzat istediklerini göstermektedir. Ortada işlenen bir suç vs. yoktur.


yazma  pişkinliğini gösterdi...
Neyse lafı uzatmayalım işin detayını "Bir Blog Hırsızlığının Anatomisi" yazısından öğrenebilirsiniz.Sonuç olarak blogun RSS desteği kaldırmak zorunda kaldım ve Telif hakkı kısmı koydum. Sitede yayınladığım Programlar için aksi belirtilmediği sürece lisansları GPL dir.
.
Not : RSS desteğini kaldırdığım halde eski bir yazımı yine araklamış ne yapsak bilmem ki   :(

Yeni Not  :  Şu an itibarıyla ilgili site çeşitli gayretler sonucu kapattırılmıştır...

C# ile OpenCv kullanmak

C# ile daha doğrusu .Net in dillerinden biriyle OpenCv kütüphanesine ulaşmanız mümkün. Bu iş için yazılmış .Net kütüphanelerini hızlıca  tanıyalım

  • SharperCV :  Uzun süredir güncellenmiyor lisansı kötü
  • OpenCVDotNet : Managed c++ ile hazırlanmış, uzun süredir güncellenmiyor, lisansıda GPL
  • The OpenCV Wrapper Project : Yapı olarak aslında OpenCv ye oldukça uyumlu düşünülmüş son güncelleme Mayıs 2009 yani güncel sayılır. Fakat  "We don't allow to use the wrapper for commercial purposes. This includes reselling wether in the original or modified form (sources or binaries) or using in commercial projects." diyen çok kötü bir lisansa sahip
  •  Emgu Cv :  c# ile yazılmış ve mono ile de derlenebildiğinden cross-platform , lisansı GPL yada ticari olabiliyor tek kullanıcı için 199 $ fiyat biçmişler "If you are upgrading, you save 50% off the license fee." gibi cabası da var ve belkide ticari yanı olması sebebiyle  en profesyöneli
  • OpenCvSharp :  C# ile yazılmış ve oldukça güncel ve ticari kullanım içinde gayet uygun LGPL lisansına sahip Mono ile de kullanılabiliyormuş yani cross-platform. Bizim tavsiye ve tercih ettiğimiz kütüphane de bu.




Gelelim Örneğimize  Web Kamera dan Görüntü alıp onun üzerinde basit işlemler uygulayan ve avi olarak kaydedebilen küçük bir programcık.
IDE olarak Visual C# 2008 Express kullanıldı
Derlemek için OpenCvSharp OpenCv 2.0 için olan versiyonu kullanıldı

Indirmek için burdan buyrun  :  Effects

Cuma, Aralık 04, 2009

Text Generator



ısırmış ve, “Al bak harika!” diyerek uzatmış, küçük oğlana gelmiş. Elindeki ışığı kızın ana-babasına yollamış. Onları karşısında görünce hemen ormana varmışlar. Ormanda bir ülkeye gitmiş. Tavukla horozun parlak ışıklar sızan son gemiden ona acımışlar ve sert geçmiş. Çirkin Ördek, ama prense dönüşmüş. "Korkma, " En altta eşek, köpek eşeğe. " diye düşünmüş Güzel. “Seninle evlenmek zorunda bırakmışlar. Küçük oğlan hemen bir daha fazla bir kucak dolusu güzel bir çocukmuş. Sabah gözlerini açmış sanki. Her yer istemiş. Ak sakallı adam kıza dönerek "burada her rastgeldiği insana, “Bu taraftan gelin,” demiş. Dışarı çıkmış; arpa getirerek tavukla horozun önüne serpmiş. İneğe de öğle yemeğimi büyük ve bir süre sonra her şeyden bol bol var! Haydi merdivenden yukarı çıkmış. Güzel tavukla horozun önüne serpmiş. İneğe de soğukmuş. Şimşekler çakıyor, rüzgâr yerden çıkıp gitmişti... Herhalde dosdoğru yoluna oğul, ben Çirkin Ördek’in tam mı yitireyim?” demiş. "Bir kese altının çalıntı olduğuna karar vermiş, üçünü de dillerde yankılanmış. 
 İlk C# örneğimizi yayınlıyoruz. Bir ilk de örneğin alanı -ucundan kıyıcığından bir örnek sayılır belki - Doğal Dil İşleme ( Natural Language Processing).

Yapılan işlem pek de karmaşık değil.Kendisine verdiğimiz yazıları kelime çiftlerine ayırıp peş peşe gelme sayılarını tutuyor. ve  Yazı üreteceği zaman bir kelimeden diğerine peş peşe gelme sıklığını  kullanarak seçiyor.sonuçtada yukardaki gibi yazılar çıkıyor.Başlangıç verileri için İnternetten bulduğum masalları ekledim.


İndirmek için : TextGen

Çarşamba, Aralık 02, 2009

Bizden Haberler

Necefli Maşrapa ile ara verdik Bu da geçer Ya Hu ile döndük şükür...

Ekonomik krizin etkisiyle azalan işler, azalan çalışma saatleriyle devam ediyor. Bütün bunların üstüne ücretsiz izinler ve olan işinide kaybetme psikolojisindeki patronlarla muhatap olmak gibi sıkıntılar içindeyiz.

Bu artan sıkıntılarımızdan ve boş vaktimizden haberdar bazı dostların   " Bırak bu entel dantel işleride .Net öğren piyasanın %70'i bunu istiyor artık. olurda işsiz kalırsan işine yarar" mealindeki nasihatlarına uyup C# öğrenmeye başladım.

C  / C++ bilen biri olarak pekde zorlanmadım. Pek çok özelliği aynı. Programlama ortamı da bana (Toprağı bol olsun ! ) bizim CBuilderı hatırlattı.  Yabancılık çekmedim kısacası. Tuhaf buluğum taraflarıda oldu tabii
  • printf yerine paskalvari writeline kullanmışlar en kötüsüde güzelim format sitilini değiştirmişler
  • Referans ve Değer kullanımını aynı şekilde yapmışlar.
  • Fonksiyon pointerlar yerine Delegate denen bir şey varki evlere şenlik
  • Dilin özelliklerinin sürekli değişmeside hoşuma gitmedi Başlangıçta beğenilen sistemlerin özelliklerinin alınması iyi bir şey ama bu nun süerkli hale gelmesi hiç hoş değil bence. Ben şahsen Dilin kurallarının biraz durağan olması taraftarıyım. zırt pırt değişmesi hoş değil.
  • FLTK ya alışmış biri olara bir kamyon DLL ile bağlı program yazmak tuhaf geliyor.
işin güzel olan tarafı Pek çok Kütüphanenin eşleniği yada .Net wrapper'ı var. Alıştığımız kütüpanelerden feragat etmemiş olacağız yani. Üstelik Microsoftun şimdilik göz yumduğu Mono sayesinde Cross-Platform uygulama geliştirmeniz mümkün. Sözün kısası  C / C ++ dan vazgeçmedik ama Pekiştirmek için bir süre C# ile yazılmış örnek programlar görürseniz şaşırmayın.

Gelelim ikinci haberimize.  FannTool'un kullanım kılavuzunun İngilizce versiyonu çıktı. Sağ olsun  Dr. Michael Schaale yardımcı oldu. indirmek için FannTool Users Guide laf aramızda Türkçesinden de daha derli toplu oldu.FannTool  için yardım istediğimizide bu vesileyle duyurmuş olalım. Kimbilir belki sesimizi Türkiyeden de duyan olur...

Cumartesi, Kasım 28, 2009

Bu da geçer Ya Hu



Hem dünyaya tapınırcasına bağlanan böylece yüreği taşlaşan, hem de bin bir sıkıntı içinde kıvranan, dertlenen insana ne güzel bir ders verir. “Bu da geçer ya hu!.

Günümüz insanı; yalnızlığı, huzursuzluğu derinden yaşıyor. Hep maddi çıkar peşinde koşan, adeta insanlığı, insani değerlerini unutan insan, kendi ektiğini acı bir şekilde biçiyor.
“Hep ben, hep bana” düşüncesini kendisine rehber edinen, böylece bireyselliği tapınacak bir değere çıkaran tavır, toplum halinde yaşamayı, birbirini anlamayı, yardımlaşmayı itiyor ve arkasından yalnız, yapayalnız bir dünyayı getiriyor.

Evet, “bu da geçer.” Dert de geçer, sıkıntılar da geçer. Sabretmek, her teşebbüste bulunarak nihayetinde kadere teslim olmak, “bu da geçer” demek. Zenginlik de biter, Karun gibi yaşamak, Firavunca zulmetmek de geçer. Ne güzel bir ders, derin bir öğüt, eskimeyen, her an yeni bir “ikaz” ve “uyarı” levhası: “Bu da geçer ya hu!..”

Salı, Ekim 27, 2009

Necefli Maşrapa Göstermek


Yaşı büyük olanlar zaten bilir bilmeyenler içinde anlatalım. Eskiden yegane televizyon kanalı TRT idi. Bütün herkesin seyrettiği bu yegane kanal sık sık teknik arızalar sebebiyle kesintiye uğrardı. İşte TRT de yayının kesildiği anlarda yukarda arz-ı endam eden necefli maşrapa sahneye çıkar, arıza giderilinceye kadar ekranda salınmaya! devam ederdi...

Bazı iş sıkıntıları sebebiyle biz de necefli maşrapa gösteriyoruz ve bir süreliğine yazı yayınlamayacağız. Eski yazılarımıza ve Necefli maşrapaya bakmaya devam edebilir, Gerekiyorsa profil sayfasındaki adresden e-posta ile bize ulaşmayı deneyebilirsiniz.

Şimdi tekrar ne yapsam dedirtme bana yarabbi
taşınacak suyu göster,kırılacak odunu
kaldı bu silinmez yaşamak suçu üzerimde
bileyim hangi suyun sakasıyım ya rabbelalemin
tütmesi gereken ocak nerde?
İsmet Özel (Münacaattan )

Cumartesi, Ekim 24, 2009

Bulanık Mantıkla Otamatik Pilot !

Evet itiraf ediyorum Nasrettin Hocadan Bulanık Mantık Dersi yazımız bir giriş yazısı değildi. İyi kötü bulanık mantık konusunda bir şeyler okumuş ve fakat aklında bütün bunları toparlayamayanlar için yazılmıştır. Ama Biraz ön okumayla o yazıdan şek çok şey öğrenebilirsiniz. Yinede biraz soyut kaçıyordu.

İşte bu yazımızda biz basit ve somut bir bulanık mantık uygulaması örneği hazırladık.

Ali sevilmez mi hey dost delimisin sen

- Hocam bu gün çok canım sıkkın. acaba sıkıntıyı giderecek birşeyeler okusanızda dinlesek
Kütüphaneden bir kitap seçti ve okumaya başladı
Bil ki göklerin, yeryüzünün hazîneleri elinde olan, sana duâ etmek için izin vermiş, icâbet edeceğini de vaad etmiştir.
Dilemeni emretmiştir, dilediğini vermek için;
Acımasını istemeni emretmiştir, sana acımak için.
Seninle arasına bir perde çekmemiştir; seni, onun katında şefâat edecek birisine muhtaç etmemiştir.

Kötü bir iş işlersen tövbe etmekten men etmemiştir seni;
Azâbını hemencecik göndererek ukubete salmamıştır seni;
Tövbeyle Ona yüz tutarsan reddetmez;
Azâba uğramaya lâyık olduğun suç yüzünden de seni rüsva eylemez.
Suç yüzünden tövbeni kabûl etmezlikte bulunmaz;
Cürmünü yüzüne vurmaz;
Rahmetinden seni meyûs etmez.
Hattâ suçundan geçmeni de bir sevap sayar;
Yaptığın kötülüğe karşı bir günah yazar;
İşlediğin iyiliğe karşı on sevap verir.
Sana tövbe kapısını açmış, özrünü kabûl etmeyi vaad etmiştir.
Onu çağırdın mı sesini duyar; gizli yalvardın mı gönlündekini bilir.
İhtiyacını Ona söylersin;
G
önlündekini Ona açarsın;
Dertlerini Ona şikâyet edersin, sıkıntılarının giderilmesini Ondan istersin;
İşlerinde Ondan yardım dilersin;
Ömür çokluğu, beden sıhhati, rızık bolluğu gibi Ondan başkasının
veremeyeceği şeyleri Ondan beklersin.
Sonra hazînelerinin anahtarlarını da, Ondan dilemeye izin vererek senin ellerine teslîm etmiştir;
Ne vakit dilersen, duâ ile nimetlerinin kapılarını açarsın, çorak dilek yerlerini sulamak için rahmetini istersin.
İcâbeti gecikirse de ümidini kesmemelisin; çünkü vergi ve ihsan, niyetle yeksandır.
Nice kere, isteyenin ecri çoğalsın, umana daha da fazla ihsan edilsin diye icâbet gecikir.
Nice kere bir şey istersin, verilmez; fakat hemencecik, yahut bir zaman sonra ondan daha hayırlısı verilir, ondan daha hayırlısı verilmek için o verilmez, geciktirilir.
Nice şeyler vardır ki sen istersin onu; fakat verilse o yüzden dinin helâk olur.
Şu halde güzelliği sana kalacak, vebâli senden gidecek şey
istemelisin. Mal sana kalmaz; sen de ebedi olarak mala sâhip olamazsın.

...

- Okuduklarınız Nerdendi hocam
- Bu Hz Ali'nin Hz Hasana yazdığı vasiyetnameden bir parça
Nehc'ül Belaga' da geçiyor
- Çok sevdim
- Seversin tabii hem zaten "Ali sevilmez mi hey dost delimisin sen"

Çarşamba, Ekim 21, 2009

Ordan Burdan

1) Volkan Salma OpenCv de SVM kullanımı üzerine bir yazı hazırladı. Oraya kadar gitmişken  Zeki Optimizasyon Teknikleri Yazı dizisine de bakmayı unutmayın ; İlk Yazı Hill Climbing üzerine. Devamınıda tez zamanda bekliyoruz.

2) İsmail Arı'nın günlüğünde tasarım ve ufak bir adres değişikliği oldu. "gunluk.ismailari.com" sitesi ismailari.com kök dizinine taşındı. Duyuruyor ve hayırlı olsun diyoruz.

3) www.GlobalEkonomi.com dan FVolkanY den daha önce bahsetmiştik , Yapay Zekalı tahmin sistemleri üzerine çalışıyordu.  Yakında ürün (Forex ve Borsa Sistemleri ) satışına başlıyacak gibi  hemde  sonuçlar oldukça iddialı ne diyelim hayırlı olsun.

4) Bora Kardeşimizden yine yeni bir icad Casus Klavye  Kimin işine yarar bilmem ama Boranın performansını ve ilerde neler yapabileceğini gösteriyor...

Cumartesi, Ekim 17, 2009

Sitemli OpenCv 2.0 Kurulumu - Install -

Aslında böyle bir yazı yazmayı düşünmüyordum ama gelen sorular yüzünden yazmak zorunda kaldım. Önce konumuzu anlatalım

OpenCv2.0 windows versiyonunu C ye kurun .
CMake' i kurun ve çalıştırın

Yukardaki ekran gelir OpenCv 2.0 ı kurduğunuz dizini seçin
kurulumun yapılacağı dizini yazıyoruz Visual için "vs2008" seçtik mesela

Cumartesi, Ekim 10, 2009

OpenCv 2.0 İzlenimleri

Bir Makina mühendisi bir elektirik mühendisi ve bir bilgisayar mühendisi arabayla yolculuk yaparlarken araba arızalanır ve durur.
makina mühendisi arabadan iner ve arabanın mekanik aksamına bakar ama araba çalışmaz
elektirik mühendisi arabadan iner ve arabanın elektirik aksamına bakar ama araba yine çalışmaz.
Son olarak Bilgisayar mühendisi bir öneride bulunur
"Arabadan inip yeniden binelim belki çalışır"

Uzun uzadıya bir inceleme yapmaya ne ehilim ne de zamanım var. Ama artık OpenCv 2.0 yayınlandığına göre uygulamalarımızda mecbur kullanmak zorundayız, yoksa sonradan güncel versiyona geçişte epey bir problem olur.

OpenCv 2.0 windows versiyonu zaten kurulum programıyla geliyordu, kolayca kuruverdim.
Header ve Library dosya ayarlarını yapıp programı tekrar derledim. Hatasız derlendi, bende sevindim tabii. Fakat programı çalıştırınca hevesim kursağımda kaldı. Program çalıştı fakat bazı işlemlerde program çakılıyordu. Acaba fonksiyon parametrelerinde bir değişiklikmi olmuş diye ufak bir incelem yaptım görünürde bir şey bulamadım. İşin ilginç yanı cvPreprocessorun ürettiği kodları komut satırı uygulaması olarak çalıştırdığımda problem yoktu. Tek istisna Laplace fonksiyonu. sizinde aklınızda olsun
void cvLaplace(constCvArr *src,CvArr *dst, int aperture size=3);

aperture size 'a değer olarak -1 kullandığınızda program çalışma zamanı hata veriyor. Neyse biz konumuza dönelim windowsta ki hezimetin ardından linux'a yöneldim.

Benim Bilgisayarda kullandığım Linux dağıtımı OpenSuse 10.3 biraz eskidi ama işimiz görüyor. Linux versiyounu dediğimiz zaten kaynak kod. Uygun bir yere açıp
./configure
make
make install
diyerek derledim ve cvPreProcessor'u denedim gayet güzel çalışıyordu yukarda bahsettiğim Laplace istisnası hariç.

Linux versiyonun çalışması üzerine tekrar windows'a döndüm ve dağıtlan kütüphane programında bozukluk yada uyumsuzluk olabileceğinden kuşkulandım. ve
CMake
Mingw
MSYS
programlarını kaldırıp en son versiyonlarını tekrar kurdum. Sonra Cmake OpenCv 2.0 için Codeblocks projesi oluşturdum ve C::B ile build ettim. Nihayet Mutlu son. Artık programlarım doğru bir şekilde çalışıyor.
az kalsın unutuyordum "İnip tekrar binmek bazen işe yarıyor" :)

Perşembe, Ekim 01, 2009

Cumartesi, Eylül 26, 2009

Plaka Okuma

Plaka okuma günümüz Türkiyesinde belkide en yaygın bilgisayarlı görü -Computer Vision- uygulamasıdır. Ufak bir araştırmayla bu konuda pek çok tez verildiğini (1 2 ) ve bazı türk firmalarınında ürün geliştirdiklerini görebilirsiniz. Uygulama alanının genişliği düşünüldüğünde çalışmaların devam edeceğinide varsayabiliriz.




Resimden Plaka bilgisini alma işini nasıl yapabiliriz ? Kabaca anlatmaya çalışalım.

Salı, Eylül 22, 2009

Nasrettin Hocadan Bulanık Mantık dersi

Zeka Hakkında Kıssalı Yazılar - 5 *

Hoca Nasrettinin kadılık yaptığı zamanlarda geçiyor olayımız.
Adamın birisi komşusundan şikayetçi olmuş. Hoca adamın şikayetini dinlemiş ve haklısın deyip adamı yollamış.
Şikayet edilen adamın getirtilmesini emretmiş. Adamı yaka paça tutup getirmişler. Adam şikayet konusunu doğrulamış ve fakat değip mazeretlerini beyan etmiş hoca adamı dinledikten sonra adama haklısın diyerek salıvermiş.
Bir kenardan olan biteni seyretmiş olan hanımı hocaya yanaşmış ve hayret içinde sormuş.
"Efendi sen hem davacıya hem davalıya haklısın dedin bu nasıl iş ?"
hoca gülümsemiş ve "Ne diyeyim hanım sen de haklısın " demiş.
Bakmayın sitenin kıymetini bilen yok. ama Hikayenin bundan sonrasını sadece bizden dinleyebilirsiniz.

ve hoca anlatmaya devam etmiş.

Suçun da dereceleri vardır bir mesela cinayet bir suçtur, komşusunu gece gürütü yaparak rahatsız etmekte suçtur. ama ikisini bir tutmak mümkünmü, değil elbet. Kısaca büyük suçlar vardır küçük suçlar vardır. Keza suçun oluş şeklininde önemi vardır. mesela kasten adam öldürmekle kazaen adam öldürmek bir değidir. yani Suçun bir hafifletici sebeblerine bakmak lazım.

Hüküm verme işlemi için ilk etapda suçun ve hafifletici sebeplerin mertebelerini bulmamız gerekiyor ki buna Bulanıklaştırma deniyor

Bir kağıda Suç ve Hafifletici sebep grafiklerini çizip anlatmaya devam etmiş


Adamın suçu ( A kadar küçük suç ) ve (B kadar büyük suç ) kapsamına giriyor.


Hafifletici sebep ise ( C kadar küçük ) ve ( D kadar büyüktür )

işte bunları öğrendikten sonra karar vermek için kurallarımız vardır.

1) Eğer (Suç Büyük ) ve (Hafifletici Sebep Küçük ) ise Büyük Ceza
2) Eğer [(Suç Küçük ) ve (Hafifletici Sebep Küçük ) ] veya
[(Suç Büyük ) ve (Hafifletici Sebep Büyük ) ] ise Orta Ceza
3) Eğer (Suç Küçük ) ve (Hafifletici Sebep Büyük ) ise Küçük Ceza

Bu kuralları uygulayınca adamın ceza mertebeleri çıkıyor ki buna Kuralların İşleme Safhası denir

1. Kuraldan (B ve C ) -> M mertebesinde Büyük Ceza
2. Kuraldan [(A ve C ) veya (B ve D )] -> L mertebesinde Orta Ceza
3. Kuraldan (A ve D ) -> K mertebesinde Az Ceza

hak ettiği anlaşılıyor deyip ceza grafiğinide çizmiş
Fakat bu grafikden adama ne kadar ceza verilmesi gerektiğinin çıkarılması için bulanıklaştırmayı kaldırmamız gerekiyor. Bu işleme Durulaştırma denir. ve En büyüklük, ağırlık merkezi, ortalama en büyük.... gibi pek çok metodu vardır. Biz de basit bir tanesini kullanıyoruz.
Deyip bir grafik daha çizdi. ve üzerine Adamın hak ettiği cezayı işaretledi.
Hayretler içinde bakan hanımına dönen hoca laflarını şöyle bitirmiş
Gördüğün gibi hanım bende haklıyım...

* Zeka Hakkında Kıssalı Yazılar Serisi - 1 2 3 4
** Düzeltmeler için Volkana Teşekkürler

Pazartesi, Eylül 21, 2009

Kriz üzerin bir bayram sohbeti

BK - Hocam bayramınız mübarek olsun nasılsınız ?
MCH - Ooo BK kardeş Bayramda olmasa uğradığın yok. Allaha şükür iyiyiz sen nasılsın ?
- Bende iyiyim Allah şükür. Ama haklısınız hocam uğruyamıyoruz.
- Sizi yakalamışken bir şey sorabilirmiyim hocam
- tabbi buyrun
- Hocam ne olacak bu ekonomik kriz ?
( gülümsiyerek ) - sanırım işleriniz kesat
- Evet hocam ufaktan ücretsiz izinlere başlandı.
- Kriz ne zaman yokdu ki
Dedem açlıktan yiyecek bir şey olsun diye mısır koçanını öğtüp ekmek! yapıp yemiş
Biz Yağ Şeker Tüp kuyruklarında ömür tükettik. Bu sadece bizim ülkemizdeki durum bir de dünyadaki açlık varki. içler acısı

- Haklısınızda Şimdide pek çok insan işsiz kalıyor hocam.

- Ben bir kıssa anlatayım da dinle
Vakti zamanında geçimini süt satarak sağlayan bir adamcağız varmış. İki ineğinden sağdığı sütü satmaya çalışır fakat tamamını satamadığından kıt kanaat geçinirmiş. Bir gün geçim sıkıntısını şikayet etmek için büyük bildiği birisine danışmış.

Efendim benim iki ineğim var onların sütünü satarak geçiniyorum ama bir türlü sütün hepsini satıpda rahat geçinecek parayı kazanamıyorum ne yapabilirim
demiş
"Sütüne su kat evladım" demiş
Adamın kafası karışmış aklı yatmamış ama bir deneyelim bakalım demiş.

Ertesi gün sütün içine bir miktar su katıp satmaya gitmiş. Gün sonunda bir de bakmış ki sütün tamamı satılmış.
Akıl danıştığı kişinin yanına varmış
Efendim Su katılmış süt tamamiyle satıldı. ama ben biliyorum ki bu doğru bir şey değil ne dir bu işin hikmeti.

Evladım Halis sütü satarken kazandığın helal rızkındır. Su katınca daha fazla kazana bilirsin ama kazancına haram akrıştırmış olursun. Bize düşen helal yoldan kazanç için elimizden geleni yaptıktan sonra gelene razı olmaktır. işin umumi yönü de şöyle olmak gerektir ki "senin halis helal sütünü alabilecek helal para çok azalmış sen o yüzden satmakta zorlanıyorsun."

- yani hocam
- yanisi Umumi eksikliklerden gelen bir sıkıntı var. Umumen değişmedikçe sıkıntısını çekmeye devam ederiz. Sen kendin kendi adına elinden geleni yap. Sonuçta gelene razı ol.
- hocam zenginlerimizin hiç mi suçu yok. "kriz zamanında en çok sızlanan onlar oldu. vay araba satamıyoruz vay beyaz eşya satamıyoruz. stoklar yığıldı kaldı" dediler ama gördük ki bir sıkıntıları yokmuş. Vergiler inip satışlar artınca ellerinde stok olmadığını gördük. Stoklar bitti yeni üretim yapıyoruz bu da yeni fiyattan değip zam yaptılar. Stoklarının olmaması gösterirki fabrikalarını çoktan tatile çıkarmış işçilerini ücretsiz izne yollamışlar.
- Pek tabii ki onların veballeri daha büyük. Vebalden kurtulmak istiyeninde Hz Osmanın hatırlatması lazım

"Bir defasında Medîne’de kıtlık vardı. O sırada Hz. Osman’ın Şam’dan yüz deve yükü buğday kervanı gelmişti. Eshâb-ı kirâm satın almak için yanına gittiler. Hz. Osman dedi ki:

- Sizden daha iyi alıcım var ve sizden daha fazla veren var, ona vereceğim.

Eshâb-ı kirâm durumu Hz. Ebû Bekir’e bildirip dediler ki:

- Kıtlık zamanında böyle yapması uygun olur mu?

Hz. Ebû Bekir buyurdu ki:

- Hz. Osman Resûlullahın dâmâdı olmakla şeref kazanmıştır ve Cennette onun arkadaşıdır. Siz onun sözünü yanlış anladınız, beraber gidelim.

Hz. Ebû Bekir, Hz. Osman’ın yanına gidip durumu anlatarak buyurdu ki:

- Yâ Osman, Eshâb-ı kirâm senin bir sözüne üzülmüşler.

Hz. Osman şu cevabı verdi:

- Evet ey Resûlullahın halîfesi, onlardan iyi alıcı olan, bire yediyüz veriyor. Onlar bire yedi veriyor. Biz bu buğdayı bire yediyüz verip alana verdik.

Bundan sonra yüz deve yükü buğdayı Medîne’de bulunan fakîrlere, Eshâb-ı kirâma bedava dağıttı. Yüz deveyi de kesip fakîrlere yedirdi."

el hasıl ;
"Biz mutlaka sizi biraz korku ile, biraz açlık ile, yahut mala, cana veya ürünlere gelecek noksanlıkla deneriz. Sen sabredenleri müjdele!" ( Bakara -155 )


buyrulmuştur Bu mübârek Ramazan bayramı hürmetine, yoksullarımıza sabır, zenginlerimize de anlayış lütfeyle. Bizleri de İslâm’ı eksiksiz yaşama şerefi ile şereflendir, yâ Rabbi!
- Âmin,

Cuma, Eylül 11, 2009

OpenCv 2.0 Beta yayınlandı

Evet Biraz gecikmelide olsa OpenCv 2.0 Beta yayınlandı
Kurarken OpenCv 1.2 olarak kuruyor ama ;)
Daha önce den bahsettiğimiz dökümantasyon düzenlemesi meyvesini vermiş güzel bir pdf olarak geliyor. Ne gibi yenilikler var diyorsanız


- General:
* The brand-new C++ interface for most of OpenCV functionality
(cxcore, cv, highgui) has been introduced.

* The primary build system is CMake, http://www.cmake.org (2.6.x is the preferable version).

- CXCORE, CV, CVAUX:

* CXCORE now uses Lapack (CLapack 3.1.1.1 in OpenCV 2.0) in its various linear algebra functions
(such as solve, invert, SVD, determinant, eigen etc.) and the corresponding old-style functions
(cvSolve, cvInvert etc.)

* Lots of new feature and object detectors and descriptors have been added
(there is no documentation on them yet), see cv.hpp and cvaux.hpp:

+ FAST - the fast corner detector, submitted by Edward Rosten

+ MSER - maximally stable extremal regions, submitted by Liu Liu

+ LDetector - fast circle-based feature detector by V. Lepetit (a.k.a. YAPE)

+ Fern-based point classifier and the planar object detector -
based on the works by M. Ozuysal and V. Lepetit

+ One-way descriptor - a powerful PCA-based feature descriptor,
(S. Hinterstoisser, O. Kutter, N. Navab, P. Fua, and V. Lepetit,
"Real-Time Learning of Accurate Patch Rectification").
Contributed by Victor Eruhimov

+ Spin Images 3D feature descriptor - based on the A. Johnson PhD thesis;
implemented by Anatoly Baksheev

+ Self-similarity features - contributed by Rainer Leinhart

+ HOG people and object detector - the reimplementation of Navneet Dalal framework
(http://pascal.inrialpes.fr/soft/olt/). Currently, only the detection part is ported,
but it is fully compatible with the original training code.
See cvaux.hpp and opencv/samples/c/peopledetect.cpp.

+ Extended variant of the Haar feature-based object detector - implemented by Maria Dimashova.
It now supports Haar features and LBPs (local binary patterns);
other features can be more or less easily added

+ Adaptive skin detector and the fuzzy meanshift tracker - contributed by Farhad Dadgostar,
see cvaux.hpp and opencv/samples/c/adaptiveskindetector.cpp

* The new traincascade application complementing the new-style HAAR+LBP object detector has been added.
See opencv/apps/traincascade.

* The powerful library for approximate nearest neighbor search FLANN by Marius Muja
is now shipped with OpenCV, and the OpenCV-style interface to the library
is included into cxcore. See cxcore.hpp and opencv/samples/c/find_obj.cpp

* The bundle adjustment engine has been contributed by PhaseSpace; see cvaux.hpp

* Added dense optical flow estimation function (based on the paper
"Two-Frame Motion Estimation Based on Polynomial Expansion" by G. Farnerback).
See cv::calcOpticalFlowFarneback and the C++ documentation

* Image warping operations (resize, remap, warpAffine, warpPerspective)
now all support bicubic and Lanczos interpolation.

* Most of the new linear and non-linear filtering operations (filter2D, sepFilter2D, erode, dilate ...)
support arbitrary border modes and can use the valid image pixels outside of the ROI
(i.e. the ROIs are not "isolated" anymore), see the C++ documentation.

* The data can now be saved to and loaded from GZIP-compressed XML/YML files, e.g.:
cvSave("a.xml.gz", my_huge_matrix);

- MLL:
* Added the Extremely Random Trees that train super-fast,
comparing to Boosting or Random Trees (by Maria Dimashova).

* The decision tree engine and based on it classes
(Decision Tree itself, Boost, Random Trees)
have been reworked and now:
+ they consume much less memory (up to 200% savings)
+ the training can be run in multiple threads (when OpenCV is built with OpenMP support)
+ the boosting classification on numerical variables is especially
fast because of the specialized low-overhead branch.

* mltest has been added. While far from being complete,
it contains correctness tests for some of the MLL classes.

- HighGUI:
* [Linux] The support for stereo cameras (currently Videre only) has been added.
There is now uniform interface for capturing video from two-, three- ... n-head cameras.

* Images can now be compressed to or decompressed from buffers in the memory,
see the C++ HighGUI reference manual

- Samples, misc.:
* Better eye detector has been contributed by Shiqi Yu,
see opencv/data/haarcascades/*[lefteye|righteye]*.xml
* sample LBP cascade for the frontal face detection
has been created by Maria Dimashova,
see opencv/data/lbpcascades/lbpcascade_frontalface.xml
* Several high-quality body parts and facial feature detectors
have been contributed by Modesto Castrillon-Santana,
see opencv/data/haarcascades/haarcascade_mcs*.xml

>>> Optimization:
* Many of the basic functions and the image processing operations
(like arithmetic operations, geometric image transformations, filtering etc.)
have got SSE2 optimization, so they are several times faster.

artık CvPreProcessor'u da kontrol edip bu versiyona geçmem gerekecek.

Pazar, Eylül 06, 2009

Yapay Zeka Tıbbın Hizmetinde 3

FannTool'un kılavuzunu hazırlamak için kullandığım diğer bir veride Parkinson Hastalığınının kişinin konuşmasından teşhisi üzerineydi. Kılavuzu boştan yere şişirmemek için oraya koyamadım ama yayınlanmadan kalmasınınada gönlüm razı olmadı.

Orjinal Çalışma
'Suitability of dysphonia measurements for telemonitoring of Parkinson's disease'
diye geçen makale. Oxford Üniversitesinden Max Little'in National Centre for Voice and Speech ile olan işbirliğiyle hazırlanmış.ve görebildiğim kadarıyla sınıflandırma için SVM kullanmışlar. Biz tahmin edeceğiniz üzre Yapay Sinir Ağı kullanacağız.

23'ü parkinson hastası olan 31 kişinin toplamda 195 ses kaydı yapılmış ve bu ses kayıtlarından çıkarılan özniteliklerle (feature extraction) Kişinin Hastamı Sağlıklımı olduğuna karar vermek gerekiyor.

Verilerin nelerden oluştuğuna bakarsak

1 ) MDVP:Fo(Hz) - Average vocal fundamental frequency
2 ) MDVP:Fhi(Hz) - Maximum vocal fundamental frequency
3 ) MDVP:Flo(Hz) - Minimum vocal fundamental frequency
4 ) MDVP:Jitter(%),
5 ) MDVP:Jitter(Abs),
6 ) MDVP:RAP,
7 ) MDVP:PPQ,
8 ) Jitter:DDP - Several measures of variation in fundamental frequency
9 ) MDVP:Shimmer,
10) MDVP:Shimmer(dB),
11) Shimmer:APQ3,
12) Shimmer:APQ5,
13 ) MDVP:APQ,
14) Shimmer:DDA - Several measures of variation in amplitude
15) NHR,
16) HNR - Two measures of ratio of noise to tonal components in the voice
17) RPDE,
18) D2 - Two nonlinear dynamical complexity measures
19) DFA - Signal fractal scaling exponent
20) spread1,
21) spread2,
22) PPE - Three nonlinear measures of fundamental frequency variation
23) status - Health status of the subject (one) - Parkinson's, (zero) - healthy

detaylı bilgi için makaleye bakabilirsiniz.

Orjinal veriyi Tablolama programımıza aktarıyoruz ve Status kısmını son sütüna taşıyoruz.sonra sadece verileri seçip bir text dosyasına kaydediyoruz. "ParkinsonRaw.txt" bundan sonrası için FannTool kılavuzuna müracaaat edeblirsiniz.

Sonuçlardan bahsederek yazıyı bitirmek istiyorum.
Çeşitli denemelerden sonra optimum bir sonuç veren YSA kaydedildi.

Eğtim verisinde 117 verinin hepsi doğru sınıflandırılıyor ve başarı yüzdesi %100
Test Verisiyle ulaşılan sonuçlar ise
58 Parkinson Hastasının 56 sı doğru tahmin ediliyor başarı yüzdesi %96,55
20 Sağlıklı kişinin 17 si doğru tahmin ediliyor başarı yüzdesi %85

Konuyla ilgili çalışmaları görmek için
Parkinson

Cumartesi, Eylül 05, 2009

FannTool için Kullanım Kılavuzu

FannTool kullanımı ile ilgili pek çok sorulara muhatap oluyorduk. bu yüzden her ne kadar zor ve angarya gibi de olsa bir kullanım kılavuzu yazmak zorundaydık. bir iki hafta sonu sahur sonrası sabahlayarak bir şeyler yazdık. İnşallah bir faydası dokunur. Ama aslında Bundan sonrası daha zor çünkü kılavuzun asıl ingilizcesi lazım, malum yurt dışından ilgi daha çok. Bu işi yapacak birisi olursa minnetdar oluruz.

Kılavuzu İndirmek için
FannTool Kullanım Kılavuzu

Kılavuzun Hata eksikliklerini bildirirseniz seviniriz.

Elinizde YSA projesi var ve Nereden başlayacağınızı bilmiyorsanız yine bize ulaşabilirsiniz. memnuniyetle yardımcı olmaya gayret ederiz. FannTool ile hazırladığınız projeler yada çalışmalar varsa bildirin link verelim yada tanıtımın yazalım.

Cumartesi, Ağustos 22, 2009

BUMAT



Size geçenlerde haberdar olduğum bir oluşumdan bahsetmek istiyorum. BUMAT yani Bulanık Mantık ve Teknolojisi Kulübü . Kurucusu Zekai Şen hoca. Kitaplarınından faydalandığımız ve sizlerde faydalanın diye tanıtımını yaptığımız, saygıdeğere bir bilim adamımızdır kendisi.

Klubün tantımını sitesinden birlikte okuyalım
Kasım 2000 tarihinde kurulan, İstanbul Teknik Üniversitesi Bulanık Mantık ve Teknolojisi Kulübü – BUMAT olarak temel amacımız, bilimsel bir devrim yaratacak olan ve gelişen dünyada geleceğin bilimsel düşünce yapısını oluşturacağı kabul edilen bulanık mantığın araştırmacılar ve öğrenciler arasında yayılmasının sağlanmasıdır.Kulüp olarak bir diğer önemli hedefimiz ise, bulanık mantığın teknoloji alanındaki uygulamaları hakkındaki gelişmeleri takip ederek, edinilen billgileri araştırmacılar ile paylaşmak ve teknolojik alanda yeni gelişmelerin olmasını sağlayacak araştırmalar yapmak ve yapanlara yardımcı olmaktır. Hedeflediğimiz yerlere ulaşabilmemiz için seçtiğimiz yöntemlerden bazıları, bulanık mantığın geliştirilmesinde etkili olmuş bilim adamlarının tanıtılması, bulanık mantıktan hareket ederek yapılan çalışmaların tartışılması ve yeni ufuklar açabilmek amacıyla seminer, sempozyum düzenleme ve dergi çıkartma çalışmalarını gerçekleştirmektir.
Ve dedikleri gibide sempozyumlar düzenlemişler.

Mühendislikte Modern Yöntemler Sempozyumu MMYS'2001
Bilimde Modern Yöntemler Sempozyumu BMYS'2005
Bilimde Modern Yöntemler Sempozyumu BMYS'2008

her ne kadar klüp isminde ve tantımında bulanık mantık vurgusu olsada. Sempozyumların isimlerinden de anlaşılacağı gibi, geniş bir yelpazede yapılmış. mesela BMYS 2008'in konuları arasında

* Bulanık (fuzzy) mantık
* Yapay sinir ağları
* Genetik algoritmalar
* Yapay zeka teknolojileri
* Uzman sistemler
* Bilimsel düşünce
* Modelleme ve simülasyon
* Akıllı sistemler
* Optimizasyon
* Kalman filtreleri
* Kaos teorisi ve çözümler
* Kesirli (fraktal) geometri
* Coğrafi bilgi sistemleri (GIS)
* Stokastik süreçler
* Veri madenciliği
gibi bizimde ilgi alanımıza giren pek çok konu var.

Şahsen böyle güzel ve faydalı birliklerin kurulmasına çok sevindim. Ama eksikliklerden de bahsetmek istiyorum.

Amaçlarını düşünürsek siteleri çok yavan. içeriği uzun süredir ( 28.01.2008 ) güncellenmemiş. Site de konularla ilgili yazılar yayınlandığı ve hatta soru cevaplı kısımlarında olacağı dinamik bir site olmalıydı. Bir üyelik sistemi görünmüyor ama
"Kulübümüze, İstanbul Teknik Üniversitesi içindeki akademisyen ve öğrencilerin yanısıra, bilimsel düşünce sahibi, bilimin ülkemiz topraklarında yaygınlaşmasını hedefleyen herkes üye olabilir. "
diye yazılmış.

Bahsi geçen sempozyumlarda pek çok değerli çalışma sunulmuş. sempozyuma katılayamanlar için kitaplarının temin edileceği bir yer yok. Sadece MMYS'2001 için "bildiri kitap ve/veya cd olarak kulübümüzden temin edilebilir." denmiş ama nasıl için bir cevap yok

İnşallah tez zamanda daha aktif ve yaygın bir BUMAK görürüz. çünkü gerçekten ihtiyacımız var.

Cumartesi, Ağustos 15, 2009

FannTool 1.0 Released

Evet sonunda FannTool 1.0 versiyonunu da yayınlıyoruz. İndirmek için
Beta versiyonunu yayınlıyalı 3 hafta geçmiş olduğu ve 110 küsur defa indirilmiş olmasına rağmen pek de hata bildirimi alamadım. Bütün bu ilgisizliğe rağmen ilgilenen iki kişiye buradan teşekkür etmek isterim.

İlki Vefalı arkadaşımız Volkan sağ olsun denemelerini yaptı ve fikirlerini beyan etti bir kaç küçük düzeltmede yaptım. FannTool'a ikon konulmasını ve windows için orjinal dosya seçim penceresinin kullanılması gibi önerilerini ise İnşallah bir sonraki versiyonuna koymaya çalışacağız.

Teşekkür edeceğimiz ikinci kişi ise Yurt dışından Dr Michael SCHAALE efendim kendileri önce bir önceki versiyondaki bir bug bularak yardımcı oldu. FannTool 1.0 betayı yanınlayınca. Sağ olsun yine ilgilendi ve bir kaç yazım yanlışı ve düşük çözünürlükteki ekranlardaki probleme dikkatimizi çekti. ve gereken düzeltmeleri yaptık. Veri İşleme kısmındaki ölçekleme metodu için biraz daha istatistiki metod önerisi ve çok büyük veriler için önerdiği sadeleştirmeler ise Bir sonraki versiyonda belki bir ihtimal

Bir sonraki versiyon için önerilere açığız. Lütfedip bildirirseniz seviniriz

Not: Bu gün itibarıyla Bir önceki versiyonun (0.93 ) download sayısı
Linux versiyonu : 1040
Windows versiyonu : 2246
olmak üzre toplamda 3286 ya ulaşmış bakalım bu versiyonun akibeti ne olacak...

Cumartesi, Ağustos 08, 2009

ve Celle Senâük

-"Daha geçen hafta görmüştüm kapıda "
dedi birisi
-"Üç gün önce rastlaşmıştık camiiden dönüyordu "
diyor öteki, bir başkası
- "Daha bu sabah görmüş, selamlaşmıştık."
Şimdi, ... şimdi ise yok. cenaze namazının vaktini ve yerini öğreniyoruz. İşten izin alıyoruz, ve koşturuyoruz. Camii avlusu epey bir kalabalık. küme küme herkes bir kenarda laflaşıyorlar.
Metin durmaya çalışan bir oğul, bitkin bitmiş vaziyette bir eş ve feryad figan kızlar...
...
“Allah için salata, Peygamber için Salavata, Meyyit için duaya”
dedi tok ve donuk sesiyle hoca
namaz bitirip hellalikler alınıyor hızlıca, sonra pür telaş mezarlığa. İlk defa göryorum Asrii mezarlığı. Epey de güzel bir yer Karşıyakaya kıyasla ama yer bulunmuyormuş. Hıh...

Kalabalık yüzünden epey geride arabayı bırakıp yürüyoruz. Gayrı ihtiyari sağdan soldan mezar taşları okuyoruz.
Emekli general bilmem kim, Eski danıştay üyesi filanca , fransızaca öğretmeni falanca. Hiçbirinin bir önemi kalmamış hepsi aynı mekanda toprak altındalar.
Sevgili eşim ... , kıymetli babamız ..., Biricik annemiz ..., veasire vesaire. Ne tuhaf insan olarak değer verdiğimiz kim varsa gömüp gitmişiz...
Mezarın yanına varabildiğizde bir tandık geri dönmeye başlamıştı bile yanımızdan geçerken ""işlem bitti " dedi usulca
İşlem bitti...
ölüyoruz usul usul, sığmıyoruz mezarlıklara, biteviye ölüyoruz...

Mevt idam değil, hiçlik değil, fenâ değil, inkıraz değil, sönmek değil, firak-ı ebedî değil, adem değil, tesadüf değil, fâilsiz bir in'idam değil. Belki, bir Fâil-i Hakîm-i Rahîm tarafından bir terhistir, bir tebdil-i mekândır. Saadet-i ebediye tarafına, vatan-ı aslîlerine bir sevkiyattır. Yüzde doksan dokuz ahbabın mecmaı olan âlem-i berzaha bir visal kapısıdır.* 20. mektup 7. kelime

Cumartesi, Temmuz 25, 2009

FannTool 1.0 Beta

FannTool'un yeni versiyonu üzerine çalıştığımı yazmıştım. Yapmak istediklerimi aşğaı yukarı tamamladım ve beta olarak yayınlıyorum. Eğer deneme yapıp fikir beyan ederseniz çok seviniriz.

FannTool 1.0 Beta


Yeni versiyonun özelliklerinden bahsetmek gerekirse

1) Veri İşleme Kısmı : DataProcessing öyle tablolama programı vari bir şey değil, ama tablolama programlarından kopyele yapıştırla oluşturcağınız Ham veri dosyalarını kolaylıkla FANN'ın kullandığı veri dosyası formatında kaydetmenize yarıyor. Pek tabiki verileri sırasını karıştırmak ( shuffle ) Eğitim ve Test verileri olarak ayırmak, ve Değerlerinin normalizasyonunu yapmak (scale ) da yaptığı işler arasında. Scale işlemi ile ilgili bir text dosyası da yazılıyor. İki çeşit Ham veri dosyası var


ilki Matris tipi her veri bir satırda. Örnek dosya "ParkinsonRaw.txt". Kullanıcı olarak son kaç sütunun çıkışı değerlerini oluşturduğunu belirlemeniz yeterli.

İkinci tür veri dosyası Zaman seri türünde her satır bir veri orada kaç verinin giriş olduğunu belirliyorsunuz. Örnek dosya : SunSpotsRaw-1980-2006.txt


t1
t2
t3
...
tn

gibi bir veriyi
t1 t2 t3 t4 t5 t6
t7
t2 t3 t4 t5 t6 t7
t8
...
gibir bir hale geliyor



2) Overtraining Caution System :


Daha önce YSA ile Kan Bağışı tahmini yazısında bir parça bahsettiğimiz Overtraining denen benim YSA nın ezberlemesi dediğim kavram var. Basitçe bahsetmek gerekirse YSA nın Eğitim verilerinde çok düşük hata ( MSE ) değerlerine ulaşıldığı halde Test verilerinde kabul edilemeyecek hata değerlerinde kalmasıdır. Normalde bu işlem için önce eğitimin yapılıp sonra test verileriyle denenmesini gerektirir. Artık Test verinizi yükleyip Fine Tuning kısmındaki "Overtrainin Caution Sysytem" kısmını açarsanız. Eğitim sırasında Test verisinin hata değerlerini görebilme imkanına sahip olabilirsiniz Grafik de Eğitim ve test Hatasını ortalamasını çizilir.

3) YSA Kayıt : Eğitimi sonrasında ki YSA kayıt kısmında artık, eğitim esnasındaki ulaşılan en iyi değerleri de kaydedebilirsiniz. kısaca açıklamak gerekirse.



Latest : Eğitimin en son ulaştığı YSA
Minumum Training : Eğitim esnasında Eğitim verisiyle ulaşılan minimum MSE
Minumum Testing : Eğitim esnasında Test versiyle ulaşılan minimum MSE
Minumum OCS : Eğitim esnasında Eğitim MSE ve Test MSE sinin ortalamasının minimumu


4) Neural Network Information : Daha önceden kaydettiğimiz YSAların bilgilerini görmemize yarayan bir kısım

Pazar, Temmuz 19, 2009

Acaba Miracın Hikmeti nedir ?

Taşları Yemek Yasak
Ormanın derinliklerinde yürümekte olan avcı ağaçlardan biri üzerinde bir levha görmüş. Levhanın üzerinde şu sözler yazılıymış: Taş Yemek Yasaktır. Bu anlaşılmadık uyarı karşısında avcı meraka kapılmış. Levhanın asılı olduğu ağacın yönündeki ayak izlerini takip etmeye başlamış ve izlediği yol onu bir mağaraya götürmüş. Mağaranın ağzında bir derviş oturmaktaymış ve avcı yeterince yaklaştığında konuşmaya başlamış:

Zihnine takılan soruyu biliyorum. Şimdiye kadar taşları yemeyi yasaklayan bir uyarı levhası hiç görmedin, çünkü insanların taş yemeye zaten ihtiyaçları yok. İnsanları zaten yapmaya eğilimleri olmayan bir konuda uyarmak niye? İnsanlar arasında taş yeme adeti yoktur, onlara yapmayacakları şeyi yapma demenin ne anlamı var?

Ancak şuna dikkat et: İnsanlar arasında adet haline gelmiş öyle davranışlar, öyle alışkanlıklar vardır ki, bunlar insan için tıpkı taş yemek gibidir. Eğer zararı bakımından düşünürsen taş yemekten çok daha büyük tahribat yapan işlerdir bunlar. Bunlar taş yemek kadar budalaca, insanın öz niteliklerine yabancı tutum ve davranışlardır. Eğer insanlar acınacak haldeyse, insanlar arasında zulüm, haksızlık, merhametsizlik, yozlaşma ve ihanet hüküm sürüyorsa bunun sebebi insanların sanki taş yermişçesine yedikleri bunca nesneden, taş yemeye mümasil tavırlarından doğmaktadır.

Senin levhayı gördüğün yerde bir pınar olmuş olsaydı ve ben oraya su zehirlidir yazmış olsaydım sen bunu manalı bir söz sayacak, yerinde bir uyarı kabul edecektin. Büyük bir ihtimalle de benim ayak izlerimi takip edip buraya gelmeyecektin. Çünkü yasaklanan şey senin aklına uygun gelecekti. Gerçekte suyun zehirli olduğunu yazan insanın emrine uymuş olacaktın. Kendi aklına uyduğunu sanarak benim keyfime uygun davranmış olacaktın. Ama orada taş yemeyi yasaklayan bir levha gördün ve acaba bunun hikmeti nedir diye kendine bir yol açtın. Ben de sana insanların gerçekte yaptıkları birçok işte taş yemeye benzer davranışlar gösterdiğini ve aslına bakılırsa taş yediklerini söyledim. Eğer söylediklerimi anladıysan aramızda hakikatin bir parçası tecelli etti.

İşte Allah'ın insanlar için gönderdiği emir ve nehiyler böyledir. İnsan ancak bu emir ve nehiylerle hakikatin nasıl tecelli edebileceğini öğrenebilir. Eğer Allah'ın emrettiği ve yasakladığı şeylerle ilk karşılaşan insan bunu tabii karşılarsa, aklına uygun bulursa bu emir ve nehiylerden hiçbir şey öğrenemez. Ama bazı izleri takip edip bu emir ve nehiylerin nelere tekabül ettiğini öğrenebilirse hakikate varabilir.

İnsanın taş yemeye ihtiyacı yok diyorsun. Öyleyse şunu düşün: İnsanın ihtiyacı olandan fazlasının elinde tutması kendisi için taş gibidir. Bu yalnız mallar, servet, güç gibi nesnelerde geçerli değil. Merhamet, şefkat, tevazu gibi şeyler için de böyle. Bilgi için de böyle. Eğer herhangi bir şey insanların istifadesine açıksa ancak istifade edildiği kadar o 'şey' olur, o şeyden istifade edilmezse artık o taştır ve gerçekten onu istifadeye konu etmeksizin kullananlar taş yemiş olurlar. Sana yaramıyorsa bırak başkasına yarasın. Sana yaramadığı halde sende olan hem senin hem başkasının aleyhinedir. Taşları yeme, taşları yemek yasak.

İsmet Özel Taşları Yemek Yasak adlı kitabından

Miraç kandiliniz mübarek olsun. Dua eder dualarınızı bekleriz.

Salı, Temmuz 14, 2009

Yapay Sinir Ağı Uygulamaları



Gün geçmiyorki yeni bir YSA uygulamasıyal karşılaşmıyalım Biz bu yazımızda birbirinden çok farklı alanlardaki uygulamalardan bahsedeceğiz. Bu vesileyle YSA'ların ne kadar geniş uygulama alanına sahip olduklarını hatırlatmış olalım. Kimbilir belki bizlere ilham kaynağıda olabilir...

İlk örneğimizi Yakın zamanda okumuş olduğum bir kitaptan "Süper hesap Uzmanları" Kitabın yazarı Ian Ayres. kitabın yanbaşlığından da söz etmek lazım "Sayılarla Düşünmek neden Zeki olmanın bir yoludur ?" Yan başlığının da hissettireceği üzre Daha çok istatisiki metodlarla Veri madenciliği yapan yeni tür uzmanların tecrübeye dayalı uzmanlara olan üstünüğü anlatılıyor. Kitap Fecaat bir çevriyle Pegasus yayıncılıktan çıkmış.
Neyse konuyu daha fazla dağıtmayalım. Kitapta YSA larından da bahsediliyor. Dick Copaken adlı Avukat emekli olduktan sonra Epagogix isimli bir şirket kuruyor. Şirket Senaryonun özelliklerine dayanarak filmin sinema hasılatını tahmin edecek bir YSA dizayn ediyor. Hemde bu sayede Senaryoda yapılacak değişikliklerin etkisni de görmek mümkün oluyor. Copaken oldukça iddialı kouşuyor ve
" Sütüdyolar bizim tavsiye ve disiplinimizi tutup onlardan yararlanırsa, büyük olasılıkla, yılda bir milyar dolara yakın kar elde edebilirler"
Bir çok sütüdyonun gizilde olsa Epagogix hizmetlerinden faydanmaya başladığını söyleyerek bitirelim örneğimizi. detaylar için buraya bakınız.

İkinci örneğimiz Otomobillerden. İlk bakışta "ne ilgisi olabilir ki" gibi gelsede , Artık Otomobillerinde bilgisayarları var. ECU (Motor Kontrol Birimi ) denen bu bigisayarlarla sensörlerden motorun yükü, devri, çevre değişkenleri (hava sıcaklığı, hava yoğunluğu, motor sıcaklığı, barometrik basınç vs…) pek çok bilgi alınır ve Motorun kullnacağı yakıt miktarını, ateşleme zamanını hesaplanır. Zaten ECU sayesinde motor performansına ait pek çok işlem yazılm ile yapılabiliniyor artık.

Figürdeki gibi bir çeşit YSA ile Motor teklemesinin önlüyorlar. En Üstte resimini gördüğünüz fiyakalı araba bir Aston Martin DB9 dur ve bahsettiğimiz teknolojiyi kullanmaktadır.
konuyla ilgili biraz daha fazla detay içeren yazı
Fordun aldığı patent




Perşembe, Temmuz 09, 2009

Data Mining Cup 2009 tamamlandı

Daha önceden duyrusunu yapmış olduğumuz Veri Madenciliği 2009 yarışması tamamlandı. Duyrusunu geç yaptığımızdan olmalı Türkiyeden bir gurup yok. Ama önümüzdeki senenin tarihi belli olmuş şimdiden duyuralımda sorumluluk üzerimizden kalksın

Data Mining Cup 2010 : 15 nisan - 13 mayıs arasında olacak.

Bu seneki verilere bakarak antreman yapabilirsiniz

http://www.data-mining-cup.com/Wettbewerb/Aufgabe

Cuma, Temmuz 03, 2009

Öğrencilikten Talebeliğe

Öğrenci kelimenin hatırlattığı gibi tüccardır. Öğren - ci
Tüccar olan ise ucuza alıp pahalıya satmaya çalışır. Beki ucuza öğrenme işi de şöyle oluyor. Öğrencinin gayesi sınıf geçmek , en nihayetinde de diploma almaktır. Bu iş için ise müfradatındaki derslerden geçer not alması gerekiyor. Not sistemine göre değişmekle beraber, 100 üzerinden konuşursak en az 50 üzerinde not almak demek. Yani dersin %50 sini bildinizmi yeter ötesini öğrenipde maliyeti artırmanın lüzumu yok. Hem mezun olduktan sonra kim bakıyorki diploma notuna.

Talebe ise yine kelime manasından yola çıkarsak öğrenciyle aynı manaya gelmediği aşikar. Talebe talep eden isteyen demek. Öğrenmeyi istiyor. Ortada not ve maliyet hesapları olmadığından daha bir içten öğreniyor. Hatta çok hırslı bir öğrenci kadar not alamasa bile işin iç yüzünü anlamaya gayret ediyor. İstemenin esrarından mı desek, samimiyetten mi desek olmayacak şeyler oluyor. Ve bir önemli fark daha ders geçildikten sonra öğrenci için o konudaki öğrenme iş bitmişdir. Oysa talebe için - o dersi hiç almamış olsa bile - öğrenme gayreti bitmez. Bir ömür öğrenme devam eder.

Yaz tatilinin başladığı şu günler talebeler için önemli bir vakit. Dinlenmenin yanısıra öğrenmek istediğiniz ama vakti bahane ettiğiniz pek çok mesele için fırsat. Meşguliyet gelmeden boş vaktin kıymetini bilin...

Not :
Kendi adıma konuşursam Bu blogda yazdıklarım ile ilgili okuduğum bölüm gereği hiç öğrenciliğim olmadı. Bilgisayar konusunda aldığım yegane ders bütün mühendislik bölümlerine verilen Fortran 77 idi. Onu da dersi almadan önceki yaz tatilinde kitabından öğrenmiştim zaten. Öğrenciliğim olmadı ama Talebeliğim devam ediyor...

Perşembe, Haziran 25, 2009

İçimdeki Şu Zalim Yalnızlık

ağzının bir kıvrımından cesaret bularak
ter yürekte susayışlar yaratan yağmurlara açıldım
kalmışsa tomurcuklar önünde sendeleyen çocuklar
kalmışsa birkaç ısrar ölümle yarışacak
onların yardımıyla dünyamıza acıdım.

dünya. çıplak omuzlar üstünde duran.
herkes alışkın dölyatağı borsalarla ağulanmış bir dünyaya
benimse dar
çünkü dargın havsalamın
gücü yok bazı şeyleri taşımaya.
önce kalbim lânete çarpa çarpa gümrah
sonra kalbim gümrah ırmakları tanımaktan kaygulu
sakın styks sularını heyulâsı sanmayın
er gövdesinde dolaşan bulutun simyası bu,
biraz üzgün ve ömer öfkesinde biraz
öyle hisab katındayım ki katlim savcılardan sorulmaz
ne kireç badanalı evlerde doğmuş olmak
ne ellerin hırsla saban tutuşu
ne fabrikalarda biteviye üretilmekte olan kahır
dev iştihasıyla bende kabaran aşkı
yetmez karşılamaya.

insanlar
hangi dünyaya kulak kesilmişse öbürüne sağır
o ferah ve delişmen gözüken birçok alınlarda
betondan tanrılara kulluğun zırhı vardır
çelik teller ve baruttan çatılınca iskeletim
şakaklarıma dayanınca güneş
can çekişen bir sansar edasıyla
uğultudan farkedilmez olunca konuştuğum
kadınların sahiden doğurduğuna
toprağın da sürüldüğüne inanmıyorum
nicedir kavrayamam haller içinde halim
demiri bir hecenin sıcağında eriyor iken gördüm
bir somunu bölünce silkinen gökyüzünü
su içtiğim tas bana merhaba dedi, duydum
duydum yağmurların gövdemden ağdığını.

sen ol küçük bir kıvrımdan, bir heceden
aşk için bir vaha değil aşka otağ yaratan
sen ol zihnimde yüzen dağınık şarkıları
bir harfin başlattığı yangın ile söndür
beni bir ses sahibi kıl, kefarete hazırım
öyle mahzun
ki hüzün ciltlerinde adına rastlanmasın.
İsmet Özel


Ellerimiz hırsla saban tutmadı belki
ama
Fabrikalarda biteviye ürettiğimiz kahır çoktur
Ses sahibi olduk bir parça şükür
yüzümüz yok
Kefaretini ödeyemedik
Yinede Sen ki Ganiyyi Mutlaksın
Bizler fukarayız
İstemek bizden
Dost sahibi de kıl bizi
Lutfette
İçimizdeki Şu Zalim Yalnızlığı kaldır
....


Üç aylara girdik Bu gece regaip kandili dua eder dualarınızı bekleriz Dostlar...

OpenCv 2.0 Geliyor

OpenCv 1.1 alphadan sonra OpenCv 2.0 'ın betasının Temmuz ayında yayınlanması planlıyor
sonrası beta versiyonunda bir aksilik çıkmazsa, Ağustos ayında kararlı sürüm olara yayınlanacak. bakınız
http://opencv.willowgarage.com/wiki/OpenCV200906
Bundan sonrası içinde bir anket hazılamışlar
http://tech.groups.yahoo.com/group/OpenCV/surveys?id=2872704
Dökümantasyonunda da yeniliğe gidiliyor bakınız yeni hali

Çarşamba, Haziran 10, 2009

Ordan Burdan

1) Volkan Programınız için performans ipuçları.(x86) diye bir yazı hazırlamış ona ek olsun;
* Liboil : yani “LIBrary of Optimized Inner Loops” iç döngülerinizi işlmecinize göre optimize ediyormuş
* Daha çok AMD işlemciler için kullanabileceğiniz
- Framewave : Derived from the AMD Performance Library, Framewave is a free and open-source collection of popular image and signal processing routines designed to accelerate application development, debugging, multi-threading and optimization on x86-class processor platforms.
- GNU Toolset Optimized for AMD Platforms

2) Halen okuyup duymadıysanız bu tarışmaya bakın : "Ruslara 850.000 € verip İstiklal Caddesinde saniyede 15.000 yüz taramak?" ve düşünün, ibret alın, örnek alın, .... ruslarda parayı alsınlar

3) Çay’da Görüntü İşleme Uygulaması : Bu sadece türkçeye tercüme edilmiş bir örnek. Aslında Üretimi yapılan pek çok tarım üründe uygulama alanları var. Bu yazıda bahsedileni hindistandan birileri yapmış, sizlerde bakın ve düşünün, ibret alın, örnek alın, .... Hindistanlılarda parayı alsınlar.

4) MetaTrader içinde YSA kullanımı üzerine yayınlanmış bir makale :
Using Neural Networks In MetaTrader Makalede kullanılan YSA tahmin edebileceğiniz gibi FANN . Bu arada bir zamanlar Volkan bu işlerle uğraşıyordu, epeydir sesi çıkmıyor. En son "Program ticari bir ürün haline geldiğinden, maalesef kodları yayınla(ya)mıyorum." demişti ama ticari ürün olarak çıktığına dairde bir yazı çıkmadı. En azından bu konuda yabancılara ortak olmaya çalışan insanlar var...

5) Ve iki yarışma :
- Time Series Forecasting Competition
- UC San Diego Data Mining Contest

Pazartesi, Haziran 08, 2009

Hayat İlmi

Geçenlerde MCH hocamın yanına gittim etrafına talebeleri toplamış birşeyler anlatıyordu. kenarda durup hissemize düşeni almak için dinlemeye başladım.

Kendilerini ilmin son temsilcisiymiş gibi görenlere kulak asmayın, siz
"Biz size örnek değiliz!.. Biz bir ara nesiliz! Biz sizin ayaklarınızın altında birer basamağız!.. Siz bizi aşarak çok daha ileri noktalara ulaşacaksınız!..."
diyenleri dinleyin dedi.

Bir kitap aldı, "Öğrencilerinin kendine Mahir baba* dedikleri bir öğretmenden" dedi ve okumaya başladı
Hayat ilmi , yani insanca yaşayabilmek için elde edilmesi lazım gelen bilgi, herkesin şahsi kabiliyetine göre başka başkadır. Binaenaleyh herkes kendi kabiliyetine göre hayat bilgisi edinecektir.
Ticaretle iştigal edecekse, onun ilmi, metodu ve mektebi vardır. keza sanayi de öyledir. En basit san'attan, en mütekamil san'ata, yani yüksek matematik, yüksek fizik ve elektronik bilgisine ihtiyaç gösteren sanayi'e kadar, herkes kabiliyetine göre bir meslek edinip, hayatını kazanacaktır.
Çünkü kabiliyet yoklamadan girişilen teşebbüsler akim kalır. yani semere vermez. Bu uğurda sarf edilen zaman israf edilmiş olur. Bu keyfiyet ise mes'uliyeti muciptir. Çünkü zaman, aynca kendi başına büyük kıymettir.Hepimizin bildiği şöyle bir beyit vardır:

"Vakitler yakutlar gibidir. Vakitlerin sarfıyla yakutlar temin edilsede, hesapsız yakutlar sarf etsen, kaçırılan bir anı bile geri getirmeye imkan yoktur."
...
Bir de şu mesele vardır. Herkes kendi kabiliyetine göre iş ararken, aynı zamanda bir kat daha sevap kazanmak isterse, tutacağı işde, millete ve memlekete en faydalı olanını tercih eder. O zaman sa'yi iki kat meşkur olur. Birinci sevap kendini ve ailesini rahat geçindirip, başkasına ihtiyacını arzetmekten nefsini kurtardığı , ikincisi de cemiyetin selametini düşündüğü içindir. Peygamber Efendimizin emir ve tavsiyeleri bu esasa müteveccihtir.

...

Herkesin bildiğini, başkasına öğretmekle MÜKELLEFTİR, bu bir şükran borcudur. Zira kul Hakkın lutfu sayesinde bilgi Nimetine kavuşmuştur. Her nimetin şükrü kendi cinsiyle eda edilebilir....

* Mahir İz

Cumartesi, Mayıs 23, 2009

YSA ile Kan Bağışı tahmini

UC Irvine Machine Learning Repository sitesinden indirdiğimiz bir gurub veriyi kullanıyoruz

Blood Transfusion Service Center Data Set

Veriler Tayvanın Hsin-Chu şehrinde bir kan bankasının veri tabanından çıkarılımış. verilerimiz nelerden oluşutuğuna şöyle bir bakarsak

R (Recency - months since last donation),
Yani En son bağışı üzerinden geçen süre ay olarak
F (Frequency - total number of donation),
Yani kaç kez bağış yaptığı
M (Monetary - total blood donated in c.c.),
Yani bağış yaptığı kan miktarı
T (Time - months since first donation),
Yani İlk bağışından bu zamana kadar geçen süre ( ay olarak )


Bunları YSA mızın giriş değerleri olarak kullanıyoruz.

Çıkış değeri ise o ay kişilerin kan bağışı yapıp ( 1 ) yapmadıkları ( 0 )
yani YSAmız 4 giriş 1 çıkış yapısında

Ham verilerimizi alıp Open Ofis programımıza atıyoruz. Sonra bu verileri YSA nın kullanabileceğei aralığa çekiyoruz ( scale ) sonra Toplam 748 verinin 448 ini eğitim 300 nü test için kullanmak üzere iki parçaya ayırıp. Verileri Kaydediyoruz.
Favori YSA Eğitim programımız olan FannTool'u açıp Verilerimizi yükleyip YSA mızın dizaynını yapıp Güzeeelce eğitiyoruz.


Eğittiğimiz YSA nı "Blood-ovt.net" diye kaydediyoruz. Yine FannTool ile Kaydettiğimiz YSA nı çalıştırıp sonuçlarını inceliyoruz.
YSA'mız Eğitim verileriyle % 94.2 lik bir başarılı tahmin sayısına ulaşıyor ( 448 kişden 422 kişinin bağış yapıp yapmayacağını doğru tahmin ediyor. )
ama Test verileriyle ulaşılan sonuç hiçde iç açıcı değil. YSA'mız Test verileriyle % 67 lik bir doğru tahmine ancak ulaşabiliyor ( 300 kişden 201 kişinin bağış yapıp yapmayacağını doğru tahmin ediyor. ) Hiçte parlak bir oran değil.

Aynı verilerle ve Tekar bir eğitim işine girişiyoruz. Bu sefer daha optimum bir şekilde eğitiyoruz ve eğitimi biraz kısa tutuyoruz.

Eğittiğimiz YSA nı "Blood-opt.net" diye kaydediyoruz. Yine FannTool ile Kaydettiğimiz YSA nı çalıştırıp sonuçlarını inceliyoruz.
YSA'mız Eğitim verileriyle % 79,69 lik bir başarılı tahmin sayısına ulaşıyor ( 448 kişden 357 kişinin bağış yapıp yapmayacağını doğru tahmin ediyor. ) hiçte fean bir tahmin oranı değil.Bir de test sonuçlarına bakıyoruz. YSA'mız Test verileriyle % 82 lik bir doğru tahmine ulaşabiliyor ( 300 kişden 246 kişinin bağış yapıp yapmayacağını doğru tahmin ediyor. ) Bence gayet güzel bir sonuç.

Pek tabii Sizde denemeler yapabilirsiniz. verileri ve diğer dosyalara bakıp inceleyebilmeniz için hepsini bir arada veriyoruz
Download : Kan bağış Tahimini

Peki bu bize ne öğretti.
* YSA'yı sadece Eğitim verisi sonuçlarına göre değerlendirmek mümkün değildir. Muhakkak test edmek lazımdır

* YSA Eğtiminiz Ezberci olmasın :)

şimdilik bu kadar söyleyelim İnşallah Bir başka zamandetaylı anlatmaya çalışırız

Konumuza dönersek Bütün bunlardan fiyakalı bir makale için malzeme çıkabilir. İyi de bütün bunlar makale, tez, ödev ... içinmiydi. Yani Başka bir işimize yaramazmı bu YSA ?

Evet Pek ala bu konuda program yazılabilir. Kan bağışı merkezi bu programın sayesinde bir sonraki ay için yapılacak kan bağışlarını hatta Kan guruplarıyla birlikte tahmin edebilir.
Yapmamız gereken tek şey verileri ona göre düzenleyip FannTool ile Eğittiğimiz YSA'yı yazdığımız program içinden çalıştırmak. Ve bunun için C / C++ bilmenize de gerek yok. FANN kütüphanesinin pek çok dil için arabirimi ( Bindings ) var.

Bir mumda sen yak

Bir önceki yazımızda belirttiğimiz gibi burda görmüş olduğunuz yazılar ve projecikler sebebiyle pek çok kişi ile tanışma şansına sahip oldum

Bu insanların büyük çoğunluğu ya bir ödev ya da tez ile uğraşıyorlardı. Genelde şikayetle konuya başlıyorlardı
".... konusuyla ilgili pratik kaynak, örnek yok. varsada bir kaç tane ve ingilizce ..."

gibi. Biz genelde elimizden geldiğince yardımcı olmaya çalıştık ve inşallah bu şekilde devam edeceğiz.

Yalnız merak ettiğim bir husus var. Bu arkadaşların ödevlerini, tezlerini,... bir şekilde öyle yada böyle bitirmiş olmaları lazım. Bunlardan bir kısmı bile kendi tecrübelerini Diğer insanlarla paylaşmış olsaydı, en azından sonradan gelenler için kaynak sıkıntısı bir nebze azalırdı.

El hasıl klasik tabir ile söylersek
" Karanlığa küfredeceğine bir mumda sen yak "

demişler. Hem laf aramızda bu delilere güven olmaz. Belki birgün akıllanır, yada büsbütün zıvanadan çıkar "yazıyorumda ne oluyor ?" felan der. Benden söylemesi. Sonra demedi demeyin...

Not : Yeri gelmişken Mum yakmaya başlamış olan bir kardeşten bahsetmek istiyorum. Barış daha çok robotik diyecebileceğimiz konulardan bahsediyor. Silah kontrol sistemleri üzerine yazdıklarıyla biraz meyli tahrip sahbi gibi görünsede, memleket olarak israilli firmalara silah modernizasyonu için ödediğimiz tonla para düşünülürse kardeş haklı...

Perşembe, Mayıs 21, 2009

Ufkumu açanlara

Bu blog da yazmaya başladıktan sonra pek çok kişi ile yazıştım ( 100'ün üzerinde ) Hatta bazılarıyla tanışıp yüz-yüze görüşme imkanınada sahip oldum. Şu an itibarıyla düzenli bir zamanı, zemin ve amacı olmasada Ortak ilgi alanına sahip insanlar olarak bir araya gelip laflamak -En azından benim için- ufuk açıcı oluyor.

Geçenlerde yine bir kaçıyla ayrı ayrı görüşme imkanına sahip oldum. Neler görüşmedikki

  • verilen arge destekleri yeterli sayıda başvurunun bile olmaması
  • Destek alanlarında bürokrasiyle aldıklarına pişman olmaları
  • Üniversitelerimizin hali,
  • Formalite gereği hazırlanan yayınlar.
  • Bir heyetin dudakları arasındaki akademik ünvanlar
  • Açık kaynak kodlu yazılımları niçin desteklemeliyiz.
  • Ticari ürünlerin Açık kaynak kodlu alternatiflerine olan haksız rekabetleri
  • Embeded programlama nın nekadar önemli olduğu ve fakat ihmal ediliyor oluşu
  • Bu ihmal yüzünden yabancı ülkelere giden tonla paramız - zengin memleketiz vesselam -
  • Neler yapıyoruz.
  • Secure programming ve önemi, özellikle embeded sistemlerde
  • Finger2Face nin pek akıl yatmadığından DNA2Face'in daha mantıklı olmasına
...

İnşallah bir gün gelir düzenli bir zaman,zemin ve amaç üzerine toplanıp görüşme imkanımız olur...

Not : Bu yazıyı hazırladıktan sonra Ferruh Mavituna'nın "Fikir Üretme, Etki ve Tepki" yazısını okudum konuyla ilgisini sizlerin arifiyetinize bırakıyorum...

Pazar, Mayıs 10, 2009

Tıbbi görüntü İşleme ve ITK


Bir vesileyle Tıbbi görüntü İşlemeyle ilgili konulara bakınca gördümki. Tıbbi görünlülerin kendilerine has özel form ( DICOM mesela ) ve kullanımları var. Mesela bir tomografi aslında 3 boyutlu bir hacim ve gerektiğinde istenilen yerden kesit alınabilmesi gerekiyor. Bu durumda tek başına OpenCv ile birşeyler yapabilmek pek mümkün değil.

İşte ITK yani "Insight Toolkit" bu işler için yazılmış açık kaynak kodlu* cross-platform devasa bir kütüphane. Devasa diye boşuna demiyorum, kütüphaneyi derlemek saatler alıyor. Açık kaynak kodun Kodlaması C++ ile yapılmış. Lisans sistemi de BSD yani ticari uygulamalarınızda da rahatlıkla kullanabilirsiniz. Yalnız alıştığımız şekilde değilde CMake ile build sistemi oluşturulmuş. İlk başta biraz tuhaf gelsede biraz cebelleşerek proje dosyalarını oluşturmanız mümkün.

Kütüphanenin pekçok şeyi yapabiliyor olmasına rağmen görselleştirme ve Grafik Kullanıcı Arabirimi ile ilgili bir kısmı yok. ITK Görselleştirme için VTK yı öneriyor. Pek tabiiki GKA olarakda biz FLTK yı öneriyoruz. Ekran görüntüsünden de anlayabileceğiniz gibi. FLTK ile ITK 'yı kullanan ilk biz olmayacağız. ( unutmadan bir de vtkFLTK diye bir şey var ) Pek tabii ki matlab içinde birşeyler var MATITK

Kütüphane gerçekten çok büyük ve herhalde öğrenmek için epey bir emek ve zaman sarf etmek gerek. Yinede İlk fırsatta giriş niteliğinde bir örnek hazırlmak istiyorum**.


*
Açık Kaynak Kodun önemini bir kez daha görüyoruz. Başka türlü nasıl 13 Milyon Dolarlık bir kütüphaneyi kullanmaya imkanınız olabilirdiki ?
** FannTool 1.0 ile uğraşıyorum bunun dışında yapacak işler çok zaman ve zemin yok tembellik had safhada kısmet artık...

Cuma, Mayıs 01, 2009

GNU Octave bir MATLAB alternatifi

MATLAB programı malum, her konudaki araştırma projelerinde kullanılabilecek kapsamlı matematiksel modelleme ve görselleştirme araçları sağlıyor. Ayrıca C sözdizimine benzer kendi script dilini de içeriyor.

Bir de MATLAB’ a paralel geliştiren açık kaynak kodlu ve tamamen ücretsiz olan GNU Octave var. Daha evvelden belki duydunuz, belki de duymadınız, belki de bir türlü deneyemediniz. GNU Octave açık kaynak kodlu bir matematiksel analiz ve modelleme paketi. Sözdizimi olarak MATLAB ile uyumlu. Evveliyatı olmasına rağmen 1992 den beri tam zamanlı olarak geliştiriliyor.

Octave ana sayfası http://www.gnu.org/software/octave/

Matlab’ ın paketlerine paralel pek çok paketi de içinde bulunduruyor. Örneğin, Artificial Neural Networks, Audio, bioinfo, image processing, information theory, signal processing, finance, econometrics, …
Octave Paket listesi : http://octave.sourceforge.net/packages.html

Octave Forge sitesinden işletim sisteminize uygun paketleri indirip kurabilirsiniz.
Octave SourceForge : http://octave.sourceforge.net/

Mevcut son kararlı sürümü 3.0.5. Kendiniz derlemekle uğraşmak istemezseniz, hazır kurulum dosyalarını kullanabilirsiniz.

LINUX: Kaynak kodu kendiniz derlemek istemezsiniz, kullandığınız Linux dağılımının deposuna bir bakın. Ben Ubuntu kullanıyorum, apt-get ile kolayca kurabilirsiniz. Kurulu değil ise gnu-plot u da kurun.

WINDOWS: Kurulum dosyası versiyon 3.0.2. (Octave + Tüm paketler tek tıkla kuruluyor)

İndirmek için Link :

Internette çeşitli kaynaklarda 3.0.3. versiyonu kurulum dosyasını da bulabilirsiniz. Ben bu versiyonu kurdum. Ama bu kurulum yenilenecekmiş, bu yüzden şimdilik resmi depodan çıkarılmış. Son versiyon kurulumlar için ara ara yukarıdaki sayfaları takip edin. Kurulum gerçekten çok kolay.

GNU Octave elbette tam olarak MATLAB değil. Ancak özgür olan bu ortamda neler yapabileceğinize şaşıracaksınız.

Son olarak, Octave ı nasıl öğreneceksiniz. Tabii ki herhangi bir Matlab kitabından. Ayrıca Octave için yazılmış bir çok tutorial ve hatta basılı kitaplarda mevcut. Paket kullanımında Matlab ile farklılıklar olursa internet kaynaklarına bakabilirsiniz..

Blogun ruhuna uygun olarak, bundan sonraki yazida octave ile bir image processing örneği vermeye çalışacağım.

Yagi


Not: Altındaki imzadan da göreceğiniz gibi yazı bana ait değil. Bu yazıyla bir ilk de gerçekleşmiş oldu. Okurlarımızdan birinin yazısını yayınlamış olduk. Daha önce de Yabancı bir arkadaş tezini yollamışdı ve bizde yayınlamıştık. Yeniliklerimiz devam edecek - inşallah -