4 #include <itkVectorImage.h> 7 #include <itkAffineTransform.h> 9 #include <rpiDisplacementFieldTransform.h> 55 template <
unsigned int ImageDimension = 3>
77 typedef typename VelocityFieldType::PixelType
VectorType;
79 typedef itk::AffineTransform<typename BaseAgregatorType::InternalScalarType,ImageDimension>
AffineTransformType;
102 void Update() ITK_OVERRIDE;
109 void SetReferenceImage(InputImageConstPointer referenceImage) {m_ReferenceImage = referenceImage;}
110 void SetFloatingImage(InputImageConstPointer FloatingImage) {m_FloatingImage = FloatingImage;}
112 InputImageType *
GetReferenceImage() {
return const_cast <InputImageType *> (m_ReferenceImage.GetPointer());}
113 InputImageType *
GetFloatingImage() {
return const_cast <InputImageType *> (m_FloatingImage.GetPointer());}
236 BaseTransformPointer m_OutputTransform;
237 InputImagePointer m_OutputImage;
239 InputImageConstPointer m_ReferenceImage, m_FloatingImage;
240 MaskImagePointer m_BlockGenerationMask;
241 PyramidPointer m_ReferencePyramid, m_FloatingPyramid;
242 MaskPyramidPointer m_BlockGenerationPyramid;
244 std::string m_outputTransformFile;
245 std::string m_resultFile;
247 unsigned int m_BlockSize;
248 unsigned int m_BlockSpacing;
249 double m_StDevThreshold;
255 bool m_FiniteStrainImageReorientation;
258 unsigned int m_MaximumIterations;
259 double m_MinimalTransformError;
260 unsigned int m_OptimizerMaximumIterations;
261 double m_SearchRadius;
262 double m_SearchAngleRadius;
263 double m_SearchScaleRadius;
264 double m_FinalRadius;
266 double m_TranslateUpperBound;
267 double m_AngleUpperBound;
268 double m_ScaleUpperBound;
270 double m_ExtrapolationSigma;
271 double m_ElasticSigma;
272 double m_OutlierSigma;
273 double m_MEstimateConvergenceThreshold;
274 double m_NeighborhoodApproximation;
275 unsigned int m_BCHCompositionOrder;
276 unsigned int m_ExponentiationOrder;
278 unsigned int m_NumberOfPyramidLevels;
279 unsigned int m_LastPyramidLevel;
280 double m_PercentageKept;
282 BaseBlockMatchRegistrationPointer m_bmreg;
void SetResultFile(std::string resultFile)
BaseBlockMatchRegistrationType::Pointer BaseBlockMatchRegistrationPointer
void SetMEstimateConvergenceThreshold(double mEstimateConvergenceThreshold)
void SetOptimizer(Optimizer optimizer)
itk::VectorImage< double, ImageDimension > InputImageType
PyramidalDenseTensorSVFMatchingBridge()
void SetBCHCompositionOrder(unsigned int order)
void SetNumberOfPyramidLevels(unsigned int NumberOfPyramidLevels)
void SetMaximumIterations(unsigned int MaximumIterations)
double GetPercentageKept()
double GetNeighborhoodApproximation()
itk::Image< unsigned char, ImageDimension > MaskImageType
double GetExtrapolationSigma()
itk::SmartPointer< Self > Pointer
unsigned int GetBlockSpacing()
virtual ~PyramidalDenseTensorSVFMatchingBridge()
InputImageType::InternalPixelType InputInternalPixelType
BaseTransformType::Pointer BaseTransformPointer
void SetMetricOrientation(MetricOrientationType metricOr)
BaseTransformPointer GetOutputTransform()
void SetOptimizerMaximumIterations(unsigned int OptimizerMaximumIterations)
Computes a pyramid of images using the provided resampler to perform resampling.
void SetMetric(Metric metric)
unsigned int GetBCHCompositionOrder()
DisplacementFieldTransformType::Pointer DisplacementFieldTransformPointer
PyramidalDenseTensorSVFMatchingBridge Self
void SetLastPyramidLevel(unsigned int LastPyramidLevel)
void SetOutputTransformFile(std::string outputTransformFile)
InputImageType * GetFloatingImage()
void SetMinimalTransformError(double MinimalTransformError)
MaskPyramidType::Pointer MaskPyramidPointer
unsigned int GetBlockSize()
void SetSearchScaleRadius(double SearchScaleRadius)
SymmetryType GetSymmetryType()
unsigned int GetOptimizerMaximumIterations()
itk::AffineTransform< typename BaseAgregatorType::InternalScalarType, ImageDimension > AffineTransformType
void SetElasticSigma(double elasticSigma)
double GetMEstimateConvergenceThreshold()
itk::ProcessObject Superclass
itk::SmartPointer< const Self > ConstPointer
void SetPercentageKept(double PercentageKept)
void SetSearchAngleRadius(double SearchAngleRadius)
void SetBlockGenerationMask(MaskImageType *mask)
void SetSymmetryType(SymmetryType sym)
void SetAgregator(Agregator agregator)
unsigned int GetExponentiationOrder()
MEstimateAgregatorType::BaseOutputTransformType BaseTransformType
void SetExponentiationOrder(unsigned int order)
double GetAngleUpperBound()
void Update() ITK_OVERRIDE
InputImageType * GetReferenceImage()
double GetSearchAngleRadius()
unsigned int GetLastPyramidLevel()
void SetExtrapolationSigma(double extrapolationSigma)
InputImageType::ConstPointer InputImageConstPointer
itk::SmartPointer< Self > Pointer
VelocityFieldType::PixelType VectorType
PyramidType::Pointer PyramidPointer
unsigned int GetNumberOfPyramidLevels()
void SetSearchRadius(double SearchRadius)
InputImagePointer GetOutputImage()
void SetTransform(Transform transform)
void SetStDevThreshold(double StDevThreshold)
DenseSVFTransformAgregator< ImageDimension > MEstimateAgregatorType
void SetStepSize(double StepSize)
InputImageType::Pointer InputImagePointer
std::string GetResultFile()
void SetTranslateUpperBound(double TranslateUpperBound)
BaseTransformAgregator< ImageDimension > BaseAgregatorType
void SetFinalRadius(double FinalRadius)
void SetFloatingImage(InputImageConstPointer FloatingImage)
double GetMinimalTransformError()
void SetFiniteStrainImageReorientation(bool reor)
std::string GetOutputTransformFile()
double GetScaleUpperBound()
double GetTranslateUpperBound()
AffineTransformType::Pointer AffineTransformPointer
anima::PyramidImageFilter< InputImageType, InputImageType > PyramidType
MetricOrientationType GetMetricOrientation()
InputImageType::IOPixelType InputPixelType
unsigned int GetMaximumIterations()
bool GetFiniteStrainImageReorientation()
double GetSearchScaleRadius()
void SetNeighborhoodApproximation(double neighborhoodApproximation)
BaseTransformType::VectorFieldType VelocityFieldType
MaskImageType::Pointer MaskImagePointer
itk::SmartPointer< Self > Pointer
rpi::DisplacementFieldTransform< typename BaseAgregatorType::ScalarType, ImageDimension > DisplacementFieldTransformType
void SetBlockSpacing(unsigned int blockSpacing)
void SetAngleUpperBound(double AngleUpperBound)
void SetBlockSize(int blockSize)
BalooSVFTransformAgregator< ImageDimension > BalooAgregatorType
double GetStDevThreshold()
anima::PyramidImageFilter< MaskImageType, MaskImageType > MaskPyramidType
void SetOutlierSigma(double outlierSigma)
void SetScaleUpperBound(double ScaleUpperBound)
void SetReferenceImage(InputImageConstPointer referenceImage)
anima::BaseBMRegistrationMethod< InputImageType > BaseBlockMatchRegistrationType