ITK  5.4.0
Insight Toolkit
itkBruker2dseqImageIO.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright NumFOCUS
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  * https://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  *=========================================================================*/
18 
19 #ifndef itkBruker2dseqImageIO_h
20 #define itkBruker2dseqImageIO_h
21 
22 #include "ITKIOBrukerExport.h"
23 
24 #include "itkImageIOBase.h"
25 #include "itkVectorContainer.h"
26 
27 namespace itk
28 {
79 class ITKIOBruker_EXPORT Bruker2dseqImageIO : public ImageIOBase
80 {
81 public:
82  ITK_DISALLOW_COPY_AND_MOVE(Bruker2dseqImageIO);
83 
84  /* Standard class type aliases. */
89 
91  itkNewMacro(Self);
92 
94  itkOverrideGetNameOfClassMacro(Bruker2dseqImageIO);
95 
98  bool
99  CanReadFile(const char * FileNameToRead) override;
100 
102  void
103  ReadImageInformation() override;
104 
106  void
107  Read(void * buffer) override;
108 
111  bool
112  CanWriteFile(const char * itkNotUsed(FileNameToWrite)) override
113  {
114  return false;
115  }
116 
118  void
120  {
121  return;
122  }
123 
125  void
126  Write(const void * itkNotUsed(buffer)) override
127  {
128  return;
129  }
130 
131 protected:
133  ~Bruker2dseqImageIO() override;
134 
135  void
136  PrintSelf(std::ostream & os, Indent indent) const override;
137 
138 private:
139  void
140  SwapBytesIfNecessary(void * buff, SizeValueType components);
141 
142  IOComponentEnum m_OnDiskComponentType{ IOComponentEnum::UCHAR };
143  IOByteOrderEnum m_MachineByteOrder{};
144 };
145 
146 } // end namespace itk
147 
148 #endif // itkBruker2dseqImageIO_h
itk::ImageIOBase
Abstract superclass defines image IO interface.
Definition: itkImageIOBase.h:77
itk::Bruker2dseqImageIO::Write
void Write(const void *) override
Definition: itkBruker2dseqImageIO.h:126
itk::CommonEnums::IOByteOrder
IOByteOrder
Definition: itkCommonEnums.h:127
itk::Bruker2dseqImageIO
Class that defines how to read Bruker file format.
Definition: itkBruker2dseqImageIO.h:79
itk::Bruker2dseqImageIO::WriteImageInformation
void WriteImageInformation() override
Definition: itkBruker2dseqImageIO.h:119
itk::SmartPointer< Self >
itk::CommonEnums::IOComponent
IOComponent
Definition: itkCommonEnums.h:76
itk::Indent
Control indentation during Print() invocation.
Definition: itkIndent.h:49
itk::CommonEnums::IOComponent::UCHAR
itk::LightObject
Light weight base class for most itk classes.
Definition: itkLightObject.h:55
itk::Bruker2dseqImageIO::CanWriteFile
bool CanWriteFile(const char *) override
Definition: itkBruker2dseqImageIO.h:112
itkImageIOBase.h
itkVectorContainer.h
itk
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Definition: itkAnnulusOperator.h:24
itk::Object
Base class for most ITK classes.
Definition: itkObject.h:61
itk::SizeValueType
unsigned long SizeValueType
Definition: itkIntTypes.h:83