15 #ifndef itkSimultaneousReconstructionRegistrationMetric_h
16 #define itkSimultaneousReconstructionRegistrationMetric_h
18 #include <itkImageToImageFilter.h>
19 #include <itkConceptChecking.h>
20 #include <itkSingleValuedCostFunction.h>
36 template <
class IntensityType =
float>
74 typedef typename SingleValuedCostFunction::MeasureType
MeasureType;
78 void SetInputVolume( InputVolumeType *im3D );
81 void SetInputProjectionVolumeOne( InputProjectionVolumeType *im2DNumberOne );
82 void SetInputProjectionVolumeTwo( InputProjectionVolumeType *im2DNumberTwo );
85 void SetProjectionGeometry( ProjectionGeometryType *projGeometry );
88 unsigned int GetNumberOfParameters(
void)
const;
92 return m_FwdAndBackProjDiffFilter->GetPointerToInputVolume();
97 void SetParametersAddress(
const ParametersType & parameters )
const;
100 void SetDerivativesAddress(
const DerivativeType & derivatives )
const;
103 void SetParameters(
const ParametersType & parameters )
const;
106 void Initialise(
void) {m_FwdAndBackProjDiffFilter->Initialise();}
110 virtual void GetValueAndDerivative(
const ParametersType & parameters,
112 DerivativeType & derivative )
const;
120 virtual MeasureType GetValue(
const ParametersType & parameters )
const;
128 virtual void GetDerivative(
const ParametersType & parameters,
129 DerivativeType & derivative )
const;
137 void PrintSelf(std::ostream& os, Indent indent)
const;
145 void operator=(
const Self&);
151 #ifndef ITK_MANUAL_INSTANTIATION
152 #include "itkSimultaneousReconstructionRegistrationMetric.txx"
SingleValuedCostFunction::DerivativeType DerivativeType
Definition: itkSimultaneousReconstructionRegistrationMetric.h:75
SingleValuedCostFunction Superclass
Definition: itkSimultaneousReconstructionRegistrationMetric.h:43
SingleValuedCostFunction::MeasureType MeasureType
Definition: itkSimultaneousReconstructionRegistrationMetric.h:74
ForwardProjectionWithAffineTransformDifferenceFilterType::OutputBackProjectedDifferencesType OutputBackProjectedDifferencesType
Definition: itkSimultaneousReconstructionRegistrationMetric.h:68
ForwardProjectionWithAffineTransformDifferenceFilterPointerType m_FwdAndBackProjDiffFilter
Create and store the Euler affine transform matrix.
Definition: itkSimultaneousReconstructionRegistrationMetric.h:140
void Initialise(void)
Definition: itkSimultaneousReconstructionRegistrationMetric.h:106
ForwardProjectionWithAffineTransformDifferenceFilterType::InputVolumePointer InputVolumePointer
Definition: itkSimultaneousReconstructionRegistrationMetric.h:60
SimultaneousReconstructionRegistrationMetric Self
Definition: itkSimultaneousReconstructionRegistrationMetric.h:42
Definition: niftkITKAffineResampleImage.cxx:74
itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType > ForwardProjectionWithAffineTransformDifferenceFilterType
Definition: itkSimultaneousReconstructionRegistrationMetric.h:51
ForwardProjectionWithAffineTransformDifferenceFilterType::OutputBackProjectedDifferencesPointer OutputBackProjectedDifferencesPointer
Definition: itkSimultaneousReconstructionRegistrationMetric.h:69
ForwardProjectionWithAffineTransformDifferenceFilterType::InputVolumeType InputVolumeType
Definition: itkSimultaneousReconstructionRegistrationMetric.h:59
Abstract class to calculate the geometry of a CT or tomo machine.
Definition: itkProjectionGeometry.h:29
GLsizei const GLfloat * value
Definition: glew.h:1833
ForwardProjectionWithAffineTransformDifferenceFilterType::Pointer ForwardProjectionWithAffineTransformDifferenceFilterPointerType
Definition: itkSimultaneousReconstructionRegistrationMetric.h:57
ForwardProjectionWithAffineTransformDifferenceFilterType::InputProjectionVolumePointer InputProjectionVolumePointer
Definition: itkSimultaneousReconstructionRegistrationMetric.h:63
ForwardProjectionWithAffineTransformDifferenceFilterType::ProjectionGeometryPointer ProjectionGeometryPointer
Definition: itkSimultaneousReconstructionRegistrationMetric.h:66
SmartPointer< Self > Pointer
Definition: itkSimultaneousReconstructionRegistrationMetric.h:44
SmartPointer< const Self > ConstPointer
Definition: itkSimultaneousReconstructionRegistrationMetric.h:45
Class to compute the difference between a reconstruction estimate and the target set of 2D projection...
Definition: itkSimultaneousReconstructionRegistrationMetric.h:37
Simultaneous itk::Image and itk::Array (and hence vnl_vector) class.
const InputVolumeType * GetReconstructedVolume(void)
Get the 3D reconstructed volume.
Definition: itkSimultaneousReconstructionRegistrationMetric.h:91
ForwardProjectionWithAffineTransformDifferenceFilterType::ProjectionGeometryType ProjectionGeometryType
Definition: itkSimultaneousReconstructionRegistrationMetric.h:65
virtual ~SimultaneousReconstructionRegistrationMetric()
Definition: itkSimultaneousReconstructionRegistrationMetric.h:135
ForwardProjectionWithAffineTransformDifferenceFilterType::InputProjectionVolumeType InputProjectionVolumeType
Definition: itkSimultaneousReconstructionRegistrationMetric.h:62
SingleValuedCostFunction::ParametersType ParametersType
Definition: itkSimultaneousReconstructionRegistrationMetric.h:73