MeVisLabToolboxReference
MeVisLab/Standard/Sources/ML/MLImageFormat/mlImageFormatLoad.h
Go to the documentation of this file.
00001 // **InsertLicense** code
00002 //----------------------------------------------------------------------------------
00006 
00011 //
00012 // ML Image Format IO
00013 //----------------------------------------------------------------------------------
00014 
00015 #ifndef __mlImageFormatLoad_H
00016 #define __mlImageFormatLoad_H
00017 
00018 
00019 // Local includes
00020 #ifndef __MLImageFormatSystem_H
00021 #include "MLImageFormatSystem.h"
00022 #endif
00023 
00024 // ML includes
00025 #ifndef __mlModuleIncludes_H
00026 #include "mlModuleIncludes.h"
00027 #endif
00028 
00029 #ifndef __mlDataCompressor_H
00030 #include "mlDataCompressor.h"
00031 #endif
00032 
00033 #ifndef __mlImageFormatIOBase_H
00034 #include "mlImageFormatIOBase.h"
00035 #endif
00036 
00037 
00038 ML_START_NAMESPACE
00039 
00041 class MLImageFormat;
00042 
00043 // ----------------------------------------------------------
00046 // ----------------------------------------------------------
00047 class MLIMAGEFORMAT_EXPORT MLImageFormatLoad : public MLImageFormatIOBase
00048 {
00049 public:
00050 
00052   enum ApplyModes {
00053     Off        = 0,  
00054     AutoApply,       
00055     AutoClear,       
00056 
00057     NumApplyModes    
00058   };
00059 
00061   MLImageFormatLoad();
00062 
00064   virtual ~MLImageFormatLoad();
00065 
00066 protected:
00067 
00068   // ----------------------------------------------------------
00070 
00071   // ----------------------------------------------------------
00073   virtual void _open();
00074 
00076   virtual void _close();
00078 
00079   // ----------------------------------------------------------
00081 
00082   // ----------------------------------------------------------
00084   virtual void activateAttachments();
00085 
00087   virtual void handleNotification (Field *field);
00089 
00090   // ----------------------------------------------------------
00092 
00093   // ----------------------------------------------------------
00095   virtual void calculateOutputImageProperties(int outIndex);
00096 
00102   virtual void calculateOutputSubImage(SubImage *outSubImg, int outIndex, SubImage *inSubImgs);
00103 
00105 
00106 private:
00107 
00108   // ----------------------------------------------------------
00110 
00111   // ----------------------------------------------------------
00113   MLImageFormat *_loader;
00114 
00116   EnumField     *_applyModeFld;
00117 
00119   NotifyField   *_closeFld;
00120 
00122   NotifyField   *_openFld;
00124 
00126   ML_MODULE_CLASS_HEADER(MLImageFormatLoad)
00127 };
00128 
00129 
00130 ML_END_NAMESPACE
00131 
00132 #endif // __mlImageFormatLoad_H
00133 
00134