ITK  5.4.0
Insight Toolkit
itkUnconstrainedRegionBasedLevelSetFunctionSharedData.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 itkUnconstrainedRegionBasedLevelSetFunctionSharedData_h
19 #define itkUnconstrainedRegionBasedLevelSetFunctionSharedData_h
20 
22 
23 namespace itk
24 {
57 template <typename TInputImage, typename TFeatureImage, typename TSingleData>
59  : public RegionBasedLevelSetFunctionSharedData<TInputImage, TFeatureImage, TSingleData>
60 {
61 public:
62  ITK_DISALLOW_COPY_AND_MOVE(UnconstrainedRegionBasedLevelSetFunctionSharedData);
63 
68 
69  static constexpr unsigned int ImageDimension = TFeatureImage::ImageDimension;
70 
72  itkNewMacro(Self);
73 
74  itkOverrideGetNameOfClassMacro(UnconstrainedRegionBasedLevelSetFunctionSharedData);
75 
76  using InputImageType = TInputImage;
77  using typename Superclass::InputImagePointer;
79  using typename Superclass::InputPixelType;
80  using typename Superclass::InputRegionType;
81  using typename Superclass::InputSizeType;
82  using typename Superclass::InputSizeValueType;
83  using typename Superclass::InputSpacingType;
84  using typename Superclass::InputIndexType;
85  using typename Superclass::InputIndexValueType;
86  using typename Superclass::InputPointType;
87 
88  using FeatureImageType = TFeatureImage;
89  using typename Superclass::FeatureImagePointer;
91  using typename Superclass::FeaturePixelType;
92  using typename Superclass::FeatureRegionType;
93  using typename Superclass::FeatureSizeType;
94  using typename Superclass::FeatureSizeValueType;
95  using typename Superclass::FeatureSpacingType;
96  using typename Superclass::FeatureIndexType;
97  using typename Superclass::FeaturePointType;
98 
99  using typename Superclass::ListPixelType;
100  using typename Superclass::ListImageType;
101  using typename Superclass::ListImagePointer;
102  using typename Superclass::ListImageConstPointer;
103  using typename Superclass::ListRegionType;
104  using typename Superclass::ListSizeType;
105  using typename Superclass::ListSizeValueType;
106  using typename Superclass::ListSpacingType;
107  using typename Superclass::ListIndexType;
108  using typename Superclass::ListIndexValueType;
109  using typename Superclass::ListPointType;
110  using typename Superclass::ListIteratorType;
111 
112  using typename Superclass::CentroidVectorType;
113  using typename Superclass::SampleType;
114  using typename Superclass::TreeGeneratorType;
115  using typename Superclass::TreePointer;
116  using typename Superclass::TreeType;
117  using typename Superclass::KdTreePointer;
118 
119  using LevelSetDataType = TSingleData;
120  using typename Superclass::LevelSetDataPointer;
123 
124  void
125  PopulateListImage() override
126  {
127  ListPixelType L;
128 
129  for (unsigned int i = 0; i < this->m_FunctionCount; ++i)
130  {
131  L.push_back(i);
132  }
133  this->m_NearestNeighborListImage->FillBuffer(L);
134  }
135 
136 protected:
138  : Superclass()
139  {}
141 };
142 } // end namespace itk
143 
144 #endif
itk::RegionBasedLevelSetFunctionSharedData::FeatureIndexType
typename FeatureImageType::IndexType FeatureIndexType
Definition: itkRegionBasedLevelSetFunctionSharedData.h:99
itk::RegionBasedLevelSetFunctionSharedData::ListPixelType
std::list< unsigned int > ListPixelType
Definition: itkRegionBasedLevelSetFunctionSharedData.h:102
itk::RegionBasedLevelSetFunctionSharedData::m_NearestNeighborListImage
ListImagePointer m_NearestNeighborListImage
Definition: itkRegionBasedLevelSetFunctionSharedData.h:176
itk::RegionBasedLevelSetFunctionSharedData::InputImageConstPointer
typename InputImageType::ConstPointer InputImageConstPointer
Definition: itkRegionBasedLevelSetFunctionSharedData.h:81
itk::RegionBasedLevelSetFunctionSharedData::m_FunctionCount
unsigned int m_FunctionCount
Definition: itkRegionBasedLevelSetFunctionSharedData.h:174
itk::RegionBasedLevelSetFunctionSharedData::ListSizeType
typename ListImageType::SizeType ListSizeType
Definition: itkRegionBasedLevelSetFunctionSharedData.h:107
itk::UnconstrainedRegionBasedLevelSetFunctionSharedData::PopulateListImage
void PopulateListImage() override
Definition: itkUnconstrainedRegionBasedLevelSetFunctionSharedData.h:125
itk::RegionBasedLevelSetFunctionSharedData::InputImageType
TInputImage InputImageType
Definition: itkRegionBasedLevelSetFunctionSharedData.h:79
itk::RegionBasedLevelSetFunctionSharedData::ListSizeValueType
typename ListSizeType::SizeValueType ListSizeValueType
Definition: itkRegionBasedLevelSetFunctionSharedData.h:108
itk::RegionBasedLevelSetFunctionSharedData::FeatureSizeValueType
typename FeatureSizeType::SizeValueType FeatureSizeValueType
Definition: itkRegionBasedLevelSetFunctionSharedData.h:97
itk::RegionBasedLevelSetFunctionSharedData::InputSizeValueType
typename InputSizeType::SizeValueType InputSizeValueType
Definition: itkRegionBasedLevelSetFunctionSharedData.h:85
itk::RegionBasedLevelSetFunctionSharedData::TreePointer
typename TreeGeneratorType::Pointer TreePointer
Definition: itkRegionBasedLevelSetFunctionSharedData.h:118
itk::SmartPointer< Self >
itk::RegionBasedLevelSetFunctionSharedData::KdTreePointer
typename TreeType::Pointer KdTreePointer
Definition: itkRegionBasedLevelSetFunctionSharedData.h:120
itk::RegionBasedLevelSetFunctionSharedData::TreeType
typename TreeGeneratorType::KdTreeType TreeType
Definition: itkRegionBasedLevelSetFunctionSharedData.h:119
itk::UnconstrainedRegionBasedLevelSetFunctionSharedData::ImageDimension
static constexpr unsigned int ImageDimension
Definition: itkUnconstrainedRegionBasedLevelSetFunctionSharedData.h:69
itk::RegionBasedLevelSetFunctionSharedData::InputIndexValueType
typename InputIndexType::IndexValueType InputIndexValueType
Definition: itkRegionBasedLevelSetFunctionSharedData.h:88
itk::RegionBasedLevelSetFunctionSharedData::TreeGeneratorType
itk::Statistics::KdTreeGenerator< SampleType > TreeGeneratorType
Definition: itkRegionBasedLevelSetFunctionSharedData.h:117
itk::RegionBasedLevelSetFunctionSharedData::FeaturePixelType
typename FeatureImageType::PixelType FeaturePixelType
Definition: itkRegionBasedLevelSetFunctionSharedData.h:94
itk::RegionBasedLevelSetFunctionSharedData::InputImagePointer
typename InputImageType::Pointer InputImagePointer
Definition: itkRegionBasedLevelSetFunctionSharedData.h:80
itk::RegionBasedLevelSetFunctionSharedData::FeatureSizeType
typename FeatureImageType::SizeType FeatureSizeType
Definition: itkRegionBasedLevelSetFunctionSharedData.h:96
itkRegionBasedLevelSetFunctionSharedData.h
itk::RegionBasedLevelSetFunctionSharedData::ListImageConstPointer
typename ListImageType::ConstPointer ListImageConstPointer
Definition: itkRegionBasedLevelSetFunctionSharedData.h:105
itk::RegionBasedLevelSetFunctionSharedData::ListSpacingType
typename ListImageType::SpacingType ListSpacingType
Definition: itkRegionBasedLevelSetFunctionSharedData.h:109
itk::RegionBasedLevelSetFunctionSharedData::ListIteratorType
ImageRegionIteratorWithIndex< ListImageType > ListIteratorType
Definition: itkRegionBasedLevelSetFunctionSharedData.h:113
itk::LightObject
Light weight base class for most itk classes.
Definition: itkLightObject.h:55
itk::RegionBasedLevelSetFunctionSharedData::InputSpacingType
typename InputImageType::SpacingType InputSpacingType
Definition: itkRegionBasedLevelSetFunctionSharedData.h:86
itk::RegionBasedLevelSetFunctionSharedData::FeatureImagePointer
typename FeatureImageType::Pointer FeatureImagePointer
Definition: itkRegionBasedLevelSetFunctionSharedData.h:92
itk::RegionBasedLevelSetFunctionSharedData::InputIndexType
typename InputImageType::IndexType InputIndexType
Definition: itkRegionBasedLevelSetFunctionSharedData.h:87
itk::RegionBasedLevelSetFunctionSharedData::InputPixelType
typename InputImageType::PixelType InputPixelType
Definition: itkRegionBasedLevelSetFunctionSharedData.h:82
itk::RegionBasedLevelSetFunctionSharedData::ListImageType
Image< ListPixelType, Self::ImageDimension > ListImageType
Definition: itkRegionBasedLevelSetFunctionSharedData.h:103
itk::RegionBasedLevelSetFunctionSharedData::InputPointType
typename InputImageType::PointType InputPointType
Definition: itkRegionBasedLevelSetFunctionSharedData.h:89
itk::UnconstrainedRegionBasedLevelSetFunctionSharedData::~UnconstrainedRegionBasedLevelSetFunctionSharedData
~UnconstrainedRegionBasedLevelSetFunctionSharedData() override=default
itk::RegionBasedLevelSetFunctionSharedData::CentroidVectorType
Vector< float, Self::ImageDimension > CentroidVectorType
Definition: itkRegionBasedLevelSetFunctionSharedData.h:115
itk::RegionBasedLevelSetFunctionSharedData::InputSizeType
typename InputImageType::SizeType InputSizeType
Definition: itkRegionBasedLevelSetFunctionSharedData.h:84
itk::RegionBasedLevelSetFunctionSharedData::ListIndexType
typename ListImageType::IndexType ListIndexType
Definition: itkRegionBasedLevelSetFunctionSharedData.h:110
itk::RegionBasedLevelSetFunctionSharedData::FeaturePointType
typename FeatureImageType::PointType FeaturePointType
Definition: itkRegionBasedLevelSetFunctionSharedData.h:100
itk::RegionBasedLevelSetFunctionSharedData::ListPointType
typename ListImageType::PointType ListPointType
Definition: itkRegionBasedLevelSetFunctionSharedData.h:112
itk::RegionBasedLevelSetFunctionSharedData::LevelSetDataType
TSingleData LevelSetDataType
Definition: itkRegionBasedLevelSetFunctionSharedData.h:122
itk::RegionBasedLevelSetFunctionSharedData::FeatureImageConstPointer
typename FeatureImageType::ConstPointer FeatureImageConstPointer
Definition: itkRegionBasedLevelSetFunctionSharedData.h:93
itk::RegionBasedLevelSetFunctionSharedData::ListRegionType
typename ListImageType::RegionType ListRegionType
Definition: itkRegionBasedLevelSetFunctionSharedData.h:106
itk::RegionBasedLevelSetFunctionSharedData::InputRegionType
typename InputImageType::RegionType InputRegionType
Definition: itkRegionBasedLevelSetFunctionSharedData.h:83
itk::RegionBasedLevelSetFunctionSharedData::LevelSetDataPointerVectorIterator
typename LevelSetDataPointerVector::iterator LevelSetDataPointerVectorIterator
Definition: itkRegionBasedLevelSetFunctionSharedData.h:125
itk::RegionBasedLevelSetFunctionSharedData::FeatureRegionType
typename FeatureImageType::RegionType FeatureRegionType
Definition: itkRegionBasedLevelSetFunctionSharedData.h:95
itk::RegionBasedLevelSetFunctionSharedData
Helper class used to share data in the ScalarChanAndVeseLevelSetFunction.
Definition: itkRegionBasedLevelSetFunctionSharedData.h:65
itk
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Definition: itkAnnulusOperator.h:24
itk::UnconstrainedRegionBasedLevelSetFunctionSharedData
Helper class used to share data in the ScalarChanAndVeseLevelSetFunction.
Definition: itkUnconstrainedRegionBasedLevelSetFunctionSharedData.h:58
itk::RegionBasedLevelSetFunctionSharedData::FeatureImageType
TFeatureImage FeatureImageType
Definition: itkRegionBasedLevelSetFunctionSharedData.h:91
itk::RegionBasedLevelSetFunctionSharedData::ListImagePointer
typename ListImageType::Pointer ListImagePointer
Definition: itkRegionBasedLevelSetFunctionSharedData.h:104
itk::RegionBasedLevelSetFunctionSharedData::SampleType
itk::Statistics::ListSample< CentroidVectorType > SampleType
Definition: itkRegionBasedLevelSetFunctionSharedData.h:116
itk::RegionBasedLevelSetFunctionSharedData::LevelSetDataPointer
typename LevelSetDataType::Pointer LevelSetDataPointer
Definition: itkRegionBasedLevelSetFunctionSharedData.h:123
itk::UnconstrainedRegionBasedLevelSetFunctionSharedData::UnconstrainedRegionBasedLevelSetFunctionSharedData
UnconstrainedRegionBasedLevelSetFunctionSharedData()
Definition: itkUnconstrainedRegionBasedLevelSetFunctionSharedData.h:137
itk::RegionBasedLevelSetFunctionSharedData::ListIndexValueType
typename ListIndexType::IndexValueType ListIndexValueType
Definition: itkRegionBasedLevelSetFunctionSharedData.h:111
itk::RegionBasedLevelSetFunctionSharedData::FeatureSpacingType
typename FeatureImageType::SpacingType FeatureSpacingType
Definition: itkRegionBasedLevelSetFunctionSharedData.h:98
itk::RegionBasedLevelSetFunctionSharedData::LevelSetDataPointerVector
std::vector< LevelSetDataPointer > LevelSetDataPointerVector
Definition: itkRegionBasedLevelSetFunctionSharedData.h:124