pro splat_data, TARGET=a, SOURCE=b, COORDS=xy, DIMS=wh, PIXEL=dp, LAYER=l, SHAPE=uv, INTERP=interp border = interp & cubic = interp eq 2 d = (size(a))[1:2]-1 c = (xy-[0,0,1,1]) > 0 < [d,d] area = (c[2]-c[0]+1)*(c[3]-c[1]+1) if area le 0 then return s = c - [xy[0:1],xy[0:1]] + [dp,dp]*border a[c[0], c[1]] = (CONGRID(REFORM((*b)[*, *, l+border], uv), wh[0]+dp[0]*border*2, wh[1]+dp[1]*border*2, /CENTER, INTERP=(interp ne 0), CUBIC=cubic?-.5:0))[s[0]:s[2], s[1]:s[3]] end pro splat_const_data, TARGET=a, DATA=b, COORDS=xy d = (size(a))[1:2]-1 c = (xy-[0,0,1,1]) > 0 < [d,d] area = (c[2]-c[0]+1)*(c[3]-c[1]+1) if area le 0 then return a[c[0], c[1]] = REPLICATE(b, c[2]-c[0]+1, c[3]-c[1]+1) end