Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include "mitkPlaneLandmarkProjector.h"
00020
00021 mitk::PlaneLandmarkProjector::PlaneLandmarkProjector() : m_ProjectionPlane(NULL)
00022 {
00023 }
00024
00025 mitk::PlaneLandmarkProjector::~PlaneLandmarkProjector()
00026 {
00027 }
00028
00029 void mitk::PlaneLandmarkProjector::ComputeCompleteAbstractTransform()
00030 {
00031
00032
00033 m_CompleteAbstractTransform = GetInterpolatingAbstractTransform();
00034 }
00035
00036 void mitk::PlaneLandmarkProjector::ProjectLandmarks(
00037 const mitk::PointSet::DataType::PointsContainer* targetLandmarks)
00038 {
00039 if(m_ProjectionPlane.IsNull())
00040 {
00041 itkExceptionMacro(<< "m_ProjectionPlane is not set.");
00042 }
00043
00044 m_ParameterPlane = m_ProjectionPlane;
00045
00046 m_ProjectedLandmarks->Initialize();
00047 m_FinalTargetLandmarks = targetLandmarks;
00048
00049 mitk::PointSet::DataType::PointsContainer::ConstIterator pointiterator, start = targetLandmarks->Begin();
00050 mitk::PointSet::DataType::PointsContainer::ElementIdentifier id;
00051
00052 mitk::Point3D point;
00053 mitk::Point3D projectedPoint;
00054
00055 unsigned int size=targetLandmarks->Size();
00056 m_ProjectedLandmarks->Reserve(size);
00057 for(id=0, pointiterator=start;id<size;++id, ++pointiterator)
00058 {
00059 point = pointiterator->Value();
00060 m_ProjectionPlane->Project(point, projectedPoint);
00061
00062 m_ProjectedLandmarks->InsertElement(id, projectedPoint);
00063 }
00064 }