Functional for spline warp congealing. More...
#include <cmtkSplineWarpCongealingFunctional.h>
Classes | |
class | EvaluateLocalGradientThreadParameters |
Thread function parameters for image interpolation. More... | |
class | EvaluateThreadParameters |
Thread parameter for entropy evaluation. More... | |
class | StaticThreadStorage |
Class for static thread storage to avoid recurring memory allocations. More... | |
Public Types | |
typedef CongealingFunctional < SplineWarpXform > | Superclass |
Type of parent class. | |
typedef Superclass::HistogramType | HistogramType |
Superclass histogram type. | |
typedef SplineWarpCongealingFunctional | Self |
Type of this class. | |
typedef SmartPointer< Self > | SmartPtr |
Smart pointer. | |
Public Member Functions | |
virtual void | InitializeXformsFromAffine (const Types::Coordinate gridSpacing, std::vector< AffineXform::SmartPtr > initialAffineXformsVector, const bool exactSpacing=true) |
Initialize spline warp transformations. | |
virtual void | RefineTransformationGrids () |
Refine transformation control point grids. | |
virtual void | SetTemplateGrid (UniformVolume::SmartPtr &templateGrid, const int downsample=1, const bool useTemplateData=false) |
Call inherited function and allocate local storage. | |
virtual Self::ReturnType | Evaluate () |
Evaluate functional with currently set parameters. | |
virtual Self::ReturnType | EvaluateAt (CoordinateVector &v) |
Evaluate functional and set parameters. | |
virtual Self::ReturnType | EvaluateWithGradient (CoordinateVector &v, CoordinateVector &g, const Types::Coordinate step=1) |
Compute functional value and gradient. | |
Private Member Functions | |
virtual void | UpdateActiveControlPoints () |
Update deactivated control points. | |
virtual void | UpdateStandardDeviationByPixel () |
Update standard deviation by pixel. | |
Static Private Member Functions | |
static void | EvaluateThread (void *args, const size_t taskIdx, const size_t taskCnt, const size_t threadIdx, const size_t) |
Evaluate functional with currently set parameters. | |
static CMTK_THREAD_RETURN_TYPE | EvaluateLocalGradientThreadFunc (void *args) |
Thread function: Compute local gradient of the cost function for gradient approximation. | |
Private Attributes | |
std::vector< double > | m_EntropyByPixel |
Entropies over all images by pixel for fast local recomputation. | |
size_t | m_ControlPointIndexNext |
Index of next control point to be processed by an available thread. | |
size_t | m_ControlPointIndexLast |
Index of (last control point + 1) to be processed by an available thread. | |
MutexLock | m_ControlPointIndexLock |
Mutex lock for control point queue. | |
std::vector< StaticThreadStorage > | m_StaticThreadStorage |
Static thread storage array. |
Functional for spline warp congealing.
This functional evaluates Lilla Zollei's entropy criterion for massively groupwise image registration.
[1] L . Zoellei, E. Learned-Miller, E. Grimson, W.M. Wells III: "Efficient Population Registration of 3D Data", ICCV 2005, Computer Vision for Biomedical Image Applications; Beijing, China
Definition at line 70 of file cmtkSplineWarpCongealingFunctional.h.
Superclass histogram type.
Reimplemented from cmtk::CongealingFunctional< SplineWarpXform >.
Definition at line 78 of file cmtkSplineWarpCongealingFunctional.h.
Type of this class.
Reimplemented from cmtk::CongealingFunctional< SplineWarpXform >.
Definition at line 81 of file cmtkSplineWarpCongealingFunctional.h.
Smart pointer.
Reimplemented from cmtk::CongealingFunctional< SplineWarpXform >.
Definition at line 84 of file cmtkSplineWarpCongealingFunctional.h.
Type of parent class.
Reimplemented from cmtk::CongealingFunctional< SplineWarpXform >.
Definition at line 75 of file cmtkSplineWarpCongealingFunctional.h.
virtual Self::ReturnType cmtk::SplineWarpCongealingFunctional::EvaluateAt | ( | CoordinateVector & | v ) | [inline, virtual] |
Evaluate functional and set parameters.
Reimplemented from cmtk::GroupwiseRegistrationFunctionalBase.
Definition at line 103 of file cmtkSplineWarpCongealingFunctional.h.
size_t cmtk::SplineWarpCongealingFunctional::m_ControlPointIndexLast [private] |
Index of (last control point + 1) to be processed by an available thread.
Definition at line 174 of file cmtkSplineWarpCongealingFunctional.h.
Mutex lock for control point queue.
Definition at line 177 of file cmtkSplineWarpCongealingFunctional.h.
size_t cmtk::SplineWarpCongealingFunctional::m_ControlPointIndexNext [private] |
Index of next control point to be processed by an available thread.
Definition at line 171 of file cmtkSplineWarpCongealingFunctional.h.
std::vector<double> cmtk::SplineWarpCongealingFunctional::m_EntropyByPixel [private] |
Entropies over all images by pixel for fast local recomputation.
Definition at line 125 of file cmtkSplineWarpCongealingFunctional.h.
std::vector<StaticThreadStorage> cmtk::SplineWarpCongealingFunctional::m_StaticThreadStorage [private] |
Static thread storage array.
Definition at line 215 of file cmtkSplineWarpCongealingFunctional.h.