ITK  5.4.0
Insight Toolkit
itkRegionBasedLevelSetFunction.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 itkRegionBasedLevelSetFunction_h
19 #define itkRegionBasedLevelSetFunction_h
20 
23 #include "vnl/vnl_matrix_fixed.h"
24 
25 namespace itk
26 {
61 template <typename TInput, // LevelSetImageType
62  typename TFeature, // FeatureImageType
63  typename TSharedData>
64 class ITK_TEMPLATE_EXPORT RegionBasedLevelSetFunction : public FiniteDifferenceFunction<TInput>
65 {
66 public:
67  ITK_DISALLOW_COPY_AND_MOVE(RegionBasedLevelSetFunction);
68 
74 
75  static constexpr unsigned int ImageDimension = Superclass::ImageDimension;
76 
77  // itkNewMacro() is not provided since this is an abstract class.
78 
80  itkOverrideGetNameOfClassMacro(RegionBasedLevelSetFunction);
81 
83  using TimeStepType = double;
84  using typename Superclass::ImageType;
85  using typename Superclass::PixelType;
86  using ScalarValueType = PixelType;
87  using typename Superclass::RadiusType;
88  using typename Superclass::NeighborhoodType;
89  using typename Superclass::NeighborhoodScalesType;
90  using typename Superclass::FloatOffsetType;
92 
93  /* This structure is derived from LevelSetFunction and stores intermediate
94  values for computing time step sizes */
96  {
98  {
99  ScalarValueType null_value{};
100 
101  m_MaxCurvatureChange = null_value;
102  m_MaxAdvectionChange = null_value;
103  m_MaxGlobalChange = null_value;
104  }
105 
106  ~GlobalDataStruct() = default;
107 
108  vnl_matrix_fixed<ScalarValueType, Self::ImageDimension, Self::ImageDimension> m_dxy;
109 
110  ScalarValueType m_dx[Self::ImageDimension];
111 
112  ScalarValueType m_dx_forward[Self::ImageDimension];
113  ScalarValueType m_dx_backward[Self::ImageDimension];
114 
117 
121  };
122 
123  using InputImageType = TInput;
126  using InputPixelType = typename InputImageType::PixelType;
133 
134  using FeatureImageType = TFeature;
136  using FeaturePixelType = typename FeatureImageType::PixelType;
138  using FeatureSpacingType = typename FeatureImageType::SpacingType;
139  using FeatureOffsetType = typename FeatureImageType::OffsetType;
140 
141  using SharedDataType = TSharedData;
143 
146 
147  void
149  {
150  this->m_DomainFunction = f;
151  }
152 
153  virtual void
155  {
156  this->SetRadius(r);
157 
158  // Dummy neighborhood.
159  NeighborhoodType it;
160  it.SetRadius(r);
161 
162  // Find the center index of the neighborhood.
163  m_Center = it.Size() / 2;
164 
165  // Get the stride length for each axis.
166  for (unsigned int i = 0; i < ImageDimension; ++i)
167  {
168  m_xStride[i] = it.GetStride(i);
169  }
170  }
171 
172 #if !defined(ITK_WRAPPING_PARSER)
173  void
175  {
176  this->m_SharedData = sharedDataIn;
177  }
178 #endif
179 
180  void
181  UpdateSharedData(bool forceUpdate);
182 
183  void *
184  GetGlobalDataPointer() const override
185  {
186  return new GlobalDataStruct;
187  }
188 
189  TimeStepType
190  ComputeGlobalTimeStep(void * GlobalData) const override;
191 
193  PixelType
194  ComputeUpdate(const NeighborhoodType & neighborhood,
195  void * globalData,
196  const FloatOffsetType & = FloatOffsetType(0.0)) override;
197 
198  void
200  {
201  m_InitialImage = f;
202  }
203 
204  virtual const FeatureImageType *
206  {
207  return m_FeatureImage.GetPointer();
208  }
209  virtual void
211  {
212  m_FeatureImage = f;
213 
214  FeatureSpacingType spacing = m_FeatureImage->GetSpacing();
215  for (unsigned int i = 0; i < ImageDimension; ++i)
216  {
217  this->m_InvSpacing[i] = 1 / spacing[i];
218  }
219  }
220 
222  virtual VectorType
223  AdvectionField(const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct * = 0) const
224  {
225  return this->m_ZeroVectorConstant;
226  }
227 
229  void
231  {
232  this->m_AreaWeight = nu;
233  }
234  ScalarValueType
236  {
237  return this->m_AreaWeight;
238  }
242  void
243  SetLambda1(const ScalarValueType & lambda1)
244  {
245  this->m_Lambda1 = lambda1;
246  }
247  ScalarValueType
248  GetLambda1() const
249  {
250  return this->m_Lambda1;
251  }
255  void
256  SetLambda2(const ScalarValueType & lambda2)
257  {
258  this->m_Lambda2 = lambda2;
259  }
260  ScalarValueType
261  GetLambda2() const
262  {
263  return this->m_Lambda2;
264  }
268  void
270  {
271  this->m_OverlapPenaltyWeight = gamma;
272  }
273  ScalarValueType
275  {
276  return this->m_OverlapPenaltyWeight;
277  }
281  virtual void
283  {
284  m_CurvatureWeight = c;
285  }
286  ScalarValueType
288  {
289  return m_CurvatureWeight;
290  }
293  void
295  {
296  this->m_AdvectionWeight = iA;
297  }
298  ScalarValueType
300  {
301  return this->m_AdvectionWeight;
302  }
303 
305  void
307  {
308  m_ReinitializationSmoothingWeight = c;
309  }
310  ScalarValueType
312  {
313  return m_ReinitializationSmoothingWeight;
314  }
318  void
320  {
321  this->m_VolumeMatchingWeight = tau;
322  }
323  ScalarValueType
325  {
326  return this->m_VolumeMatchingWeight;
327  }
331  void
332  SetVolume(const ScalarValueType & volume)
333  {
334  this->m_Volume = volume;
335  }
336  ScalarValueType
337  GetVolume() const
338  {
339  return this->m_Volume;
340  }
344  void
345  SetFunctionId(const unsigned int iFid)
346  {
347  this->m_FunctionId = iFid;
348  }
349 
350  void
351  ReleaseGlobalDataPointer(void * GlobalData) const override
352  {
353  delete (GlobalDataStruct *)GlobalData;
354  }
355 
356  virtual ScalarValueType
357  ComputeCurvature(const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct * gd);
358 
361  virtual ScalarValueType
362  LaplacianSmoothingSpeed(const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct * = 0) const
363  {
365  }
366 
369  virtual ScalarValueType
370  CurvatureSpeed(const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct * = 0) const
371  {
373  }
374 
379  virtual void
381  {}
382 
383 protected:
385  ~RegionBasedLevelSetFunction() override = default;
386 
388  InputImageConstPointer m_InitialImage{};
389 
391  FeatureImageConstPointer m_FeatureImage{};
392 
393  SharedDataPointer m_SharedData{};
394 
395  HeavisideFunctionConstPointer m_DomainFunction{};
396 
398  ScalarValueType m_AreaWeight{};
399 
401  ScalarValueType m_Lambda1{};
402 
404  ScalarValueType m_Lambda2{};
405 
407  ScalarValueType m_OverlapPenaltyWeight{};
408 
410  ScalarValueType m_VolumeMatchingWeight{};
411 
413  ScalarValueType m_Volume{};
414 
416  ScalarValueType m_CurvatureWeight{};
417 
418  ScalarValueType m_AdvectionWeight{};
419 
421  ScalarValueType m_ReinitializationSmoothingWeight{};
422 
423  unsigned int m_FunctionId{};
424 
425  std::slice x_slice[Self::ImageDimension];
426  OffsetValueType m_Center{};
427  OffsetValueType m_xStride[Self::ImageDimension]{};
428  double m_InvSpacing[Self::ImageDimension]{};
429 
430  static double m_WaveDT;
431  static double m_DT;
432 
433  void
434  ComputeHImage();
435 
439  ComputeGlobalTerm(const ScalarValueType & imagePixel, const InputIndexType & inputIndex);
440 
445  virtual ScalarValueType
446  ComputeInternalTerm(const FeaturePixelType & iValue, const FeatureIndexType & iIdx) = 0;
447 
451  virtual ScalarValueType
452  ComputeExternalTerm(const FeaturePixelType & iValue, const FeatureIndexType & iIdx) = 0;
453 
458  virtual ScalarValueType
459  ComputeOverlapParameters(const FeatureIndexType & featIndex, ScalarValueType & pr) = 0;
460 
466  ComputeVolumeRegularizationTerm();
467 
481  ComputeLaplacian(GlobalDataStruct * gd);
482 
484  void
485  ComputeHessian(const NeighborhoodType & it, GlobalDataStruct * globalData);
486 
488  virtual void
489  ComputeParameters() = 0;
490 
493  virtual void
494  UpdateSharedDataParameters() = 0;
495 
496  bool m_UpdateC{};
497 
500  static VectorType
501  InitializeZeroVectorConstant();
502 
505 };
506 } // end namespace itk
507 
508 #ifndef ITK_MANUAL_INSTANTIATION
509 # include "itkRegionBasedLevelSetFunction.hxx"
510 #endif
511 
512 #endif
itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::InputIndexType
typename InputImageType::IndexType InputIndexType
Definition: itkRegionBasedLevelSetFunction.h:127
itkRegularizedHeavisideStepFunction.h
Pointer
SmartPointer< Self > Pointer
Definition: itkAddImageFilter.h:93
itk::RegionBasedLevelSetFunction::CalculateAdvectionImage
virtual void CalculateAdvectionImage()
Definition: itkRegionBasedLevelSetFunction.h:380
itk::RegionBasedLevelSetFunction::m_DT
static double m_DT
Definition: itkRegionBasedLevelSetFunction.h:431
itk::FiniteDifferenceFunction< TInputImage >::RadiusType
typename ConstNeighborhoodIterator< TInputImage >::RadiusType RadiusType
Definition: itkFiniteDifferenceFunction.h:97
ConstPointer
SmartPointer< const Self > ConstPointer
Definition: itkAddImageFilter.h:94
itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::FeatureSpacingType
typename FeatureImageType::SpacingType FeatureSpacingType
Definition: itkRegionBasedLevelSetFunction.h:138
itk::RegionBasedLevelSetFunction::LaplacianSmoothingSpeed
virtual ScalarValueType LaplacianSmoothingSpeed(const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *=0) const
Laplacian smoothing speed can be used to spatially modify the effects of laplacian smoothing of the l...
Definition: itkRegionBasedLevelSetFunction.h:362
itk::RegionBasedLevelSetFunction::GetReinitializationSmoothingWeight
ScalarValueType GetReinitializationSmoothingWeight() const
Definition: itkRegionBasedLevelSetFunction.h:311
itk::RegionBasedLevelSetFunction::GlobalDataStruct::m_dxy
vnl_matrix_fixed< ScalarValueType, Self::ImageDimension, Self::ImageDimension > m_dxy
Definition: itkRegionBasedLevelSetFunction.h:108
itk::RegionBasedLevelSetFunction::CurvatureSpeed
virtual ScalarValueType CurvatureSpeed(const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *=0) const
Curvature speed can be used to spatially modify the effects of curvature . The default implementation...
Definition: itkRegionBasedLevelSetFunction.h:370
itk::Neighborhood::Size
NeighborIndexType Size() const
Definition: itkNeighborhood.h:191
itk::Neighborhood::GetStride
OffsetValueType GetStride(DimensionValueType axis) const
Definition: itkNeighborhood.h:161
itk::RegionBasedLevelSetFunction::SetSharedData
void SetSharedData(SharedDataPointer sharedDataIn)
Definition: itkRegionBasedLevelSetFunction.h:174
itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::InputSizeValueType
typename InputImageType::SizeValueType InputSizeValueType
Definition: itkRegionBasedLevelSetFunction.h:130
itk::RegionBasedLevelSetFunction::Initialize
virtual void Initialize(const RadiusType &r)
Definition: itkRegionBasedLevelSetFunction.h:154
itk::RegionBasedLevelSetFunction::SetFunctionId
void SetFunctionId(const unsigned int iFid)
Definition: itkRegionBasedLevelSetFunction.h:345
itk::RegionBasedLevelSetFunction::SetVolumeMatchingWeight
void SetVolumeMatchingWeight(const ScalarValueType &tau)
Definition: itkRegionBasedLevelSetFunction.h:319
itk::GTest::TypedefsAndConstructors::Dimension2::VectorType
ImageBaseType::SpacingType VectorType
Definition: itkGTestTypedefsAndConstructors.h:53
itk::GTest::TypedefsAndConstructors::Dimension2::PointType
ImageBaseType::PointType PointType
Definition: itkGTestTypedefsAndConstructors.h:51
itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::InputPointType
typename InputImageType::PointType InputPointType
Definition: itkRegionBasedLevelSetFunction.h:132
itk::RegionBasedLevelSetFunction::GetGlobalDataPointer
void * GetGlobalDataPointer() const override
Definition: itkRegionBasedLevelSetFunction.h:184
itk::RegionBasedLevelSetFunction::GlobalDataStruct::m_GradMag
ScalarValueType m_GradMag
Definition: itkRegionBasedLevelSetFunction.h:116
itk::RegionBasedLevelSetFunction::SetFeatureImage
virtual void SetFeatureImage(const FeatureImageType *f)
Definition: itkRegionBasedLevelSetFunction.h:210
itk::Vector
A templated class holding a n-Dimensional vector.
Definition: itkVector.h:62
itk::RegionBasedLevelSetFunction::GetFeatureImage
virtual const FeatureImageType * GetFeatureImage() const
Definition: itkRegionBasedLevelSetFunction.h:205
itk::RegionBasedLevelSetFunction::GetLambda2
ScalarValueType GetLambda2() const
Definition: itkRegionBasedLevelSetFunction.h:261
itk::RegionBasedLevelSetFunction::SetLambda1
void SetLambda1(const ScalarValueType &lambda1)
Definition: itkRegionBasedLevelSetFunction.h:243
itk::GTest::TypedefsAndConstructors::Dimension2::SizeType
ImageBaseType::SizeType SizeType
Definition: itkGTestTypedefsAndConstructors.h:49
itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::InputSizeType
typename InputImageType::SizeType InputSizeType
Definition: itkRegionBasedLevelSetFunction.h:129
itk::RegionBasedLevelSetFunction::GlobalDataStruct::m_MaxCurvatureChange
ScalarValueType m_MaxCurvatureChange
Definition: itkRegionBasedLevelSetFunction.h:118
itk::RegionBasedLevelSetFunction::SetLambda2
void SetLambda2(const ScalarValueType &lambda2)
Definition: itkRegionBasedLevelSetFunction.h:256
itk::RegionBasedLevelSetFunction::ReleaseGlobalDataPointer
void ReleaseGlobalDataPointer(void *GlobalData) const override
Definition: itkRegionBasedLevelSetFunction.h:351
itk::SmartPointer< Self >
itk::RegionBasedLevelSetFunction::GetCurvatureWeight
ScalarValueType GetCurvatureWeight() const
Definition: itkRegionBasedLevelSetFunction.h:287
itk::RegionBasedLevelSetFunction::SetDomainFunction
void SetDomainFunction(const HeavisideFunctionType *f)
Definition: itkRegionBasedLevelSetFunction.h:148
itk::RegionBasedLevelSetFunction::GlobalDataStruct
Definition: itkRegionBasedLevelSetFunction.h:95
itk::RegionBasedLevelSetFunction
LevelSet function that computes a speed image based on regional integrals.
Definition: itkRegionBasedLevelSetFunction.h:64
itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::SharedDataType
TSharedData SharedDataType
Definition: itkRegionBasedLevelSetFunction.h:141
itk::RegionBasedLevelSetFunction::GetLambda1
ScalarValueType GetLambda1() const
Definition: itkRegionBasedLevelSetFunction.h:248
itk::IndexValueType
long IndexValueType
Definition: itkIntTypes.h:93
itk::RegionBasedLevelSetFunction::GlobalDataStruct::m_MaxGlobalChange
ScalarValueType m_MaxGlobalChange
Definition: itkRegionBasedLevelSetFunction.h:120
itk::RegionBasedLevelSetFunction::m_ZeroVectorConstant
static VectorType m_ZeroVectorConstant
Definition: itkRegionBasedLevelSetFunction.h:504
itk::GTest::TypedefsAndConstructors::Dimension2::IndexType
ImageBaseType::IndexType IndexType
Definition: itkGTestTypedefsAndConstructors.h:50
itkFiniteDifferenceFunction.h
itk::Neighborhood::SetRadius
void SetRadius(const SizeType &)
itk::LightObject
Light weight base class for most itk classes.
Definition: itkLightObject.h:55
itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::FeatureOffsetType
typename FeatureImageType::OffsetType FeatureOffsetType
Definition: itkRegionBasedLevelSetFunction.h:139
itk::HeavisideStepFunctionBase
Base class of the Heaviside function.
Definition: itkHeavisideStepFunctionBase.h:51
itk::RegionBasedLevelSetFunction::SetOverlapPenaltyWeight
void SetOverlapPenaltyWeight(const ScalarValueType &gamma)
Definition: itkRegionBasedLevelSetFunction.h:269
itk::NumericTraits::OneValue
static T OneValue()
Definition: itkNumericTraits.h:157
itk::GTest::TypedefsAndConstructors::Dimension2::RegionType
ImageBaseType::RegionType RegionType
Definition: itkGTestTypedefsAndConstructors.h:54
itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::FeaturePixelType
typename FeatureImageType::PixelType FeaturePixelType
Definition: itkRegionBasedLevelSetFunction.h:136
itk::RegionBasedLevelSetFunction::GlobalDataStruct::m_MaxAdvectionChange
ScalarValueType m_MaxAdvectionChange
Definition: itkRegionBasedLevelSetFunction.h:119
itk::RegionBasedLevelSetFunction::GetOverlapPenaltyWeight
ScalarValueType GetOverlapPenaltyWeight() const
Definition: itkRegionBasedLevelSetFunction.h:274
itk::RegionBasedLevelSetFunction::GetAreaWeight
ScalarValueType GetAreaWeight() const
Definition: itkRegionBasedLevelSetFunction.h:235
itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::InputPixelType
typename InputImageType::PixelType InputPixelType
Definition: itkRegionBasedLevelSetFunction.h:126
itk::RegionBasedLevelSetFunction::SetAreaWeight
void SetAreaWeight(const ScalarValueType &nu)
Definition: itkRegionBasedLevelSetFunction.h:230
itk::RegionBasedLevelSetFunction::GlobalDataStruct::m_GradMagSqr
ScalarValueType m_GradMagSqr
Definition: itkRegionBasedLevelSetFunction.h:115
itk::OffsetValueType
long OffsetValueType
Definition: itkIntTypes.h:97
itk::FixedArray
Simulate a standard C array with copy semantics.
Definition: itkFixedArray.h:53
itk::RegionBasedLevelSetFunction::SetInitialImage
void SetInitialImage(InputImageType *f)
Definition: itkRegionBasedLevelSetFunction.h:199
itk::RegionBasedLevelSetFunction::SetCurvatureWeight
virtual void SetCurvatureWeight(const ScalarValueType c)
Definition: itkRegionBasedLevelSetFunction.h:282
itk::RegionBasedLevelSetFunction::GlobalDataStruct::GlobalDataStruct
GlobalDataStruct()
Definition: itkRegionBasedLevelSetFunction.h:97
itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::HeavisideFunctionConstPointer
typename HeavisideFunctionType::ConstPointer HeavisideFunctionConstPointer
Definition: itkRegionBasedLevelSetFunction.h:145
itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::FeatureImageConstPointer
typename FeatureImageType::ConstPointer FeatureImageConstPointer
Definition: itkRegionBasedLevelSetFunction.h:135
itk::RegionBasedLevelSetFunction::m_WaveDT
static double m_WaveDT
Definition: itkRegionBasedLevelSetFunction.h:430
itk::RegionBasedLevelSetFunction::GetVolume
ScalarValueType GetVolume() const
Definition: itkRegionBasedLevelSetFunction.h:337
itk
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Definition: itkAnnulusOperator.h:24
itk::ConstNeighborhoodIterator
Const version of NeighborhoodIterator, defining iteration of a local N-dimensional neighborhood of pi...
Definition: itkConstNeighborhoodIterator.h:51
itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::InputImageConstPointer
typename InputImageType::ConstPointer InputImageConstPointer
Definition: itkRegionBasedLevelSetFunction.h:124
itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::FeatureIndexType
typename FeatureImageType::IndexType FeatureIndexType
Definition: itkRegionBasedLevelSetFunction.h:137
itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::InputIndexValueType
typename InputImageType::IndexValueType InputIndexValueType
Definition: itkRegionBasedLevelSetFunction.h:128
itk::RegionBasedLevelSetFunction::SetAdvectionWeight
void SetAdvectionWeight(const ScalarValueType &iA)
Definition: itkRegionBasedLevelSetFunction.h:294
itk::RegionBasedLevelSetFunction::SetVolume
void SetVolume(const ScalarValueType &volume)
Definition: itkRegionBasedLevelSetFunction.h:332
itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::FeatureImageType
TFeatureImage FeatureImageType
Definition: itkRegionBasedLevelSetFunction.h:134
itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::InputImageType
TInputImage InputImageType
Definition: itkRegionBasedLevelSetFunction.h:123
itk::FiniteDifferenceFunction
Definition: itkFiniteDifferenceFunction.h:66
itk::RegionBasedLevelSetFunction::SetReinitializationSmoothingWeight
void SetReinitializationSmoothingWeight(const ScalarValueType c)
Definition: itkRegionBasedLevelSetFunction.h:306
itk::RegionBasedLevelSetFunction::AdvectionField
virtual VectorType AdvectionField(const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *=0) const
Definition: itkRegionBasedLevelSetFunction.h:223
itk::RegionBasedLevelSetFunction::GetAdvectionWeight
ScalarValueType GetAdvectionWeight() const
Definition: itkRegionBasedLevelSetFunction.h:299
itk::RegionBasedLevelSetFunction::GetVolumeMatchingWeight
ScalarValueType GetVolumeMatchingWeight() const
Definition: itkRegionBasedLevelSetFunction.h:324
itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::ScalarValueType
PixelType ScalarValueType
Definition: itkRegionBasedLevelSetFunction.h:86
itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::SharedDataPointer
typename SharedDataType::Pointer SharedDataPointer
Definition: itkRegionBasedLevelSetFunction.h:142
itk::SizeValueType
unsigned long SizeValueType
Definition: itkIntTypes.h:86
itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::InputImagePointer
typename InputImageType::Pointer InputImagePointer
Definition: itkRegionBasedLevelSetFunction.h:125
itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::InputRegionType
typename InputImageType::RegionType InputRegionType
Definition: itkRegionBasedLevelSetFunction.h:131
itk::FiniteDifferenceFunction< TInputImage >::TimeStepType
double TimeStepType
Definition: itkFiniteDifferenceFunction.h:90