ITK  6.0.0
Insight Toolkit
itkVideoToVideoFilter.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 itkVideoToVideoFilter_h
19#define itkVideoToVideoFilter_h
20
21#include "itkVideoSource.h"
22#include "itkVideoStream.h"
23
24namespace itk
25{
26
44template <typename TInputVideoStream, typename TOutputVideoStream>
45class ITK_TEMPLATE_EXPORT VideoToVideoFilter : public VideoSource<TOutputVideoStream>
46{
47public:
48 ITK_DISALLOW_COPY_AND_MOVE(VideoToVideoFilter);
49
51 using InputVideoStreamType = TInputVideoStream;
52 using OutputVideoStreamType = TOutputVideoStream;
58
60 using typename Superclass::OutputFrameType;
61 using typename Superclass::OutputFrameSpatialRegionType;
62
64 using InputFrameType = typename InputVideoStreamType::FrameType;
65 using InputFrameSpatialRegionType = typename InputVideoStreamType::SpatialRegionType;
67 using InputFramePixelType = typename InputVideoStreamType::PixelType;
69 using InputFrameSpacingType = typename InputVideoStreamType::SpacingType;
72
73 itkNewMacro(Self);
74
76 itkOverrideGetNameOfClassMacro(VideoToVideoFilter);
77
79 using Superclass::SetInput;
80 virtual void
81 SetInput(const InputVideoStreamType * videoStream);
82
83 virtual void
84 SetInput(unsigned int idx, const InputVideoStreamType * videoStream);
85
88 GetInput() const;
89
91 GetInput(unsigned int idx) const;
92
99 void
101
102protected:
108
110 GetInput(unsigned int idx);
111
116 void
118
124 void
126
130 void
132
134 ~VideoToVideoFilter() override = default;
135
136 void
137 PrintSelf(std::ostream & os, Indent indent) const override;
138
139private:
140}; // end class VideoToVideoFilter
141
142} // end namespace itk
143
144#ifndef ITK_MANUAL_INSTANTIATION
145# include "itkVideoToVideoFilter.hxx"
146#endif
147
148#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.
A TemporalProcessObject that produces a VideoStream.
TOutputVideoStream OutputVideoStreamType
Base class for filters that use a VideoStream as input and output.
InputVideoStreamType * GetInput()
typename InputVideoStreamType::FrameType InputFrameType
typename InputVideoStreamType::SpatialRegionType InputFrameSpatialRegionType
const InputVideoStreamType * GetInput() const
void GenerateOutputRequestedRegion(DataObject *output) override
TInputVideoStream InputVideoStreamType
~VideoToVideoFilter() override=default
typename InputVideoStreamType::PixelType InputFramePixelType
InputVideoStreamType * GetInput(unsigned int idx)
virtual void SetInput(unsigned int idx, const InputVideoStreamType *videoStream)
typename InputVideoStreamType::PointType InputFramePointType
typename InputVideoStreamType::IndexType InputFrameIndexType
void GenerateInputRequestedRegion() override
typename InputVideoStreamType::SizeType InputFrameSizeType
void BeforeTemporalStreamingGenerateData() override
const InputVideoStreamType * GetInput(unsigned int idx) const
typename InputVideoStreamType::SpacingType InputFrameSpacingType
void UpdateOutputInformation() override
virtual void SetInput(const InputVideoStreamType *videoStream)
typename InputVideoStreamType::DirectionType InputFrameDirectionType
void PrintSelf(std::ostream &os, Indent indent) const override
Implements a weak reference to an object.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....