ITK  5.4.0
Insight Toolkit
itkTemporalProcessObject.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 itkTemporalProcessObject_h
19#define itkTemporalProcessObject_h
20
21#include "itkProcessObject.h"
22#include "itkTemporalRegion.h"
23#include "ITKVideoCoreExport.h"
24
25namespace itk
26{
27
28// Forward reference because of circular dependencies
29class ITK_FORWARD_EXPORT TemporalDataObject;
30
66class ITKVideoCore_EXPORT TemporalProcessObject : public ProcessObject
67{
68public:
69 ITK_DISALLOW_COPY_AND_MOVE(TemporalProcessObject);
70
71 /*-TYPEDEFS----------------------------------------------------------------*/
72
78
80 itkOverrideGetNameOfClassMacro(TemporalProcessObject);
81
82 /*-PUBLIC METHODS----------------------------------------------------------*/
83
86 void
88
89 void
91
92 void
94
98 itkGetMacro(UnitInputNumberOfFrames, SizeValueType);
99
103 itkGetMacro(UnitOutputNumberOfFrames, SizeValueType);
104
110 void
112
124 void
125 UpdateOutputData(DataObject * output) override;
126
137 void
138 GenerateData() override;
139
146 virtual void
148
149protected:
150 /*-PROTECTED METHODS-------------------------------------------------------*/
151
154
156 ~TemporalProcessObject() override = default;
157
159 void
160 PrintSelf(std::ostream & os, Indent indent) const override;
161
166 virtual void
168
176 virtual void
178
190 virtual void
192
201 virtual std::vector<TemporalRegion>
203
208 virtual void
210 {}
211
216 virtual void
218 {}
219
223 virtual TemporalRegion
225
226 itkSetMacro(UnitInputNumberOfFrames, SizeValueType);
227 itkSetMacro(UnitOutputNumberOfFrames, SizeValueType);
228 itkSetMacro(FrameSkipPerOutput, OffsetValueType);
229 itkSetMacro(InputStencilCurrentFrameIndex, SizeValueType);
230 itkGetMacro(InputStencilCurrentFrameIndex, SizeValueType);
231
232 /*-PROTECTED MEMBERS-------------------------------------------------------*/
233
236 SizeValueType m_UnitInputNumberOfFrames{ 1 };
237 SizeValueType m_UnitOutputNumberOfFrames{ 1 };
238
242 OffsetValueType m_FrameSkipPerOutput{ 1 };
243
249 SizeValueType m_InputStencilCurrentFrameIndex{ 0 };
250}; // end class TemporalProcessObject
251
252} // end namespace itk
253
254#endif
Base class for all data objects in ITK.
Control indentation during Print() invocation.
Definition: itkIndent.h:50
Light weight base class for most itk classes.
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
DataObject subclass with knowledge of temporal region.
TemporalProcessObject implements a ProcessObject for the itk pipeline with the notion of a temporal r...
void GenerateData() override
virtual void GenerateInputRequestedTemporalRegion()
virtual TemporalRegion GenerateDefaultLargestPossibleTemporalRegion()
~TemporalProcessObject() override=default
void GenerateOutputRequestedRegion(DataObject *output) override
void UpdateOutputInformation() override
virtual void BeforeTemporalStreamingGenerateData()
void UpdateOutputData(DataObject *output) override
virtual void TemporalStreamingGenerateData()
void GenerateInputRequestedRegion() override
virtual std::vector< TemporalRegion > SplitRequestedTemporalRegion()
void EnlargeOutputRequestedRegion(DataObject *output) override
void PrintSelf(std::ostream &os, Indent indent) const override
virtual void EnlargeOutputRequestedTemporalRegion(TemporalDataObject *output)
virtual void GenerateOutputRequestedTemporalRegion(TemporalDataObject *output)
Region subclass that holds a region in time.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
class ITK_FORWARD_EXPORT ProcessObject
Definition: itkDataObject.h:41
unsigned long SizeValueType
Definition: itkIntTypes.h:83
long OffsetValueType
Definition: itkIntTypes.h:94