[Insight-users] LevelSetMotionRegistration

Martin Urschler martin at urschler.info
Fri Apr 29 09:25:20 EDT 2005


hello,

i'm currently looking through the code for the LevelSetMotionRegistration


there is something that i don't understand in 
LevelSetMotionRegistrationFunction

the calculation of the finite differences in the computeUpdate method 
uses the member m_MovingPixelSize to determine the delta_x, delta_y, 
delta_z (which are all the same in the end)

now this value is calculated as
m_movingPixelValue = sqrt( movingImageSpacingX^2 + movingImageSpacingY^2 
+ movingImageSpacingZ^2 ) in the method InitializeIteration

as i understand it, this means that for the finite difference 
calculations voxels which are comparatively far away from the central 
value might be used (depending on the spacing)... imagine voxel spacings 
of 2.0mm in each direction respectively, then the m_movingPixelValue 
would be sqrt( 12 ), meaning that the finite difference approximation 
does not take an interpolated value near the neighbor voxel (x+1,y,z) 
but nearly at voxel (x+2,y,z)

what is the reason for that?

further, what does the FIXXME sentence
'Do we need to structure the gradient calculation to take into account 
the Jacobian of the deformation field?' mean

thanks,
Martin



More information about the Insight-users mailing list