;+ ; ; @param index {in}{optional}{type=integer} The data container index ; from which the data are retrieved. Default = 0. ; ; @param elements {in}{optional}{type=integer} A subset of the full data ; array can be retrieved by specifying either a single data array index, or a ; two-element array to specify a range of data array indices. ; ; @examples ; ;
; filein,'file.fits' ; getrec,0 ; x = getdata() ; help, x ; X FLOAT = Array[1026] ; y = getdata(0,0) ; help, y ; Y FLOAT = 34.5000 ; z = getdata(0,[0,2]) ; help, z ; z FLOAT = Array[3] ;; ; @uses getdcdata ; ;- FUNCTION getdata, index, elements compile_opt idl2 ; default - retrieve data from the primary data container if n_elements(index) eq 0 then index=0 if (!g.line) then begin if (index gt n_elements(!g.s) or index lt 0) then begin message, string((n_elements(!g.s)-1),format='("index must be >= 0 and <= ",i2)') return, -1 endif if data_valid(!g.s[index]) le 0 then begin message,'No valid data at the given index',/info return, -1 endif if n_elements(elements) ne 0 then begin data = getdcdata(!g.s[index], elements) endif else begin data = getdcdata(!g.s[index]) endelse endif else begin if (index gt n_elements(!g.c) or index lt 0) then begin message, string((n_elements(!g.c)-1),format='("index must be >= 0 and <= ",i2)') return, -1 endif if data_valid(!g.c[index]) le 0 then begin message,'No valid data at the given index',/info return, -1 endif if n_elements(elements) ne 0 then begin data = getdcdata(!g.c[index], elements) endif else begin data = getdcdata(!g.c[index]) endelse endelse return, data END