#ifndef __MAR__KERNEL__MARDICOMBASE__HXX__ #define __MAR__KERNEL__MARDICOMBASE__HXX__ #include #include "marObject.h" #include "volume.hxx" #include #include //using namespace std; class marFilesBase : public marObject{ public: marFilesBase(marParameters* p); virtual ~marFilesBase(); virtual wxString GetPatientName() {return _T(""); }; kVolume* getVolume( ); void SetVolume( kVolume* volume ); bool volumeLoaded( ); void freeVolume( ); virtual void loadActualSerie( wxGauge* gauge) {} ; virtual bool loadImage(int i) {return true; }; std::vector < std::string*> *GetListImages(); void CleanListImages(); void ResetLstFileNotReaded(); std::string GetMsgLstFile(); private: kVolume *_volume; protected: std::vector < std::string*> _lstString; std::vector < char*> _lstFileNotReaded; }; //------------------------------------------------------------------- class marRAWFiles : public marFilesBase { public: marRAWFiles(marParameters* p = NULL); ~marRAWFiles(); virtual bool loadImage(int i); virtual void loadActualSerie(wxGauge* gauge ); void SetLittreEndianBigEndian(int value); int GetLittreEndianBigEndian(); void reset( ); void copyFrom( const marObject& from ); bool save( std::ofstream& os ); bool load( std::ifstream& is ); private: int _littreEndianBigEndian; protected: }; //------------------------------------------------------------------- class marRAW2Files : public marRAWFiles { public: marRAW2Files(marParameters* p = NULL); ~marRAW2Files(); virtual bool loadImage(int i); virtual void loadActualSerie(wxGauge* gauge ); virtual void saveVolume( std::string directory, std::string filename, vtkImageData *vtkimagedata,int voi[6], double slope, double intercept); void FlipY(vtkImageData *imagedata); private: protected: }; //------------------------------------------------------------------- class marRAW2AsciiFiles : public marRAWFiles { public: marRAW2AsciiFiles(marParameters* p = NULL); ~marRAW2AsciiFiles(); virtual bool loadImage(int i); virtual void loadActualSerie(wxGauge* gauge ); private: protected: }; #endif // __MAR__KERNEL__MARDICOMBASE__HXX__