19 #ifndef rtkProjectionsReader_h 20 #define rtkProjectionsReader_h 124 template <
class TOutputImage>
139 #ifdef itkOverrideGetNameOfClassMacro 167 static constexpr
unsigned int OutputImageDimension = TOutputImage::ImageDimension;
174 if (m_FileNames != name)
180 const FileNamesContainer &
189 itkGetConstMacro(Origin, OutputImagePointType);
193 itkGetConstMacro(Spacing, OutputImageSpacingType);
196 itkGetConstMacro(Direction, OutputImageDirectionType);
199 itkSetMacro(UpperBoundaryCropSize, OutputImageSizeType);
200 itkGetConstMacro(UpperBoundaryCropSize, OutputImageSizeType);
201 itkSetMacro(LowerBoundaryCropSize, OutputImageSizeType);
202 itkGetConstMacro(LowerBoundaryCropSize, OutputImageSizeType);
207 itkGetConstReferenceMacro(ShrinkFactors, ShrinkFactorsType);
212 itkGetConstReferenceMacro(MedianRadius, MedianRadiusType);
213 itkGetMacro(ConditionalMedianThresholdMultiplier,
double);
214 itkSetMacro(ConditionalMedianThresholdMultiplier,
double);
218 itkGetMacro(AirThreshold,
double);
222 itkGetMacro(ScatterToPrimaryRatio,
double);
225 itkGetMacro(NonNegativityConstraintThreshold,
double);
226 itkSetMacro(NonNegativityConstraintThreshold,
double);
232 itkGetMacro(I0,
double);
239 itkGetMacro(IDark,
double);
244 itkGetMacro(WaterPrecorrectionCoefficients, WaterPrecorrectionVectorType);
248 if (this->m_WaterPrecorrectionCoefficients != _arg)
250 this->m_WaterPrecorrectionCoefficients = _arg;
259 itkGetConstMacro(ComputeLineIntegral,
bool);
260 itkBooleanMacro(ComputeLineIntegral);
265 itkGetMacro(VectorComponent,
unsigned int);
282 GenerateOutputInformation()
override;
288 PrintSelf(std::ostream & os,
itk::Indent indent)
const override;
292 GenerateData()
override;
301 template <
class TInputImage>
303 PropagateParametersToMiniPipeline();
350 double m_AirThreshold{ 32000 };
351 double m_ScatterToPrimaryRatio{ 0. };
354 double m_IDark{ 0. };
355 double m_ConditionalMedianThresholdMultiplier{ 1. };
357 bool m_ComputeLineIntegral{
true };
358 unsigned int m_VectorComponent{ 0 };
364 #ifndef ITK_MANUAL_INSTANTIATION 365 # include "rtkProjectionsReader.hxx" 368 #endif // rtkProjectionsReader_h typename OutputImageType::SpacingType OutputImageSpacingType
typename OutputImageType::Pointer OutputImagePointer
OutputImageDirectionType m_Direction
const FileNamesContainer & GetFileNames() const
Performs the classical water precorrection for beam hardening (Kachelriess, Med. Phys. 2006)
OutputImagePointType m_Origin
itk::ProcessObject::Pointer m_VectorComponentSelectionFilter
itk::ProcessObject::Pointer m_ScatterFilter
static constexpr T NonpositiveMin()
OutputImageSpacingType m_Spacing
OutputImageSizeType m_UpperBoundaryCropSize
WaterPrecorrectionVectorType m_WaterPrecorrectionCoefficients
typename OutputImageType::SizeType OutputImageSizeType
typename OutputImageType::PointType OutputImagePointType
itk::ImageSource< TOutputImage >::Pointer m_RawCastFilter
typename OutputImageType::PixelType OutputImagePixelType
#define itkSetMacro(name, type)
FileNamesContainer m_FileNames
itk::ProcessObject::Pointer m_I0EstimationFilter
std::vector< double > WaterPrecorrectionVectorType
typename OutputImageType::RegionType OutputImageRegionType
itk::ProcessObject::Pointer m_BinningFilter
StreamingType::Pointer m_StreamingFilter
TOutputImage OutputImageType
MedianRadiusType m_MedianRadius
typename rtk::ConditionalMedianImageFilter< TOutputImage >::MedianRadiusType MedianRadiusType
itk::ProcessObject::Pointer m_ChangeInformationFilter
itk::ImageSource< TOutputImage >::Pointer m_RawToAttenuationFilter
OutputImageSizeType m_LowerBoundaryCropSize
typename OutputImageType::DirectionType OutputImageDirectionType
itk::ProcessObject::Pointer m_CropFilter
std::vector< std::string > FileNamesContainer
void SetFileNames(const FileNamesContainer &name)
itk::ProcessObject::Pointer m_ElektaRawFilter
WaterPrecorrectionType::Pointer m_WaterPrecorrectionFilter
itk::ProcessObject::Pointer m_RawDataReader
itk::ProcessObject::Pointer m_ConditionalMedianFilter
virtual void SetWaterPrecorrectionCoefficients(const WaterPrecorrectionVectorType _arg)
ShrinkFactorsType m_ShrinkFactors