ITK  5.2.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  * 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 itkRegionBasedLevelSetFunction_h
19 #define itkRegionBasedLevelSetFunction_h
20 
23 #include "vnl/vnl_matrix_fixed.h"
24 
25 namespace itk
26 {
64 template <typename TInput, // LevelSetImageType
65  typename TFeature, // FeatureImageType
66  typename TSharedData>
67 class ITK_TEMPLATE_EXPORT RegionBasedLevelSetFunction : public FiniteDifferenceFunction<TInput>
68 {
69 public:
70  ITK_DISALLOW_COPY_AND_ASSIGN(RegionBasedLevelSetFunction);
71 
77 
78  static constexpr unsigned int ImageDimension = Superclass::ImageDimension;
79 
80  // itkNewMacro() is not provided since this is an abstract class.
81 
84 
86  using TimeStepType = double;
87  using ImageType = typename Superclass::ImageType;
88  using PixelType = typename Superclass::PixelType;
90  using RadiusType = typename Superclass::RadiusType;
91  using NeighborhoodType = typename Superclass::NeighborhoodType;
92  using NeighborhoodScalesType = typename Superclass::NeighborhoodScalesType;
93  using FloatOffsetType = typename Superclass::FloatOffsetType;
95 
96  /* This structure is derived from LevelSetFunction and stores intermediate
97  values for computing time step sizes */
99  {
101  {
103 
104  m_MaxCurvatureChange = null_value;
105  m_MaxAdvectionChange = null_value;
106  m_MaxGlobalChange = null_value;
107  }
108 
109  ~GlobalDataStruct() = default;
110 
111  vnl_matrix_fixed<ScalarValueType, Self::ImageDimension, Self::ImageDimension> m_dxy;
112 
113  ScalarValueType m_dx[Self::ImageDimension];
114 
115  ScalarValueType m_dx_forward[Self::ImageDimension];
116  ScalarValueType m_dx_backward[Self::ImageDimension];
117 
120 
124  };
125 
126  using InputImageType = TInput;
127  using InputImageConstPointer = typename InputImageType::ConstPointer;
128  using InputImagePointer = typename InputImageType::Pointer;
129  using InputPixelType = typename InputImageType::PixelType;
136 
137  using FeatureImageType = TFeature;
138  using FeatureImageConstPointer = typename FeatureImageType::ConstPointer;
139  using FeaturePixelType = typename FeatureImageType::PixelType;
141  using FeatureSpacingType = typename FeatureImageType::SpacingType;
142  using FeatureOffsetType = typename FeatureImageType::OffsetType;
143 
144  using SharedDataType = TSharedData;
145  using SharedDataPointer = typename SharedDataType::Pointer;
146 
149 
150  void
152  {
153  this->m_DomainFunction = f;
154  }
155 
156  virtual void
158  {
159  this->SetRadius(r);
160 
161  // Dummy neighborhood.
162  NeighborhoodType it;
163  it.SetRadius(r);
164 
165  // Find the center index of the neighborhood.
166  m_Center = it.Size() / 2;
167 
168  // Get the stride length for each axis.
169  for (unsigned int i = 0; i < ImageDimension; i++)
170  {
171  m_xStride[i] = it.GetStride(i);
172  }
173  }
174 
175 #if !defined(ITK_WRAPPING_PARSER)
176  void
178  {
179  this->m_SharedData = sharedDataIn;
180  }
181 #endif
182 
183  void
184  UpdateSharedData(bool forceUpdate);
185 
186  void *
187  GetGlobalDataPointer() const override
188  {
189  return new GlobalDataStruct;
190  }
191 
192  TimeStepType
193  ComputeGlobalTimeStep(void * GlobalData) const override;
194 
196  PixelType
197  ComputeUpdate(const NeighborhoodType & neighborhood,
198  void * globalData,
199  const FloatOffsetType & = FloatOffsetType(0.0)) override;
200 
201  void
203  {
204  m_InitialImage = f;
205  }
206 
207  virtual const FeatureImageType *
209  {
210  return m_FeatureImage.GetPointer();
211  }
212  virtual void
214  {
215  m_FeatureImage = f;
216 
217  FeatureSpacingType spacing = m_FeatureImage->GetSpacing();
218  for (unsigned int i = 0; i < ImageDimension; i++)
219  {
220  this->m_InvSpacing[i] = 1 / spacing[i];
221  }
222  }
223 
225  virtual VectorType
226  AdvectionField(const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct * = 0) const
227  {
228  return this->m_ZeroVectorConstant;
229  }
230 
232  void
234  {
235  this->m_AreaWeight = nu;
236  }
237  ScalarValueType
239  {
240  return this->m_AreaWeight;
241  }
243 
245  void
246  SetLambda1(const ScalarValueType & lambda1)
247  {
248  this->m_Lambda1 = lambda1;
249  }
250  ScalarValueType
251  GetLambda1() const
252  {
253  return this->m_Lambda1;
254  }
256 
258  void
259  SetLambda2(const ScalarValueType & lambda2)
260  {
261  this->m_Lambda2 = lambda2;
262  }
263  ScalarValueType
264  GetLambda2() const
265  {
266  return this->m_Lambda2;
267  }
269 
271  void
273  {
274  this->m_OverlapPenaltyWeight = gamma;
275  }
276  ScalarValueType
278  {
279  return this->m_OverlapPenaltyWeight;
280  }
282 
284  virtual void
286  {
287  m_CurvatureWeight = c;
288  }
289  ScalarValueType
291  {
292  return m_CurvatureWeight;
293  }
295 
296  void
298  {
299  this->m_AdvectionWeight = iA;
300  }
301  ScalarValueType
303  {
304  return this->m_AdvectionWeight;
305  }
306 
308  void
310  {
311  m_ReinitializationSmoothingWeight = c;
312  }
313  ScalarValueType
315  {
316  return m_ReinitializationSmoothingWeight;
317  }
319 
321  void
323  {
324  this->m_VolumeMatchingWeight = tau;
325  }
326  ScalarValueType
328  {
329  return this->m_VolumeMatchingWeight;
330  }
332 
334  void
335  SetVolume(const ScalarValueType & volume)
336  {
337  this->m_Volume = volume;
338  }
339  ScalarValueType
340  GetVolume() const
341  {
342  return this->m_Volume;
343  }
345 
347  void
348  SetFunctionId(const unsigned int & iFid)
349  {
350  this->m_FunctionId = iFid;
351  }
352 
353  void
354  ReleaseGlobalDataPointer(void * GlobalData) const override
355  {
356  delete (GlobalDataStruct *)GlobalData;
357  }
358 
359  virtual ScalarValueType
360  ComputeCurvature(const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct * gd);
361 
364  virtual ScalarValueType
365  LaplacianSmoothingSpeed(const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct * = 0) const
366  {
368  }
369 
372  virtual ScalarValueType
373  CurvatureSpeed(const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct * = 0) const
374  {
376  }
377 
382  virtual void
384  {}
385 
386 protected:
388  ~RegionBasedLevelSetFunction() override = default;
389 
392 
395 
397 
399 
402 
405 
408 
411 
414 
417 
420 
422 
425 
426  unsigned int m_FunctionId;
427 
428  std::slice x_slice[Self::ImageDimension];
430  OffsetValueType m_xStride[Self::ImageDimension];
431  double m_InvSpacing[Self::ImageDimension];
432 
433  static double m_WaveDT;
434  static double m_DT;
435 
436  void
437  ComputeHImage();
438 
442  ComputeGlobalTerm(const ScalarValueType & imagePixel, const InputIndexType & inputIndex);
443 
448  virtual ScalarValueType
449  ComputeInternalTerm(const FeaturePixelType & iValue, const FeatureIndexType & iIdx) = 0;
450 
454  virtual ScalarValueType
455  ComputeExternalTerm(const FeaturePixelType & iValue, const FeatureIndexType & iIdx) = 0;
456 
461  virtual ScalarValueType
462  ComputeOverlapParameters(const FeatureIndexType & featIndex, ScalarValueType & pr) = 0;
463 
469  ComputeVolumeRegularizationTerm();
470 
484  ComputeLaplacian(GlobalDataStruct * gd);
485 
487  void
488  ComputeHessian(const NeighborhoodType & it, GlobalDataStruct * globalData);
489 
491  virtual void
492  ComputeParameters() = 0;
493 
496  virtual void
497  UpdateSharedDataParameters() = 0;
498 
499  bool m_UpdateC;
500 
503  static VectorType
504  InitializeZeroVectorConstant();
505 
508 };
509 } // end namespace itk
510 
511 #ifndef ITK_MANUAL_INSTANTIATION
512 # include "itkRegionBasedLevelSetFunction.hxx"
513 #endif
514 
515 #endif
itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::InputIndexType
typename InputImageType::IndexType InputIndexType
Definition: itkRegionBasedLevelSetFunction.h:130
itkRegularizedHeavisideStepFunction.h
itk::RegionBasedLevelSetFunction::m_CurvatureWeight
ScalarValueType m_CurvatureWeight
Definition: itkRegionBasedLevelSetFunction.h:419
itk::RegionBasedLevelSetFunction::CalculateAdvectionImage
virtual void CalculateAdvectionImage()
Definition: itkRegionBasedLevelSetFunction.h:383
itk::RegionBasedLevelSetFunction::m_DT
static double m_DT
Definition: itkRegionBasedLevelSetFunction.h:434
itk::FiniteDifferenceFunction< TInputImage >::RadiusType
typename ConstNeighborhoodIterator< TInputImage >::RadiusType RadiusType
Definition: itkFiniteDifferenceFunction.h:97
itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::FeatureSpacingType
typename FeatureImageType::SpacingType FeatureSpacingType
Definition: itkRegionBasedLevelSetFunction.h:141
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:365
itk::RegionBasedLevelSetFunction::m_Lambda1
ScalarValueType m_Lambda1
Definition: itkRegionBasedLevelSetFunction.h:404
itk::RegionBasedLevelSetFunction::GetReinitializationSmoothingWeight
ScalarValueType GetReinitializationSmoothingWeight() const
Definition: itkRegionBasedLevelSetFunction.h:314
itk::RegionBasedLevelSetFunction::GlobalDataStruct::m_dxy
vnl_matrix_fixed< ScalarValueType, Self::ImageDimension, Self::ImageDimension > m_dxy
Definition: itkRegionBasedLevelSetFunction.h:111
itk::RegionBasedLevelSetFunction::m_AdvectionWeight
ScalarValueType m_AdvectionWeight
Definition: itkRegionBasedLevelSetFunction.h:421
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:373
itk::Neighborhood::Size
NeighborIndexType Size() const
Definition: itkNeighborhood.h:205
itk::Neighborhood::GetStride
OffsetValueType GetStride(DimensionValueType axis) const
Definition: itkNeighborhood.h:175
itk::RegionBasedLevelSetFunction::m_UpdateC
bool m_UpdateC
Definition: itkRegionBasedLevelSetFunction.h:499
itk::RegionBasedLevelSetFunction::SetSharedData
void SetSharedData(SharedDataPointer sharedDataIn)
Definition: itkRegionBasedLevelSetFunction.h:177
itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::InputSizeValueType
typename InputImageType::SizeValueType InputSizeValueType
Definition: itkRegionBasedLevelSetFunction.h:133
itk::RegionBasedLevelSetFunction::Initialize
virtual void Initialize(const RadiusType &r)
Definition: itkRegionBasedLevelSetFunction.h:157
itk::RegionBasedLevelSetFunction::m_AreaWeight
ScalarValueType m_AreaWeight
Definition: itkRegionBasedLevelSetFunction.h:401
itk::RegionBasedLevelSetFunction::SetVolumeMatchingWeight
void SetVolumeMatchingWeight(const ScalarValueType &tau)
Definition: itkRegionBasedLevelSetFunction.h:322
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:135
itk::RegionBasedLevelSetFunction::GetGlobalDataPointer
void * GetGlobalDataPointer() const override
Definition: itkRegionBasedLevelSetFunction.h:187
itk::RegionBasedLevelSetFunction::GlobalDataStruct::m_GradMag
ScalarValueType m_GradMag
Definition: itkRegionBasedLevelSetFunction.h:119
itk::RegionBasedLevelSetFunction::SetFeatureImage
virtual void SetFeatureImage(const FeatureImageType *f)
Definition: itkRegionBasedLevelSetFunction.h:213
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:208
itk::RegionBasedLevelSetFunction::GetLambda2
ScalarValueType GetLambda2() const
Definition: itkRegionBasedLevelSetFunction.h:264
itk::RegionBasedLevelSetFunction::SetLambda1
void SetLambda1(const ScalarValueType &lambda1)
Definition: itkRegionBasedLevelSetFunction.h:246
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:132
itk::RegionBasedLevelSetFunction::GlobalDataStruct::m_MaxCurvatureChange
ScalarValueType m_MaxCurvatureChange
Definition: itkRegionBasedLevelSetFunction.h:121
itk::RegionBasedLevelSetFunction::SetLambda2
void SetLambda2(const ScalarValueType &lambda2)
Definition: itkRegionBasedLevelSetFunction.h:259
itk::RegionBasedLevelSetFunction::ReleaseGlobalDataPointer
void ReleaseGlobalDataPointer(void *GlobalData) const override
Definition: itkRegionBasedLevelSetFunction.h:354
itk::SmartPointer< Self >
itk::RegionBasedLevelSetFunction::m_InitialImage
InputImageConstPointer m_InitialImage
Definition: itkRegionBasedLevelSetFunction.h:391
itk::RegionBasedLevelSetFunction::GetCurvatureWeight
ScalarValueType GetCurvatureWeight() const
Definition: itkRegionBasedLevelSetFunction.h:290
itk::RegionBasedLevelSetFunction::SetDomainFunction
void SetDomainFunction(const HeavisideFunctionType *f)
Definition: itkRegionBasedLevelSetFunction.h:151
itk::RegionBasedLevelSetFunction::GlobalDataStruct
Definition: itkRegionBasedLevelSetFunction.h:98
itk::RegionBasedLevelSetFunction
LevelSet function that computes a speed image based on regional integrals.
Definition: itkRegionBasedLevelSetFunction.h:67
itk::FiniteDifferenceFunction< TInputImage >::ImageType
TInputImage ImageType
Definition: itkFiniteDifferenceFunction.h:82
itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::SharedDataType
TSharedData SharedDataType
Definition: itkRegionBasedLevelSetFunction.h:144
itk::RegionBasedLevelSetFunction::GetLambda1
ScalarValueType GetLambda1() const
Definition: itkRegionBasedLevelSetFunction.h:251
itk::RegionBasedLevelSetFunction::GlobalDataStruct::m_MaxGlobalChange
ScalarValueType m_MaxGlobalChange
Definition: itkRegionBasedLevelSetFunction.h:123
itk::RegionBasedLevelSetFunction::SetFunctionId
void SetFunctionId(const unsigned int &iFid)
Definition: itkRegionBasedLevelSetFunction.h:348
itk::RegionBasedLevelSetFunction::m_ZeroVectorConstant
static VectorType m_ZeroVectorConstant
Definition: itkRegionBasedLevelSetFunction.h:507
itk::GTest::TypedefsAndConstructors::Dimension2::IndexType
ImageBaseType::IndexType IndexType
Definition: itkGTestTypedefsAndConstructors.h:50
itkFiniteDifferenceFunction.h
itk::Neighborhood::SetRadius
void SetRadius(const SizeType &)
itk::RegionBasedLevelSetFunction::m_ReinitializationSmoothingWeight
ScalarValueType m_ReinitializationSmoothingWeight
Definition: itkRegionBasedLevelSetFunction.h:424
itk::LightObject
Light weight base class for most itk classes.
Definition: itkLightObject.h:59
itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::FeatureOffsetType
typename FeatureImageType::OffsetType FeatureOffsetType
Definition: itkRegionBasedLevelSetFunction.h:142
itk::HeavisideStepFunctionBase
Base class of the Heaviside function.
Definition: itkHeavisideStepFunctionBase.h:54
itk::RegionBasedLevelSetFunction::SetOverlapPenaltyWeight
void SetOverlapPenaltyWeight(const ScalarValueType &gamma)
Definition: itkRegionBasedLevelSetFunction.h:272
itk::NumericTraits::OneValue
static T OneValue()
Definition: itkNumericTraits.h:156
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:139
itk::RegionBasedLevelSetFunction::GlobalDataStruct::m_MaxAdvectionChange
ScalarValueType m_MaxAdvectionChange
Definition: itkRegionBasedLevelSetFunction.h:122
itk::RegionBasedLevelSetFunction::GetOverlapPenaltyWeight
ScalarValueType GetOverlapPenaltyWeight() const
Definition: itkRegionBasedLevelSetFunction.h:277
itk::RegionBasedLevelSetFunction::GetAreaWeight
ScalarValueType GetAreaWeight() const
Definition: itkRegionBasedLevelSetFunction.h:238
itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::InputPixelType
typename InputImageType::PixelType InputPixelType
Definition: itkRegionBasedLevelSetFunction.h:129
itk::RegionBasedLevelSetFunction::SetAreaWeight
void SetAreaWeight(const ScalarValueType &nu)
Definition: itkRegionBasedLevelSetFunction.h:233
itk::RegionBasedLevelSetFunction::GlobalDataStruct::m_GradMagSqr
ScalarValueType m_GradMagSqr
Definition: itkRegionBasedLevelSetFunction.h:118
itk::RegionBasedLevelSetFunction::m_OverlapPenaltyWeight
ScalarValueType m_OverlapPenaltyWeight
Definition: itkRegionBasedLevelSetFunction.h:410
itk::FiniteDifferenceFunction< TInputImage >::PixelType
typename ImageType::PixelType PixelType
Definition: itkFiniteDifferenceFunction.h:83
itk::RegionBasedLevelSetFunction::m_Center
OffsetValueType m_Center
Definition: itkRegionBasedLevelSetFunction.h:429
itk::FixedArray
Simulate a standard C array with copy semantics.
Definition: itkFixedArray.h:52
itk::RegionBasedLevelSetFunction::m_FeatureImage
FeatureImageConstPointer m_FeatureImage
Definition: itkRegionBasedLevelSetFunction.h:394
itk::RegionBasedLevelSetFunction::SetInitialImage
void SetInitialImage(InputImageType *f)
Definition: itkRegionBasedLevelSetFunction.h:202
itk::RegionBasedLevelSetFunction::SetCurvatureWeight
virtual void SetCurvatureWeight(const ScalarValueType c)
Definition: itkRegionBasedLevelSetFunction.h:285
itk::RegionBasedLevelSetFunction::GlobalDataStruct::GlobalDataStruct
GlobalDataStruct()
Definition: itkRegionBasedLevelSetFunction.h:100
itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::HeavisideFunctionConstPointer
typename HeavisideFunctionType::ConstPointer HeavisideFunctionConstPointer
Definition: itkRegionBasedLevelSetFunction.h:148
itk::RegionBasedLevelSetFunction::m_SharedData
SharedDataPointer m_SharedData
Definition: itkRegionBasedLevelSetFunction.h:396
itk::NumericTraits::ZeroValue
static T ZeroValue()
Definition: itkNumericTraits.h:148
itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::FeatureImageConstPointer
typename FeatureImageType::ConstPointer FeatureImageConstPointer
Definition: itkRegionBasedLevelSetFunction.h:138
itk::RegionBasedLevelSetFunction::m_WaveDT
static double m_WaveDT
Definition: itkRegionBasedLevelSetFunction.h:433
itk::RegionBasedLevelSetFunction::GetVolume
ScalarValueType GetVolume() const
Definition: itkRegionBasedLevelSetFunction.h:340
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:50
itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::InputImageConstPointer
typename InputImageType::ConstPointer InputImageConstPointer
Definition: itkRegionBasedLevelSetFunction.h:127
itk::OffsetValueType
signed long OffsetValueType
Definition: itkIntTypes.h:94
itk::RegionBasedLevelSetFunction::m_Lambda2
ScalarValueType m_Lambda2
Definition: itkRegionBasedLevelSetFunction.h:407
itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::FeatureIndexType
typename FeatureImageType::IndexType FeatureIndexType
Definition: itkRegionBasedLevelSetFunction.h:140
itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::InputIndexValueType
typename InputImageType::IndexValueType InputIndexValueType
Definition: itkRegionBasedLevelSetFunction.h:131
itk::IndexValueType
signed long IndexValueType
Definition: itkIntTypes.h:90
itk::RegionBasedLevelSetFunction::SetAdvectionWeight
void SetAdvectionWeight(const ScalarValueType &iA)
Definition: itkRegionBasedLevelSetFunction.h:297
itk::RegionBasedLevelSetFunction::SetVolume
void SetVolume(const ScalarValueType &volume)
Definition: itkRegionBasedLevelSetFunction.h:335
itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::FeatureImageType
TFeatureImage FeatureImageType
Definition: itkRegionBasedLevelSetFunction.h:137
itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::InputImageType
TInputImage InputImageType
Definition: itkRegionBasedLevelSetFunction.h:126
itk::RegionBasedLevelSetFunction::m_Volume
ScalarValueType m_Volume
Definition: itkRegionBasedLevelSetFunction.h:416
itk::FiniteDifferenceFunction
Definition: itkFiniteDifferenceFunction.h:66
itk::RegionBasedLevelSetFunction::SetReinitializationSmoothingWeight
void SetReinitializationSmoothingWeight(const ScalarValueType c)
Definition: itkRegionBasedLevelSetFunction.h:309
itk::RegionBasedLevelSetFunction::m_VolumeMatchingWeight
ScalarValueType m_VolumeMatchingWeight
Definition: itkRegionBasedLevelSetFunction.h:413
itk::RegionBasedLevelSetFunction::AdvectionField
virtual VectorType AdvectionField(const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *=0) const
Definition: itkRegionBasedLevelSetFunction.h:226
itk::RegionBasedLevelSetFunction::GetAdvectionWeight
ScalarValueType GetAdvectionWeight() const
Definition: itkRegionBasedLevelSetFunction.h:302
itk::RegionBasedLevelSetFunction::GetVolumeMatchingWeight
ScalarValueType GetVolumeMatchingWeight() const
Definition: itkRegionBasedLevelSetFunction.h:327
itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::ScalarValueType
PixelType ScalarValueType
Definition: itkRegionBasedLevelSetFunction.h:89
itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::SharedDataPointer
typename SharedDataType::Pointer SharedDataPointer
Definition: itkRegionBasedLevelSetFunction.h:145
itk::SizeValueType
unsigned long SizeValueType
Definition: itkIntTypes.h:83
itk::RegionBasedLevelSetFunction::m_DomainFunction
HeavisideFunctionConstPointer m_DomainFunction
Definition: itkRegionBasedLevelSetFunction.h:398
itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::InputImagePointer
typename InputImageType::Pointer InputImagePointer
Definition: itkRegionBasedLevelSetFunction.h:128
itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::InputRegionType
typename InputImageType::RegionType InputRegionType
Definition: itkRegionBasedLevelSetFunction.h:134
itk::FiniteDifferenceFunction< TInputImage >::TimeStepType
double TimeStepType
Definition: itkFiniteDifferenceFunction.h:90
itk::RegionBasedLevelSetFunction::m_FunctionId
unsigned int m_FunctionId
Definition: itkRegionBasedLevelSetFunction.h:426