IDLの小技
提供: MacWiki
目次
Memo[編集]
主なカラーテーブル
6 PRISM 13 RAINBOW 25 Mac style 33 Blue Red
環境変数(.cshrc)
setenv IDL_STARTUP ~/lib/idl/start.pro
環境変数をIDLプロシージャ内から操作するには
setenv,"DISPLAY=:0.0"
ファイアーウォール ... TCP/1700番ポートを開けておくこと
X Window 関連[編集]
- X window でカラーウィンドウを扱うには↓が必要。
device, decomposed=0, retain=2, true_color=24
- 65000色(High Color)では使えない。256色か1677万色(Full Color)が必要。
データの読み込み[編集]
Fortranバイナリ形式のデータを読み込む場合は、/f77 オプションをつける。 また、/get_lun で unit にファイル番号を自動取得することができる。
openr,/get_lun,/f77,unit,file
データの読み込み[編集]
data/ ディレクトリ内の data/data* ファイルを一覧表示し、 目的のファイルを番号で指定するサンプル。 単一のファイルを読み込む data_read を別途用意しておく。
spawn, 'ls data/data*', files n = n_elements(files) for i=0,n-1 do begin print, i, ' ', files(i) endfor print, 'Which file to read? (1/2/...)' read, n file = files(n) data_read, file
ファイルの拡張子に .gz が含まれている場合は、 ファイルの開き方を切り替える
if( strmid(file,(strlen(file)-3),3) eq '.gz' ) then begin openr,1, file, /compress for i=0,nx-1 do begin readf,1, ... endfor endif else begin openr,1, file for i=0,nx-1 do begin readf,1, ... endfor endelse close,1
pngファイルに出力[編集]
Xの画面をpngファイルに出力したうえで、Preview.appで表示します。
pro png pngfile = 'idl.png' print, 'Filename? ' read, pngfile write_png, pngfile, tvrd(true=1) spawn, 'open -a Preview ' + pngfile ;; Mac OS X end
同じ階層のディレクトリをFinderを開くには
spawn, 'open .'
3次元配列を tiff データに書き出す[編集]
for loop=0,255 do begin $ spawn, 'printf "tiff/img%03d.tiff" ' + string(loop), count &$ print, count(0) &$ write_tiff, count(0), ds[0:255,0:255,loop] &$ endfor
- sprintf 相当の関数がわからないので、spawn でシェルコマンドを呼びだしている。
3次元配列の可視化[編集]
iVolume,ds[0:255,0:255,0:255] iVolume,ue[0:255,0:255,0:255,2]
のように、3次元配列を引数に与える。