Как использовать функцию настройки головы envi?

Я не понимаю envi_setup_head, Может ли кто-нибудь помочь мне написать его в формате кода IDL?

У меня есть карты, которые были созданы в IDL, и мне нужно обработать их в ENVI. Я не знаю, как сохранить изображения в папке и иметь возможность открыть их в ENVI. кто нибудь знает как это сделать?

1 ответ

Чтобы создать заголовок 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

Затем вы можете прочитать изображение в ENVI, либо из меню File->Open, либо через командную строку IDL следующим образом:

IDL> nv = envi()
ENVI> view = nv.getview()
ENVI> raster = nv.openraster('mydatafile.dat')
ENVI> layer = view.createlayer(raster)
Другие вопросы по тегам