ITK  6.0.0
Insight Toolkit
itkExtensionVelocitiesImageFilter.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 itkExtensionVelocitiesImageFilter_h
19#define itkExtensionVelocitiesImageFilter_h
20
24
25namespace itk
26{
49template <typename TLevelSet, typename TAuxValue = float, unsigned int VAuxDimension = 1>
50class ITK_TEMPLATE_EXPORT ExtensionVelocitiesImageFilter : public ReinitializeLevelSetImageFilter<TLevelSet>
51{
52public:
53 ITK_DISALLOW_COPY_AND_MOVE(ExtensionVelocitiesImageFilter);
54
60
62 itkNewMacro(Self);
63
65 itkOverrideGetNameOfClassMacro(ExtensionVelocitiesImageFilter);
66
75
77 static constexpr unsigned int SetDimension = LevelSetType::SetDimension;
78
87
89 static constexpr unsigned int AuxDimension = VAuxDimension;
90
92 void
93 SetInputVelocityImage(const AuxImageType * ptr, unsigned int idx = 0);
94
95 const AuxImageType *
96 GetInputVelocityImage(unsigned int idx = 0);
97
100 GetOutputVelocityImage(unsigned int idx = 0);
101
102#ifdef ITK_USE_CONCEPT_CHECKING
103 // Begin concept checking
104 itkConceptMacro(AuxValueHasNumericTraitsCheck, (Concept::HasNumericTraits<TAuxValue>));
105 itkConceptMacro(LevelSetOStreamWritableCheck, (Concept::OStreamWritable<PixelType>));
106 // End concept checking
107#endif
108
109protected:
112
113 void
115
116 void
118
119 void
120 AllocateOutput() override;
121
122 void
124
125private:
128
132
133 typename LocatorType::Pointer m_Locator{};
134
136};
137} // namespace itk
138
139#ifndef ITK_MANUAL_INSTANTIATION
140# include "itkExtensionVelocitiesImageFilter.hxx"
141#endif
142
143#endif
Level set auxiliary variables type information.
Definition: itkLevelSet.h:86
typename AuxImageType::ConstPointer AuxImageConstPointer
Definition: itkLevelSet.h:112
typename AuxImageType::Pointer AuxImagePointer
Definition: itkLevelSet.h:111
Base class for all data objects in ITK.
Extend velocities smoothly from a particular level set.
const AuxImageType * GetInputVelocityImage(unsigned int idx=0)
void SetInputVelocityImage(const AuxImageType *ptr, unsigned int idx=0)
AuxImageType * GetOutputVelocityImage(unsigned int idx=0)
typename LevelSetType::LevelSetConstPointer LevelSetConstPointer
typename AuxVarType::AuxValueContainer AuxValueContainer
typename AuxVarType::AuxImageConstPointer AuxImageConstPointer
typename AuxVarType::AuxValueVectorType AuxValueVectorType
typename LevelSetType::LevelSetPointer LevelSetPointer
void EnlargeOutputRequestedRegion(DataObject *) override
typename LevelSetType::NodeContainerPointer NodeContainerPointer
typename AuxVarType::AuxValueType AuxValueType
typename LevelSetType::NodeContainer NodeContainer
~ExtensionVelocitiesImageFilter() override=default
typename AuxVarType::AuxImageType AuxImageType
typename AuxVarType::AuxImagePointer AuxImagePointer
Extend auxiliary variables smoothly using Fast Marching.
Templated n-dimensional image class.
Definition: itkImage.h:89
Represent a node in a level set.
Level set type information.
Definition: itkLevelSet.h:41
typename TLevelSet::PixelType PixelType
Definition: itkLevelSet.h:55
typename TLevelSet::ConstPointer LevelSetConstPointer
Definition: itkLevelSet.h:52
typename NodeContainer::Pointer NodeContainerPointer
Definition: itkLevelSet.h:64
typename TLevelSet::Pointer LevelSetPointer
Definition: itkLevelSet.h:51
Light weight base class for most itk classes.
Reinitialize the level set to the signed distance function.
A templated class holding a n-Dimensional vector.
Definition: itkVector.h:63
Define a front-end to the STL "vector" container that conforms to the IndexedContainerInterface.
#define itkConceptMacro(name, concept)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....