15 #ifndef itkSimultaneousUnconstrainedMatrixReconRegnMethod_h
16 #define itkSimultaneousUnconstrainedMatrixReconRegnMethod_h
18 #include <itkProcessObject.h>
21 #include <itkSingleValuedNonLinearOptimizer.h>
42 template <
class TScalarType =
double,
class IntensityType =
float>
102 itkSetObjectMacro( Optimizer, OptimizerType );
103 itkGetObjectMacro( Optimizer, OptimizerType );
106 itkSetObjectMacro( Metric, MetricType );
107 itkGetObjectMacro( Metric, MetricType );
134 { m_ReconRegnVolumeSize = reconRegnSize; };
136 {m_ReconRegnVolumeSpacing = reconRegnSpacing;};
138 {m_ReconRegnVolumeOrigin = reconRegnOrigin;};
141 virtual void Initialise() throw (ExceptionObject);
148 SimultaneousUnconstrainedReconRegnOutputType *GetOutput();
151 SimultaneousUnconstrainedReconRegnOutputType *GetReconstructedVolume() const;
155 virtual DataObjectPointer MakeOutput(
unsigned long int idx);
159 unsigned long GetMTime() const;
163 virtual ~SimultaneousUnconstrainedMatrixReconRegnMethod() {};
164 void PrintSelf(std::ostream& os, Indent indent)
const;
174 void StartSimultaneousUnconReconRegn(
void);
180 void StartOptimization(
void);
184 void GenerateData ();
189 void operator=(
const Self&);
191 bool m_FlagInitialised;
193 OptimizerPointer m_Optimizer;
194 MetricPointer m_Metric;
195 ProjectionGeometryPointer m_ProjectionGeometry;
199 SimultaneousUnconstrainedReconRegnPointer m_VolumeEstimate;
201 ParametersType m_InitialParameters;
202 ParametersType m_LastParameters;
204 SimultaneousUnconstrainedReconRegnSizeType m_ReconRegnVolumeSize;
205 SimultaneousUnconstrainedReconRegnSpacingType m_ReconRegnVolumeSpacing;
206 SimultaneousUnconstrainedReconRegnPointType m_ReconRegnVolumeOrigin;
209 ReconstructionUpdateCommandPointer m_ReconstructionUpdateCommand;
216 #ifndef ITK_MANUAL_INSTANTIATION
217 #include "itkSimultaneousUnconstrainedMatrixReconRegnMethod.txx"
SimultaneousUnconstrainedReconRegnType SimultaneousUnconstrainedReconRegnOutputType
Definition: itkSimultaneousUnconstrainedMatrixReconRegnMethod.h:97
MetricType::ParametersType ParametersType
Definition: itkSimultaneousUnconstrainedMatrixReconRegnMethod.h:93
ReconstructionUpdateCommand::Pointer ReconstructionUpdateCommandPointer
Definition: itkSimultaneousUnconstrainedMatrixReconRegnMethod.h:53
SmartPointer< Self > Pointer
Definition: itkProjectionGeometry.h:36
ImageType::SizeType SizeType
Definition: niftkMakeLapUSProbeBasicModel.cxx:31
void SetSimultaneousUnconReconRegnVolumeOrigin(SimultaneousUnconstrainedReconRegnPointType &reconRegnOrigin)
Definition: itkSimultaneousUnconstrainedMatrixReconRegnMethod.h:137
SimultaneousUnconstrainedReconRegnOutputType::Pointer SimultaneousUnconstrainedReconRegnOutputPointer
Definition: itkSimultaneousUnconstrainedMatrixReconRegnMethod.h:98
virtual void GenerateOutputInformation()
Definition: itkSimultaneousUnconstrainedMatrixReconRegnMethod.h:168
Definition: niftkITKAffineResampleImage.cxx:74
SimultaneousUnconstrainedReconRegnType::RegionType SimultaneousUnconstrainedReconRegnRegionType
Definition: itkSimultaneousUnconstrainedMatrixReconRegnMethod.h:71
ImageType::IndexType IndexType
Definition: niftkMakeLapUSProbeBasicModel.cxx:32
OptimizerType::Pointer OptimizerPointer
Definition: itkSimultaneousUnconstrainedMatrixReconRegnMethod.h:80
SmartPointer< Self > Pointer
Definition: itkSimultaneousUnconstrainedMatrixReconRegnMetric.h:45
SimultaneousUnconstrainedReconRegnType::IndexType SimultaneousUnconstrainedReconRegnIndexType
Definition: itkSimultaneousUnconstrainedMatrixReconRegnMethod.h:76
SingleValuedCostFunction::ParametersType ParametersType
Definition: itkSimultaneousUnconstrainedMatrixReconRegnMetric.h:84
Abstract class to calculate the geometry of a CT or tomo machine.
Definition: itkProjectionGeometry.h:29
itk::ProjectionGeometry< IntensityType > ProjectionGeometryType
The projection geometry type.
Definition: itkSimultaneousUnconstrainedMatrixReconRegnMethod.h:87
float PixelType
Definition: niftkBreastDCEandADC.cxx:88
ProcessObject Superclass
Definition: itkSimultaneousUnconstrainedMatrixReconRegnMethod.h:48
ProjectionGeometryType::Pointer ProjectionGeometryPointer
Definition: itkSimultaneousUnconstrainedMatrixReconRegnMethod.h:88
Base class for Image Reconstruction Methods.
Definition: itkSimultaneousUnconstrainedMatrixReconRegnMethod.h:43
SimultaneousUnconstrainedReconRegnType::PointType SimultaneousUnconstrainedReconRegnPointType
Definition: itkSimultaneousUnconstrainedMatrixReconRegnMethod.h:75
ImageType::RegionType RegionType
Definition: niftkMakeLapUSProbeBasicModel.cxx:30
Image< IntensityType, 3 > SimultaneousUnconstrainedReconRegnType
Definition: itkSimultaneousUnconstrainedMatrixReconRegnMethod.h:69
vnl_vector< IntensityType > VectorType
Type of the vector to store the two input vectors.
Definition: itkSimultaneousUnconstrainedMatrixReconRegnMethod.h:59
void SetSimultaneousUnconReconRegnVolumeSpacing(SimultaneousUnconstrainedReconRegnSpacingType &reconRegnSpacing)
Definition: itkSimultaneousUnconstrainedMatrixReconRegnMethod.h:135
itk::SmartPointer< Self > Pointer
Definition: itkReconstructionUpdateCommand.h:41
SimultaneousUnconstrainedReconRegnType::SizeType SimultaneousUnconstrainedReconRegnSizeType
Definition: itkSimultaneousUnconstrainedMatrixReconRegnMethod.h:73
SimultaneousUnconstrainedReconRegnType::PixelType SimultaneousUnconstrainedReconRegnPixelType
Definition: itkSimultaneousUnconstrainedMatrixReconRegnMethod.h:72
SingleValuedNonLinearOptimizer OptimizerType
Type of the optimizer.
Definition: itkSimultaneousUnconstrainedMatrixReconRegnMethod.h:79
SimultaneousUnconstrainedMatrixReconRegnMethod Self
Definition: itkSimultaneousUnconstrainedMatrixReconRegnMethod.h:47
SimultaneousUnconstrainedReconRegnType::SpacingType SimultaneousUnconstrainedReconRegnSpacingType
Definition: itkSimultaneousUnconstrainedMatrixReconRegnMethod.h:74
itk::ReconstructionUpdateCommand ReconstructionUpdateCommandType
Definition: itkSimultaneousUnconstrainedMatrixReconRegnMethod.h:52
SmartPointer< const Self > ConstPointer
Definition: itkSimultaneousUnconstrainedMatrixReconRegnMethod.h:50
SimultaneousUnconstrainedReconRegnType::Pointer SimultaneousUnconstrainedReconRegnPointer
Definition: itkSimultaneousUnconstrainedMatrixReconRegnMethod.h:70
Simultaneous itk::Image and itk::Array (and hence vnl_vector) class.
void SetSimultaneousUnconReconRegnVolumeSize(SimultaneousUnconstrainedReconRegnSizeType &reconRegnSize)
Set the 3D reconstruction estimate volume.
Definition: itkSimultaneousUnconstrainedMatrixReconRegnMethod.h:133
Class to compute the difference between a reconstruction estimate and the target set of 2D projection...
Definition: itkSimultaneousUnconstrainedMatrixReconRegnMetric.h:38
SimultaneousUnconstrainedMatrixReconRegnMetric< double, float > MetricType
The type of the metric.
Definition: itkSimultaneousUnconstrainedMatrixReconRegnMethod.h:83
SmartPointer< Self > Pointer
Definition: itkSimultaneousUnconstrainedMatrixReconRegnMethod.h:49
SimultaneousUnconstrainedReconRegnOutputType::ConstPointer SimultaneousUnconstrainedReconRegnOutputConstPointer
Definition: itkSimultaneousUnconstrainedMatrixReconRegnMethod.h:99
MetricType::Pointer MetricPointer
Definition: itkSimultaneousUnconstrainedMatrixReconRegnMethod.h:84
Override this class to redefine DoExecute().
Definition: itkReconstructionUpdateCommand.h:36