18 #ifndef rtkWeidingerForwardModelImageFilter_h 19 #define rtkWeidingerForwardModelImageFilter_h 25 # include <itkCudaImage.h> 41 template <
class TDecomposedProjections,
42 class TMeasuredProjections,
43 class TIncidentSpectrum,
64 static constexpr
unsigned int nBins = TMeasuredProjections::PixelType::Dimension;
65 static constexpr
unsigned int nMaterials = TDecomposedProjections::PixelType::Dimension;
68 using dataType =
typename TDecomposedProjections::PixelType::ValueType;
77 using TOutputImage2 = itk::CudaImage<TPixelOutput2, TDecomposedProjections::ImageDimension>;
91 SetInputDecomposedProjections(
const TDecomposedProjections * decomposedProjections);
93 SetInputMeasuredProjections(
const TMeasuredProjections * measuredProjections);
95 SetInputIncidentSpectrum(
const TIncidentSpectrum * incidentSpectrum);
96 #ifndef ITK_FUTURE_LEGACY_REMOVE 98 SetInputMaterialProjections(
const TDecomposedProjections * decomposedProjections);
100 SetInputPhotonCounts(
const TMeasuredProjections * measuredProjections);
102 SetInputSpectrum(
const TIncidentSpectrum * incidentSpectrum);
105 SetInputProjectionsOfOnes(
const TProjections * projectionsOfOnes);
126 GenerateInputRequestedRegion()
override;
133 DynamicThreadedGenerateData(
const typename TOutputImage1::RegionType & outputRegionForThread)
override;
143 typename TDecomposedProjections::ConstPointer
144 GetInputDecomposedProjections();
145 typename TMeasuredProjections::ConstPointer
146 GetInputMeasuredProjections();
147 typename TIncidentSpectrum::ConstPointer
148 GetInputIncidentSpectrum();
149 #ifndef ITK_FUTURE_LEGACY_REMOVE 150 typename TDecomposedProjections::ConstPointer
151 GetInputMaterialProjections();
152 typename TMeasuredProjections::ConstPointer
153 GetInputPhotonCounts();
154 typename TIncidentSpectrum::ConstPointer
157 typename TProjections::ConstPointer
158 GetInputProjectionsOfOnes();
169 #ifndef ITK_MANUAL_INSTANTIATION 170 # include "rtkWeidingerForwardModelImageFilter.hxx" DataObject::DataObjectIdentifierType DataObjectIdentifierType
unsigned long SizeValueType
itk::SizeValueType m_NumberOfProjectionsInIncidentSpectrum
DataObjectPointerArray::size_type DataObjectPointerArraySizeType
TDecomposedProjections TOutputImage1
typename TDecomposedProjections::PixelType::ValueType dataType
void VerifyInputInformation() const override
vnl_matrix< dataType > BinnedDetectorResponseType
MaterialAttenuationsType m_MaterialAttenuations
BinnedDetectorResponseType m_BinnedDetectorResponse
Performs intermediate computations in Weidinger2016.
vnl_matrix< dataType > MaterialAttenuationsType