如何使用envi setup head功能?

时间:2016-05-03 22:29:16

标签: header format idl-programming-language envi

我不理解envi_setup_head。任何人都可以帮我写IDL代码格式吗?

我有在IDL中生成的地图,我需要在ENVI中处理它们。我不知道如何将图像保存在文件夹中,并且能够在ENVI中打开它们。有谁知道怎么做?

1 个答案:

答案 0 :(得分:0)

要为图像文件创建ENVI标头,您可以尝试类似下面的IDL过程。它创建一个小图像文件,并使用envi_setup_head创建一个ENVI头文件。基本上你所要做的就是为它提供样品,线条,数据类型等的数量,你很高兴。

pro enviHeaderTest
    compile_opt idl2

    ; Create the data and write to a file.
    ns = 100
    nl = 100
    data = dist(ns, nl)
    fname = 'mydatafile.dat'
    openw, lun, fname, /GET_LUN
    writeu, lun, data
    close, lun

    ; Open a headless ENVI.
    nv = envi(/HEADLESS)

    ; Create some map info for the raster.
    mc = [0,0,0,0] ;Tie point: [x pixel, ypixel, x map, y map]
    ps = [1D/3600, 1D/3600] ; Pixel size
    mapInfo = envi_map_info_create(/GEOGRAPHIC, MC=mc, PS=ps)

    ; Create the header.
    envi_setup_head, FNAME=fname, $ ; file name
        NS=ns, $                    ; number of samples
        NL=nl, $                    ; number of lines
        NB=1, $                     ; number of bands
        DATA_TYPE=4, $              ; IDL data type (float in this case)
        INTERLEAVE=0, $             ; BSQ
        MAP_INFO=mapInfo, $
        /WRITE

    ; Close ENVI.
    nv.close
end

然后,您可以通过File-> Open菜单或IDL命令行将图像读入ENVI:

IDL> nv = envi()
ENVI> view = nv.getview()
ENVI> raster = nv.openraster('mydatafile.dat')
ENVI> layer = view.createlayer(raster)