pro puffy_events_test_loop_ndbcount rand_arr=100*randomn(10,100,100) array_dimension=100. THRESHOLD=4 log_file='C:\stats.txt' openw,1,log_file,/append ;openw,1,log_file,/append for radius=3,0,-1 do begin gt_thresh=where(rand_arr gt THRESHOLD,length_1) print,size(gt_thresh) for i=0,(length_1-1) do begin if ((gt_thresh(i) gt radius*array_dimension) and (gt_thresh(i) lt (array_dimension-radius)*array_dimension) $ and ((gt_thresh(i) mod array_dimension) gt radius) and ((gt_thresh(i) mod array_dimension) lt (array_dimension-radius))) then begin found_less=0 for xy_radius=(-radius),radius do begin for diag_radius=(-radius+abs(xy_radius)),(radius-abs(xy_radius)) do begin if ( (rand_arr(long(gt_thresh(i)+long(xy_radius*array_dimension)+diag_radius)) lt THRESHOLD) $ or (rand_arr(long(gt_thresh(i)+long(xy_radius*array_dimension)+diag_radius)) gt rand_arr(gt_thresh(i)))) then begin found_less=1 break endif endfor if (found_less eq 1) then begin break endif endfor if (found_less eq 0) then begin act_radius=radius+1 if act_radius gt 0 then begin star_indices=array_indices(rand_arr,gt_thresh(i)) print,'act radius',act_radius printf,1,FORMAT='(%"%d\t\t%d\t\t%d")',act_radius,star_indices(0),star_indices(1) for xy_radius=(-radius),radius do begin for diag_radius=(-radius+abs(xy_radius)),(radius-abs(xy_radius)) do begin rand_arr(long(gt_thresh(i)+long(xy_radius*array_dimension)+diag_radius))=0 endfor endfor endif endif endif endfor endfor close,1 end