[Insight-users] Question regarding itkFEMRegistrationFilter

Gheorghe Postelnicu gheorghe.postelnicu at gmail.com
Tue Nov 29 15:26:32 EST 2005


Hi,

I have 2 questions regarding the ApplyLoads function in the implementation
of itkFEMRegistrationFilter:
1. in order to assign the BC to elements, there is a brute-force iteration
through the elements (for each boundary condition). Wouldn't it make sense
to use the interpolation grid in this situation?
2. I am a little confused about the names of the points in the LoadLandmark
class; if I get it correctly,
    - source = undeformed configuration
    - point    = deformed configuration
However, in the ApplyLoads function, namely in the following code snippet:

-----------------
   pu=m_LandmarkArray[lmind]->GetSource();
        pd=m_LandmarkArray[lmind]->GetPoint();

        for (Element::ArrayType::const_iterator n = mySolver.el.begin();
             n!=mySolver.el.end() && !isFound; n++)
          {
          if ( (*n)->GetLocalFromGlobalCoordinates(pu, pd ) )
            {
            isFound=true;
            m_LandmarkArray[lmind]->SetPoint(pd);
//             std::cout << " load local pt " <<
m_LandmarkArray[lmind]->GetPoint() << std::endl;
            m_LandmarkArray[lmind]->el[0]=( ( &**n ) );
            }
          }
---------------

   pu seems to represent the position in the undeformed configuration
(global coordinates), is then converted to local coordinates in the pd
variable and then assigned as point. So I am quite confused about this part
of the code:
- why is ever pd initialized?
- why is pu translated into local coordinates and then overwrites pd?


Thanks,

--
Gheorghe Postelnicu, PhD
MGH, Harvard Medical School
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://public.kitware.com/pipermail/insight-users/attachments/20051129/002ca742/attachment.html


More information about the Insight-users mailing list