marDicomBase.h

Go to the documentation of this file.
00001 
00002 
00003 #ifndef __MAR__KERNEL__MARDICOMBASE__HXX__
00004 #define __MAR__KERNEL__MARDICOMBASE__HXX__
00005 
00006 
00007 
00008 #include <wx/gauge.h>
00009 
00010 #include "marObject.h"
00011 #include "volume.hxx"
00012 
00013 
00014 #include <vector>
00015 #include <string>
00016 //using namespace std;
00017 
00018 
00019 
00020 
00021 
00022 class marFilesBase : public marObject{
00023 public:
00024                                                 marFilesBase(marParameters* p);
00025         virtual                         ~marFilesBase();
00026         virtual wxString        GetPatientName() {return _T(""); };
00027                         kVolume*        getVolume( );
00028                         void            SetVolume( kVolume* volume  );
00029                         bool            volumeLoaded( );
00030                         void            freeVolume( );
00031 
00032         virtual void            loadActualSerie( wxGauge* gauge) {} ;
00033         virtual bool            loadImage(int i) {return true; };
00034         std::vector < std::string*>  *GetListImages();
00035                         void            CleanListImages();
00036 
00037         void                            ResetLstFileNotReaded();
00038         std::string                     GetMsgLstFile();
00039 
00040 private:
00041         kVolume                                         *_volume;
00042 
00043 protected:
00044         std::vector < std::string*>     _lstString;
00045         std::vector < char*>            _lstFileNotReaded; 
00046 
00047 };
00048 
00049 
00050 
00051 //-------------------------------------------------------------------
00052 
00053 class marRAWFiles : public marFilesBase
00054 {
00055 public:
00056         marRAWFiles(marParameters* p = NULL);
00057         ~marRAWFiles();
00058         virtual bool    loadImage(int i);
00059         virtual void    loadActualSerie(wxGauge* gauge );
00060                         void    SetLittreEndianBigEndian(int value);
00061                         int             GetLittreEndianBigEndian();
00062 
00063     void reset( );
00064     void copyFrom( const marObject& from );
00065     bool save( std::ofstream& os );
00066     bool load( std::ifstream& is );
00067 
00068 
00069 private:
00070         int _littreEndianBigEndian;
00071 protected:
00072 };
00073 
00074 
00075 //-------------------------------------------------------------------
00076 class marRAW2Files : public marRAWFiles
00077 {
00078 public:
00079         marRAW2Files(marParameters* p = NULL);
00080         ~marRAW2Files();
00081         virtual bool loadImage(int i);
00082         virtual void loadActualSerie(wxGauge* gauge );
00083         virtual void saveVolume( std::string directory, std::string filename, vtkImageData *vtkimagedata,int voi[6], double slope, double intercept);
00084                         void FlipY(vtkImageData *imagedata);
00085 
00086 private:
00087 protected:
00088 };
00089 
00090 
00091 //-------------------------------------------------------------------
00092 class marRAW2AsciiFiles : public marRAWFiles
00093 {
00094 public:
00095         marRAW2AsciiFiles(marParameters* p = NULL);
00096         ~marRAW2AsciiFiles();
00097         virtual bool loadImage(int i);
00098         virtual void loadActualSerie(wxGauge* gauge );
00099 
00100 private:
00101 protected:
00102 };
00103 
00104 
00105 
00106 
00107 
00108 
00109 #endif // __MAR__KERNEL__MARDICOMBASE__HXX__
00110 

Generated on 18 Mar 2010 for creaMaracasVisu_lib by  doxygen 1.6.1