19 #ifndef rtkSimplexSpectralProjectionsDecompositionImageFilter_h 20 #define rtkSimplexSpectralProjectionsDecompositionImageFilter_h 40 template <
typename DecomposedProjectionsType,
41 typename MeasuredProjectionsType,
76 SetInputDecomposedProjections(
const DecomposedProjectionsType * DecomposedProjections);
77 typename DecomposedProjectionsType::ConstPointer
78 GetInputDecomposedProjections();
83 SetInputMeasuredProjections(
const MeasuredProjectionsType * SpectralProjections);
84 typename MeasuredProjectionsType::ConstPointer
85 GetInputMeasuredProjections();
90 SetDetectorResponse(
const DetectorResponseImageType * DetectorResponse);
91 typename DetectorResponseImageType::ConstPointer
92 GetDetectorResponse();
97 SetMaterialAttenuations(
const MaterialAttenuationsImageType * MaterialAttenuations);
98 typename MaterialAttenuationsImageType::ConstPointer
99 GetMaterialAttenuations();
104 SetInputIncidentSpectrum(
const IncidentSpectrumImageType * IncidentSpectrum);
106 SetInputSecondIncidentSpectrum(
const IncidentSpectrumImageType * SecondIncidentSpectrum);
107 typename IncidentSpectrumImageType::ConstPointer
108 GetInputIncidentSpectrum();
109 typename IncidentSpectrumImageType::ConstPointer
110 GetInputSecondIncidentSpectrum();
114 itkGetMacro(NumberOfIterations,
unsigned int);
119 itkGetMacro(NumberOfEnergies,
unsigned int);
122 itkGetMacro(NumberOfMaterials,
unsigned int);
125 itkGetMacro(OptimizeWithRestarts,
bool);
131 itkGetMacro(NumberOfSpectralBins,
unsigned int);
133 itkSetMacro(OutputInverseCramerRaoLowerBound,
bool);
134 itkGetMacro(OutputInverseCramerRaoLowerBound,
bool);
137 itkGetMacro(OutputFischerMatrix,
bool);
140 itkGetMacro(LogTransformEachBin,
bool);
143 itkGetMacro(GuessInitialization,
bool);
146 itkGetMacro(IsSpectralCT,
bool);
153 GenerateOutputInformation()
override;
156 GenerateInputRequestedRegion()
override;
159 BeforeThreadedGenerateData()
override;
161 DynamicThreadedGenerateData(
const typename DecomposedProjectionsType::RegionType & outputRegionForThread)
override;
165 using Superclass::MakeOutput;
196 #ifndef ITK_MANUAL_INSTANTIATION 197 # include "rtkSimplexSpectralProjectionsDecompositionImageFilter.hxx" DecomposedProjectionsType InputImageType
Superclass::DataObjectPointerArraySizeType DataObjectPointerArraySizeType
DataObjectPointerArray::size_type DataObjectPointerArraySizeType
vnl_matrix< double > DetectorResponseType
bool m_OutputFischerMatrix
bool m_OutputInverseCramerRaoLowerBound
ThresholdsType m_Thresholds
void VerifyInputInformation() const override
DetectorResponseType m_DetectorResponse
unsigned int m_NumberOfMaterials
Decomposition of spectral projection images into material projections.
vnl_matrix< double > MaterialAttenuationsType
#define itkSetMacro(name, type)
unsigned int m_NumberOfIterations
unsigned int m_NumberOfSpectralBins
TOutputImage OutputImageType
bool m_LogTransformEachBin
MaterialAttenuationsType m_MaterialAttenuations
MeanAttenuationInBinType m_MeanAttenuationInBin
bool m_OptimizeWithRestarts
unsigned int m_NumberOfEnergies
bool m_GuessInitialization