18#ifndef sitkDemonsRegistrationFilter_h
19#define sitkDemonsRegistrationFilter_h
298 std::string
GetName()
const {
return std::string(
"DemonsRegistrationFilter"); }
312 fixedImage,
const Image *
313 movingImage,
const Image *
314 initialDisplacementField);
316 fixedImage,
const Image *
317 movingImage,
const Image *
318 initialDisplacementField);
356 std::unique_ptr<itk::ProcessObject, ProcessObjectDeleter>
m_Filter{
nullptr};
unsigned int GetMaximumKernelWidth() const
Image Execute(const Image &fixedImage, const Image &movingImage)
std::function< void()> m_pfGetStopRegistration
void SetSmoothDisplacementField(bool SmoothDisplacementField)
std::vector< double > GetUpdateFieldStandardDeviations() const
Image(Self::*)(const Image * fixedImage, const Image * movingImage, const Image * initialDisplacementField) MemberFunctionType
double GetIntensityDifferenceThreshold() const
void SetUpdateFieldStandardDeviations(std::vector< double > UpdateFieldStandardDeviations)
void SetStandardDeviations(std::vector< double > StandardDeviations)
std::function< uint32_t()> m_pfGetElapsedIterations
bool GetUseImageSpacing() const
void StopRegistration()
Stop the registration after the current iteration.
void SetMaximumError(double MaximumError)
DemonsRegistrationFilter()
bool GetUseMovingImageGradient() const
double m_IntensityDifferenceThreshold
bool m_SmoothDisplacementField
void SetUseMovingImageGradient(bool UseMovingImageGradient)
uint32_t m_NumberOfIterations
unsigned int m_MaximumKernelWidth
void SetMaximumKernelWidth(unsigned int MaximumKernelWidth)
void SetMaximumRMSError(double MaximumRMSError)
double GetRMSChange() const
The Root Mean Square of the levelset upon termination.
double GetMaximumRMSError() const
uint32_t GetElapsedIterations() const
Number of iterations run.
void SetIntensityDifferenceThreshold(double IntensityDifferenceThreshold)
bool m_UseMovingImageGradient
std::vector< double > m_StandardDeviations
void UseMovingImageGradientOff()
uint32_t GetNumberOfIterations() const
void SmoothUpdateFieldOff()
void UseImageSpacingOff()
std::vector< double > GetStandardDeviations() const
static const detail::MemberFunctionFactory< MemberFunctionType > & GetMemberFunctionFactory()
void SmoothUpdateFieldOn()
std::vector< double > m_UpdateFieldStandardDeviations
double GetMaximumError() const
void SmoothDisplacementFieldOn()
BasicPixelIDTypeList PixelIDTypeList
void SetSmoothUpdateField(bool SmoothUpdateField)
DemonsRegistrationFilter Self
std::string GetName() const
void SetNumberOfIterations(uint32_t NumberOfIterations)
virtual ~DemonsRegistrationFilter()
std::function< double()> m_pfGetMetric
std::unique_ptr< itk::ProcessObject, ProcessObjectDeleter > m_Filter
Image ExecuteInternal(const Image *fixedImage, const Image *movingImage, const Image *initialDisplacementField)
bool GetSmoothDisplacementField() const
void SetUpdateFieldStandardDeviations(double value)
void SetStandardDeviations(double value)
std::string ToString() const
void SmoothDisplacementFieldOff()
void UseMovingImageGradientOn()
bool GetSmoothUpdateField() const
void SetUseImageSpacing(bool UseImageSpacing)
Image Execute(const Image &fixedImage, const Image &movingImage, const Image &initialDisplacementField)
The Image class for SimpleITK.
A class used to instantiate and generate function object to templated member functions.
typelist2::typelist< BasicPixelID< int8_t >, BasicPixelID< uint8_t >, BasicPixelID< int16_t >, BasicPixelID< uint16_t >, BasicPixelID< int32_t >, BasicPixelID< uint32_t >, BasicPixelID< float >, BasicPixelID< double > > BasicPixelIDTypeList
#define SITKBasicFilters_EXPORT