00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __itkRawImageWriter_h
00021 #define __itkRawImageWriter_h
00022
00023 #include "itkImageWriter.h"
00024 #include <vector>
00025
00026 namespace itk
00027 {
00028
00041 template <class TInputImage>
00042 class ITK_EXPORT RawImageWriter : public ImageWriter<TInputImage>
00043 {
00044 public:
00046 typedef RawImageWriter Self;
00047 typedef ImageWriter<TInputImage> Superclass;
00048 typedef SmartPointer<Self> Pointer;
00049 typedef SmartPointer<const Self> ConstPointer;
00050
00052 itkTypeMacro(RawImageWriter,ImageWriter);
00053
00055 itkNewMacro(Self);
00056
00058 typedef enum {BigEndian,LittleEndian} ByteOrder;
00059
00061 itkSetMacro(ByteOrder,ByteOrder);
00062
00064 itkGetMacro(ByteOrder,ByteOrder);
00065
00067 void SetByteOrderToBigEndian()
00068 {this->SetByteOrder(RawImageWriter::BigEndian);}
00069
00071 void SetByteOrderToLittleEndian()
00072 {this->SetByteOrder(RawImageWriter::LittleEndian);}
00073
00074 protected:
00075 RawImageWriter();
00076 ~RawImageWriter() {}
00077 void PrintSelf(std::ostream& os, Indent indent) const;
00078
00079 void WriteData();
00080
00081 private:
00082 RawImageWriter(const Self&);
00083 void operator=(const Self&);
00084
00085 ByteOrder m_ByteOrder;
00086
00087 };
00088
00089 }
00090
00091 #ifndef ITK_MANUAL_INSTANTIATION
00092 #include "itkRawImageWriter.txx"
00093 #endif
00094
00095 #endif