00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef DX_IO_DM3_IO_PLUGIN_OST_HH
00021 #define DX_IO_DM3_IO_PLUGIN_OST_HH
00022
00023
00024
00025
00026
00027 #include "map_io_handler.hh"
00028
00029 namespace ost { namespace io {
00030
00031 class DLLEXPORT_OST_IO DM3: public ImageFormatBase
00032 {
00033 public:
00034
00035 DM3();
00036 static String FORMAT_STRING;
00037 };
00038
00039 class DLLEXPORT_OST_IO MapIODm3Handler: public MapIOHandler
00040 {
00041 public:
00045 virtual void Import(img::MapHandle& sh, const boost::filesystem::path& loc,const ImageFormatBase& formatstruct);
00046 virtual void Import(img::MapHandle& sh, std::istream& loc, const ImageFormatBase& formatstruct);
00047 virtual void Export(const img::MapHandle& sh, const boost::filesystem::path& loc,const ImageFormatBase& formatstruct) const;
00048 virtual void Export(const img::MapHandle& sh, std::ostream& loc,const ImageFormatBase& formatstruct) const;
00049 static bool MatchContent(unsigned char* header);
00050 static bool MatchType(const ImageFormatBase& type);
00051 static bool MatchSuffix(const String& loc);
00052 static bool ProvidesImport() { return true; }
00053 static bool ProvidesExport() { return false; }
00054 static String GetFormatName() { return String("Dm3"); }
00055 static String GetFormatDescription() {return String("Format used by Gatan Inc.'s Digital Micrograph software");}
00056
00057 };
00058
00059 typedef MapIOHandlerFactory<MapIODm3Handler> MapIODm3HandlerFactory;
00060
00061 }}
00062
00063 #endif