[Insight-users] itkDeformationFieldBendingEnergyFilter
Anja Ende
anja.ende at googlemail.com
Wed Dec 18 00:28:11 EST 2013
Hi all,
I am looking at the code for computing the bending energy of a
deformation/displacement field in itk.
The part which computes the bending energy one has the following line:
bending += pqc.GetSquaredNorm() *
vcl_pow( this->m_HalfDerivativeWeights[i], static_cast<int>(4) );
This computes the squared bending energy term using the second order
derivative of the transformation. One bit I do not understand is the
use of the this->m_HalfDerivativeWeights[i] term. When I look into the
parent class source file, it is defined as:
m_DerivativeWeights[i] =
static_cast< TRealType >( 1.0
/ static_cast< TRealType >( this->GetInput()->GetSpacing()[i] ));
m_HalfDerivativeWeights[i] = 0.5 * m_DerivativeWeights[i];
Now why is the weight set to 0.5 * spacing. Should we not use the
m_DerivativeWeights instead? I am assuming that the second order
derivative is calculated as:
(f(x - h) + f(x + h) - 2 * f(x)) / h^2
Thanks a lot for any help you can give me.
Anja
--
Cheers,
Anja
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20131218/b60aa7b9/attachment.htm>
More information about the Insight-users
mailing list