gdcmImageChangeTransferSyntax.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef __gdcmImageChangeTransferSyntax_h
00016 #define __gdcmImageChangeTransferSyntax_h
00017
00018 #include "gdcmImageToImageFilter.h"
00019 #include "gdcmTransferSyntax.h"
00020
00021 namespace gdcm
00022 {
00023
00024 class DataElement;
00025 class ImageCodec;
00033 class GDCM_EXPORT ImageChangeTransferSyntax : public ImageToImageFilter
00034 {
00035 public:
00036 ImageChangeTransferSyntax():TS(TransferSyntax::TS_END),Force(false),CompressIconImage(false),UserCodec(0) {}
00037 ~ImageChangeTransferSyntax() {}
00038
00040 void SetTransferSyntax(const TransferSyntax &ts) { TS = ts; }
00042 const TransferSyntax &GetTransferSyntax() const { return TS; }
00043
00045 bool Change();
00046
00049 void SetCompressIconImage(bool b) { CompressIconImage = b; }
00050
00055 void SetForce( bool f ) { Force = f; }
00056
00057 void SetUserCodec(ImageCodec *ic) { UserCodec = ic; }
00058
00059 protected:
00060 bool TryJPEGCodec(const DataElement &pixelde, Bitmap const &input, Bitmap &output);
00061 bool TryJPEG2000Codec(const DataElement &pixelde, Bitmap const &input, Bitmap &output);
00062 bool TryJPEGLSCodec(const DataElement &pixelde, Bitmap const &input, Bitmap &output);
00063 bool TryRAWCodec(const DataElement &pixelde, Bitmap const &input, Bitmap &output);
00064 bool TryRLECodec(const DataElement &pixelde, Bitmap const &input, Bitmap &output);
00065
00066 private:
00067 TransferSyntax TS;
00068 bool Force;
00069 bool CompressIconImage;
00070
00071 ImageCodec *UserCodec;
00072 };
00073
00079 }
00080
00081 #endif //__gdcmImageChangeTransferSyntax_h
00082