[Insight-users] Problem about LevelSetMotionRegistrationFunction
Siwei Yang
s.yang at dkfz-heidelberg.de
Mon Nov 22 06:03:43 EST 2004
Jim,
thank you very much.
but I don't understand , if you want to add the current displacement
field value to the position, you could only derive I1(i+u, j+v) rather
than I1(i-u, j-v) from here.
Siwei
Miller, James V (Research) wrote:
> Siwei,
>
> The LevelSetMotionRegistrationFunction calculates the speed value as
>
> double speedValue = fixedValue - movingValue;
> where
>
> fixedValue = (double) m_FixedImage->GetPixel( index );
> and
>
> movingValue = m_MovingImageInterpolator->Evaluate( mappedPoint );
> where mappedPoint is calculated as
>
> for( j = 0; j < ImageDimension; j++ )
> {
> mappedPoint[j] = double( index[j] ) * m_FixedImageSpacing[j] +
> m_FixedImageOrigin[j];
> mappedPoint[j] += it.GetCenterPixel()[j];
> }
>
> In the above loop, index[] is the index of the pixel under
> consideration in the fixed image. By multiplying by the spacing and
> adding the origin, the index[] is converted to a physical position in
> the fixed image. By adding it.GetCenterPixel(), we are adding the
> current displacement field value to the position, i.e. (u,v). So we
> evaluate the moving image at a position that takes into account the
> current displacement field.
>
> So the speed value is calculated as I1(i,j) - I2(i-u, j-v)
>
> Does this clarify the code?
>
> Jim
>
>
>
>
>
> -----Original Message-----
> *From:* Siwei Yang [mailto:s.yang at dkfz-heidelberg.de]
> *Sent:* Friday, November 19, 2004 10:48 AM
> *To:* insight-users at itk.org
> *Subject:* [Insight-users] Problem about
> LevelSetMotionRegistrationFunction
>
> Hello all,
> I want to use the Levelsetmotionregistrationfilter, but in the
> ComputeUpdate (LevelsetmotionregistrationFunction) I fand
> something doesn't seems to be comprehensible. According to
> equation 27 in the paper of (B.C. Vemuri, J. Ye, Y. Chen, C.M.
> Leonard. "Image registration via level-set motion: applications to
> atlas-based segmentation". Medical Image Analysis. Vol. 7. pp.
> 1-20. 2003.), the speed term should be I2(ij) -I1(i-u..,
> j-v..) instead of I2(ij)-I1(ij), which is in the
> implementation. I' m not sure, if what I say is correct .
> Perhaps some one can give me a good answer.
>
> Thanks
> best wishes
>
> Siwei Yang
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://public.kitware.com/pipermail/insight-users/attachments/20041122/11f6ef18/attachment.html
More information about the Insight-users
mailing list