Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members

mitkProjectDataToVolumeFilter.h

00001 /*=========================================================================
00002 
00003   Program:   3DMed
00004   Date:      $Date: 2014-02-25 18:30:00 +0800 $
00005   Version:   $Version: 4.6.0 $
00006   Copyright: MIPG, Institute of Automation, Chinese Academy of Sciences
00007 
00008 =========================================================================*/
00009 
00010 
00011 #ifndef __mitkProjectDataToVolumeFilter_h
00012 #define __mitkProjectDataToVolumeFilter_h
00013 
00014 #include "mitkFilter.h"
00015 #include "mitkVolume.h"
00016 #include "mitkProjectData.h"
00017 #include "mitkRCPtr.h"
00018 #include "mitkRawDataToVolumeFilter.h"
00019 #include "mitkOoCGlobalSettings.h"
00020 
00021 #ifndef PI
00022 #define PI 3.14159265358979
00023 #endif
00024 
00025 #ifndef USE_SIMD
00026 #define USE_SIMD
00027 
00028 #endif
00033 
00034 class MITK_RECONSTRUCTION_API mitkProjectDataToVolumeFilter : public mitkRawDataToVolumeFilter  
00035 {
00036 public:
00037     MITK_TYPE(mitkProjectDataToVolumeFilter,mitkRawDataToVolumeFilter)
00038 
00039     virtual void PrintSelf(ostream& os);
00040 
00041     //enum InterpolationModel
00042     //{
00043     //  NEAREST,
00044     //  BILINEAR
00045     //};
00051     void SetInterpolationModel(int m){mInterp = m;}
00052 
00058     int GetInterpolationModel(){return mInterp;}
00059 
00064     void SetInput(mitkProjectData *inData) {m_InData = inData;}
00065     
00070     mitkProjectData* GetInput() {return m_InData;}
00071     
00076     mitkVolume* GetOutput();
00077 
00081     void SetOutput(mitkVolume *m) {m_OutData = m;}
00082 
00087     void SetIsLogOperation(bool m) {isLogOperation = m;}
00088 
00093     bool GetIsLogOperation() {return isLogOperation;}
00094 
00099     void SetEmptyScanImage(mitkVolume *m){emptyImage = m;}
00100 
00105     mitkVolume* GetEmptyScanImage(){return emptyImage;}
00106 
00115     void SetOoCSupport(char const *diskPath=mitkOoCGlobalSettings::DiskCachePath, unsigned int bufSliceNum = mitkOoCGlobalSettings::BufferedSliceNumber, bool supportOoC = true);
00116 
00117     unsigned int GetBufferSliceNum() const {return m_BufferedSliceNum;}
00118 
00119     mitkString* GetDiskPath() const {return m_DiskPath;}
00120     
00121 
00122 
00123     float GetFilterFactor(){return m_filterFactor;}
00124     int GetFilterType(){return m_filterType;}
00125     void SetFilterType(int type=4, float factor=0.46){m_filterType=type; m_filterFactor=factor;}
00126 
00127 protected:
00128 
00129     mitkProjectDataToVolumeFilter();
00130 
00131     virtual ~mitkProjectDataToVolumeFilter();
00132 
00133 protected:  
00134     mitkRCPtr<mitkProjectData> m_InData;
00135     mitkRCPtr<mitkVolume> emptyImage;
00136     mitkVolume *m_OutData;
00137     bool isLogOperation;
00138     mitkString *m_DiskPath;
00139     unsigned int m_BufferedSliceNum;    
00140     bool m_NeedOoC;
00141     int mInterp;
00142     float m_filterFactor;//set the factor to change filter window in ct filter
00143     int m_filterType;// m_filterType:1 for ramp, 2 for Blackman, 3 for Hanning, 4 for Hamming, 5 for self define (1-m_filterFactor+m_filterFactor*cos(2*PI*ii/L))
00144 
00145 
00146 private:
00147     mitkProjectDataToVolumeFilter(const mitkProjectDataToVolumeFilter&);
00148     void operator=(const mitkProjectDataToVolumeFilter&);
00149 
00150 };
00151 
00152 
00153 //#define DEFINED_mitkProjectDataToVolumeFilter
00154 
00155 
00156 #endif 
00157 

Generated on Tue Feb 25 15:00:37 2014 for MITK (Medical Imaging ToolKit) by  doxygen 1.4.3