Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

vuSphVwFlt_Fourier.h

Go to the documentation of this file.
00001 #ifndef __GENERAL_VU_SphVwFlt_Fourier_H__
00002 #define __GENERAL_VU_SphVwFlt_Fourier_H__
00003 
00004 #include "../vuSphericViewFilter.h"
00005 #include "vuFourierCluster.h"
00006 #include "vuFourier/vuFourierFilter/vuFourierFilter.h"
00007 
00008 template <int SIZE, class TYPE>
00009 class vuSphVwFlt_Fourier : public vuSphericViewFilter<SIZE,TYPE>
00010 {
00011  private:
00012   using vuSphericViewFilter<SIZE,TYPE>::m_NumberOfViews;
00013   using vuSphericViewFilter<SIZE,TYPE>::m_Views;
00014  public:
00015   vuSphVwFlt_Fourier(const vuString& filterName);
00016 
00017   bool needPreprocessing()     { return true;  };
00018   bool needViewsForFiltering() { return false; };
00019   void filter(vuCamera *camera);
00020   void preprocess(vuProgressHandler *handler=NULL);
00021 
00022   // --- additional API ----------------------------------------------------
00023 
00024   void setFourierFilter(vuFourierFilter *filter);
00025   void setSliceFilter(vuSliceFilter *filter);
00026 
00027   void computeUnscaledImage(vuCamera *camera, vuFixelMap<SIZE,float>* &image,
00028                             float &minVal, float &maxVal, word method);
00029   
00030   void computeUnscaledImage(vuCamera *camera, vuFixelMap<SIZE,float>* &image,
00031                             word method);
00032 
00033   bool isPreparedForInteractive();
00034   void setNoInteractiveMode();
00035 
00037   bool writeFourierToFile(const char *fileName,
00038                           vuProgressHandler *handler = NULL);
00039 
00041   bool writeSpatialVolume(const char *fileName,
00042                           vuProgressHandler *handler = NULL);
00043 
00044   void prepareForInteractive(dword width, dword height);
00045   void addViewWithIndexToVolume(dword idx);
00046 
00047  private:
00048   vuFourierCluster<SIZE,TYPE> m_Volume;
00049 };
00050 
00051 template class vuSphVwFlt_Fourier<1,byte>;
00052 template class vuSphVwFlt_Fourier<2,byte>;
00053 template class vuSphVwFlt_Fourier<3,byte>;
00054 
00055 template class vuSphVwFlt_Fourier<1,float>;
00056 template class vuSphVwFlt_Fourier<2,float>;
00057 template class vuSphVwFlt_Fourier<3,float>;
00058 
00059 typedef vuSphVwFlt_Fourier<1,byte> vuSphVwFlt_Fourier1B;
00060 typedef vuSphVwFlt_Fourier<2,byte> vuSphVwFlt_Fourier2B;
00061 typedef vuSphVwFlt_Fourier<3,byte> vuSphVwFlt_Fourier3B;
00062 
00063 typedef vuSphVwFlt_Fourier<1,float> vuSphVwFlt_Fourier1F;
00064 typedef vuSphVwFlt_Fourier<2,float> vuSphVwFlt_Fourier2F;
00065 typedef vuSphVwFlt_Fourier<3,float> vuSphVwFlt_Fourier3F;
00066 
00067 #endif /* __GENERAL_VU_SphVwFlt_Fourier_H__ */

Generated on Wed Dec 15 21:20:37 2004 for vuVolume by  doxygen 1.3.9.1