gdcmJPEG2000Codec.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef __gdcmJPEG2000codec_h
00016 #define __gdcmJPEG2000codec_h
00017
00018 #include "gdcmImageCodec.h"
00019
00020 namespace gdcm
00021 {
00022
00023 class JPEG2000Internals;
00031 class GDCM_EXPORT JPEG2000Codec : public ImageCodec
00032 {
00033 public:
00034 JPEG2000Codec();
00035 ~JPEG2000Codec();
00036
00037 bool CanDecode(TransferSyntax const &ts) const;
00038 bool CanCode(TransferSyntax const &ts) const;
00039
00040 bool Decode(DataElement const &is, DataElement &os);
00041 bool Code(DataElement const &in, DataElement &out);
00042
00043 virtual bool GetHeaderInfo(std::istream &is, TransferSyntax &ts);
00044
00045
00046
00047 void SetRate(unsigned int idx, double rate);
00048 double GetRate(unsigned int idx = 0) const;
00049
00050 void SetQuality(unsigned int idx, double q);
00051 double GetQuality(unsigned int idx = 0) const;
00052
00053 void SetTileSize(unsigned int tx, unsigned int ty);
00054
00055 void SetNumberOfResolutions(unsigned int nres);
00056
00057 void SetReversible(bool res);
00058
00059 protected:
00060 bool Decode(std::istream &is, std::ostream &os);
00061 private:
00062 bool GetHeaderInfo(const char * dummy_buffer, size_t len, TransferSyntax &ts);
00063 JPEG2000Internals *Internals;
00064 };
00065
00066 }
00067
00068 #endif //__gdcmJPEG2000codec_h