subset an image by roi in idl [message #50330] |
Mon, 25 September 2006 07:55  |
gis_learner
Messages: 7 Registered: September 2006
|
Junior Member |
|
|
Dear All,
I am a new comer to IDL world. Moreover I am not that good at coding.
Thus I need your advices,
I want to subset images via the same roi. Images are updated every 10
minutes or so.
I walked through the previous answers. And they worked fine, how ever
the subseted image is as big as the first one.
I will paste the code that I combined from web.
Any help is appreciated
Best REgards
pro sbst_ia_v2
envi, /restore_base_save_files
envi_batch_init, log_file='batch.txt'
; define the image to be opened
; pixel size is a function of selevted file
img_file= 'C:\RSI\IDL61\products\ENVI41\data\can_tmr.img'
envi_open_file,image_file, r_fid=fid
;print,'r_fid=',r_fid,'fid=',fid
print,'fid=',fid
name='C:\RSI\IDL61\subset_via_roi\roi1.roi'
envi_restore_rois,name
roi_ids = envi_get_roi_ids(fid=r_fid)
roi_addr=envi_get_roi(roi_ids)
print, 'ROI: ', name, n_elements(roi_addr)
; check the roi element number
;print,'name=',name, ' roi_ids=',roi_ids
;for j=0,0 Do begin
roi_data=envi_get_roi_data(roi_ids,fid=fid,pos=[0])
; print, 'roi_data'
;print, roi_data
envi_get_roi_information,roi_ids,ns=ns,nl=nl
print, 'ns= ',ns, '**nl=',nl
roi_adresses=envi_get_roi(roi_ids)
out_data = intarr(ns,nl)
out_data [roi_adresses]=roi_data
;print, roi_adresses
; define the area to map out
;yz_data=out_data[195:362,88:173]
envi_write_envi_file,
out_data,ns=ns,nl=nl,out_name='out_name',map_info=map_info
;endfor
;envi_batch_exit
end
|
|
|