19 #ifndef rtkFieldOfViewImageFilter_h 20 #define rtkFieldOfViewImageFilter_h 25 #include "rtkConfiguration.h" 47 template <
class TInputImage,
class TOutputImage>
74 itkGetConstObjectMacro(Geometry, GeometryType);
75 itkSetConstObjectMacro(Geometry, GeometryType);
81 itkGetMacro(Mask,
bool);
88 itkGetMacro(ProjectionsStack, ProjectionsStackPointer);
89 itkSetObjectMacro(ProjectionsStack, ProjectionsStackType);
94 itkGetMacro(DisplacedDetector,
bool);
99 itkGetMacro(InsideValue,
double);
104 itkGetMacro(OutsideValue,
double);
119 ComputeFOVRadius(
const FOVRadiusType type,
double & x,
double & z,
double & r);
125 AddCollimationConstraints(
const FOVRadiusType type, _lprec * lp);
133 VerifyPreconditions()
const override;
136 BeforeThreadedGenerateData()
override;
141 DynamicThreadedGenerateData(
const OutputImageRegionType & outputRegionForThread)
override;
145 bool m_Mask{
false };
147 double m_Radius{ -1 };
148 double m_CenterX{ 0. };
149 double m_CenterZ{ 0. };
154 bool m_DisplacedDetector{
false };
155 double m_InsideValue{ 1. };
156 double m_OutsideValue{ 0. };
161 #ifndef ITK_MANUAL_INSTANTIATION 162 # include "rtkFieldOfViewImageFilter.hxx" typename ProjectionsStackType::Pointer ProjectionsStackPointer
typename GeometryType::ConstPointer GeometryConstPointer
typename TInputImage::Superclass ProjectionsStackType
Projection geometry for a source and a 2-D flat panel.
#define itkSetMacro(name, type)
typename OutputImageType::RegionType OutputImageRegionType
Computes the field of view mask for circular 3D geometry.
ProjectionsStackPointer m_ProjectionsStack
enum { RADIUSINF, RADIUSSUP, RADIUSBOTH } FOVRadiusType