]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/kernel/marDicomBase.h
6c4d61b0970cbf9e74b94ce28cba469008656b92
[creaMaracasVisu.git] / lib / maracasVisuLib / src / kernel / marDicomBase.h
1
2
3 #ifndef __MAR__KERNEL__MARDICOMBASE__HXX__
4 #define __MAR__KERNEL__MARDICOMBASE__HXX__
5
6
7
8 #include <wx/gauge.h>
9
10 #include "marObject.h"
11 #include "volume.hxx"
12
13
14 #include <vector>
15 #include <string>
16 //using namespace std;
17
18
19
20
21
22 class marFilesBase : public marObject{
23 public:
24                                                 marFilesBase(marParameters* p);
25         virtual                         ~marFilesBase();
26         virtual wxString        GetPatientName() {return _T(""); };
27                         kVolume*        getVolume( );
28                         void            SetVolume( kVolume* volume  );
29                         bool            volumeLoaded( );
30                         void            freeVolume( );
31
32         virtual void            loadActualSerie( wxGauge* gauge) {} ;
33         virtual bool            loadImage(int i) {return true; };
34         std::vector < std::string*>  *GetListImages();
35                         void            CleanListImages();
36
37         void                            ResetLstFileNotReaded();
38         std::string                     GetMsgLstFile();
39
40 private:
41         kVolume                                         *_volume;
42
43 protected:
44         std::vector < std::string*>     _lstString;
45         std::vector < char*>            _lstFileNotReaded; 
46
47 };
48
49
50
51 //-------------------------------------------------------------------
52
53 class marRAWFiles : public marFilesBase
54 {
55 public:
56         marRAWFiles(marParameters* p = NULL);
57         ~marRAWFiles();
58         virtual bool    loadImage(int i);
59         virtual void    loadActualSerie(wxGauge* gauge );
60                         void    SetLittreEndianBigEndian(int value);
61                         int             GetLittreEndianBigEndian();
62
63     void reset( );
64     void copyFrom( const marObject& from );
65     bool save( std::ofstream& os );
66     bool load( std::ifstream& is );
67
68
69 private:
70         int _littreEndianBigEndian;
71 protected:
72 };
73
74
75 //-------------------------------------------------------------------
76 class marRAW2Files : public marRAWFiles
77 {
78 public:
79         marRAW2Files(marParameters* p = NULL);
80         ~marRAW2Files();
81         virtual bool loadImage(int i);
82         virtual void loadActualSerie(wxGauge* gauge );
83         virtual void saveVolume( std::string directory, std::string filename, vtkImageData *vtkimagedata,int voi[6], double slope, double intercept);
84                         void FlipY(vtkImageData *imagedata);
85
86 private:
87 protected:
88 };
89
90
91 //-------------------------------------------------------------------
92 class marRAW2AsciiFiles : public marRAWFiles
93 {
94 public:
95         marRAW2AsciiFiles(marParameters* p = NULL);
96         ~marRAW2AsciiFiles();
97         virtual bool loadImage(int i);
98         virtual void loadActualSerie(wxGauge* gauge );
99
100 private:
101 protected:
102 };
103
104
105
106
107
108
109 #endif // __MAR__KERNEL__MARDICOMBASE__HXX__
110