ITK
4.3.0
Insight Segmentation and Registration Toolkit
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
ITK
Modules
Video
Core
include
itkTemporalProcessObject.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
*=========================================================================*/
18
#ifndef __itkTemporalProcessObject_h
19
#define __itkTemporalProcessObject_h
20
21
#include "
itkProcessObject.h
"
22
#include "
itkTemporalRegion.h
"
23
24
namespace
itk
25
{
26
28
class
Region;
29
class
TemporalDataObject;
30
65
class
TemporalProcessObject
:
public
ProcessObject
66
{
67
public
:
68
69
/*-TYPEDEFS----------------------------------------------------------------*/
70
72
typedef
TemporalProcessObject
Self
;
73
typedef
ProcessObject
Superclass
;
74
typedef
SmartPointer< Self >
Pointer
;
75
typedef
SmartPointer< const Self >
ConstPointer
;
76
78
itkTypeMacro(
TemporalProcessObject
,
ProcessObject
);
79
80
/*-PUBLIC METHODS----------------------------------------------------------*/
81
84
virtual
void
EnlargeOutputRequestedRegion
(
DataObject
* output);
85
86
virtual
void
GenerateOutputRequestedRegion
(
DataObject
* output);
87
88
virtual
void
GenerateInputRequestedRegion
();
89
93
itkGetMacro(UnitInputNumberOfFrames,
SizeValueType
);
94
98
itkGetMacro(UnitOutputNumberOfFrames,
SizeValueType
);
99
105
virtual
void
UpdateOutputInformation
();
106
118
virtual
void
UpdateOutputData
(
DataObject
* output);
119
130
virtual
void
GenerateData
();
131
138
virtual
void
TemporalStreamingGenerateData
();
139
140
protected
:
141
142
/*-PROTECTED METHODS-------------------------------------------------------*/
143
145
TemporalProcessObject
();
146
148
virtual
~TemporalProcessObject
(){
149
}
150
152
void
PrintSelf
(std::ostream & os,
Indent
indent)
const
;
153
158
virtual
void
EnlargeOutputRequestedTemporalRegion
(
TemporalDataObject
* output);
159
167
virtual
void
GenerateOutputRequestedTemporalRegion
(
TemporalDataObject
* output);
168
180
virtual
void
GenerateInputRequestedTemporalRegion
();
181
190
virtual
std::vector<TemporalRegion>
SplitRequestedTemporalRegion
();
191
196
virtual
void
BeforeTemporalStreamingGenerateData
() {
197
}
198
203
virtual
void
AfterTemporalStreamingGenerateData
() {
204
}
205
209
virtual
TemporalRegion
GenerateDefaultLargestPossibleTemporalRegion
();
210
211
itkSetMacro(UnitInputNumberOfFrames,
SizeValueType
);
212
itkSetMacro(UnitOutputNumberOfFrames,
SizeValueType
);
213
itkSetMacro(FrameSkipPerOutput,
OffsetValueType
);
214
itkSetMacro(InputStencilCurrentFrameIndex,
SizeValueType
);
215
itkGetMacro(InputStencilCurrentFrameIndex,
SizeValueType
);
216
217
/*-PROTECTED MEMBERS-------------------------------------------------------*/
218
221
SizeValueType
m_UnitInputNumberOfFrames
;
222
SizeValueType
m_UnitOutputNumberOfFrames
;
223
227
OffsetValueType
m_FrameSkipPerOutput
;
228
234
SizeValueType
m_InputStencilCurrentFrameIndex
;
235
236
private
:
237
TemporalProcessObject
(
const
Self
&);
//purposely not implemented
238
void
operator=
(
const
Self
&);
//purposely not implemented
239
240
};
// end class TemporalProcessObject
241
242
}
// end namespace itk
243
244
#endif
245
Generated on Sun Dec 9 2012 01:28:23 for ITK by
1.8.2