function mean_I=weighted_mean(I_array)

data_pts=size(I_array,1);
mean_I_prel=mean(I_array);
select_I=I_array(I_array<=mean_I_prel);
lower_mean_I=mean(select_I);
dI=abs(mean_I_prel-lower_mean_I);
dI_weighted=dI/(0.5*data_pts);
mean_I_calc=mean_I_prel-dI_weighted;

if isnan(mean_I_calc)
    mean_I=mean_I_prel;
else
    mean_I=mean_I_calc;
end

end