Viewing contents of file '../idllib/jhuapls1r/usr/embed.pro'
;-------------------------------------------------------------
;+
; NAME:
;       EMBED
; PURPOSE:
;       Embed an array in a larger array.
; CATEGORY:
; CALLING SEQUENCE:
;       b = embed(a,w)
; INPUTS:
;       a = input array (2-d).                      in
;       w = number of elements to add around edge.  in
; KEYWORD PARAMETERS:
;       Keywords:
;         VALUE=v.  Value for added border (def=0).
; OUTPUTS:
;       b = resulting larger array with a centered. out
; COMMON BLOCKS:
; NOTES:
; MODIFICATION HISTORY:
;       R. Sterner, 13 Dec, 1990
;
; Copyright (C) 1990, Johns Hopkins University/Applied Physics Laboratory
; This software may be used, copied, or redistributed as long as it is not
; sold and this copyright notice is reproduced on each copy made.  This
; routine is provided as is without any express or implied warranties
; whatsoever.  Other limitations apply as described in the file disclaimer.txt.
;-
;-------------------------------------------------------------
 
	function embed, a, dw0, value=val, help=hlp
 
	if (n_params(0) lt 2) or keyword_set(hlp) then begin
	  print,' Embed an array in a larger array.'
	  print,' b = embed(a,w)'
	  print,'   a = input array (2-d).                      in'
	  print,'   w = number of elements to add around edge.  in'
	  print,'   b = resulting larger array with a centered. out'
	  print,' Keywords:'
	  print,'   VALUE=v.  Value for added border (def=0).'
	  return, -1
	endif
 
	s = size(a)
	nx = s(1)
	ny = s(2)
	typ = s(s(0)+1)
 
	if n_elements(val) eq 0 then val = 0
	dw = dw0>0
 
	b = make_array(nx+2*dw, ny+2*dw, type=typ, value=val)
 
	b(dw,dw) = a
 
	return, b
	end