ITK  6.0.0
Insight Toolkit
itkNumericSeriesFileNames.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#ifndef itkNumericSeriesFileNames_h
19#define itkNumericSeriesFileNames_h
20#include "ITKIOImageBaseExport.h"
21
22
23#include "itkObject.h"
24#include "itkObjectFactory.h"
25#include "itkIntTypes.h"
26#include "itkMacro.h"
27#include <vector>
28
29namespace itk
30{
54class ITKIOImageBase_EXPORT NumericSeriesFileNames : public Object
55{
56public:
57 ITK_DISALLOW_COPY_AND_MOVE(NumericSeriesFileNames);
58
63
65 itkNewMacro(Self);
66
68 itkOverrideGetNameOfClassMacro(NumericSeriesFileNames);
69
70 /* -------- Define the API for NumericSeriesFileNames ----------- */
71
74 itkSetMacro(StartIndex, SizeValueType);
75 itkGetConstMacro(StartIndex, SizeValueType);
79 itkSetMacro(EndIndex, SizeValueType);
80 itkGetConstMacro(EndIndex, SizeValueType);
85 itkSetMacro(IncrementIndex, SizeValueType);
86 itkGetConstMacro(IncrementIndex, SizeValueType);
94 itkSetStringMacro(SeriesFormat);
95 itkGetStringMacro(SeriesFormat);
100 const std::vector<std::string> &
102
103protected:
105 ~NumericSeriesFileNames() override = default;
106 void
107 PrintSelf(std::ostream & os, Indent indent) const override;
108
109private:
110 SizeValueType m_StartIndex{ 1 };
111 SizeValueType m_EndIndex{ 1 };
112 SizeValueType m_IncrementIndex{ 1 };
113
115 std::string m_SeriesFormat{};
116
117 std::vector<std::string> m_FileNames{};
118};
119} // namespace itk
120
121#endif // itkNumericSeriesFileNames_h
Control indentation during Print() invocation.
Definition: itkIndent.h:50
Light weight base class for most itk classes.
Generate an ordered sequence of filenames.
~NumericSeriesFileNames() override=default
const std::vector< std::string > & GetFileNames()
void PrintSelf(std::ostream &os, Indent indent) const override
Base class for most ITK classes.
Definition: itkObject.h:62
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
unsigned long SizeValueType
Definition: itkIntTypes.h:86