18#ifndef sitkFastSymmetricForcesDemonsRegistrationFilter_h
19#define sitkFastSymmetricForcesDemonsRegistrationFilter_h
313 std::string
GetName()
const {
return std::string(
"FastSymmetricForcesDemonsRegistrationFilter"); }
327 fixedImage,
const Image *
328 movingImage,
const Image *
329 initialDisplacementField);
331 fixedImage,
const Image *
332 movingImage,
const Image *
333 initialDisplacementField);
373 std::unique_ptr<itk::ProcessObject, ProcessObjectDeleter>
m_Filter{
nullptr};
bool GetUseImageSpacing() const
FastSymmetricForcesDemonsRegistrationFilter()
uint32_t m_NumberOfIterations
void SmoothDisplacementFieldOn()
std::function< uint32_t()> m_pfGetElapsedIterations
Image Execute(const Image &fixedImage, const Image &movingImage)
double GetMaximumError() const
unsigned int GetMaximumKernelWidth() const
void SetStandardDeviations(std::vector< double > StandardDeviations)
void SetUseImageSpacing(bool UseImageSpacing)
std::vector< double > m_StandardDeviations
std::vector< double > GetUpdateFieldStandardDeviations() const
Image(Self::*)(const Image * fixedImage, const Image * movingImage, const Image * initialDisplacementField) MemberFunctionType
uint32_t GetNumberOfIterations() const
BasicPixelIDTypeList PixelIDTypeList
void SetMaximumUpdateStepLength(double MaximumUpdateStepLength)
Image Execute(const Image &fixedImage, const Image &movingImage, const Image &initialDisplacementField)
double GetMaximumRMSError() const
void SetIntensityDifferenceThreshold(double IntensityDifferenceThreshold)
FastSymmetricForcesDemonsRegistrationFilter Self
void SmoothDisplacementFieldOff()
void SetUpdateFieldStandardDeviations(std::vector< double > UpdateFieldStandardDeviations)
bool GetSmoothDisplacementField() const
std::vector< double > GetStandardDeviations() const
double GetRMSChange() const
void SmoothUpdateFieldOff()
void SetUseGradientType(UseGradientTypeType UseGradientType)
void SmoothUpdateFieldOn()
virtual ~FastSymmetricForcesDemonsRegistrationFilter()
void SetMaximumError(double MaximumError)
std::function< double()> m_pfGetMetric
void SetUpdateFieldStandardDeviations(double value)
Image ExecuteInternal(const Image *fixedImage, const Image *movingImage, const Image *initialDisplacementField)
uint32_t GetElapsedIterations() const
Number of iterations run.
UseGradientTypeType GetUseGradientType() const
std::unique_ptr< itk::ProcessObject, ProcessObjectDeleter > m_Filter
std::vector< double > m_UpdateFieldStandardDeviations
static const detail::MemberFunctionFactory< MemberFunctionType > & GetMemberFunctionFactory()
bool GetSmoothUpdateField() const
void SetMaximumKernelWidth(unsigned int MaximumKernelWidth)
void SetStandardDeviations(double value)
double m_MaximumUpdateStepLength
double GetIntensityDifferenceThreshold() const
void SetNumberOfIterations(uint32_t NumberOfIterations)
void StopRegistration()
Stop the registration after the current iteration.
UseGradientTypeType m_UseGradientType
void SetSmoothDisplacementField(bool SmoothDisplacementField)
std::string ToString() const
void SetMaximumRMSError(double MaximumRMSError)
std::function< void()> m_pfGetStopRegistration
double GetMaximumUpdateStepLength() const
void UseImageSpacingOff()
void SetSmoothUpdateField(bool SmoothUpdateField)
unsigned int m_MaximumKernelWidth
double m_IntensityDifferenceThreshold
bool m_SmoothDisplacementField
std::string GetName() const
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