-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathh2d_ri.pro
More file actions
30 lines (23 loc) · 782 Bytes
/
h2d_ri.pro
File metadata and controls
30 lines (23 loc) · 782 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
function h2d_ri, xvec, yvec, dx, dy, zvec=zvec, xrng = xrng, yrng=yrng, zimg=zimg
if ~keyword_set(xrng) then xrng= minmax(xvec)
if ~keyword_set(yrng) then yrng= minmax(yvec)
xvec = (xvec < (xrng[1]-1d-6)) > xrng[0]
yvec = (yvec < (yrng[1]-1d-6)) > yrng[0]
yvecscl = floor((yvec-yrng[0])/dy)
xvecscl = floor((xvec - xrng[0])/dx)
binsx = (xrng[1]-xrng[0])/dx
binsy = (yrng[1]-yrng[0])/dy
onedee = xvecscl + yvecscl*binsx
hg = histogram(onedee, bin=1, nbins=binsx*binsy, min=0, reverse=ri)
if keyword_set(zvec) then begin
zimg = hg*0.0
for i=0, binsx*binsy-1 do begin
if (ri[i] ne ri[i+1]) then begin
zimg[i] = mean(zvec(ri[ri[i]:ri[i+1]-1]))
endif
endfor
zimg = reform(zimg, binsx, binsy)
endif
hg = reform(hg, binsx, binsy)
return, hg
end