19 #ifndef rtkSimplexSpectralProjectionsDecompositionImageFilter_h 20 #define rtkSimplexSpectralProjectionsDecompositionImageFilter_h 43 template <
typename DecomposedProjectionsType,
44 typename MeasuredProjectionsType,
71 #ifndef ITK_FUTURE_LEGACY_REMOVE 86 SetInputDecomposedProjections(
const DecomposedProjectionsType * DecomposedProjections);
87 typename DecomposedProjectionsType::ConstPointer
88 GetInputDecomposedProjections();
93 SetInputMeasuredProjections(
const MeasuredProjectionsType * SpectralProjections);
94 typename MeasuredProjectionsType::ConstPointer
95 GetInputMeasuredProjections();
100 SetDetectorResponse(
const DetectorResponseImageType * DetectorResponse);
101 typename DetectorResponseImageType::ConstPointer
102 GetDetectorResponse();
107 SetMaterialAttenuations(
const MaterialAttenuationsImageType * MaterialAttenuations);
108 typename MaterialAttenuationsImageType::ConstPointer
109 GetMaterialAttenuations();
114 SetInputIncidentSpectrum(
const IncidentSpectrumImageType * IncidentSpectrum);
116 SetInputSecondIncidentSpectrum(
const IncidentSpectrumImageType * SecondIncidentSpectrum);
117 #ifndef ITK_FUTURE_LEGACY_REMOVE 119 SetInputIncidentSpectrum(
const VectorSpectrumImageType * IncidentSpectrum);
121 SetInputSecondIncidentSpectrum(
const VectorSpectrumImageType * SecondIncidentSpectrum);
123 typename IncidentSpectrumImageType::ConstPointer
124 GetInputIncidentSpectrum();
125 typename IncidentSpectrumImageType::ConstPointer
126 GetInputSecondIncidentSpectrum();
130 itkGetMacro(NumberOfIterations,
unsigned int);
135 itkGetMacro(NumberOfEnergies,
unsigned int);
138 itkGetMacro(NumberOfMaterials,
unsigned int);
141 itkGetMacro(OptimizeWithRestarts,
bool);
147 itkGetMacro(NumberOfSpectralBins,
unsigned int);
149 itkSetMacro(OutputInverseCramerRaoLowerBound,
bool);
150 itkGetMacro(OutputInverseCramerRaoLowerBound,
bool);
153 itkGetMacro(OutputFischerMatrix,
bool);
156 itkGetMacro(LogTransformEachBin,
bool);
159 itkGetMacro(GuessInitialization,
bool);
162 itkGetMacro(IsSpectralCT,
bool);
169 GenerateOutputInformation()
override;
172 GenerateInputRequestedRegion()
override;
175 BeforeThreadedGenerateData()
override;
177 DynamicThreadedGenerateData(
const typename DecomposedProjectionsType::RegionType & outputRegionForThread)
override;
181 using Superclass::MakeOutput;
207 #ifndef ITK_FUTURE_LEGACY_REMOVE 209 typename FlattenVectorFilterType::Pointer m_FlattenFilter;
210 typename FlattenVectorFilterType::Pointer m_FlattenSecondFilter;
211 typename PermuteFilterType::Pointer m_PermuteFilter;
212 typename PermuteFilterType::Pointer m_PermuteSecondFilter;
220 #ifndef ITK_MANUAL_INSTANTIATION 221 # include "rtkSimplexSpectralProjectionsDecompositionImageFilter.hxx" DecomposedProjectionsType InputImageType
DecomposedProjectionsType OutputImageType
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
bool m_LogTransformEachBin
Re-writes a vector image as an image.
MaterialAttenuationsType m_MaterialAttenuations
MeanAttenuationInBinType m_MeanAttenuationInBin
bool m_OptimizeWithRestarts
unsigned int m_NumberOfEnergies
bool m_GuessInitialization