Hello everyone,
I would be really grateful if someone can help me with computing a
derivative.
So, the function is given by:
F(A) = integral[inf +inf] P(A>a) log P(A>a)
Now I want to compute the derivative of this wrt to some parameters. A
bit of background: the function is called the cumulative residual
entropy and I am trying to use it for image registration where one
needs to find the derivative wrt to the transformation parameters.
To give you an idea, when one does this using Shannon entropy, we
have:
S(A) = integral[inf +inf] P(A) log P(A)
Now the derivative for this wrt to the transformation parameters can
be determined by filling the joint histogram using Parzen windows
where I used a cubic Bspline to fill the histograms. Then the
derivative of the Shannon entropy wrt to the transformation parameters
can be found by looping over the image intensities and using the cubic
Bspline derivative kernel and the other parameters of the chain rule.
However, in case of the CRE, I am not sure how I should deal with the
P(A>a) term. So, I fill the joint histogram using the cubic spline
kernel again and this is how I compute the P(A>a) term:
% marginal pdfs from joint pdf
. P is the joint histogram.
Fpdf = sum(P,2);
Rpdf = sum(P,1);
% estimate 1cdfs
(survival function)
f_survival = 1cumsum(Fpdf);
r_survival = 1cumsum(Rpdf);
So, one has the filling of the joint histogram using cubic spline
kernels and then the 1 cumulative sum to get the survival function.
Now, when I compute the derivative, I will loop over all the pixels
and get a pair of intensity from the 2 images. Now, I am guessing I
should transform these intensities and then use the appropriate B
spline derivative kernels (with the right input parameters) to compute
the derivative.
So, my question is do I need to build the CDF again in my gradient
function? So, basically for each pair of intensity, I fill the joint
histogram and again compute 1CDF....without any smoothing along the
histogram bins. After that for each of the intensity value pair, I
take the appropriate entry in this newly filled joint histogram and
then in the appropriate support window of the cubic Bspline, I do the
convolution to get the gradient values...
I have a feeling this is not correct but I have completely exhausted
all my ideas and am getting quite frustrated now...
Many thanks for any help you can give me and sorry for the convoluted
question!
Anja
