7 #include <itkAffineTransform.h> 9 #include <rpiDisplacementFieldTransform.h> 14 template <
unsigned int ImageDimension = 3>
35 typedef typename VelocityFieldType::PixelType
VectorType;
37 typedef itk::AffineTransform<typename BaseAgregatorType::InternalScalarType,ImageDimension>
AffineTransformType;
93 void Update() ITK_OVERRIDE;
230 static void ManageProgress( itk::Object* caller,
const itk::EventObject& event,
void* clientData );
235 BaseTransformPointer m_OutputTransform;
236 InputImagePointer m_OutputImage;
238 InputImagePointer m_ReferenceImage, m_FloatingImage;
239 MaskImagePointer m_BlockGenerationMask;
240 PyramidPointer m_ReferencePyramid, m_FloatingPyramid;
241 MaskPyramidPointer m_BlockGenerationPyramid;
243 std::string m_outputTransformFile;
244 std::string m_resultFile;
246 unsigned int m_BlockSize;
247 unsigned int m_BlockSpacing;
248 double m_StDevThreshold;
252 unsigned int m_AffineDirection;
256 double m_ReferenceMinimalValue, m_FloatingMinimalValue;
257 unsigned int m_MaximumIterations;
258 double m_MinimalTransformError;
259 unsigned int m_OptimizerMaximumIterations;
260 double m_SearchRadius;
261 double m_SearchAngleRadius;
262 double m_SearchScaleRadius;
263 double m_FinalRadius;
265 double m_TranslateUpperBound;
266 double m_AngleUpperBound;
267 double m_ScaleUpperBound;
269 double m_ExtrapolationSigma;
270 double m_ElasticSigma;
271 double m_OutlierSigma;
272 double m_MEstimateConvergenceThreshold;
273 double m_NeighborhoodApproximation;
274 unsigned int m_BCHCompositionOrder;
275 unsigned int m_ExponentiationOrder;
277 unsigned int m_NumberOfPyramidLevels;
278 unsigned int m_LastPyramidLevel;
279 double m_PercentageKept;
284 itk::ProgressReporter *m_progressReporter;
285 itk::CStyleCommand::Pointer m_progressCallback;
286 itk::CStyleCommand::Pointer m_callback;
288 BaseBlockMatchRegistrationPointer m_bmreg;
void SetMetric(Metric metric)
itk::SmartPointer< Self > Pointer
double GetStDevThreshold()
void Update() ITK_OVERRIDE
PyramidalDenseSVFMatchingBridge()
itk::Image< unsigned char, ImageDimension > MaskImageType
void SetResultFile(std::string resultFile)
void SetAgregator(Agregator agregator)
void SetOptimizerMaximumIterations(unsigned int OptimizerMaximumIterations)
unsigned int GetNumberOfPyramidLevels()
unsigned int GetBlockSize()
BaseTransformAgregator< ImageDimension > BaseAgregatorType
void SetPercentageKept(double PercentageKept)
anima::BaseBMRegistrationMethod< InputImageType > BaseBlockMatchRegistrationType
unsigned int GetMaximumIterations()
void SetMEstimateConvergenceThreshold(double mEstimateConvergenceThreshold)
virtual ~PyramidalDenseSVFMatchingBridge()
void SetScaleUpperBound(double ScaleUpperBound)
MaskImageType::Pointer MaskImagePointer
void EmitProgress(int prog)
void SetOptimizer(Optimizer optimizer)
void SetExponentiationOrder(unsigned int order)
unsigned int GetExponentiationOrder()
itk::AffineTransform< typename BaseAgregatorType::InternalScalarType, ImageDimension > AffineTransformType
InputImageType::Pointer InputImagePointer
rpi::DisplacementFieldTransform< typename BaseAgregatorType::ScalarType, ImageDimension > DisplacementFieldTransformType
InputImageType::IOPixelType InputPixelType
void SetMinimalTransformError(double MinimalTransformError)
BalooSVFTransformAgregator< ImageDimension > BalooAgregatorType
Computes a pyramid of images using the provided resampler to perform resampling.
void SetSearchScaleRadius(double SearchScaleRadius)
void SetMaximumIterations(unsigned int MaximumIterations)
BaseTransformType::VectorFieldType VelocityFieldType
double GetScaleUpperBound()
unsigned int GetLastPyramidLevel()
DenseSVFTransformAgregator< ImageDimension > MEstimateAgregatorType
itk::Image< double, ImageDimension > InputImageType
void SetElasticSigma(double elasticSigma)
void SetNumberOfPyramidLevels(unsigned int NumberOfPyramidLevels)
itk::SmartPointer< const Self > ConstPointer
PyramidalDenseSVFMatchingBridge Self
double GetAngleUpperBound()
double GetNeighborhoodApproximation()
PyramidType::Pointer PyramidPointer
void SetAngleUpperBound(double AngleUpperBound)
void SetLastPyramidLevel(unsigned int LastPyramidLevel)
VelocityFieldType::PixelType VectorType
anima::PyramidImageFilter< InputImageType, InputImageType > PyramidType
SymmetryType GetSymmetryType()
InputImageType::ConstPointer InputImageConstPointer
void SetBCHCompositionOrder(unsigned int order)
void SetOutputTransformFile(std::string outputTransformFile)
void SetExtrapolationSigma(double extrapolationSigma)
void SetReferenceImage(InputImagePointer referenceImage)
static void ManageProgress(itk::Object *caller, const itk::EventObject &event, void *clientData)
unsigned int GetOptimizerMaximumIterations()
void SetBlockSize(int blockSize)
void SetNeighborhoodApproximation(double neighborhoodApproximation)
void SetBlockGenerationMask(MaskImageType *mask)
AffineTransformType::Pointer AffineTransformPointer
void SetProgressCallback(itk::CStyleCommand::Pointer callback)
void SetTransform(Transform transform)
void SetBlockSpacing(unsigned int blockSpacing)
void SetFloatingImage(InputImagePointer FloatingImage)
itk::SmartPointer< Self > Pointer
DisplacementFieldTransformType::Pointer DisplacementFieldTransformPointer
void SetSearchRadius(double SearchRadius)
double GetSearchScaleRadius()
void SetVerbose(bool value)
void SetFinalRadius(double FinalRadius)
void SetOutlierSigma(double outlierSigma)
DisplacementFieldTransformPointer GetOutputDisplacementFieldTransform()
BaseBlockMatchRegistrationType::Pointer BaseBlockMatchRegistrationPointer
double GetPercentageKept()
void SetSymmetryType(SymmetryType sym)
std::string GetResultFile()
MaskPyramidType::Pointer MaskPyramidPointer
unsigned int GetBlockSpacing()
unsigned int GetAffineDirection()
itk::ProcessObject Superclass
void SetTranslateUpperBound(double TranslateUpperBound)
anima::PyramidImageFilter< MaskImageType, MaskImageType > MaskPyramidType
double GetSearchAngleRadius()
InputImagePointer GetOutputImage()
std::string GetOutputTransformFile()
MEstimateAgregatorType::BaseOutputTransformType BaseTransformType
double GetTranslateUpperBound()
void SetSearchAngleRadius(double SearchAngleRadius)
itk::SmartPointer< Self > Pointer
double GetMEstimateConvergenceThreshold()
void SetStepSize(double StepSize)
unsigned int GetBCHCompositionOrder()
double GetMinimalTransformError()
void SetAffineDirection(unsigned int val)
BaseTransformPointer GetOutputTransform()
BaseTransformType::Pointer BaseTransformPointer
void SetStDevThreshold(double StDevThreshold)
double GetExtrapolationSigma()