PRO hexpand, image, header, dx_l, dx_r, dy_b, dy_t, missing=missing ; Expand an image by dx_l, dx_r, dy_b, dy_t (left, right, bottom, top) ; and update the header astrometry. ; ; dx_l, dx_r, dy_b, dy_t: positive always mean expansion, in pixels. ; ; missing: value for blank pixels ; ; dx_l = fix(dx_l) dx_r = fix(dx_r) dy_b = fix(dy_b) dy_t = fix(dy_t) IF n_elements(missing) EQ 0 THEN missing=0 size = size(image) type = size[3] imsize = size[[1,2]] imsize_new = imsize + [dx_l+dx_r, dy_b+dy_t] image_new = make_array(imsize_new, type=type) + missing sxaddpar, header, 'CRPIX1', sxpar(header, 'CRPIX1') + dx_l sxaddpar, header, 'CRPIX2', sxpar(header, 'CRPIX2') + dy_b sxaddpar, header, 'NAXIS1', sxpar(header, 'NAXIS1') + dx_l + dx_r sxaddpar, header, 'NAXIS2', sxpar(header, 'NAXIS2') + dy_b + dy_t ; size of the part in original image that will go to the new image imsize2 = imsize + [min([0,dx_l])+min([0,dx_r]), min([0,dy_b])+min([dy_t,0])] image_new[max([dx_l,0]) : max([dx_l,0])+imsize2[0]-1, $ max([dy_b,0]) : max([dy_b,0])+imsize2[1]-1] = $ image[max([-dx_l,0]) : max([-dx_l,0])+imsize2[0]-1, $ max([-dy_b,0]) : max([-dy_b,0])+imsize2[1]-1] image = image_new image_new = 0 END