Impro
跳到导航
跳到搜索
John Moustakas写的一系列IDL code,有很多有用的程序。[1]
通用
- l,pwd,cwd,一些类UNIX命令,用spawn实现
数组
- range
- 生成一个分界的数组 (有较多功能)
print, range(0,1,5)
- findex
- 计算一个浮点的位置,可用于插值,例子
u=randomu(iseed,200000) & u=u(sort(u))
v=randomu(iseed,10)
fx=findex(u,v);计算v这个数字(数组)在排序之后的u数组中间的位置
v2=interpolate(u,fx)插值 ;interpolate是IDL内置的插值函数
print,v,v2 ;可以看到v2几乎等于v
- rebinw
- 将数组分bin,功能比较强大。
- sort_nd
- 多维数组排序
统计
- Im_stats,Im_mean,Im_median,Im_mean,Im_max
- 求均值,中值,等基本统计量,但是可以剔除一些可疑值,调用的idlutils中的djs_iterstat
结构
- IM_STRUCT_TRIMTAGS
- 调整结构数组
字符
- SIGFIG 把一个浮点数组转换为字符数组,并保留指定精度
- getcr 生成一个回车符
文件读写
- READFAST
- 可以快速的读入逗号分隔的文件,但是只能是浮点或者双精度数
天文
- ASTROCONST()天文上常用的常数,IM_Lsun (太阳光度,ergs^-1),IM_light(光速)
a=astroconst(/mks);国际单位制
help,a
- BELL_MASS()
- 计算恒星质量 Bell et al. color-based method.
- NED_WEBGET_BASIC (测试没有成功)
- 从NED获取文件
IDL> ned_webget_basic, 'ngc5194', b
IDL> struct_print, b
光谱相关
- MAKE_WAVE
- 根据文件头(必须是mrdfits读入的主文件头,下面的iforage的不行),生产一个光谱的波长数组,经过测试可适用于SDSS的光谱,生产的是对数波长
- im_filtermag
- iforage
- 将光谱的文件头读入成一个结构,很方便
- K_LAMBDA()
- 常用消光曲线
- BALMER_TEMPERATURE
- Compute the temperature dependence of the Balmer decrement
画图
- IM_LINEID_PLOT
- 标志谱线用
- IM_PS2HTML
- 将ps图转换成PNG文件,然后生成一个网页
- IM_HESSPLOT
- 生成一个密度图
- GANG_PLOT_POS 和 pagemaker
struct=gang_plot_pos(nrow,ncol,col,row, [XTICKFORMAT=,YTICKFORMAT=, OFFSET=,SIZE=, /POSITION_ONLY]
plot,findgen(10), _EXTRA=gang_plot_pos(2,1,0) plot,findgen(10)^2,_EXTRA=gang_plot_pos(2,1,1)
- SFR_UNITS
- SFR的单位(太阳质量每年),画图的时候用
- WKILL,关掉所有的画图窗口,wdelete只能关闭指定窗口