ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches
itkTemporalDataObject.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 itkTemporalDataObject_h
19#define itkTemporalDataObject_h
20
21#include "itkDataObject.h"
22#include "itkRingBuffer.h"
23#include "itkTemporalRegion.h"
24#include "ITKVideoCoreExport.h"
25
26namespace itk
27{
33{
34public:
40 enum class TemporalUnit : uint8_t
41 {
45 };
46};
47// Define how to print enumeration
48extern ITKVideoCore_EXPORT std::ostream &
49 operator<<(std::ostream & out, TemporalDataObjectEnums::TemporalUnit value);
50
65class ITK_FORCE_EXPORT_MACRO(ITKVideoCore) TemporalDataObject : public DataObject
66{
67public:
68 ITK_DISALLOW_COPY_AND_MOVE(TemporalDataObject);
69
76
79
82
83#if !defined(ITK_LEGACY_REMOVE)
85 static constexpr TemporalUnitEnum Frame = TemporalUnitEnum::Frame;
86 static constexpr TemporalUnitEnum RealTime = TemporalUnitEnum::RealTime;
87 static constexpr TemporalUnitEnum FrameAndRealTime = TemporalUnitEnum::FrameAndRealTime;
88#endif
89
90 itkNewMacro(Self);
91
93 itkOverrideGetNameOfClassMacro(TemporalDataObject);
94
96 virtual TemporalUnitType
98
100 virtual void
102 virtual void
104 virtual void
107
111 void
114
115 virtual void
117 virtual const TemporalRegionType &
119
120 virtual void
122 virtual const TemporalRegionType &
124 virtual void
126 virtual const TemporalRegionType &
128
131 virtual const TemporalRegionType
133
134 void
136
137 bool
139
140 bool
142
143 void
144 CopyInformation(const DataObject *) override;
145
146 void
148
149 void
150 Graft(const DataObject *) override;
151
152protected:
155 void
156 PrintSelf(std::ostream & os, Indent indent) const override;
157
160
165
166 TemporalUnitEnum m_TemporalUnit{ TemporalUnitEnum::Frame };
167}; // end class TemporalDataObject
168} // end namespace itk
169
170#endif
Control indentation during Print() invocation.
Definition itkIndent.h:50
Templated ring buffer for holding anything.
SmartPointer< Self > Pointer
Implements transparent reference counting.
Contains all enum classes used by TemporalUnit class.
virtual void SetTemporalUnitToFrameAndRealTime()
virtual const TemporalRegionType GetUnbufferedRequestedTemporalRegion()
void SetRequestedRegion(const DataObject *) override
virtual const TemporalRegionType & GetRequestedTemporalRegion() const
RingBuffer< DataObject > BufferType
TemporalRegionType m_LargestPossibleTemporalRegion
TemporalDataObjectEnums::TemporalUnit TemporalUnitEnum
SmartPointer< const Self > ConstPointer
virtual void SetTemporalUnitToFrame()
TemporalRegionType m_RequestedTemporalRegion
WeakPointer< const Self > ConstWeakPointer
TemporalRegionType m_BufferedTemporalRegion
void SetNumberOfBuffers(SizeValueType num)
virtual void SetRequestedTemporalRegion(const TemporalRegionType &region)
virtual void SetTemporalUnitToRealTime()
virtual void SetLargestPossibleTemporalRegion(const TemporalRegionType &region)
virtual const TemporalRegionType & GetBufferedTemporalRegion() const
void SetRequestedRegionToLargestPossibleRegion() override
void PrintSelf(std::ostream &os, Indent indent) const override
SmartPointer< Self > Pointer
bool RequestedRegionIsOutsideOfTheBufferedRegion() override
SizeValueType GetNumberOfBuffers()
~TemporalDataObject() override
BufferType::Pointer m_DataObjectBuffer
virtual void SetBufferedTemporalRegion(const TemporalRegionType &region)
virtual TemporalUnitType GetTemporalUnit() const
void CopyInformation(const DataObject *) override
bool VerifyRequestedRegion() override
virtual const TemporalRegionType & GetLargestPossibleTemporalRegion() const
void Graft(const DataObject *) override
Region subclass that holds a region in time.
Implements a weak reference to an object.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
unsigned long SizeValueType
Definition itkIntTypes.h:86
ITKCommon_EXPORT std::ostream & operator<<(std::ostream &out, typename AnatomicalOrientation::CoordinateEnum value)