IDL Tutorial

Transkript

IDL Tutorial
IDL
(Interactive Data Language)
Dr. Tuncay ÖZIŞIK
TÜBİTAK Ulusal Gözlemevi
http://www.ittvis.com
IDL’e Giriş
IDL (Interactive Data Language) bilimsel verinin analizi, görüntülenmesi ve işlenmesi
amacıyla hazırlanmış bir yazılım paketidir. IDL kullanıcıya Basic ile Fortran benzeri
bir programlama, grafik çizme ve görüntüleme imkânı sunar. Bünyesinde birçok
matematiksel fonksiyon ve görüntüleme tekniklerini kullanıma hazır olarak içeren dizigüdümlü güçlü bir programlama dili içerir. Bu yüzden IDL ile programlama, Fortran
veya C gibi dillerle yapılanlara nazaran çok daha kısa sürer. Komutlar doğrudan
komut satırından (IDL>) girilip anında çalıştırılabildiği gibi, bir program halinde de
yazılıp kaydedilerek tekrar tekrar kullanılabilir.
UNIX, VMS, Windows ve Macintosh işletim sistemleri için ayrı sürümleri bulunan
IDL’in bu sistemlerdeki kullanımı ve komutları birbirine çok benzer. Windows ve
Macintosh versiyonu tamamen grafiksel kullanıcı arabirimine sahiptir.
IDL her yönüyle anlatılmaya kalkışıldığında ciltler dolusu kitaplar yazılabilecek çok
geniş bir yazılım paketidir. IDL hakkında yazılmış birçok kaynak kitap ve kullanım
kılavuzları olmasına rağmen herhalde en sık başvurulan kaynak kendi içindeki
yardım bölümüdür (Online Help). Ana IDL penceresinden Help/Contents... ile anında
erişilen ayrıntılı hazırlanmış bu yardım sistemi ayrıca komutların örnek kullanımlarını
da içermektedir.
Bu yazıda Windows tabanlı IDL 5.4 temel alınarak sık kullanılan bazı komutların
uygulanışı anlatılmış, çeşitli amaçlarla yazılmış programların incelenmesiyle IDL
kullanımına bir giriş yapılmıştır.
IDL’in Avantajları
•
IDL etkileşimli olarak kullanılabilecek fonksiyonlar, programlar ve uygulamalar
geliştirmek için yapısal bir programlama dili içerir.
•
Operatörler ve fonksiyonlar, veri analizini basitleştirecek ve programlama
zamanını azaltacak şekilde verilerin tanımlandığı dizilerin tamamını kullanacak
şekilde çalışır. Örneğin; iki boyutlu bir dizi, yani bir görüntü, okunduğu anda
tüm elemanları (tüm pikseller) hafızada tutulur.
1
•
Anında komut işletme veya yazılan programların derlenmesi, oluşabilecek
hataların derhal görülmesini sağlar.
•
2D, 3D grafik çizimleri, her türlü görüntüleme (hacim, 2D, 3D) ve animasyon
olanakları, kullanıcının yaptığı analizlerin sonucunu hızlı bir şekilde almasını
sağlar.
•
Verinin analizi ve simulasyonu için Numerical Recipes çözümlerinin de
yeraldığı birçok sayısal ve istatistikel analiz olanakları mevcuttur.
•
IDL’in esnek veri giriş/çıkış özelliği sayesinde herhangi bir veri formatı
okutulabilir. Ayrıca birçok standart görüntü formatı (BMP, GIF, JPEG, TIFF,
XWD vs.) ile bilimsel veri formatı da (FITS, CDF, HDF, NetCDF vs.) tam olarak
desteklenmektedir.
•
Yazılan programlara kolayca grafiksel kullanıcı arabirimi eklemek için “IDL
Widget” ları (butonlar, menüler, pencereler gibi) kullanılabilir.
•
IDL ile yazılan programlar çok az veya hiç değişiklik yapmadan desteklenen
tüm işletim sistemlerinde (Unix, VMS, Windows ve Mac) çalışır. Bu özellik
birçok farklı işletim sistemine sahip bilgisayar desteği demektir.
•
Mevcut FORTRAN, C veya Visual Basic gibi dillerde yazılmış programlar,
fonksiyonellikleri arttırmak için dinamik olarak IDL’e bağlanabilir veya bu tür
programlar bir alt program olarak IDL programlarını çağırıp kullanabilir.
•
İyi bir şekilde kategorize edilmiş yardım sistemi sayesinde IDL kullanımı ve
komutlar hakkındaki her türlü açıklamaya örnekleriyle birlikte IDL ile çalışırken
erişmek mümkündür.
IDL ile Çalışmak
Temel bazı özellikleri ile anlatılan IDL kullanımında esas olarak 5.4 uyarlaması ele
alınmış ve verilen örnekler burada çalıştırılmıştır. Bu örnekler önceki ve sonraki
uyarlamalarında da çok yüksek olasılıkla çalışmalıdır. IDL 5.4’ün çalışması için teorik
olarak 25 MB disk boşluğu, 32 MB RAM ve bir Pentium işlemci yeterlidir. Günümüzde
PC türü bilgisayarların ulaştığı donanım seviyesini düşünürsek 1-2 GB disk boşluğu,
2 GB veya üzeri RAM ve işlemcisi hızlı bir bilgisayarda IDL çok iyi bir performansla
çalışacaktır. Hızlı bir grafik kartı ve 17" – 19" bir monitör ise çalışmayı en verimli hale
sokacaktır.
IDL ile rahat çalışabilmek için Windows’un ekran çözünürlüğü monitör büyüklüğüne
göre uygun ayarlanmalıdır (14" için 800x600, 17" için 1024x768 veya üstü), renk
derinliği ise 256 (8-Bit) veya 16.7 Milyon (24-Bit) olabilir. Günümüzde artık 8-Bıt
2
yerine “True Color” olarak adlandırılan 24-Bit grafik kartları ile çalışmak en
verimlisidir. Ekran kartınız ile ilgili ayarlara, Windows masaüstünden sağ fare
tıklamasıyla gelen menü üzerinden Properties/Settings (Özellikler/Ayarlar) ile
erişilebilir. Ayrıca IDL kullanacağınız bilgisayarın donanım özelliklerini öğrenmek için
IDL satırında aşağıdaki komutu kullanabilirsiniz.
IDL> Help, /DEVICE
Bu komut çalıştığında aşağıdakine benzer bilgiler gelecektir.
Available Graphics Devices: CGM HP METAFILE NULL PCL PRINTER PS WIN Z
Current graphics device: WIN
Screen Resolution: 1400x1050
Simultaneously displayable colors: 16777216
Number of allowed color values: 16777216
System colors reserved by Windows: 0
IDL Color Table Entries: 256
NOTE: this is a TrueColor device
Using Decomposed color
Graphics Function: 3 (copy)
Current Font: System,
Current TrueType Font: <default>
Default Backing Store: Pixmap.
IDL çalıştırıldığı zaman ekrana gelen ana IDL penceresi içinde en üstte çeşitli menü
butonları, komutun işlediğinin ve oluşabilecek hataların kullanıcıya bildirildiği
OUTPUT LOG penceresi vb pencereler yeralır. Bu pencereleri Window menüsünden
düzenleyebilirsiniz. Burada standart olarak 100 satırlık kayıt yapılır. Bu değer
File/Preferences/General menüsünden erişilen number of lines to display in the log
ile değiştirilebilir. IDL penceresinin en altında ise IDL komut satırı (IDL>) yeralır ve
buradan girilen komutlar doğrudan işletilir. Standart olarak IDL girilen son 20 komutu
hafızasında tutar ve bunlar aşağı-yukarı ok tuşları ile çağrılabilir. Bu miktarı
değiştirmek için IDL, içinde “!Edit_Input=satır sayısı” komutunun yazılı olduğu bir
başlangıç
dosyasına (startup file) bakar. File/Preferences/Startup menüsünden
erişilen Startup Program: kısmına bu dosya adı yazılıp Save Settings ile
kaydedilmelidir. Örneğin 50 satırlık bir hafıza istiyorsak; !Edit_Input=50 komutunu
NOTEPAD benzeri bir program ile yazıp bunu HAFIZA.TXT adıyla kaydederiz. Bu
başlangıç dosyasını da diskteki yeriyle (genelde IDL ile aynı dizinde olur) Startup
Program: kısmına yazıp kaydedersek IDL’i tekrar başlattığımızda artık komut satırı
50 komutu hafızasında tutacaktır. Girilen komutların toplu listesini öğrenmek için,
IDL> Help, /Recall_Commands
3
komutu da kullanılabilir. O ana kadar işletilen komutların toplu listesi LOG penceresi
içinde gözükecektir. IDL ile çalışırken yapılan işlerin kayıtları otomatik olarak bir
dosyaya da yazdırılabilir. Bunun için çalışmaya başlamadan önce;
IDL> Journal,’work.txt’
komutu verilerek IDL’in tüm aktiviteyi bu dosyaya ASCII olarak yazması sağlanır.
Dosya;
IDL> Journal
komutu ile kapatılabilir ve herhangi bir kelime-işlem programında okunabilir.
IDL komutları IDL> şeklindeki komut satırından doğrudan çalıştırılabileceği gibi
herhangi bir “ASCII Text” editörü (Notepad vb) kullanarak ta yazılabilir. Fakat kolaylık
olması ve birtakım kullanışlı özellikler açısından IDL içindeki editörü kullanmak
tavsiye edilir. Programlarının yazıldığı IDL EDITOR penceresi normalde IDL ilk
çalıştırıldığında ekrana gelmez. Bunun için File/New/Editor ile boş ve Untitled1 adı
verilmiş bir yazı penceresi açılır. Burası, IDL programlarının yazıldığı, kaydedildiği ve
önceden yazılan programların çağrıldığı yerdir. IDL içindeki editörün kullanıcıya
yardımcı önemli bir özelliği, programlar yazılırken belirli IDL komut ve yapılarının
renklerle kodlanmasıdır. Programın çalışması sırasında oluşabilecek hataların olduğu
satırlar da kırmızı noktalarla belirtilir. Bu özellik yine File/Preferences/Editor
menüsünden erişilen Enable colored syntax seçeneği ile eklenip çıkartılabilir. IDL,
renkleri aşağıda verildiği şekilde kullanmaktadır.
Mavi : IDL fonksiyonları (SIN, COS, FLTARR gibi).
Koyu Kırmızı : Program kontrol komutları (IF, THEN, ELSE gibi).
Yeşil : Açıklama satırları ( ; ile başlayan satırlar).
Kırmızı : İki tırnak (‘…..‘) arasındaki her tür yazı.
Açık Kahverengi : Sayısal sabitler.
Buraya kadar anlatılanlar Şekil 1’deki ekran görüntüsünde toplu olarak verilmiştir.
4
Şekil 1. Örnek bir program yüklenmiş ve çalıştırılmış IDL ekranının görünüşü. IDL penceresi ve
menüler, program kodunun olduğu IDL EDITOR penceresi, çalışma kaydının tutulduğu bir OUTPUT
LOG penceresi ve en altta komutların yürütüldüğü IDL komut satırı (IDL>).
IDL: İlk komutlar, ilk program…
IDL ile astronomi alanında çalışmak için öncelikle NASA tarafından hazırlanan ve
zaman zaman güncellenen “The IDL Astronomy User’s Library” pakedi
“http://idlastro.gsfc.nasa.gov/” adresinden yüklenip “RSI/IDLxx/lib/” altında “astron”
olarak adlandırılabilecek bir klasöre açılmalıdır. Bu pakette yeralan birçok program
parçaları yardımıyla IDL de astronomi alanındaki programlamalar çok daha hızlı ve
konforlu olacaktır.
IDL’i çalıştırdıktan sonra IDL> satırına aşağıdaki komutları yazarak ilk çalışmamızı
yapabiliriz. Her komutu işletmek için ENTER’a basılır ve OUTPUT LOG
penceresinden de girilen her komutun IDL tarafından yürütüldüğünü veya hatalar
varsa neler olduğu takip edilebilir.
IDL> file=Pickfile(/READ,FILTER='*.fit; *.fts; *.fits')
- Diskten “M51.fit”
dosyasını alalım.
5
IDL> im=Readfits(file)
IDL> Window,1,xs=512,ys=504
IDL> tvscl,im
IDL> Print, minmax(im)
IDL> Help,im
- Görüntüyü FITS formatında okuyalım.
- Görüntü formatını OUTPUT LOG
penceresindeki mesajdan öğrenip uygun
bir grafik penceresi açıyoruz.
- Grafik penceresinde gösteriyoruz.
- Görüntüdeki min ve max piksel şiddetlerini
OUTPUT LOG penceresine yazdırıyoruz.
- im değişkeni hakkında bilgi alıyoruz.
Şimdi kısaca komutlarla neler yaptığımızı inceleyelim: İlk satırda açılan bir sorgu
penceresi ile bir FITS dosyası seçip file değişkenine atadık. İkinci satırda, file
değişkenini Readfits komutu ile FITS formatında bir görüntü dosyası olarak okutup
im değişkenine atadık. OUTPUT LOG penceresinden görüntü büyüklüğünü
öğrenerek buna uygun ve 1 numaralı bir grafik penceresi açtık. Sonra bu görüntüyü,
piksellerin şiddet dağılımları en iyi gözükecek şekilde, açılan grafik penceresi içinde
görüntüledik. Görüntüdeki piksel şiddetlerinin minimum ve maksimum değerlerini
öğrendik ve son olarak im değişkeni hakkında bilgi aldık.
IDL: Görüntüler Üzerinde Temel İşlemler
IDL’in grafik penceresinde görüntülenen her türlü veri üzerinde gerçekleştirilebilecek
çok sayıda işlem bulunmaktadır. Bu kısımda sıklıkla kullanılan temel işlemler ve
bunları gerçekleştirmek için kullanılacak komutlar örneklerle ele alınmıştır. Örnek
komutlar yukarıda kullanılan im görüntüsü üzerinde uygulanacaktır.
• Görüntünün (0,0) noktası
IDL> Tvscl,im
IDL> Tvscl,im,Order=1
- im adlı görüntü grafik penceresinin sol alt
köşesi (0,0) olur ve buradan başlayarak gösterilir.
- Grafik penceresinin sol üst köşesi (0,0) olur.
Bu durumda görüntü dikey olarak ters çevrilir.
• Grafik penceresi içinde bir görüntünün pozisyonu
IDL> Tvscl,im,x,y
- im görüntüsü grafik penceresinde, sol alt köşesi
(x,y) koordinatlarına (piksel) gelecek şekilde
görüntülenir
IDL> Window,xs=600,ys=600 - 600x600 piksellik bir grafik penceresi açıldı.
IDL> Tvscl,im,100,200
- Grafik penceresi içinde im görüntüsünün sol alt
köşesi (100,200) koordinatlarına gelecek
şekilde yerleştirildi.
6
• Görüntü boyutlarını değiştirme
IDL görüntü boyutlarını değiştirmek için iki farklı fonksiyon sunar, REBIN ve
CONGRID. REBIN komutu görüntünün orijinal (x,y) boyutlarının tam katları şeklinde
büyültme/küçültme yapar. Halbuki CONGRID komutu tamamen serbest oranlarda
görüntüyü küçültür veya büyültür. REBIN fonksiyonunda /SAMPLE ve CONGRID
fonksiyonunda da /CUBIC, /INTERP ve /MINUS_ONE parametreleri (keywords)
grafik kalitesini arttırır.
IDL> yeni=Rebin(im,yeniX, yeniY)
- REBIN fonksiyonunun kullanımı.
IDL> yeni=Rebin(im,256,252,/SAMPLE) - im görüntüsü 250x200 piksel
boyutuna küçültülerek yeni
değişkenine atandı.
IDL> Tvscl,yeni
- 256x252 piksellik küçük görüntü
gösterildi.
IDL> yeni=Congrid(im,yeniX, yeniY)
- CONGRID fonksiyonunun kullanımı.
IDL> yeni=Congrid(im,144,136,/CUBIC) - im görüntüsü 144x136 piksel
boyutlarına indirildi.
IDL> Tvscl,yeni
- Küçültülmüş görüntü gösterildi.
Dikkat edilirse x/y oranı
korunmamış, geometri bozulmuştur.
• Görüntülerin döndürülmesi
IDL grafik penceresi içinde yeralan görüntülerin döndürülmesi için iki farklı fonksiyon
sunar, ROT ve ROTATE.
IDL> new=Rot(im,±
±angle, [Mag,XPivot,YPivot])
- new adlı görüntü
“angle” açısı kadar saat
ibresi yönünde
döndürülür.
Angle : Saat ibresinin tersi yönde
Mag > 1.0 büyültme
Mag < 1.0 küçültme
(Xpivot,Ypivot) : Döndürme merkezinin koordinatları.
Keywords :
INTERP : Bilineer interpolasyon (En yakın komşu piksel
örneklemesi)
CUBIC : Cubik Convolution (Daha doğru yaklaşım)
MISSING : Döndürme sonucu görüntü datası dışında kalan
alanların doldurulacağı piksel değeri.
PIVOT : Döndürme merkezi kullanılacaksa gerekir.
IDL> new=Rotate(im,Direction)
- Görüntüyü 90o nin tam katları
olacak şekilde döndürür.
7
Yön
0
Dönme Miktarı *
-
(X,Y)
X0 , Y0
1
90o
-Y0 , X0
90o sola çevir.
2
3
4
5
180o
270o
90o
-X0 , -Y0
Y0 , -X0
Y0 , X0
-X0 , Y0
180o sola çevir
270o sola çevir (veya 90o sağa).
Yatayda ters çevir ve 90o sağa çevir.
Yatay doğrultuda ters çevir.
Açıklama
Herhangi bir döndürme yok.
6
180o
-Y0 , -X0 Yatayda ters çevir ve 90o sola çevir.
7
270o
X0 , -Y0 Dikey doğrultuda ters çevir.
* Dönme yönü saat ibresinin tersi istikametindedir.
ÖRNEK
IDL> NewImage=Rot(im,45,1,300,300,/cubic,missing=1000,/pivot)
im adlı görüntü (300,300) noktası döndürme merkezi olmak üzere 45o sağa doğru
büyültme/küçültme yapmadan “CUBIC” yaklaşımı ile döndürülür. Döndürme sonucu
grafik penceresi içinde data noktaları dışında kalan alanı “1000” piksel değeri ile
doldurulur.
IDL> new=Rotate(im,1)
- im adlı görüntü sola doğru 90o döner.
IDL> new=Rotate(im,6)
- im adlı görüntü soldan sağa doğru ters
Çevrilir ve 90o sola döner.
• Grafik penceresi içeriğinin okunması (Capturing)
IDL, bir grafik penceresi içindeki görüntünün okunması ve gerektiğinde bir dosyaya
grafik formatında kaydedilebilmesi için TVRD adlı bir fonksiyona sahiptir.
IDL> capture=TVRD()
- Aktif grafik penceresinin tüm içeriği
capture değişkenine atanır.
ÖRNEK-1
IDL> Window, xs=512,ys=504
IDL> Tvscl,im
IDL> newimage=TVRD()
IDL> Help,newimage
IDL> erase
IDL> TV,newimage
- 512x504 piksellik bir grafik penceresi.
- Açılan pencereye im adlı görüntü gelir.
- Pencerenin tüm içeriği newimage
değişkenine atanır.
- newimage değişkeni hakkında bilgi alınır.
- Aktif pencerenin içeriği silinir.
- Pencere içine yeni görüntü aktarılır (aynı
görüntü gelir).
8
ÖRNEK-2
Aşağıdaki program bir görüntü dosyasının okutulması, grafik pencere içerisine yazı
yazma, şekil çizme ve tüm pencere içeriğini kopyalama işlemlerine bir örnek teşkil
etmektedir. (dispdata.pro)
PRO dispdata
file=FilePath('people.dat',SubDir='examples/data')
OpenR,lun,file,/Get_Lun
ali=BytArr(192,192)
ReadU,lun,ali
Free_Lun,lun
window,0,xs=350,ys=230
tvscl,ali
strings = STRARR(1)
strings(0) = '
Ali Bahrami who is a developer of IDL.'
fonts = STRARR(1)
fonts(0) = '*helvetica-bold*--24*|20!5'
Disp_Txt,strings,fonts,10, Def_Font='12x24'
plots,[200,300],[100,100],/device
plots,[250,250],[50,150],/device
capture=TVRd(/CHANNEL)
window,1,xs=350,ys=300
tvscl,capture
end
ÖRNEK-3
Bir galaksi görüntüsüne çeşitli görüntü işlemleri uygulanıyor ve sonuçlar aynı bir
grafik penceresi içerisine gönderiliyor. Sonra bu pencerenin tüm içeriği FITS dosyası
olarak diske kaydediliyor (galaksi.pro).
pro galaksi
Galaxy=BytArr(256,256)
;Galaksi görüntüsünün
;depolanacağı dizi.
OpenR,1,'c:\rsi\idl54\examples\data\galaxy.dat'
;Galaksi görüntüsü
;dosyasını aç.
;Görüntü datasını oku.
;Dosyayı kapat.
ReadU,1,Galaxy
close,1
9
help, Galaxy
window,0,xs=500,ys=500,Title='Processing M51'
tvscl,Galaxy
tvscl,rebin(Galaxy,128,128),50,325
;500x500 piksellik grafik
;penceresi aç.
;Sol alta koy
;Sol üste küçülterek
;koy.
;Sağ üste döndürerek
;koy.
tvscl,rot(Galaxy,44),250,275
window,1,xsize=250,ysize=250
;Kontur için yeni bir
;pencere aç.
;Aktif pencereyi seç.
wset,1
contour,Galaxy
;Galaksinin kontur
;haritasını oluştur.
;Kontur penceresini
;kopyala.
;Aktif pencereyi
;(galaksiler) seç.
;Kontur görüntüsünü
;galaksi görüntülerinin
;olduğu pencerenin sağ
;altına koy.
kontur=TVrd()
wset,0
tvscl,kontur,220,0
FinalImage=TVrd()
;Sonuç grafik
;penceresinin tüm
;içeriğini kopyala.
Newfile = PICKFILE(/WRITE, FILTER = '*.fts')
;Kayıt için bir sorgu
;penceresi aç.
writefits, Newfile, FinalImage
;Görüntüyü FITS
;formatında kaydet.
End
• Format komutunun kullanımı (Print, Printf, String)
Çok farklı hallerde kullanılan “Format” komutunun kullanımına ait örnekler aşağıda
verilmiştir.
ÖRNEK-1: Ekran Çıktıları
IDL> x=3
IDL> print,x
IDL> print,format='(i3.3)',x
- x = 3 olsun.
- “Output” penceresine “3” yazar.
- “Output” penceresine “003” yazar.
10
ÖRNEK-2: Dosya isimlendirme
IDL> i=1
- i = 1 olsun.
IDL> BMP_File="Frame_" + string(i, Format='(i3.3)')+".bmp"
Diske yazılacak dosya ismi “Frame_001.bmp” olur.
• Klasördeki dosya sayılarını bulma (findfile)
ÖRNEK: FTS uzantılı dosyaların sayısı
IDL> f=findfile('c:\rsi\idl54\work\*.fts',count=NFrames)
IDL> print, NFrames," frames found."
“c:\rsi\idl54\work\” klasöründe “fts” uzantılı dosyaların sayısını bulur.
• Diskten dosya okuma (pickfile)
ÖRNEK: FIT uzantılı dosyaları göster
file=PICKFILE(/READ,FILTER='*.fit')
im=READFITS(file,header)
- Seçilen klasördeki “FIT” uzantılı
dosyalar.
- Seçilen dosyayı FITS olarak oku ve
im değişkenine ata.
• Diskten dizin seçme (dialog_pickfile)
ÖRNEK: Diskten bir dizin seçmek üzere sorgu penceresi aç
file=dialog_pickfile(get_path=path,/directory)
- Sorgu penceresi açılır.
İstenen klasöre çift
tıklandıktan sonra “OK”.
- Seçilen klasör “Directory”
değişkenine atanır.
Directory=path
• Diskteki bir dosyayı bileşenlerine ayırma (fdecomp)
ÖRNEK: Diskten bir dosyanın tüm bileşenlerini göster
path=’c:\temp\frames\test.fts’
- Şeklinde bir dosya yeri olsun.
fdecomp, path, disk, dir, name, qual, version
- Komutu verilince
disk= c:, dir= \temp\frames, name= test, qual= fts - Şeklinde bileşenler elde edilir.
11
• JPG görüntü dosyası okuma
ÖRNEK: JPG uzantılı dosyalardan seçilen birini göster
JPEG_file=PICKFILE(/READ,FILTER='*.jpg')
read_jpeg,JPEG_File,image, TRUE=1
(read_jpeg,JPEG_File,image,/GRAYSCALE)
TV, image,TRUE=1
(TV, image)
- Seçilen klasördeki “JPG”
görüntü dosyaları.
- Seçilen dosyayı “JPEG“
formatında renkli oku.
- Görüntü siyah/beyaz
okunmak istenirse.
- Dosyayı grafik pencerede
renkli olarak göster.
- Siyah/beyaz göstermek için.
• STRING İşlemleri
ÖRNEK: Belirli bir karaktere kadar ayıklama
kelime=’12345_alibaba’
ayikla=GETTOK(kelime,’_’)
Print,ayikla
Print,kelime
- Böyle bir “string” olsun.
- ‘_’ karakterine kadar ayıklar.
- Ekrana 12345 yazılır.
- ‘_’ karakterinden sonrası
yazılır, yani “alibaba” kalır.
BAZI KAYNAKLAR
-
http://www.astro.virginia.edu/class/oconnell/astr511/IDLresources/IDLguide.html
http://idlastro.gsfc.nasa.gov/homepage.html
http://www.dfanning.com/documents/programs.html
http://ross.iasfbo.inaf.it/IDL/idl_bo08.html
Son güncelleme: 08.11.2012
12

Benzer belgeler