GDCM 2.2.1

- Main Page
- Related Pages
- Namespaces
- Classes
- Files
- Examples

- File List
- File Members

gdcmImageChangeTransferSyntax.h
Go to the documentation of this file.
1 /*=========================================================================
2
3 Program: GDCM (Grassroots DICOM). A DICOM library
4
5 Copyright (c) 2006-2011 Mathieu Malaterre
6 All rights reserved.
7 See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details.
8
9 This software is distributed WITHOUT ANY WARRANTY; without even
10 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11 PURPOSE. See the above copyright notice for more information.
12
13 =========================================================================*/
14 #ifndef GDCMIMAGECHANGETRANSFERSYNTAX_H
15 #define GDCMIMAGECHANGETRANSFERSYNTAX_H
16
17 #include "gdcmImageToImageFilter.h"
18 #include "gdcmTransferSyntax.h"
19
20 namespace gdcm
21 {
22
23 class DataElement;
24 class ImageCodec;
38 class GDCM_EXPORT ImageChangeTransferSyntax : public ImageToImageFilter
39 {
40 public:
41 ImageChangeTransferSyntax():TS(TransferSyntax::TS_END),Force(false),CompressIconImage(false),UserCodec(0) {}
42 ~ImageChangeTransferSyntax() {}
43
45 void SetTransferSyntax(const TransferSyntax &ts) { TS = ts; }
47 const TransferSyntax &GetTransferSyntax() const { return TS; }
48
50 bool Change();
51
54 void SetCompressIconImage(bool b) { CompressIconImage = b; }
55
60 void SetForce( bool f ) { Force = f; }
61
66 void SetUserCodec(ImageCodec *ic) { UserCodec = ic; }
67
68 protected:
69 bool TryJPEGCodec(const DataElement &pixelde, Bitmap const &input, Bitmap &output);
70 bool TryJPEG2000Codec(const DataElement &pixelde, Bitmap const &input, Bitmap &output);
71 bool TryJPEGLSCodec(const DataElement &pixelde, Bitmap const &input, Bitmap &output);
72 bool TryRAWCodec(const DataElement &pixelde, Bitmap const &input, Bitmap &output);
73 bool TryRLECodec(const DataElement &pixelde, Bitmap const &input, Bitmap &output);
74
75 private:
76 TransferSyntax TS;
77 bool Force;
78 bool CompressIconImage;
79
80 ImageCodec *UserCodec;
81 };
82
88 } // end namespace gdcm
89
90 #endif //GDCMIMAGECHANGETRANSFERSYNTAX_H