NifTK
16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
|
Class to compute the difference between a reconstruction estimate and the target set of 2D projection images. More...
Public Member Functions | |
virtual const char * | GetClassName () const |
void | SetInputVolume (InputVolumePointer inVolume) |
Set the 3D reconstruction estimate input volume. More... | |
void | SetInputVolumeVector (VectorType &inVolumeVector) |
Set the 3D reconstruction estimate input volume as a vector form. More... | |
void | SetInputTwoProjectionVectors (VectorType &inProjectionOne, VectorType &inProjectionTwo) |
Set the input projection images. More... | |
void | SetInputTempProjections (InputProjectionPointer tempProjection) |
Set the temporary projection image. More... | |
void | SetParameterNumber (const unsigned int ¶Number) |
Set the number of the transformation parameters. More... | |
void | SetParameterVector (VectorType ¶Vector) |
Set the transformation parameters as a vector form. More... | |
void | SetTotalVoxel (const unsigned long int &totalSize3D) |
Set the total number of the voxels of the volume. More... | |
void | SetTotalPixel (const unsigned long int &totalSize2D) |
Set the total number of the pixels of the projection. More... | |
void | SetTotalProjectionNumber (const unsigned int &projNumber) |
Set the total number of the pixels of the projection. More... | |
void | SetTotalProjectionSize (InputProjectionSizeType &projSize) |
Set the total number of the pixels of the projection. More... | |
void | SetProjectionGeometry (ProjectionGeometryType::Pointer pGeometry) |
Set the projection geometry. More... | |
void | SetInputVolumeSize (InputVolumeSizeType &inVolumeSize) |
Set the size, resolution and origin of the input volume. More... | |
void | SetInputVolumeSpacing (InputVolumeSpacingType &inVolumeSpacing) |
void | SetInputVolumeOrigin (InputVolumePointType &inVolumeOrigin) |
unsigned int | GetNumberOfParameters (void) const |
void | Initialise (void) |
virtual void | GetValueAndDerivative (const ParametersType ¶meters, MeasureType &value, DerivativeType &derivative) const |
virtual MeasureType | GetValue (const ParametersType ¶meters) const |
virtual void | GetDerivative (const ParametersType ¶meters, DerivativeType &derivative) const |
Static Public Member Functions | |
static Pointer | New () |
Protected Member Functions | |
SimultaneousUnconstrainedMatrixReconRegnMetric () | |
virtual | ~SimultaneousUnconstrainedMatrixReconRegnMetric () |
void | PrintSelf (std::ostream &os, Indent indent) const |
Protected Attributes | |
VectorType | m_EstimatedVolumeVector |
Vectors of the image and transformation parameters. More... | |
VectorType | m_TransformationParameterVector |
VectorType | m_inProjOne |
VectorType | m_inProjTwo |
MatrixProjectorPointerType | m_MatrixProjector |
AffineTransformerType::Pointer | m_AffineTransformer |
InputVolumePointer | m_inVolume |
InputProjectionPointer | m_inProjTemp |
unsigned int | m_paraNumber |
unsigned long int | m_totalSize3D |
unsigned long int | m_totalSize2D |
unsigned int | m_ProjectionNumber |
InputVolumeSizeType | m_InVolumeSize |
InputVolumeSpacingType | m_InVolumeSpacing |
InputVolumePointType | m_InVolumeOrigin |
InputProjectionSizeType | m_InProjectionSize |
ProjectionGeometryType::Pointer | m_Geometry |
Class to compute the difference between a reconstruction estimate and the target set of 2D projection images.
This is essentially the ForwardProjectionWithAffineTransformDifferenceFilter repackaged as an ITK cost function.
typedef itk::EulerAffineTransformMatrixAndItsVariations< double > itk::SimultaneousUnconstrainedMatrixReconRegnMetric< TScalarType, IntensityType >::AffineTransformerType |
typedef SmartPointer<const Self> itk::SimultaneousUnconstrainedMatrixReconRegnMetric< TScalarType, IntensityType >::ConstPointer |
typedef SingleValuedCostFunction::DerivativeType itk::SimultaneousUnconstrainedMatrixReconRegnMetric< TScalarType, IntensityType >::DerivativeType |
typedef AffineTransformerType::EulerAffineTransformType itk::SimultaneousUnconstrainedMatrixReconRegnMetric< TScalarType, IntensityType >::EulerAffineTransformType |
typedef vnl_matrix<TScalarType> itk::SimultaneousUnconstrainedMatrixReconRegnMetric< TScalarType, IntensityType >::FullMatrixType |
typedef MatrixProjectorType::OutputImageConstPointer itk::SimultaneousUnconstrainedMatrixReconRegnMetric< TScalarType, IntensityType >::InputProjectionConstPointer |
typedef MatrixProjectorType::OutputImagePointer itk::SimultaneousUnconstrainedMatrixReconRegnMetric< TScalarType, IntensityType >::InputProjectionPointer |
typedef MatrixProjectorType::OutputImageSizeType itk::SimultaneousUnconstrainedMatrixReconRegnMetric< TScalarType, IntensityType >::InputProjectionSizeType |
typedef MatrixProjectorType::OutputImageType itk::SimultaneousUnconstrainedMatrixReconRegnMetric< TScalarType, IntensityType >::InputProjectionType |
typedef MatrixProjectorType::InputImageConstPointer itk::SimultaneousUnconstrainedMatrixReconRegnMetric< TScalarType, IntensityType >::InputVolumeConstPointer |
typedef MatrixProjectorType::InputImageIndexType itk::SimultaneousUnconstrainedMatrixReconRegnMetric< TScalarType, IntensityType >::InputVolumeIndexType |
typedef MatrixProjectorType::InputImagePointer itk::SimultaneousUnconstrainedMatrixReconRegnMetric< TScalarType, IntensityType >::InputVolumePointer |
typedef MatrixProjectorType::InputImagePointType itk::SimultaneousUnconstrainedMatrixReconRegnMetric< TScalarType, IntensityType >::InputVolumePointType |
typedef MatrixProjectorType::InputImageRegionType itk::SimultaneousUnconstrainedMatrixReconRegnMetric< TScalarType, IntensityType >::InputVolumeRegionType |
typedef MatrixProjectorType::InputImageSizeType itk::SimultaneousUnconstrainedMatrixReconRegnMetric< TScalarType, IntensityType >::InputVolumeSizeType |
typedef MatrixProjectorType::InputImageSpacingType itk::SimultaneousUnconstrainedMatrixReconRegnMetric< TScalarType, IntensityType >::InputVolumeSpacingType |
typedef MatrixProjectorType::InputImageType itk::SimultaneousUnconstrainedMatrixReconRegnMetric< TScalarType, IntensityType >::InputVolumeType |
typedef MatrixProjectorType::Pointer itk::SimultaneousUnconstrainedMatrixReconRegnMetric< TScalarType, IntensityType >::MatrixProjectorPointerType |
typedef itk::ForwardAndBackwardProjectionMatrix< TScalarType, IntensityType > itk::SimultaneousUnconstrainedMatrixReconRegnMetric< TScalarType, IntensityType >::MatrixProjectorType |
typedef SingleValuedCostFunction::MeasureType itk::SimultaneousUnconstrainedMatrixReconRegnMetric< TScalarType, IntensityType >::MeasureType |
typedef SingleValuedCostFunction::ParametersType itk::SimultaneousUnconstrainedMatrixReconRegnMetric< TScalarType, IntensityType >::ParametersType |
Type of the parameters.
typedef SmartPointer<Self> itk::SimultaneousUnconstrainedMatrixReconRegnMetric< TScalarType, IntensityType >::Pointer |
typedef itk::ProjectionGeometry< float > itk::SimultaneousUnconstrainedMatrixReconRegnMetric< TScalarType, IntensityType >::ProjectionGeometryType |
typedef SimultaneousUnconstrainedMatrixReconRegnMetric itk::SimultaneousUnconstrainedMatrixReconRegnMetric< TScalarType, IntensityType >::Self |
Standard class typedefs.
typedef vnl_sparse_matrix<TScalarType> itk::SimultaneousUnconstrainedMatrixReconRegnMetric< TScalarType, IntensityType >::SparseMatrixType |
Create a sparse matrix to store the affine transformation matrix coefficients
typedef SingleValuedCostFunction itk::SimultaneousUnconstrainedMatrixReconRegnMetric< TScalarType, IntensityType >::Superclass |
typedef vnl_vector<TScalarType> itk::SimultaneousUnconstrainedMatrixReconRegnMetric< TScalarType, IntensityType >::VectorType |
|
protected |
|
inlineprotectedvirtual |
|
virtual |
Run-time type information (and related methods).
|
virtual |
This method returns the derivative of the cost function corresponding to the specified parameters. This method set to protected to test whether the optimizer only ever calls GetValueAndDerivative() which case we can get away without performing the forward and back-projections for both GetValue() and GetDerivative().
unsigned int itk::SimultaneousUnconstrainedMatrixReconRegnMetric< TScalarType, IntensityType >::GetNumberOfParameters | ( | void | ) | const |
Return the number of parameters required by the Transform
|
virtual |
This method returns the value of the cost function corresponding to the specified parameters. This method set to protected to test whether the optimizer only ever calls GetValueAndDerivative() which case we can get away without performing the forward and back-projections for both GetValue() and GetDerivative().
|
virtual |
This method returns the value and derivative of the cost function corresponding to the specified parameters
void itk::SimultaneousUnconstrainedMatrixReconRegnMetric< TScalarType, IntensityType >::Initialise | ( | void | ) |
Initialise the metric
|
static |
Method for creation through the object factory.
|
protected |
|
inline |
Set the temporary projection image.
|
inline |
Set the input projection images.
|
inline |
Set the 3D reconstruction estimate input volume.
|
inline |
|
inline |
Set the size, resolution and origin of the input volume.
|
inline |
|
inline |
Set the 3D reconstruction estimate input volume as a vector form.
|
inline |
Set the number of the transformation parameters.
|
inline |
Set the transformation parameters as a vector form.
|
inline |
Set the projection geometry.
|
inline |
Set the total number of the pixels of the projection.
|
inline |
Set the total number of the pixels of the projection.
|
inline |
Set the total number of the pixels of the projection.
|
inline |
Set the total number of the voxels of the volume.
|
protected |
|
protected |
Vectors of the image and transformation parameters.
|
protected |
Here is problemtic: How to allocate a member variable to store and update the 12 affine parameters? All the attempts are failed at the moment.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |