15 #ifndef itkImageMatrixFormReconstructionMethod_h
16 #define itkImageMatrixFormReconstructionMethod_h
18 #include <itkProcessObject.h>
21 #include <itkSingleValuedNonLinearOptimizer.h>
42 template <
class IntensityType =
double>
99 itkSetObjectMacro( Optimizer, OptimizerType );
100 itkGetObjectMacro( Optimizer, OptimizerType );
103 itkSetObjectMacro( Metric, MetricType );
104 itkGetObjectMacro( Metric, MetricType );
115 void SetReconEstimate( MatrixFormReconstructionType *im3D);
118 void UpdateReconstructionEstimate( MatrixFormReconstructionType *im3D);
122 void UpdateInitialParameters(
void);
127 void UpdateReconstructionEstimateWithAverage( MatrixFormReconstructionType *im3D);
130 bool SetInputProjectionVolume( MatrixFormReconstructionType *im2D);
139 virtual void Initialise() throw (ExceptionObject);
143 MatrixFormReconstructionType *GetInput();
147 MatrixFormReconstructionOutputType *GetOutput();
150 MatrixFormReconstructionOutputType *GetReconstructedVolume()
const;
154 virtual DataObjectPointer MakeOutput(
unsigned int idx);
158 unsigned long GetMTime()
const;
163 void PrintSelf(std::ostream& os, Indent indent)
const;
173 void StartMatrixFormReconstruction(
void);
179 void StartOptimization(
void);
183 void GenerateData ();
188 void operator=(
const Self&);
190 bool m_FlagInitialised;
192 OptimizerPointer m_Optimizer;
193 MetricPointer m_Metric;
194 ProjectionGeometryPointer m_ProjectionGeometry;
196 MatrixFormReconstructionPointer m_VolumeEstimate;
198 ParametersType m_InitialParameters;
199 ParametersType m_LastParameters;
201 MatrixFormReconstructionSizeType m_ReconstructedVolumeSize;
202 MatrixFormReconstructionSpacingType m_ReconstructedVolumeSpacing;
203 MatrixFormReconstructionPointType m_ReconstructedVolumeOrigin;
206 ReconstructionUpdateCommandPointer m_ReconstructionUpdateCommand;
213 #ifndef ITK_MANUAL_INSTANTIATION
214 #include "itkImageMatrixFormReconstructionMethod.txx"
SmartPointer< Self > Pointer
Definition: itkProjectionGeometry.h:36
ImageType::SizeType SizeType
Definition: niftkMakeLapUSProbeBasicModel.cxx:31
Definition: niftkITKAffineResampleImage.cxx:74
ImageType::IndexType IndexType
Definition: niftkMakeLapUSProbeBasicModel.cxx:32
Abstract class to calculate the geometry of a CT or tomo machine.
Definition: itkProjectionGeometry.h:29
float PixelType
Definition: niftkBreastDCEandADC.cxx:88
ImageType::RegionType RegionType
Definition: niftkMakeLapUSProbeBasicModel.cxx:30
itk::SmartPointer< Self > Pointer
Definition: itkReconstructionUpdateCommand.h:41
Simultaneous itk::Image and itk::Array (and hence vnl_vector) class.
Override this class to redefine DoExecute().
Definition: itkReconstructionUpdateCommand.h:36