Merge branch 'fixf'
[wrf-fire-matlab.git] / detect_ignition / new_likelihood / evaluate_likes.m
blob7dd3ad9ac27b5f1401a88def956328abced4efbd
1 function [like,deriv]= evaluate_likes(psi,t,p_like_spline,p_deriv_spline,n_deriv_spline)
3 % function evaluates data likelihood and derivative
4 % inputs:
5 %   psi - matrix with 'fire mask', positive is fire
6 %   t - time matrix
7 %   p_like_spline,p_deriv_spline,n_deriv_spline - splines with likelihood function(s)
8 % outputs:
9 %   like - data likelihood for each time
10 %   deriv -derivative of like wrt time
12 %tic
13 %convert to seconds
14 t = 3600*t;
15 [m,n] = size(psi);
16 %create masks
17 m1 = psi > 0;
18 m2 = psi < 0;
19 %m3 = psi == 0;
21 %evaluate likelihood on masks 
22 % need to think about the bounds of the splines ....
23 l1 = reshape(p_like_spline(t),m,n);
24 d1 = reshape(p_deriv_spline(t),m,n);
25 l2 = log(1-exp(l1)); % can use other spline here, fastest?  time ~= 0.012 sec
26 %l2 = reshape(n_like_spline(t),m,n); %time ~=  0.017
27 d2 = reshape(n_deriv_spline(t),m,n);
28 l3 = 0*l1;
29 d3 = 0*d1;
32 %put back together
33 like = l3;
34 like(m1) = l1(m1);
35 like(m2) = l2(m2);
36 deriv = d3;
37 deriv(m1) = d1(m1);
38 deriv(m2) = d2(m2);
40 %toc 
42 end