Class for spline warp multi-channel registration functional. More...
#include <cmtkSplineWarpMultiChannelRegistrationFunctional.h>


Classes | |
| class | EvaluateGradientThreadParameters |
| Parameters for threaded gradient computation. More... | |
Public Types | |
| typedef SplineWarpMultiChannelRegistrationFunctional | Self |
| This class. | |
| typedef SmartPointer< Self > | SmartPtr |
| Smart pointer. | |
| typedef TemplateMultiChannelRegistrationFunctional < SplineWarpXform, TMetricFunctional > | Superclass |
| This class. | |
| typedef Superclass::MetricData | MetricData |
| Metric data subclass. | |
Public Member Functions | |
| SplineWarpMultiChannelRegistrationFunctional () | |
| Default constructor. | |
| template<class TAffineMetricFunctional > | |
| SplineWarpMultiChannelRegistrationFunctional (AffineMultiChannelRegistrationFunctional< TAffineMetricFunctional > &affineFunctional) | |
| Constructor from affine multi-channel functional. | |
| virtual void | SetInitialAffineTransformation (const AffineXform &initialAffine) |
| Set initial affine transformation. | |
| void | SetAdaptiveFixEntropyThreshold (const bool flag) |
| Set flag for entropy vs. | |
| void | SetAdaptiveFixThreshFactor (const float factor) |
| Set adaptive fixing entropy threshold factor. | |
| void | ClearFixedCoordinateDimensions () |
| Clear list of fixed coordinate dimensions. | |
| void | AddFixedCoordinateDimension (const int dim) |
| Add a coordinate list of fixed coordinate dimensions. | |
| void | SetJacobianConstraintWeight (const float weight) |
| Set Jacobian volume preservation constraint weight. | |
| virtual void | InitTransformation (const Vector3D &domain, const Types::Coordinate gridSpacing, const bool exact) |
| Initialize transformation. | |
| virtual void | RefineTransformation () |
| Refine transformation control point grid by factor 2. | |
| virtual void | ClearAllChannels () |
| Reset channels, clear all images. | |
| virtual Self::ReturnType | Evaluate () |
| Compute functional value. | |
| virtual Self::ReturnType | EvaluateWithGradient (CoordinateVector &v, CoordinateVector &g, const Types::Coordinate step=1) |
| Compute functional value and gradient. | |
Protected Member Functions | |
| virtual void | NewReferenceChannelGeometry () |
| Update all transformation-related data after init, refine, or image change. | |
Private Member Functions | |
| virtual void | UpdateTransformationData () |
| Update all transformation-related data after init, refine, or image change. | |
| virtual void | AllocateReformattedFloatingChannels () |
| Allocate reformatted floating channel memory. | |
| virtual void | ClearReformattedFloatingChannels () |
| Clear and free reformatted floating channel memory. | |
| Self::ReturnType | EvaluateIncremental (const SplineWarpXform *warp, MetricData &metricData, const DataGrid::RegionType ®ion) |
| Evaluate metric after a local transformation change. | |
| virtual void | ContinueMetricStoreReformatted (MetricData &metricData, const size_t rindex, const Vector3D &fvector) |
| Continue metric computation and store reformatted floating channels for local recomputation. | |
| virtual void | BacktraceMetric (MetricData &metricData, const DataGrid::RegionType &voi) |
| Locally undo metric computation. | |
| virtual void | UpdateTransformationFixedControlPoints () |
| Update fixed and active control points in transformation. | |
Static Private Member Functions | |
| static void | EvaluateThreadFunction (void *args, const size_t taskIdx, const size_t taskCnt, const size_t threadIdx, const size_t) |
| Thread function for gradient computation. | |
| static void | EvaluateWithGradientThreadFunction (void *args, const size_t taskIdx, const size_t taskCnt, const size_t threadIdx, const size_t) |
| Thread function for gradient computation. | |
Private Attributes | |
| AffineXform | m_InitialAffineTransformation |
| Initial affine transformation. | |
| std::vector< std::vector< float > > | m_ReformattedFloatingChannels |
| Floating channels reformatted under current baseline transformation. | |
| std::vector< Types::Coordinate > | m_StepScaleVector |
| Parameter step scale vector. | |
| std::vector< DataGrid::RegionType > | m_VolumeOfInfluenceVector |
| Table of volumes of influence per warp control point. | |
| bool | m_AdaptiveFixEntropyThreshold |
| Flag for entropy vs. | |
| float | m_AdaptiveFixThreshFactor |
| Threshold for adaptive parameter fixing. | |
| std::list< int > | m_FixedCoordinateDimensions |
| List of coordinate dimensions (x=0, y=1, z=2) that are fixed during optimization. | |
| float | m_JacobianConstraintWeight |
| Weight for Jacobian volume preservation constraint. | |
| bool | m_UpdateTransformationFixedControlPointsRequired |
| Flag whether fixed control points need to be updated. | |
| const size_t | m_NumberOfThreads |
| Number of parallel threads. | |
| MutexLock | m_MetricDataMutex |
| Mutex lock for shared metric data object. | |
| std::vector < SplineWarpXform::SmartPtr > | m_ThreadTransformations |
| Separate transformations for threaded gradient computation. | |
Friends | |
| class | SplineWarpMultiChannelIntensityCorrectionRegistrationFunctional |
| Make functional class with Jacobian intensity correction a friend. | |
Class for spline warp multi-channel registration functional.
Definition at line 62 of file cmtkSplineWarpMultiChannelRegistrationFunctional.h.
| typedef Superclass::MetricData cmtk::SplineWarpMultiChannelRegistrationFunctional< TMetricFunctional >::MetricData |
Metric data subclass.
Reimplemented in cmtk::SplineWarpMultiChannelIntensityCorrectionRegistrationFunctional< TMetricFunctional >.
Definition at line 77 of file cmtkSplineWarpMultiChannelRegistrationFunctional.h.
| typedef SplineWarpMultiChannelRegistrationFunctional cmtk::SplineWarpMultiChannelRegistrationFunctional< TMetricFunctional >::Self |
This class.
Reimplemented from cmtk::TemplateMultiChannelRegistrationFunctional< SplineWarpXform, TMetricFunctional >.
Reimplemented in cmtk::SplineWarpMultiChannelIntensityCorrectionRegistrationFunctional< TMetricFunctional >.
Definition at line 68 of file cmtkSplineWarpMultiChannelRegistrationFunctional.h.
| typedef SmartPointer<Self> cmtk::SplineWarpMultiChannelRegistrationFunctional< TMetricFunctional >::SmartPtr |
Smart pointer.
Reimplemented from cmtk::TemplateMultiChannelRegistrationFunctional< SplineWarpXform, TMetricFunctional >.
Reimplemented in cmtk::SplineWarpMultiChannelIntensityCorrectionRegistrationFunctional< TMetricFunctional >.
Definition at line 71 of file cmtkSplineWarpMultiChannelRegistrationFunctional.h.
| typedef TemplateMultiChannelRegistrationFunctional<SplineWarpXform, TMetricFunctional > cmtk::SplineWarpMultiChannelRegistrationFunctional< TMetricFunctional >::Superclass |
This class.
Reimplemented from cmtk::TemplateMultiChannelRegistrationFunctional< SplineWarpXform, TMetricFunctional >.
Reimplemented in cmtk::SplineWarpMultiChannelIntensityCorrectionRegistrationFunctional< TMetricFunctional >.
Definition at line 74 of file cmtkSplineWarpMultiChannelRegistrationFunctional.h.
| void cmtk::SplineWarpMultiChannelRegistrationFunctional< TMetricFunctional >::AddFixedCoordinateDimension | ( | const int | dim ) | [inline] |
Add a coordinate list of fixed coordinate dimensions.
Definition at line 112 of file cmtkSplineWarpMultiChannelRegistrationFunctional.h.
| virtual void cmtk::SplineWarpMultiChannelRegistrationFunctional< TMetricFunctional >::ClearAllChannels | ( | ) | [inline, virtual] |
Reset channels, clear all images.
Definition at line 130 of file cmtkSplineWarpMultiChannelRegistrationFunctional.h.
| void cmtk::SplineWarpMultiChannelRegistrationFunctional< TMetricFunctional >::ClearFixedCoordinateDimensions | ( | ) | [inline] |
Clear list of fixed coordinate dimensions.
Definition at line 106 of file cmtkSplineWarpMultiChannelRegistrationFunctional.h.
| virtual void cmtk::SplineWarpMultiChannelRegistrationFunctional< TMetricFunctional >::NewReferenceChannelGeometry | ( | ) | [inline, protected, virtual] |
Update all transformation-related data after init, refine, or image change.
Definition at line 144 of file cmtkSplineWarpMultiChannelRegistrationFunctional.h.
| void cmtk::SplineWarpMultiChannelRegistrationFunctional< TMetricFunctional >::SetAdaptiveFixEntropyThreshold | ( | const bool | flag ) | [inline] |
Set flag for entropy vs.
intensity thresholding.
Definition at line 94 of file cmtkSplineWarpMultiChannelRegistrationFunctional.h.
| void cmtk::SplineWarpMultiChannelRegistrationFunctional< TMetricFunctional >::SetAdaptiveFixThreshFactor | ( | const float | factor ) | [inline] |
Set adaptive fixing entropy threshold factor.
Definition at line 100 of file cmtkSplineWarpMultiChannelRegistrationFunctional.h.
| virtual void cmtk::SplineWarpMultiChannelRegistrationFunctional< TMetricFunctional >::SetInitialAffineTransformation | ( | const AffineXform & | initialAffine ) | [inline, virtual] |
Set initial affine transformation.
Definition at line 88 of file cmtkSplineWarpMultiChannelRegistrationFunctional.h.
| void cmtk::SplineWarpMultiChannelRegistrationFunctional< TMetricFunctional >::SetJacobianConstraintWeight | ( | const float | weight ) | [inline] |
Set Jacobian volume preservation constraint weight.
Definition at line 118 of file cmtkSplineWarpMultiChannelRegistrationFunctional.h.
friend class SplineWarpMultiChannelIntensityCorrectionRegistrationFunctional [friend] |
Make functional class with Jacobian intensity correction a friend.
Definition at line 233 of file cmtkSplineWarpMultiChannelRegistrationFunctional.h.
bool cmtk::SplineWarpMultiChannelRegistrationFunctional< TMetricFunctional >::m_AdaptiveFixEntropyThreshold [private] |
Flag for entropy vs.
intensity thresholding
Definition at line 181 of file cmtkSplineWarpMultiChannelRegistrationFunctional.h.
float cmtk::SplineWarpMultiChannelRegistrationFunctional< TMetricFunctional >::m_AdaptiveFixThreshFactor [private] |
Threshold for adaptive parameter fixing.
Definition at line 184 of file cmtkSplineWarpMultiChannelRegistrationFunctional.h.
std::list<int> cmtk::SplineWarpMultiChannelRegistrationFunctional< TMetricFunctional >::m_FixedCoordinateDimensions [private] |
List of coordinate dimensions (x=0, y=1, z=2) that are fixed during optimization.
Definition at line 187 of file cmtkSplineWarpMultiChannelRegistrationFunctional.h.
AffineXform cmtk::SplineWarpMultiChannelRegistrationFunctional< TMetricFunctional >::m_InitialAffineTransformation [private] |
Initial affine transformation.
Definition at line 151 of file cmtkSplineWarpMultiChannelRegistrationFunctional.h.
float cmtk::SplineWarpMultiChannelRegistrationFunctional< TMetricFunctional >::m_JacobianConstraintWeight [private] |
Weight for Jacobian volume preservation constraint.
Definition at line 190 of file cmtkSplineWarpMultiChannelRegistrationFunctional.h.
Referenced by cmtk::SplineWarpMultiChannelRegistrationFunctional< TMetricFunctional >::EvaluateWithGradientThreadFunction().
MutexLock cmtk::SplineWarpMultiChannelRegistrationFunctional< TMetricFunctional >::m_MetricDataMutex [private] |
Mutex lock for shared metric data object.
Definition at line 205 of file cmtkSplineWarpMultiChannelRegistrationFunctional.h.
const size_t cmtk::SplineWarpMultiChannelRegistrationFunctional< TMetricFunctional >::m_NumberOfThreads [private] |
Number of parallel threads.
Definition at line 199 of file cmtkSplineWarpMultiChannelRegistrationFunctional.h.
std::vector< std::vector<float> > cmtk::SplineWarpMultiChannelRegistrationFunctional< TMetricFunctional >::m_ReformattedFloatingChannels [private] |
Floating channels reformatted under current baseline transformation.
Definition at line 157 of file cmtkSplineWarpMultiChannelRegistrationFunctional.h.
std::vector<Types::Coordinate> cmtk::SplineWarpMultiChannelRegistrationFunctional< TMetricFunctional >::m_StepScaleVector [private] |
Parameter step scale vector.
Definition at line 175 of file cmtkSplineWarpMultiChannelRegistrationFunctional.h.
Referenced by cmtk::SplineWarpMultiChannelRegistrationFunctional< TMetricFunctional >::EvaluateWithGradientThreadFunction().
std::vector<SplineWarpXform::SmartPtr> cmtk::SplineWarpMultiChannelRegistrationFunctional< TMetricFunctional >::m_ThreadTransformations [private] |
Separate transformations for threaded gradient computation.
Definition at line 208 of file cmtkSplineWarpMultiChannelRegistrationFunctional.h.
Referenced by cmtk::SplineWarpMultiChannelRegistrationFunctional< TMetricFunctional >::EvaluateWithGradientThreadFunction().
bool cmtk::SplineWarpMultiChannelRegistrationFunctional< TMetricFunctional >::m_UpdateTransformationFixedControlPointsRequired [private] |
Flag whether fixed control points need to be updated.
Definition at line 196 of file cmtkSplineWarpMultiChannelRegistrationFunctional.h.
std::vector<DataGrid::RegionType> cmtk::SplineWarpMultiChannelRegistrationFunctional< TMetricFunctional >::m_VolumeOfInfluenceVector [private] |
Table of volumes of influence per warp control point.
Definition at line 178 of file cmtkSplineWarpMultiChannelRegistrationFunctional.h.
Referenced by cmtk::SplineWarpMultiChannelRegistrationFunctional< TMetricFunctional >::EvaluateWithGradientThreadFunction().
1.7.2