18 #ifndef rtkWeidingerForwardModelImageFilter_h 19 #define rtkWeidingerForwardModelImageFilter_h 25 # include <itkCudaImage.h> 41 template <
class TMaterialProjections,
64 static constexpr
unsigned int nBins = TPhotonCounts::PixelType::Dimension;
65 static constexpr
unsigned int nMaterials = TMaterialProjections::PixelType::Dimension;
68 using dataType =
typename TMaterialProjections::PixelType::ValueType;
77 using TOutputImage2 = itk::CudaImage<TPixelOutput2, TMaterialProjections::ImageDimension>;
91 SetInputMaterialProjections(
const TMaterialProjections * materialProjections);
93 SetInputPhotonCounts(
const TPhotonCounts * photonCounts);
95 SetInputSpectrum(
const TSpectrum * spectrum);
97 SetInputProjectionsOfOnes(
const TProjections * projectionsOfOnes);
118 GenerateInputRequestedRegion()
override;
125 DynamicThreadedGenerateData(
const typename TOutputImage1::RegionType & outputRegionForThread)
override;
135 typename TMaterialProjections::ConstPointer
136 GetInputMaterialProjections();
137 typename TPhotonCounts::ConstPointer
138 GetInputPhotonCounts();
139 typename TSpectrum::ConstPointer
141 typename TProjections::ConstPointer
142 GetInputProjectionsOfOnes();
153 #ifndef ITK_MANUAL_INSTANTIATION 154 # include "rtkWeidingerForwardModelImageFilter.hxx" DataObject::DataObjectIdentifierType DataObjectIdentifierType
typename TMaterialProjections::PixelType::ValueType dataType
vnl_matrix< dataType > MaterialAttenuationsType
DataObjectPointerArray::size_type DataObjectPointerArraySizeType
unsigned long SizeValueType
vnl_matrix< dataType > BinnedDetectorResponseType
MaterialAttenuationsType m_MaterialAttenuations
BinnedDetectorResponseType m_BinnedDetectorResponse
Performs intermediate computations in Weidinger2016.
TMaterialProjections TOutputImage1
void VerifyInputInformation() const override
itk::SizeValueType m_NumberOfProjectionsInSpectrum