00001 /*========================================================================= 00002 00003 Program: Medical Imaging & Interaction Toolkit 00004 Language: C++ 00005 Date: $Date: 2008-08-25 18:10:57 +0200 (Mo, 25 Aug 2008) $ 00006 Version: $Revision: 15062 $ 00007 00008 Copyright (c) German Cancer Research Center, Division of Medical and 00009 Biological Informatics. All rights reserved. 00010 See MITKCopyright.txt or http://www.mitk.org/ 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 #ifndef _MITKNAVIGATIONDATATOPOINTSETFILTER_H__ 00019 #define _MITKNAVIGATIONDATATOPOINTSETFILTER_H__ 00020 00021 #include "mitkCommon.h" 00022 #include "mitkPointSet.h" 00023 #include "mitkPointSetSource.h" 00024 #include "mitkNavigationData.h" 00025 00026 namespace mitk { 00027 00039 class MitkIGT_EXPORT NavigationDataToPointSetFilter : public PointSetSource 00040 { 00041 public: 00042 mitkClassMacro(NavigationDataToPointSetFilter, PointSetSource); 00043 itkNewMacro(Self); 00044 00053 enum OperationMode 00054 { 00055 Mode3D, 00056 Mode3DMean, 00057 Mode4D 00058 }; 00059 00065 itkSetMacro(RingBufferSize, unsigned int) 00066 00067 00070 virtual void GenerateData(); 00071 00075 virtual void SetInput(const mitk::NavigationData *NavigationData); 00076 00080 virtual void SetInput(unsigned int idx, const NavigationData* nd); 00081 00085 const mitk::NavigationData* GetInput(); 00086 00090 const mitk::NavigationData* GetInput(unsigned int idx); 00091 00100 virtual void SetOperationMode(OperationMode mode); 00101 00107 itkGetConstMacro(OperationMode, OperationMode); 00108 00109 00110 void GenerateOutputInformation() {}; 00111 00112 protected: 00113 NavigationDataToPointSetFilter(); 00114 00115 virtual ~NavigationDataToPointSetFilter(); 00116 00121 virtual void GenerateDataMode3D(); 00122 00127 virtual void GenerateDataMode3DMean(); 00128 00132 virtual void GenerateDataMode4D(); 00133 00137 virtual void CreateOutputsForAllInputs(); 00138 00139 OperationMode m_OperationMode; 00140 unsigned int m_RingBufferSize; 00141 unsigned int m_CurrentTimeStep; 00142 }; 00143 } // namespace mitk 00144 #endif // _MITKNAVIGATIONDATATOPOINTSETFILTER_H__