15 #ifndef itkImageMatrixFormReconstructionMetric_h
16 #define itkImageMatrixFormReconstructionMetric_h
18 #include <itkConceptChecking.h>
19 #include <itkSingleValuedCostFunction.h>
21 #include <itkForwardAndBackwardProjectionMatrix.h>
36 template <
class IntensityType =
double>
78 typedef typename SingleValuedCostFunction::MeasureType
MeasureType;
82 void SetInputVolume( InputVolumePointer inVolume ) { m_inVolume = inVolume; }
94 void SetTotalVoxel(
const unsigned long int &totalSize3D ) { m_totalSize3D = totalSize3D; }
97 void SetTotalPixel(
const unsigned long int &totalSize2D ) { m_totalSize2D = totalSize2D; }
115 unsigned int GetNumberOfParameters(
void)
const;
118 const InputVolumeType *GetReconstructedVolume(
void) {
120 return m_FwdAndBackProjDiffFilter->GetPointerToInputVolume();
125 void SetParametersAddress(
const ParametersType & parameters )
const;
128 void SetDerivativesAddress(
const DerivativeType & derivatives )
const;
131 void SetParameters(
const ParametersType & parameters )
const;
135 void SetIterativeReconEstimateFile(
std::string filename ) {
136 fileOutputCurrentEstimate = filename;
141 void SetIterativeReconEstimateSuffix(
std::string suffix ) {
142 suffixOutputCurrentEstimate = suffix;
148 virtual void GetValueAndDerivative(
const ParametersType & parameters,
150 DerivativeType & derivative )
const;
158 virtual MeasureType GetValue(
const ParametersType & parameters )
const;
166 virtual void GetDerivative(
const ParametersType & parameters,
167 DerivativeType & derivative )
const;
172 ImageMatrixFormReconstructionMetric();
175 void PrintSelf(std::ostream& os, Indent indent)
const;
210 void operator=(
const Self&);
216 #ifndef ITK_MANUAL_INSTANTIATION
217 #include "itkImageMatrixFormReconstructionMetric.txx"
InputImageType::PointType InputImagePointType
Definition: Projection/itkForwardAndBackwardProjectionMatrix.h:62
OutputImageType::SizeType OutputImageSizeType
Definition: Projection/itkForwardAndBackwardProjectionMatrix.h:70
SmartPointer< Self > Pointer
Definition: itkProjectionGeometry.h:36
Class to apply the affine transformation matrix to a 3D image.
Definition: Projection/itkForwardAndBackwardProjectionMatrix.h:37
Definition: niftkITKAffineResampleImage.cxx:74
Abstract class to calculate the geometry of a CT or tomo machine.
Definition: itkProjectionGeometry.h:29
GLsizei const GLfloat * value
Definition: glew.h:1833
InputImageType::IndexType InputImageIndexType
Definition: Projection/itkForwardAndBackwardProjectionMatrix.h:63
InputImageType::Pointer InputImagePointer
Definition: Projection/itkForwardAndBackwardProjectionMatrix.h:56
InputImageType::SpacingType InputImageSpacingType
Definition: Projection/itkForwardAndBackwardProjectionMatrix.h:61
InputImageType::RegionType InputImageRegionType
Definition: Projection/itkForwardAndBackwardProjectionMatrix.h:58
OutputImageType::ConstPointer OutputImageConstPointer
Definition: Projection/itkForwardAndBackwardProjectionMatrix.h:67
InputImageType::ConstPointer InputImageConstPointer
Definition: Projection/itkForwardAndBackwardProjectionMatrix.h:57
OutputImageType::Pointer OutputImagePointer
Definition: Projection/itkForwardAndBackwardProjectionMatrix.h:66
Simultaneous itk::Image and itk::Array (and hence vnl_vector) class.
InputImageType::SizeType InputImageSizeType
Definition: Projection/itkForwardAndBackwardProjectionMatrix.h:60
SmartPointer< Self > Pointer
Definition: Projection/itkForwardAndBackwardProjectionMatrix.h:43
GLsizei const GLcharARB ** string
Definition: glew.h:5194