function dec = dec_reg(dbtype,dist,x,y,dbp,nbr); % function dec = dec_reg(dbtype,dist,x,y,dbp,nbr); [leny,lenx,nd] = size(dist); if strcmp(dbtype,'maxpost') dist_c = zeros(leny,lenx,nd,nbr); ur_prev = 10; % underrun preventive measure for ir = 1:nbr for id = 1:nd dist_c(:,:,id,ir) = ur_prev*dbp(ir,id)*dist(:,:,id); end end % hacky - depends on exactly four distributions (6/17/08) for ir = 1:nbr for id = 1:nd dec(:,:,id,ir) = dist_c(:,:,id,ir) >= dist_c(:,:,1,ir) & dist_c(:,:,id,ir) >= dist_c(:,:,2,ir) & ... dist_c(:,:,id,ir) >= dist_c(:,:,3,ir) & dist_c(:,:,id,ir) >= dist_c(:,:,4,ir); end end else % if strcmp(dbtype,'maxpost') % created bound_spec function on 6/17/08 [dbx,dby] = bound_spec(dbp,x,y,dbtype,nbr); lenx = length(x); leny = length(y); if nbr == 5 bidx = [1 2; 2 1; 2 2; 2 3; 3 2]; elseif nbr == 1 bidx = [1 1]; end % assumes 5 base rate conditions for id = 1:nbr for iy = leny:-1:1 for ix = 1:lenx dec(iy,ix,1,id) = ( y(iy) - dbx(bidx(id,1),ix) ) < 0 & ( x(ix) - dby(bidx(id,2),iy) ) < 0; dec(iy,ix,2,id) = ( y(iy) - dbx(bidx(id,1),ix) ) >= 0 & ( x(ix) - dby(bidx(id,2),iy) ) < 0; dec(iy,ix,3,id) = ( y(iy) - dbx(bidx(id,1),ix) ) < 0 & ( x(ix) - dby(bidx(id,2),iy) ) >= 0; dec(iy,ix,4,id) = ( y(iy) - dbx(bidx(id,1),ix) ) >= 0 & ( x(ix) - dby(bidx(id,2),iy) ) >= 0; end end end end