ITK  5.3.0
Insight Toolkit
itkScalarChanAndVeseLevelSetFunctionData.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  * 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 itkScalarChanAndVeseLevelSetFunctionData_h
19 #define itkScalarChanAndVeseLevelSetFunctionData_h
20 
22 
23 namespace itk
24 {
60 template <typename TInputImage, typename TFeatureImage>
61 class ITK_TEMPLATE_EXPORT ScalarChanAndVeseLevelSetFunctionData
62  : public RegionBasedLevelSetFunctionData<TInputImage, TFeatureImage>
63 {
64 public:
65  ITK_DISALLOW_COPY_AND_MOVE(ScalarChanAndVeseLevelSetFunctionData);
66 
71 
72  static constexpr unsigned int ImageDimension = TFeatureImage::ImageDimension;
73 
75  itkNewMacro(Self);
76 
78 
79  using InputImageType = TInputImage;
80  using typename Superclass::InputImagePointer;
81  using typename Superclass::InputImageConstPointer;
82  using typename Superclass::InputPixelType;
83  using typename Superclass::InputRegionType;
84  using typename Superclass::InputSizeType;
85  using typename Superclass::InputSizeValueType;
86  using typename Superclass::InputSpacingType;
87  using typename Superclass::InputIndexType;
88  using typename Superclass::InputIndexValueType;
89  using typename Superclass::InputPointType;
90 
91  using FeatureImageType = TFeatureImage;
92  using typename Superclass::FeatureImagePointer;
93  using typename Superclass::FeatureImageConstPointer;
94  using typename Superclass::FeaturePixelType;
95  using typename Superclass::FeatureRegionType;
96  using typename Superclass::FeatureSizeType;
97  using typename Superclass::FeatureSizeValueType;
98  using typename Superclass::FeatureSpacingType;
99  using typename Superclass::FeatureIndexType;
100  using typename Superclass::FeaturePointType;
101 
106 
107 protected:
109  : Superclass()
110  {
111  m_BackgroundConstantValues = 0.;
112  m_ForegroundConstantValues = 0.;
113  m_WeightedSumOfPixelValuesInsideLevelSet = 0.;
114  m_WeightedSumOfPixelValuesOutsideLevelSet = 0.;
115  }
116 
117  ~ScalarChanAndVeseLevelSetFunctionData() override = default;
118 };
119 } // end namespace itk
120 
121 #endif
itkRegionBasedLevelSetFunctionData.h
itk::ScalarChanAndVeseLevelSetFunctionData::m_BackgroundConstantValues
double m_BackgroundConstantValues
Definition: itkScalarChanAndVeseLevelSetFunctionData.h:102
itk::ScalarChanAndVeseLevelSetFunctionData::m_WeightedSumOfPixelValuesOutsideLevelSet
double m_WeightedSumOfPixelValuesOutsideLevelSet
Definition: itkScalarChanAndVeseLevelSetFunctionData.h:105
itk::SmartPointer< Self >
itk::ScalarChanAndVeseLevelSetFunctionData::m_WeightedSumOfPixelValuesInsideLevelSet
double m_WeightedSumOfPixelValuesInsideLevelSet
Definition: itkScalarChanAndVeseLevelSetFunctionData.h:104
itk::RegionBasedLevelSetFunctionData::FeatureImageType
TFeatureImage FeatureImageType
Definition: itkRegionBasedLevelSetFunctionData.h:97
itk::ScalarChanAndVeseLevelSetFunctionData
Helper class used to share data in the ScalarChanAndVeseLevelSetFunction.
Definition: itkScalarChanAndVeseLevelSetFunctionData.h:61
itk::LightObject
Light weight base class for most itk classes.
Definition: itkLightObject.h:59
itk::RegionBasedLevelSetFunctionData
Helper class used to share data in the ScalarChanAndVeseLevelSetFunction.
Definition: itkRegionBasedLevelSetFunctionData.h:68
itk::ScalarChanAndVeseLevelSetFunctionData::ScalarChanAndVeseLevelSetFunctionData
ScalarChanAndVeseLevelSetFunctionData()
Definition: itkScalarChanAndVeseLevelSetFunctionData.h:108
itk
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Definition: itkAnnulusOperator.h:24
itk::RegionBasedLevelSetFunctionData::InputImageType
TInputImage InputImageType
Definition: itkRegionBasedLevelSetFunctionData.h:85
itk::ScalarChanAndVeseLevelSetFunctionData::m_ForegroundConstantValues
double m_ForegroundConstantValues
Definition: itkScalarChanAndVeseLevelSetFunctionData.h:103