ITK  4.3.0
Insight Segmentation and Registration Toolkit
itkBruker2DSEQImageIO.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright Insight Software Consortium
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0.txt
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  *=========================================================================*/
36 #ifndef __itkBruker2DSEQImageIO_h
37 #define __itkBruker2DSEQImageIO_h
38 
39 
40 #include "itkImageIOBase.h"
41 #include "itkVectorContainer.h"
42 
43 namespace itk
44 {
113 class ITK_EXPORT Bruker2DSEQImageIO:public ImageIOBase
114 {
115 public:
117 
122 
124  itkNewMacro(Self);
125 
128 
136 
137  /*-------- This part of the interfaces deals with reading data. ----- */
138 
144  virtual bool CanReadFile(const char *FileNameToRead);
145 
147  virtual void ReadImageInformation();
148 
150  virtual void Read(void *buffer);
151 
152  /*-------- This part of the interfaces deals with writing data. ----- */
153 
160  virtual bool CanWriteFile( const char *itkNotUsed(FileNameToWrite) )
161  {
162  return false;
163  }
164 
166  virtual void WriteImageInformation()
167  {
168  return;
169  }
170 
173  virtual void Write( const void *itkNotUsed(buffer) )
174  {
175  return;
176  }
177 
178 protected:
181  void PrintSelf(std::ostream & os, Indent indent) const;
182 
183 private:
184 
185  Bruker2DSEQImageIO(const Self &); //purposely not implemented
186  void operator=(const Self &); //purposely not implemented
187 
188  void SwapBytesIfNecessary(void *buffer, SizeValueType numberOfPixels);
189 
191 };
192 
193 extern const char *const RECO_BYTE_ORDER;
194 extern const char *const RECO_FOV;
195 extern const char *const RECO_SIZE;
196 extern const char *const RECO_WORDTYPE;
197 extern const char *const RECO_IMAGE_TYPE;
198 extern const char *const RECO_TRANSPOSITION;
199 extern const char *const ACQ_DIM;
200 extern const char *const NI; /*IMND_N_SLICES*/
201 extern const char *const NR;
202 extern const char *const ACQ_SLICE_THICK; /*IMND_SLICE_THICK*/
203 extern const char *const NECHOES; /*IMND_N_ECHO_IMAGES*/
204 extern const char *const ACQ_SLICE_SEPN; /*IMND_SLICE_SEPN*/
205 extern const char *const ACQ_SLICE_SEPN_MODE;
206 extern const char *const ACQ_ECHO_TIME;
207 extern const char *const ACQ_REPETITION_TIME;
208 extern const char *const ACQ_INVERSION_TIME;
209 } // end namespace itk
210 
211 #endif // __itkBruker2DSEQImageIO_h
212