SLIMMER
Public Member Functions | Static Public Attributes | Protected Types | Protected Attributes
SIMCBaseEnergyFunction< T, T1, T2, DistType > Class Template Reference

The base energy function class for the Slice Intersection Motion Correction (SIMC) method. It inherits SimpleBaseEnergyFunction class. More...

#include <SIMCHeadEnergyFunction.h>

Inheritance diagram for SIMCBaseEnergyFunction< T, T1, T2, DistType >:
DistType SimpleBaseEnergyFunction SIMCHeadEnergyFunction< T, T1, T2, DistType > SIMCHeadEnergyFunction< short, T1, T2, DistType > SIMCBulkHead2HeadEnergyFunction< T1, T2, DistType > SIMCBulkHeadEnergyFunction< T1, T2, DistType >

List of all members.

Public Member Functions

 ~SIMCBaseEnergyFunction ()
 destructor
 SIMCBaseEnergyFunction (StackSet< Stack< T, LinTransStack< T2 > > > &sss)
 constructor with sss, using initialization list
void SetMask (const SimpleTField< T2 > &mask)
SimpleVTVec< T1 > GetParam () const
void SetParam (const SimpleVTVec< T1 > &param)
T1 Energy () const
 computes energy.
T1 Grad (SimpleVTVec< T1 > &MtD) const
 computes gradient
T1 GradHess (SimpleVTVec< T1 > &MtD, SimpleVTMat< T1 > &MtM) const
 computes grad and cov
T1 Hess (SimpleVTMat< T1 > &MtM) const
 computes grad and cov
T1 GradHess (SimpleVTVec< T1 > *MtDP, SimpleVTMat< T1 > *MtMP=NULL) const
 Computes gradient and motion covariance matrix. You need this pointer based base function.
template<typename Tdof >
void Updateldofs (const SimpleVTVec< Tdof > &ddofs)
T1 EvalSliceEnergy () const
T1 EvalSliceEnergy (SimpleVTVec< T1 > &Eslice) const
T1 EvalSliceWeight (SimpleVTVec< T1 > &Wslice) const
 Computes total slice intersection energy for each slice.
T1 IntxEnergy (int t1, int l1, int t2, int l2, T1 &E, T1 &W) const
int EvaluateW (SliceIntersection &intx, SimpleVTVec< T1 > &w) const
 Calculate the weight for an intersection, and returns how many samples along the intersection are valid.
void IntxEnergy (unsigned int t1, unsigned int l1, SimpleVTVec< T1 > &Evec, SimpleVTVec< T1 > &Wvec) const
T1 IntxEnergy (SimpleVTMat< T1 > &Emat, SimpleVTMat< T1 > &Wmat) const
T1 IntxEnergy () const
void SetBlur (float sigma)
template<>
const char _versionID []
template<>
const char _versionID []
template<>
const char _versionID []
template<>
const char _versionID []

Static Public Attributes

static const char _versionID []

Protected Types

typedef Stack< T,
LinTransStack< T2 > > 
TStack

Protected Attributes

StackSet< TStack > & _sss
T2 _sigmaBlur
const SimpleTField< T2 > * _mask

Detailed Description

template<typename T = short, typename T1 = double, typename T2 = float, typename DistType = L2<T2>>
class SIMCBaseEnergyFunction< T, T1, T2, DistType >

The base energy function class for the Slice Intersection Motion Correction (SIMC) method. It inherits SimpleBaseEnergyFunction class.

A class for managing StackSet. Includes functions to load stacks.

Author:
Kio Kim 2007-2011
Id:
SIMCBaseEnergyFunction.h,v 1.16 2012/02/13 18:10:14 kio Exp

from a time point folder (tp), crop, and to compute MSIE between multiStacks.

Author:
Kio Kim 2007-2011
Id:
SIMCHeadEnergyFunction.h,v 1.3 2012/02/13 18:16:10 kio Exp
 All Classes Functions Variables Typedefs