7 #include <itkAffineTransform.h> 9 #include <rpiDisplacementFieldTransform.h> 60 template <
unsigned int ImageDimension = 3>
77 typedef typename VelocityFieldType::PixelType
VectorType;
79 typedef itk::AffineTransform<typename BaseAgregatorType::InternalScalarType,ImageDimension>
AffineTransformType;
108 void Update() ITK_OVERRIDE;
246 BaseTransformPointer m_OutputTransform;
247 InputImagePointer m_OutputImage;
249 InputImagePointer m_ReferenceImage, m_FloatingImage;
250 PyramidPointer m_ReferencePyramid, m_FloatingPyramid;
252 std::string m_outputTransformFile;
253 std::string m_resultFile;
255 unsigned int m_BlockSize;
256 unsigned int m_BlockSpacing;
257 double m_StDevThreshold;
263 bool m_FiniteStrainImageReorientation;
266 unsigned int m_MaximumIterations;
267 double m_MinimalTransformError;
268 unsigned int m_OptimizerMaximumIterations;
269 double m_SearchRadius;
270 double m_SearchAngleRadius;
271 double m_SearchScaleRadius;
272 double m_FinalRadius;
274 double m_TranslateUpperBound;
275 double m_AngleUpperBound;
276 double m_ScaleUpperBound;
278 double m_ExtrapolationSigma;
279 double m_ElasticSigma;
280 double m_OutlierSigma;
281 double m_MEstimateConvergenceThreshold;
282 double m_NeighborhoodApproximation;
283 unsigned int m_BCHCompositionOrder;
284 unsigned int m_ExponentiationOrder;
286 unsigned int m_NumberOfPyramidLevels;
287 unsigned int m_LastPyramidLevel;
288 double m_PercentageKept;
291 std::vector < vnl_vector_fixed <double,3> > m_GradientDirections;
292 double m_SmallDelta, m_BigDelta;
293 std::vector <double> m_GradientStrengths;
295 BaseBlockMatchRegistrationPointer m_bmreg;
InputImageType::Pointer InputImagePointer
void SetBlockSize(int blockSize)
void SetScaleUpperBound(double ScaleUpperBound)
double GetAngleUpperBound()
MEstimateAgregatorType::BaseOutputTransformType BaseTransformType
void SetSearchAngleRadius(double SearchAngleRadius)
InputImageType::IOPixelType InputPixelType
anima::BaseBMRegistrationMethod< InputImageType > BaseBlockMatchRegistrationType
unsigned int GetLastPyramidLevel()
void SetOptimizerMaximumIterations(unsigned int OptimizerMaximumIterations)
void SetMaximumIterations(unsigned int MaximumIterations)
void SetElasticSigma(double elasticSigma)
InputImagePointer GetOutputImage()
unsigned int GetBCHCompositionOrder()
itk::SmartPointer< Self > Pointer
MetricOrientationType GetMetricOrientation()
void SetMetric(Metric metric)
std::string GetOutputTransformFile()
void SetPercentageKept(double PercentageKept)
void SetMinimalTransformError(double MinimalTransformError)
void SetLastPyramidLevel(unsigned int LastPyramidLevel)
Computes a pyramid of images using the provided resampler to perform resampling.
void SetStDevThreshold(double StDevThreshold)
void SetOutputTransformFile(std::string outputTransformFile)
BaseTransformType::Pointer BaseTransformPointer
anima::MCMImage< double, ImageDimension > InputImageType
InputImageType::ConstPointer InputImageConstPointer
VelocityFieldType::PixelType VectorType
void SetMetricOrientation(MetricOrientationType metricOr)
double GetTranslateUpperBound()
anima::PyramidImageFilter< InputImageType, InputImageType > PyramidType
void SetBlockSpacing(unsigned int blockSpacing)
BaseBlockMatchRegistrationType::Pointer BaseBlockMatchRegistrationPointer
itk::SmartPointer< const Self > ConstPointer
DisplacementFieldTransformType::Pointer DisplacementFieldTransformPointer
void SetExponentiationOrder(unsigned int order)
virtual ~PyramidalDenseMCMSVFMatchingBridge()
void SetGradientDirections(std::vector< vnl_vector_fixed< double, 3 > > &grads)
double GetMEstimateConvergenceThreshold()
double GetStDevThreshold()
void SetFloatingImage(InputImagePointer FloatingImage)
void SetFiniteStrainImageReorientation(bool reor)
PyramidalDenseMCMSVFMatchingBridge Self
double GetPercentageKept()
double GetMinimalTransformError()
void SetGradientStrengths(std::vector< double > &val)
PyramidType::Pointer PyramidPointer
virtual InterpolatorType * CreateInterpolator(InputImageType *image)
itk::AffineTransform< typename BaseAgregatorType::InternalScalarType, ImageDimension > AffineTransformType
void SetSymmetryType(SymmetryType sym)
void SetOptimizer(Optimizer optimizer)
MCModelType::Pointer MCModelPointer
BaseTransformPointer GetOutputTransform()
itk::SmartPointer< Self > Pointer
virtual BlockMatcherType * CreateBlockMatcher()
itk::SmartPointer< Self > Pointer
void Update() ITK_OVERRIDE
void SetSmallDelta(double val)
DenseSVFTransformAgregator< ImageDimension > MEstimateAgregatorType
BaseTransformType::VectorFieldType VelocityFieldType
void SetTransform(Transform transform)
rpi::DisplacementFieldTransform< typename BaseAgregatorType::ScalarType, ImageDimension > DisplacementFieldTransformType
unsigned int GetBlockSpacing()
double GetSearchAngleRadius()
itk::ProcessObject Superclass
BalooSVFTransformAgregator< ImageDimension > BalooAgregatorType
anima::MCMLinearInterpolateImageFunction< InputImageType > InterpolatorType
double GetNeighborhoodApproximation()
MultiCompartmentModel: holds several diffusion compartments, ordered by type It also handles weights ...
std::string GetResultFile()
unsigned int GetBlockSize()
double GetSearchScaleRadius()
void SetNumberOfPyramidLevels(unsigned int NumberOfPyramidLevels)
void SetTranslateUpperBound(double TranslateUpperBound)
void SetStepSize(double StepSize)
bool GetFiniteStrainImageReorientation()
SymmetryType GetSymmetryType()
double GetExtrapolationSigma()
void SetSearchScaleRadius(double SearchScaleRadius)
unsigned int GetExponentiationOrder()
PyramidalDenseMCMSVFMatchingBridge()
void SetAngleUpperBound(double AngleUpperBound)
unsigned int GetNumberOfPyramidLevels()
BaseTransformAgregator< ImageDimension > BaseAgregatorType
void SetFinalRadius(double FinalRadius)
anima::MultiCompartmentModel MCModelType
anima::MCMBlockMatcher< InputImageType > BlockMatcherType
void SetReferenceImage(InputImagePointer referenceImage)
InputImageType::InternalPixelType InputInternalPixelType
void SetOutlierSigma(double outlierSigma)
void SetNeighborhoodApproximation(double neighborhoodApproximation)
void SetResultFile(std::string resultFile)
itk::SmartPointer< Self > Pointer
void SetBigDelta(double val)
void SetBCHCompositionOrder(unsigned int order)
double GetScaleUpperBound()
itk::SmartPointer< const Self > ConstPointer
itk::SmartPointer< Self > Pointer
void SetAgregator(Agregator agregator)
void SetMEstimateConvergenceThreshold(double mEstimateConvergenceThreshold)
void SetExtrapolationSigma(double extrapolationSigma)
unsigned int GetMaximumIterations()
AffineTransformType::Pointer AffineTransformPointer
unsigned int GetOptimizerMaximumIterations()
void SetSearchRadius(double SearchRadius)