19 #ifndef rtkFieldOfViewImageFilter_h 20 #define rtkFieldOfViewImageFilter_h 25 #include "rtkConfiguration.h" 47 template <
class TInputImage,
class TOutputImage>
71 #ifdef itkOverrideGetNameOfClassMacro 79 itkGetConstObjectMacro(Geometry, GeometryType);
80 itkSetConstObjectMacro(Geometry, GeometryType);
86 itkGetMacro(Mask,
bool);
93 itkGetMacro(ProjectionsStack, ProjectionsStackPointer);
94 itkSetObjectMacro(ProjectionsStack, ProjectionsStackType);
99 itkGetMacro(DisplacedDetector,
bool);
104 itkGetMacro(InsideValue,
double);
109 itkGetMacro(OutsideValue,
double);
124 ComputeFOVRadius(
const FOVRadiusType type,
double & x,
double & z,
double & r);
130 AddCollimationConstraints(
const FOVRadiusType type, _lprec * lp);
138 VerifyPreconditions()
const override;
141 BeforeThreadedGenerateData()
override;
146 DynamicThreadedGenerateData(
const OutputImageRegionType & outputRegionForThread)
override;
150 bool m_Mask{
false };
152 double m_Radius{ -1 };
153 double m_CenterX{ 0. };
154 double m_CenterZ{ 0. };
159 bool m_DisplacedDetector{
false };
160 double m_InsideValue{ 1. };
161 double m_OutsideValue{ 0. };
166 #ifndef ITK_MANUAL_INSTANTIATION 167 # 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