Inheritance diagram for itk::fem::FiniteDifferenceFunctionLoad< TMoving, TFixed >:
|
Public Types |
typedef FiniteDifferenceFunctionLoad | Self |
typedef LoadElement | Superclass |
typedef Self * | Pointer |
typedef const Self * | ConstPointer |
typedef LoadElement::Float | Float |
typedef TMoving | MovingType |
typedef MovingType::ConstPointer | MovingConstPointer |
typedef MovingType * | MovingPointer |
typedef TFixed | FixedType |
typedef FixedType * | FixedPointer |
typedef FixedType::ConstPointer | FixedConstPointer |
typedef ImageRegionIteratorWithIndex<
MovingType > | MovingRegionIteratorType |
typedef ImageRegionIteratorWithIndex<
FixedType > | FixedRegionIteratorType |
typedef NeighborhoodIterator<
MovingType > | MovingNeighborhoodIteratorType |
typedef MovingNeighborhoodIteratorType::IndexType | MovingNeighborhoodIndexType |
typedef MovingNeighborhoodIteratorType::RadiusType | MovingRadiusType |
typedef MovingNeighborhoodIteratorType::RadiusType | RadiusType |
typedef NeighborhoodIterator<
FixedType > | FixedNeighborhoodIteratorType |
typedef FixedNeighborhoodIteratorType::IndexType | FixedNeighborhoodIndexType |
typedef FixedNeighborhoodIteratorType::RadiusType | FixedRadiusType |
typedef MovingType::PixelType | MovingPixelType |
typedef FixedType::PixelType | FixedPixelType |
typedef Float | PixelType |
typedef Float | ComputationType |
typedef Image< MovingPixelType,
itkGetStaticConstMacro(ImageDimension) | MovingImageType ) |
typedef Image< FixedPixelType,
itkGetStaticConstMacro(ImageDimension) | FixedImageType ) |
typedef Image< PixelType,
itkGetStaticConstMacro(ImageDimension) | ImageType ) |
typedef itk::Vector< float,
itkGetStaticConstMacro(ImageDimension) | VectorType ) |
typedef vnl_vector< Float > | FEMVectorType |
typedef Image< VectorType,
itkGetStaticConstMacro(ImageDimension) | DeformationFieldType ) |
typedef DeformationFieldType::Pointer | DeformationFieldTypePointer |
typedef NeighborhoodIterator<
DeformationFieldType > | FieldIteratorType |
typedef PDEDeformableRegistrationFunction<
FixedImageType, MovingImageType,
DeformationFieldType > | FiniteDifferenceFunctionType |
typedef FiniteDifferenceFunctionType::Pointer | FiniteDifferenceFunctionTypePointer |
typedef FiniteDifferenceFunctionType::TimeStepType | TimeStepType |
typedef MeanSquareRegistrationFunction<
FixedImageType, MovingImageType,
DeformationFieldType > | MeanSquareRegistrationFunctionType |
typedef DemonsRegistrationFunction<
FixedImageType, MovingImageType,
DeformationFieldType > | DemonsRegistrationFunctionType |
typedef NCCRegistrationFunction<
FixedImageType, MovingImageType,
DeformationFieldType > | NCCRegistrationFunctionType |
typedef MIRegistrationFunction<
FixedImageType, MovingImageType,
DeformationFieldType > | MIRegistrationFunctionType |
Public Member Functions |
virtual Baseclass::Pointer | Clone () const |
virtual int | ClassID () const |
| itkStaticConstMacro (ImageDimension, unsigned int, MovingType::ImageDimension) |
void | SetDifferenceFunction (FiniteDifferenceFunctionTypePointer drfp) |
void | SetMetric (FiniteDifferenceFunctionTypePointer drfp) |
MovingPointer | GetMovingImage () |
FixedPointer | GetFixedImage () |
void | SetMetricRadius (MovingRadiusType T) |
MovingRadiusType | GetMetricRadius () |
void | SetSign (Float s) |
void | SetTemp (Float s) |
void | SetGamma (Float s) |
void | SetSolution (Solution::ConstPointer ptr) |
Solution::ConstPointer | GetSolution () |
Float | GetSolution (unsigned int i, unsigned int which=0) |
| FiniteDifferenceFunctionLoad () |
Float | EvaluateMetricGivenSolution (Element::ArrayType *el, Float step=1.0) |
void | SetDeformationField (DeformationFieldTypePointer df) |
void | PrintCurrentEnergy () |
double | GetCurrentEnergy () |
void | SetCurrentEnergy (double e=0.0) |
|
void | SetMovingImage (MovingType *R) |
|
void | SetFixedImage (FixedType *T) |
|
void | SetNumberOfIntegrationPoints (unsigned int i) |
unsigned int | GetNumberOfIntegrationPoints () |
|
VectorType | Fe1 (VectorType) |
FEMVectorType | Fe (FEMVectorType, FEMVectorType) |
|
DeformationFieldTypePointer | GetDeformationField () |
void | InitializeIteration () |
void | InitializeMetric () |
Static Public Member Functions |
Self::Pointer | New () |
Baseclass * | NewFiniteDifferenceFunctionLoad (void) |
Static Public Attributes |
const int | CLID |
This load computes FEM gravity loads by using derivatives provided by itkFiniteDifferenceFunctions (e.g. mean squares intensity difference.) The function responsible for this is called Fg, as required by the FEMLoad standards. It takes a vnl_vector as input. We assume the vector input is of size 2*ImageDimension. The 0 to ImageDimension-1 elements contain the position, p, in the reference (moving) image. The next ImageDimension to 2*ImageDimension-1 elements contain the value of the vector field at that point, v(p). The metrics return both a scalar similarity value and vector-valued derivative. The derivative is what gives us the force to drive the FEM registration. These values are computed with respect to some region in the Fixed image. This region size may be set by the user by calling SetMetricRadius. As the metric derivative computation evolves, performance should improve and more functionality will be available (such as scale selection).