ITK  6.0.0
Insight Toolkit
itkStimulateImageIO.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 *
20 * Portions of this file are subject to the VTK Toolkit Version 3 copyright.
21 *
22 * Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
23 *
24 * For complete copyright, license and disclaimer of warranty information
25 * please refer to the NOTICE file at the top of the ITK source tree.
26 *
27 *=========================================================================*/
28#ifndef itkStimulateImageIO_h
29#define itkStimulateImageIO_h
30#include "ITKIOStimulateExport.h"
31
32
33#include <fstream>
34#include "itkImageIOBase.h"
35
36namespace itk
37{
62class ITKIOStimulate_EXPORT StimulateImageIO : public ImageIOBase
63{
64public:
65 ITK_DISALLOW_COPY_AND_MOVE(StimulateImageIO);
66
71
73 itkNewMacro(Self);
74
76 itkOverrideGetNameOfClassMacro(StimulateImageIO);
77
78 /*-------- This part of the interface deals with reading data. ------ */
79
82 bool
83 CanReadFile(const char *) override;
84
86 void
88
90 void
91 Read(void * buffer) override;
92
93 /*-------- This part of the interfaces deals with writing data. ----- */
94
97 bool
98 CanWriteFile(const char *) override;
99
102 void
104 {}
105
108 void
109 Write(const void * buffer) override;
110
117 itkGetVectorMacro(DisplayRange, const float, 2);
118 const float &
120 {
121 return m_DisplayRange[1];
122 }
123 const float &
125 {
126 return m_DisplayRange[1];
127 }
130protected:
133 void
134 PrintSelf(std::ostream & os, Indent indent) const override;
135
136 void
137 InternalReadImageInformation(std::ifstream & file);
138
139private:
140 std::string m_DataFileName{};
141 char m_SdtOrient[256]{};
142 float m_DisplayRange[2]{};
143 char m_FidName[256]{};
144};
145} // end namespace itk
146
147#endif // itkStimulateImageIO_h
Abstract superclass defines image IO interface.
Control indentation during Print() invocation.
Definition: itkIndent.h:50
Light weight base class for most itk classes.
Base class for most ITK classes.
Definition: itkObject.h:62
ImageIO class for reading SDT/SPR (Stimulate) images This format is similar to a MetaImageIO file: Th...
bool CanWriteFile(const char *) override
void InternalReadImageInformation(std::ifstream &file)
~StimulateImageIO() override
void Read(void *buffer) override
void WriteImageInformation() override
void PrintSelf(std::ostream &os, Indent indent) const override
const float & GetHighDisplayValue()
const float & GetLowDisplayValue()
bool CanReadFile(const char *) override
void Write(const void *buffer) override
void ReadImageInformation() override
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....