00001 /*========================================================================= 00002 00003 Program: Medical Imaging & Interaction Toolkit 00004 Language: C++ 00005 Date: $Date$ 00006 Version: $Revision$ 00007 00008 Copyright (c) German Cancer Research Center, Division of Medical and 00009 Biological Informatics. All rights reserved. 00010 See MITKCopyright.txt or https://www.mitk.org/copyright.html for details. 00011 00012 This software is distributed WITHOUT ANY WARRANTY; without even 00013 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00014 PURPOSE. See the above copyright notices for more information. 00015 00016 =========================================================================*/ 00017 00018 00019 #ifndef MITKPLANELANDMARKPROJECTOR_H_HEADER_INCLUDED_C1C68A2C 00020 #define MITKPLANELANDMARKPROJECTOR_H_HEADER_INCLUDED_C1C68A2C 00021 00022 #include "mitkLandmarkProjector.h" 00023 #include "MitkExtExports.h" 00024 #include "mitkPointSet.h" 00025 00026 namespace mitk { 00027 00028 //##Documentation 00029 //## @brief Thin-plate-spline-based landmark-based curved geometry 00030 //## 00031 //## @ingroup Geometry 00032 class MitkExt_EXPORT PlaneLandmarkProjector : public LandmarkProjector 00033 { 00034 public: 00035 mitkClassMacro(PlaneLandmarkProjector, LandmarkProjector); 00036 00037 itkNewMacro(Self); 00038 00039 //##Documentation 00040 //## @brief Set the plane-geometry to project the target-landmarks on. 00041 //## 00042 itkSetConstObjectMacro(ProjectionPlane, mitk::PlaneGeometry); 00043 //##Documentation 00044 //## @brief Get the plane-geometry to project the target-landmarks on. 00045 //## 00046 itkGetConstObjectMacro(ProjectionPlane, mitk::PlaneGeometry); 00047 00048 virtual void ProjectLandmarks(const mitk::PointSet::DataType::PointsContainer* targetLandmarks); 00049 protected: 00050 PlaneLandmarkProjector(); 00051 virtual ~PlaneLandmarkProjector(); 00052 00053 virtual void ComputeCompleteAbstractTransform(); 00054 00055 mitk::PlaneGeometry::ConstPointer m_ProjectionPlane; 00056 }; 00057 00058 } // namespace mitk 00059 00060 #endif /* MITKPLANELANDMARKPROJECTOR_H_HEADER_INCLUDED_C1C68A2C */