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 #ifndef _MITK_POINT_SET_TO_CURVED_GEOMETRY_FILTER_H__
00019 #define _MITK_POINT_SET_TO_CURVED_GEOMETRY_FILTER_H__
00020
00021 #include "mitkPointSetToGeometryDataFilter.h"
00022 #include "MitkExtExports.h"
00023 #include <mitkPlaneGeometry.h>
00024 #include <mitkSphereLandmarkProjector.h>
00025 #include <mitkPlaneLandmarkProjector.h>
00026 #include <mitkPlaneFit.h>
00027 #include <mitkDataNode.h>
00028 #include <mitkImage.h>
00029
00030 namespace mitk
00031 {
00032
00033 class MitkExt_EXPORT PointSetToCurvedGeometryFilter : public PointSetToGeometryDataFilter
00034 {
00035 public:
00039 mitkClassMacro ( PointSetToCurvedGeometryFilter, PointSetToGeometryDataFilter );
00040
00041 itkNewMacro ( Self );
00042
00050 enum ProjectionMode {Sphere, XYPlane, XZPlane, YZPlane, PCAPlane};
00051
00056 static void SetDefaultCurvedGeometryProperties( mitk::DataNode* node );
00057
00062 itkSetMacro ( ProjectionMode, ProjectionMode );
00063
00068 itkGetMacro ( ProjectionMode, ProjectionMode );
00069
00070 itkSetObjectMacro( ImageToBeMapped, mitk::Image );
00071 itkGetObjectMacro( ImageToBeMapped, mitk::Image );
00072
00073 itkSetMacro( Sigma, float);
00074 itkGetMacro( Sigma, float);
00075
00076 protected:
00077
00081 PointSetToCurvedGeometryFilter();
00082
00086 virtual ~PointSetToCurvedGeometryFilter();
00087
00088 virtual void GenerateOutputInformation();
00089
00090 virtual void GenerateData();
00091
00092 virtual GeometryDataSource::DataObjectPointer MakeOutput(unsigned int idx);
00093
00094 ProjectionMode m_ProjectionMode;
00095
00096 mitk::PlaneGeometry::Pointer m_XYPlane;
00097
00098 mitk::PlaneGeometry::Pointer m_XZPlane;
00099
00100 mitk::PlaneGeometry::Pointer m_YZPlane;
00101
00102 mitk::PlaneFit::Pointer m_PCAPlaneCalculator;
00103
00104 mitk::Image::Pointer m_ImageToBeMapped;
00105
00106 mitk::PlaneLandmarkProjector::Pointer m_PlaneLandmarkProjector;
00107
00108 mitk::SphereLandmarkProjector::Pointer m_SphereLandmarkProjector;
00109
00110 float m_Sigma;
00111
00112 };
00113
00114 }
00115
00116 #endif