15 #ifndef itkImageReconstructionMetric_h
16 #define itkImageReconstructionMetric_h
18 #include <itkImageToImageFilter.h>
19 #include <itkConceptChecking.h>
20 #include <itkSingleValuedCostFunction.h>
35 template <
class IntensityType =
float>
73 typedef typename SingleValuedCostFunction::MeasureType
MeasureType;
77 void SetInputVolume( InputVolumeType *im3D );
80 void SetInputProjectionVolume( InputProjectionVolumeType *im2D );
83 void SetProjectionGeometry( ProjectionGeometryType *projGeometry );
86 unsigned int GetNumberOfParameters(
void)
const override;
90 return m_FwdAndBackProjDiffFilter->GetPointerToInputVolume();
95 void SetParametersAddress(
const ParametersType & parameters )
const;
98 void SetDerivativesAddress(
const DerivativeType & derivatives )
const;
101 void SetParameters(
const ParametersType & parameters )
const;
106 fileOutputCurrentEstimate = filename;
112 suffixOutputCurrentEstimate = suffix;
116 void Initialise(
void) {m_FwdAndBackProjDiffFilter->Initialise();}
120 virtual void GetValueAndDerivative(
const ParametersType & parameters,
122 DerivativeType & derivative )
const override;
130 virtual MeasureType GetValue(
const ParametersType & parameters )
const override;
138 virtual void GetDerivative(
const ParametersType & parameters,
139 DerivativeType & derivative )
const override;
147 void PrintSelf(std::ostream& os, Indent indent)
const override;
162 void operator=(
const Self&);
168 #ifndef ITK_MANUAL_INSTANTIATION
169 #include "itkImageReconstructionMetric.txx"
ForwardAndBackProjectionDifferenceFilterType::OutputBackProjectedDifferencesType OutputBackProjectedDifferencesType
Definition: itkImageReconstructionMetric.h:67
void SetIterativeReconEstimateFile(std::string filename)
Definition: itkImageReconstructionMetric.h:105
SmartPointer< const Self > ConstPointer
Definition: itkImageReconstructionMetric.h:44
SingleValuedCostFunction::MeasureType MeasureType
Definition: itkImageReconstructionMetric.h:73
SmartPointer< Self > Pointer
Definition: itkImageReconstructionMetric.h:43
virtual ~ImageReconstructionMetric()
Definition: itkImageReconstructionMetric.h:145
void Initialise(void)
Definition: itkImageReconstructionMetric.h:116
Class to compute the difference between a reconstruction estimate and the target set of 2D projection...
Definition: itkForwardAndBackProjectionDifferenceFilter.h:43
ForwardAndBackProjectionDifferenceFilterType::InputVolumePointer InputVolumePointer
Definition: itkImageReconstructionMetric.h:59
ForwardAndBackProjectionDifferenceFilterType::Pointer ForwardAndBackProjectionDifferenceFilterPointerType
Definition: itkImageReconstructionMetric.h:56
ForwardAndBackProjectionDifferenceFilterType::InputProjectionVolumePointer InputProjectionVolumePointer
Definition: itkImageReconstructionMetric.h:62
Definition: niftkITKAffineResampleImage.cxx:74
ImageReconstructionMetric Self
Definition: itkImageReconstructionMetric.h:41
SingleValuedCostFunction Superclass
Definition: itkImageReconstructionMetric.h:42
ForwardAndBackProjectionDifferenceFilterType::ProjectionGeometryType ProjectionGeometryType
Definition: itkImageReconstructionMetric.h:64
ProjectionGeometryType::Pointer ProjectionGeometryPointer
Definition: itkForwardAndBackProjectionDifferenceFilter.h:113
itk::ForwardAndBackProjectionDifferenceFilter< IntensityType > ForwardAndBackProjectionDifferenceFilterType
Definition: itkImageReconstructionMetric.h:50
OutputBackProjectedDifferencesType::Pointer OutputBackProjectedDifferencesPointer
Definition: itkForwardAndBackProjectionDifferenceFilter.h:81
Abstract class to calculate the geometry of a CT or tomo machine.
Definition: itkProjectionGeometry.h:29
SingleValuedCostFunction::ParametersType ParametersType
Definition: itkImageReconstructionMetric.h:72
GLsizei const GLfloat * value
Definition: glew.h:1833
InputVolumeType::Pointer InputVolumePointer
Definition: itkForwardAndBackProjectionDifferenceFilter.h:64
const InputVolumeType * GetReconstructedVolume(void)
Get the 3D reconstructed volume.
Definition: itkImageReconstructionMetric.h:89
SmartPointer< Self > Pointer
Definition: itkForwardAndBackProjectionDifferenceFilter.h:53
Class to compute the difference between a reconstruction estimate and the target set of 2D projection...
Definition: itkImageReconstructionMetric.h:36
ForwardAndBackProjectionDifferenceFilterType::InputProjectionVolumeType InputProjectionVolumeType
Definition: itkImageReconstructionMetric.h:61
ForwardAndBackProjectionDifferenceFilterType::InputVolumeType InputVolumeType
Definition: itkImageReconstructionMetric.h:58
std::string fileOutputCurrentEstimate
Definition: itkImageReconstructionMetric.h:151
std::string suffixOutputCurrentEstimate
Definition: itkImageReconstructionMetric.h:154
ForwardAndBackProjectionDifferenceFilterType::OutputBackProjectedDifferencesPointer OutputBackProjectedDifferencesPointer
Definition: itkImageReconstructionMetric.h:68
SingleValuedCostFunction::DerivativeType DerivativeType
Definition: itkImageReconstructionMetric.h:74
ForwardAndBackProjectionDifferenceFilterType::ProjectionGeometryPointer ProjectionGeometryPointer
Definition: itkImageReconstructionMetric.h:65
Simultaneous itk::Image and itk::Array (and hence vnl_vector) class.
InputProjectionVolumeType::Pointer InputProjectionVolumePointer
Definition: itkForwardAndBackProjectionDifferenceFilter.h:73
ForwardAndBackProjectionDifferenceFilterPointerType m_FwdAndBackProjDiffFilter
The filter to perform the forward and back-projection.
Definition: itkImageReconstructionMetric.h:157
void SetIterativeReconEstimateSuffix(std::string suffix)
Definition: itkImageReconstructionMetric.h:111
GLsizei const GLcharARB ** string
Definition: glew.h:5194