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 #ifndef mitkExtractDirectedPlaneImageFilter_h_Included
00020 #define mitkExtractDirectedPlaneImageFilter_h_Included
00021
00022
00023 #include "MitkExtExports.h"
00024 #include "mitkImageToImageFilter.h"
00025
00026 #include "vtkImageReslice.h"
00027
00028 class vtkPoints;
00029
00030 namespace mitk
00031 {
00052 class MitkExt_EXPORT ExtractDirectedPlaneImageFilter : public ImageToImageFilter
00053 {
00054 public:
00055
00056 mitkClassMacro(ExtractDirectedPlaneImageFilter, ImageToImageFilter);
00057 itkNewMacro(ExtractDirectedPlaneImageFilter);
00058
00059 itkSetMacro( WorldGeometry, Geometry2D* );
00060
00061
00062
00063
00064 itkGetMacro( Reslicer, vtkImageReslice* );
00065
00066
00067
00068 itkSetMacro( TargetTimestep, unsigned int );
00069 itkGetMacro( TargetTimestep, unsigned int );
00070
00071 itkSetMacro( InPlaneResampleExtentByGeometry, bool );
00072 itkGetMacro( InPlaneResampleExtentByGeometry, bool );
00073
00074 protected:
00075
00076 ExtractDirectedPlaneImageFilter();
00077 virtual ~ExtractDirectedPlaneImageFilter();
00078
00079 virtual void GenerateData();
00080 virtual void GenerateOutputInformation();
00081
00082 bool CalculateClippedPlaneBounds( const Geometry3D *boundingGeometry,
00083 const PlaneGeometry *planeGeometry, vtkFloatingPointType *bounds );
00084 bool LineIntersectZero( vtkPoints *points, int p1, int p2,
00085 vtkFloatingPointType *bounds );
00086
00087 const Geometry2D* m_WorldGeometry;
00088 vtkImageReslice * m_Reslicer;
00089
00090 unsigned int m_TargetTimestep;
00091 bool m_InPlaneResampleExtentByGeometry;
00092 };
00093
00094 }
00095
00096 #endif // mitkExtractDirectedPlaneImageFilter_h_Included