15 #ifndef itkImageMatrixFormReconTwoDataSetsWithoutRegMetric_h
16 #define itkImageMatrixFormReconTwoDataSetsWithoutRegMetric_h
18 #include <itkConceptChecking.h>
19 #include <itkSingleValuedCostFunction.h>
21 #include <itkForwardAndBackwardProjectionMatrix.h>
22 #include <itkEulerAffineTransformMatrixAndItsVariations.h>
36 template <
class IntensityType =
double>
81 typedef typename SingleValuedCostFunction::MeasureType
MeasureType;
85 void SetInputVolume( InputVolumePointer inVolume ) { m_inVolume = inVolume; }
92 { m_inProjOne = inProjectionOne; m_inProjTwo = inProjectionTwo; }
98 void SetTotalVoxel(
const unsigned long int &totalSize3D ) { m_totalSize3D = totalSize3D; }
101 void SetTotalPixel(
const unsigned long int &totalSize2D ) { m_totalSize2D = totalSize2D; }
119 unsigned int GetNumberOfParameters(
void)
const;
122 const InputVolumeType *GetReconstructedVolume(
void) {
124 return m_FwdAndBackProjDiffFilter->GetPointerToInputVolume();
129 void SetParametersAddress(
const ParametersType & parameters )
const;
132 void SetDerivativesAddress(
const DerivativeType & derivatives )
const;
135 void SetParameters(
const ParametersType & parameters )
const;
139 void SetIterativeReconEstimateFile(
std::string filename ) {
140 fileOutputCurrentEstimate = filename;
145 void SetIterativeReconEstimateSuffix(
std::string suffix ) {
146 suffixOutputCurrentEstimate = suffix;
152 virtual void GetValueAndDerivative(
const ParametersType & parameters,
154 DerivativeType & derivative )
const;
162 virtual MeasureType GetValue(
const ParametersType & parameters )
const;
170 virtual void GetDerivative(
const ParametersType & parameters,
171 DerivativeType & derivative )
const;
176 ImageMatrixFormReconTwoDataSetsWithoutRegMetric();
179 void PrintSelf(std::ostream& os, Indent indent)
const;
215 void operator=(
const Self&);
221 #ifndef ITK_MANUAL_INSTANTIATION
222 #include "itkImageMatrixFormReconTwoDataSetsWithoutRegMetric.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