I think this will give the same result for a double loop and be faster:
for j in xrange(np.size(ox)): result[j] += sum( abs(tx-ox[j])<oe[j] & abs(ty-oy[j])<oe[j] & abs(tz-oz[j])<oe[j] )
To get this: 1) change the order of the cycles (i.e. replace them) that are valid, since nothing changes in the loops; 2) pull result[j] beyond the bounds of cycle i ; 3) convert all t>ox-oe and t<ox+oe to abs(t-ox)<oe (although this may not be very fast acceleration, it is easier to read).
Since you do not have executable code, and I did not want to create a test for this, I am not 100% sure that is correct.
source share