19 #ifndef rtkSimplexSpectralProjectionsDecompositionImageFilter_h 20 #define rtkSimplexSpectralProjectionsDecompositionImageFilter_h 40 template <
typename DecomposedProjectionsType,
41 typename MeasuredProjectionsType,
72 #ifdef itkOverrideGetNameOfClassMacro 81 SetInputDecomposedProjections(
const DecomposedProjectionsType * DecomposedProjections);
82 typename DecomposedProjectionsType::ConstPointer
83 GetInputDecomposedProjections();
88 SetInputMeasuredProjections(
const MeasuredProjectionsType * SpectralProjections);
89 typename MeasuredProjectionsType::ConstPointer
90 GetInputMeasuredProjections();
95 SetDetectorResponse(
const DetectorResponseImageType * DetectorResponse);
96 typename DetectorResponseImageType::ConstPointer
97 GetDetectorResponse();
102 SetMaterialAttenuations(
const MaterialAttenuationsImageType * MaterialAttenuations);
103 typename MaterialAttenuationsImageType::ConstPointer
104 GetMaterialAttenuations();
109 SetInputIncidentSpectrum(
const IncidentSpectrumImageType * IncidentSpectrum);
111 SetInputSecondIncidentSpectrum(
const IncidentSpectrumImageType * SecondIncidentSpectrum);
112 typename IncidentSpectrumImageType::ConstPointer
113 GetInputIncidentSpectrum();
114 typename IncidentSpectrumImageType::ConstPointer
115 GetInputSecondIncidentSpectrum();
119 itkGetMacro(NumberOfIterations,
unsigned int);
124 itkGetMacro(NumberOfEnergies,
unsigned int);
127 itkGetMacro(NumberOfMaterials,
unsigned int);
130 itkGetMacro(OptimizeWithRestarts,
bool);
136 itkGetMacro(NumberOfSpectralBins,
unsigned int);
138 itkSetMacro(OutputInverseCramerRaoLowerBound,
bool);
139 itkGetMacro(OutputInverseCramerRaoLowerBound,
bool);
142 itkGetMacro(OutputFischerMatrix,
bool);
145 itkGetMacro(LogTransformEachBin,
bool);
148 itkGetMacro(GuessInitialization,
bool);
151 itkGetMacro(IsSpectralCT,
bool);
158 GenerateOutputInformation()
override;
161 GenerateInputRequestedRegion()
override;
164 BeforeThreadedGenerateData()
override;
166 DynamicThreadedGenerateData(
const typename DecomposedProjectionsType::RegionType & outputRegionForThread)
override;
170 using Superclass::MakeOutput;
201 #ifndef ITK_MANUAL_INSTANTIATION 202 # 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