RTK
2.6.0
Reconstruction Toolkit
|
#include <rtkDisplacedDetectorImageFilter.h>
Public Types | |
using | ConstPointer = itk::SmartPointer< const Self > |
using | GeometryConstPointer = GeometryType::ConstPointer |
using | GeometryType = ThreeDCircularProjectionGeometry |
using | InputImageType = TInputImage |
using | OutputImageRegionType = typename OutputImageType::RegionType |
using | OutputImageType = TOutputImage |
using | Pointer = itk::SmartPointer< Self > |
using | Self = DisplacedDetectorImageFilter |
using | Superclass = itk::ImageToImageFilter< TInputImage, TOutputImage > |
using | WeightImageType = itk::Image< double, 1 > |
Public Member Functions | |
virtual ::itk::LightObject::Pointer | CreateAnother () const |
virtual const char * | GetNameOfClass () const |
virtual const GeometryType * | GetGeometry () const |
virtual void | SetGeometry (const GeometryType *_arg) |
virtual bool | GetPadOnTruncatedSide () |
virtual void | SetPadOnTruncatedSide (bool _arg) |
void | SetOffsets (double minOffset, double maxOffset) |
virtual double | GetMinimumOffset () |
virtual double | GetMaximumOffset () |
virtual bool | GetDisable () |
virtual void | SetDisable (bool _arg) |
Static Public Member Functions | |
static Pointer | New () |
Static Public Attributes | |
static constexpr unsigned int | NDimension = TInputImage::ImageDimension |
Protected Member Functions | |
DisplacedDetectorImageFilter () | |
void | DynamicThreadedGenerateData (const OutputImageRegionType &outputRegionForThread) override |
void | GenerateInputRequestedRegion () override |
void | GenerateOutputInformation () override |
void | VerifyPreconditions () const override |
~DisplacedDetectorImageFilter () override=default | |
virtual double | GetInferiorCorner () |
virtual double | GetSuperiorCorner () |
Protected Attributes | |
bool | m_PadOnTruncatedSide { true } |
Private Attributes | |
bool | m_Disable { false } |
GeometryConstPointer | m_Geometry |
double | m_InferiorCorner { 0. } |
double | m_MaximumOffset { 0. } |
double | m_MinimumOffset { 0. } |
bool | m_OffsetsSet { false } |
double | m_SuperiorCorner { 0. } |
Weigting for displaced detectors.
Weighting of image projections to handle off-centered panels in tomography reconstruction. Based on [Wang, Med Phys, 2002].
Note that the filter does nothing if the panel shift is less than 10% of its size. Otherwise, it does the weighting described in the publication and zero pads the data on the nearest side to the center. Therefore, the InPlace capability depends on the displacement. It can only be inplace if there is no displacement, it can not otherwise. The GenerateOutputInformation method takes care of properly setting this up.
By default, it computes the minimum and maximum offsets from the complete geometry object. When an independent projection has to be processed, these values have to be set by the user from a priori knowledge of the detector displacements.
The weighting accounts for variations in SourceToDetectorDistances, SourceOffsetsX and ProjectionOffsetsX. It currently assumes constant SourceToIsocenterDistances and 0. InPlaneAngles. The other parameters are not relevant in the computation because the weighting is reproduced at every gantry angle on each line of the projection images.
Definition at line 60 of file rtkDisplacedDetectorImageFilter.h.
using rtk::DisplacedDetectorImageFilter< TInputImage, TOutputImage >::ConstPointer = itk::SmartPointer<const Self> |
Definition at line 69 of file rtkDisplacedDetectorImageFilter.h.
using rtk::DisplacedDetectorImageFilter< TInputImage, TOutputImage >::GeometryConstPointer = GeometryType::ConstPointer |
Definition at line 79 of file rtkDisplacedDetectorImageFilter.h.
using rtk::DisplacedDetectorImageFilter< TInputImage, TOutputImage >::GeometryType = ThreeDCircularProjectionGeometry |
Definition at line 78 of file rtkDisplacedDetectorImageFilter.h.
using rtk::DisplacedDetectorImageFilter< TInputImage, TOutputImage >::InputImageType = TInputImage |
Some convenient type alias.
Definition at line 72 of file rtkDisplacedDetectorImageFilter.h.
using rtk::DisplacedDetectorImageFilter< TInputImage, TOutputImage >::OutputImageRegionType = typename OutputImageType::RegionType |
Definition at line 75 of file rtkDisplacedDetectorImageFilter.h.
using rtk::DisplacedDetectorImageFilter< TInputImage, TOutputImage >::OutputImageType = TOutputImage |
Definition at line 73 of file rtkDisplacedDetectorImageFilter.h.
using rtk::DisplacedDetectorImageFilter< TInputImage, TOutputImage >::Pointer = itk::SmartPointer<Self> |
Definition at line 68 of file rtkDisplacedDetectorImageFilter.h.
using rtk::DisplacedDetectorImageFilter< TInputImage, TOutputImage >::Self = DisplacedDetectorImageFilter |
Standard class type alias.
Definition at line 66 of file rtkDisplacedDetectorImageFilter.h.
using rtk::DisplacedDetectorImageFilter< TInputImage, TOutputImage >::Superclass = itk::ImageToImageFilter<TInputImage, TOutputImage> |
Definition at line 67 of file rtkDisplacedDetectorImageFilter.h.
using rtk::DisplacedDetectorImageFilter< TInputImage, TOutputImage >::WeightImageType = itk::Image<double, 1> |
Definition at line 76 of file rtkDisplacedDetectorImageFilter.h.
|
protected |
|
overrideprotecteddefault |
|
virtual |
Reimplemented from itk::Object.
|
overrideprotectedvirtual |
Reimplemented from itk::ImageSource< TOutputImage >.
|
overrideprotectedvirtual |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
|
overrideprotectedvirtual |
Reimplemented from itk::ProcessObject.
|
virtual |
Get / Set the Disable parameter
|
virtual |
Get / Set the object pointer to projection geometry
|
protectedvirtual |
Retrieve computed inferior and superior corners
|
virtual |
Get / Set the minimum and maximum offsets of the detector along the weighting direction desribed in ToUntiltedCoordinate.
|
virtual |
Get / Set the minimum and maximum offsets of the detector along the weighting direction desribed in ToUntiltedCoordinate.
|
virtual |
Runtime information support.
Reimplemented from itk::InPlaceImageFilter< TInputImage, TOutputImage >.
Reimplemented in rtk::DisplacedDetectorForOffsetFieldOfViewImageFilter< TInputImage, TOutputImage >.
|
virtual |
Get / Set whether the projections should be padded (yes for FDK, no for iterative)
|
protectedvirtual |
Retrieve computed inferior and superior corners
|
static |
Standard New method.
|
virtual |
Get / Set the Disable parameter
|
virtual |
Get / Set the object pointer to projection geometry
void rtk::DisplacedDetectorImageFilter< TInputImage, TOutputImage >::SetOffsets | ( | double | minOffset, |
double | maxOffset | ||
) |
Get / Set the minimum and maximum offsets of the detector along the weighting direction desribed in ToUntiltedCoordinate.
|
virtual |
Get / Set whether the projections should be padded (yes for FDK, no for iterative)
|
overrideprotectedvirtual |
Checks that inputs are correctly set.
Reimplemented from itk::ProcessObject.
|
private |
When using a geometry that the displaced detector cannot manage, it has to be disabled
Definition at line 171 of file rtkDisplacedDetectorImageFilter.h.
|
private |
RTK geometry object
Definition at line 147 of file rtkDisplacedDetectorImageFilter.h.
|
private |
Superior and inferior position of the detector along the weighting direction, i.e., the virtual detector described in ToUntiltedCoordinate.
Definition at line 165 of file rtkDisplacedDetectorImageFilter.h.
|
private |
Definition at line 155 of file rtkDisplacedDetectorImageFilter.h.
|
private |
Minimum and maximum offsets of the detector along the weighting direction, i.e. x. If a priori known, these values can be given as input. Otherwise, they are computed from the complete geometry.
Definition at line 154 of file rtkDisplacedDetectorImageFilter.h.
|
private |
Flag used to know if the user has entered the min/max values of the detector offset.
Definition at line 160 of file rtkDisplacedDetectorImageFilter.h.
|
protected |
Definition at line 143 of file rtkDisplacedDetectorImageFilter.h.
|
private |
Definition at line 166 of file rtkDisplacedDetectorImageFilter.h.
|
static |
Definition at line 74 of file rtkDisplacedDetectorImageFilter.h.