|
| void | GenerateData () override |
| |
| void | GenerateInputRequestedRegion () override |
| |
| void | Init () |
| |
| | JosephBackAttenuatedProjectionImageFilter () |
| |
| void | VerifyInputInformation () const override |
| |
| | ~JosephBackAttenuatedProjectionImageFilter () override=default |
| |
| OutputPixelType | BilinearInterpolation (const double stepLengthInVoxel, const InputPixelType *pxiyi, const InputPixelType *pxsyi, const InputPixelType *pxiys, const InputPixelType *pxsys, const double x, const double y, const int ox, const int oy) |
| |
| OutputPixelType | BilinearInterpolationOnBorders (const double stepLengthInVoxel, const InputPixelType *pxiyi, const InputPixelType *pxsyi, const InputPixelType *pxiys, const InputPixelType *pxsys, const double x, const double y, const int ox, const int oy, const double minx, const double miny, const double maxx, const double maxy) |
| |
| void | BilinearSplat (const InputPixelType &rayValue, const double stepLengthInVoxel, const double voxelSize, OutputPixelType *pxiyi, OutputPixelType *pxsyi, OutputPixelType *pxiys, OutputPixelType *pxsys, const double x, const double y, const int ox, const int oy) |
| |
| void | BilinearSplatOnBorders (const InputPixelType &rayValue, const double stepLengthInVoxel, const double voxelSize, OutputPixelType *pxiyi, OutputPixelType *pxsyi, OutputPixelType *pxiys, OutputPixelType *pxsys, const double x, const double y, const int ox, const int oy, const CoordinateType minx, const CoordinateType miny, const CoordinateType maxx, const CoordinateType maxy) |
| |
| void | GenerateData () override |
| |
| | JosephBackProjectionImageFilter () |
| |
| void | VerifyInputInformation () const override |
| |
| | ~JosephBackProjectionImageFilter () override=default |
| |
| | BackProjectionImageFilter () |
| |
| void | BeforeThreadedGenerateData () override |
| |
| virtual void | CylindricalDetectorCenteredOnSourceBackprojection (const OutputImageRegionType ®ion, const ProjectionMatrixType &volIndexToProjPP, const itk::Matrix< double, TInputImage::ImageDimension, TInputImage::ImageDimension > &projPPToProjIndex, const ProjectionImagePointer projection) |
| |
| void | DynamicThreadedGenerateData (const OutputImageRegionType &outputRegionForThread) override |
| |
| void | GenerateInputRequestedRegion () override |
| |
| ProjectionMatrixType | GetIndexToIndexProjectionMatrix (const unsigned int iProj) |
| |
| template<class TProjectionImage > |
| TProjectionImage::Pointer | GetProjection (const unsigned int iProj) |
| |
| itk::Matrix< double, TInputImage::ImageDimension, TInputImage::ImageDimension > | GetProjectionPhysicalPointToProjectionIndexMatrix (const unsigned int iProj) |
| |
| ProjectionMatrixType | GetVolumeIndexToProjectionPhysicalPointMatrix (const unsigned int iProj) |
| |
| virtual void | OptimizedBackprojectionX (const OutputImageRegionType ®ion, const ProjectionMatrixType &matrix, const ProjectionImagePointer projection) |
| |
| virtual void | OptimizedBackprojectionY (const OutputImageRegionType ®ion, const ProjectionMatrixType &matrix, const ProjectionImagePointer projection) |
| |
| void | VerifyInputInformation () const override |
| |
| void | VerifyPreconditions () const override |
| |
| | ~BackProjectionImageFilter () override=default |
| |
template<class TInputImage, class TOutputImage, class TInterpolationWeightMultiplication = Functor::InterpolationWeightMultiplicationAttenuatedBackProjection< typename TInputImage::PixelType, typename itk::PixelTraits<typename TInputImage::PixelType>::ValueType>, class TSplatWeightMultiplication = Functor:: SplatWeightMultiplicationAttenuated<typename TInputImage::PixelType, double, typename TOutputImage::PixelType>, class TSumAlongRay = Functor::ComputeAttenuationCorrectionBackProjection<typename TInputImage::PixelType, typename TOutputImage::PixelType>>
class rtk::JosephBackAttenuatedProjectionImageFilter< TInputImage, TOutputImage, TInterpolationWeightMultiplication, TSplatWeightMultiplication, TSumAlongRay >
Attenuated Joseph back projection.
Performs a attenuated back projection, i.e. smearing of ray value along its path, using [Joseph, IEEE TMI, 1982] and [Gullberg, Phys. Med. Biol., 1985]. The back projector is the adjoint operator of the forward attenuated projector
- Test:
- rtkbackprojectiontest.cxx
- Author
- Antoine Robert
Definition at line 207 of file rtkJosephBackAttenuatedProjectionImageFilter.h.
template<class TInputImage , class TOutputImage , class TInterpolationWeightMultiplication = Functor::InterpolationWeightMultiplicationAttenuatedBackProjection< typename TInputImage::PixelType, typename itk::PixelTraits<typename TInputImage::PixelType>::ValueType>, class TSplatWeightMultiplication = Functor:: SplatWeightMultiplicationAttenuated<typename TInputImage::PixelType, double, typename TOutputImage::PixelType>, class TSumAlongRay = Functor::ComputeAttenuationCorrectionBackProjection<typename TInputImage::PixelType, typename TOutputImage::PixelType>>
template<class TInputImage , class TOutputImage , class TInterpolationWeightMultiplication = Functor::InterpolationWeightMultiplicationAttenuatedBackProjection< typename TInputImage::PixelType, typename itk::PixelTraits<typename TInputImage::PixelType>::ValueType>, class TSplatWeightMultiplication = Functor:: SplatWeightMultiplicationAttenuated<typename TInputImage::PixelType, double, typename TOutputImage::PixelType>, class TSumAlongRay = Functor::ComputeAttenuationCorrectionBackProjection<typename TInputImage::PixelType, typename TOutputImage::PixelType>>
template<class TInputImage , class TOutputImage , class TInterpolationWeightMultiplication = Functor::InterpolationWeightMultiplicationAttenuatedBackProjection< typename TInputImage::PixelType, typename itk::PixelTraits<typename TInputImage::PixelType>::ValueType>, class TSplatWeightMultiplication = Functor:: SplatWeightMultiplicationAttenuated<typename TInputImage::PixelType, double, typename TOutputImage::PixelType>, class TSumAlongRay = Functor::ComputeAttenuationCorrectionBackProjection<typename TInputImage::PixelType, typename TOutputImage::PixelType>>
template<class TInputImage , class TOutputImage , class TInterpolationWeightMultiplication = Functor::InterpolationWeightMultiplicationAttenuatedBackProjection< typename TInputImage::PixelType, typename itk::PixelTraits<typename TInputImage::PixelType>::ValueType>, class TSplatWeightMultiplication = Functor:: SplatWeightMultiplicationAttenuated<typename TInputImage::PixelType, double, typename TOutputImage::PixelType>, class TSumAlongRay = Functor::ComputeAttenuationCorrectionBackProjection<typename TInputImage::PixelType, typename TOutputImage::PixelType>>
template<class TInputImage , class TOutputImage , class TInterpolationWeightMultiplication = Functor::InterpolationWeightMultiplicationAttenuatedBackProjection< typename TInputImage::PixelType, typename itk::PixelTraits<typename TInputImage::PixelType>::ValueType>, class TSplatWeightMultiplication = Functor:: SplatWeightMultiplicationAttenuated<typename TInputImage::PixelType, double, typename TOutputImage::PixelType>, class TSumAlongRay = Functor::ComputeAttenuationCorrectionBackProjection<typename TInputImage::PixelType, typename TOutputImage::PixelType>>
template<class TInputImage , class TOutputImage , class TInterpolationWeightMultiplication = Functor::InterpolationWeightMultiplicationAttenuatedBackProjection< typename TInputImage::PixelType, typename itk::PixelTraits<typename TInputImage::PixelType>::ValueType>, class TSplatWeightMultiplication = Functor:: SplatWeightMultiplicationAttenuated<typename TInputImage::PixelType, double, typename TOutputImage::PixelType>, class TSumAlongRay = Functor::ComputeAttenuationCorrectionBackProjection<typename TInputImage::PixelType, typename TOutputImage::PixelType>>
template<class TInputImage , class TOutputImage , class TInterpolationWeightMultiplication = Functor::InterpolationWeightMultiplicationAttenuatedBackProjection< typename TInputImage::PixelType, typename itk::PixelTraits<typename TInputImage::PixelType>::ValueType>, class TSplatWeightMultiplication = Functor:: SplatWeightMultiplicationAttenuated<typename TInputImage::PixelType, double, typename TOutputImage::PixelType>, class TSumAlongRay = Functor::ComputeAttenuationCorrectionBackProjection<typename TInputImage::PixelType, typename TOutputImage::PixelType>>
template<class TInputImage , class TOutputImage , class TInterpolationWeightMultiplication = Functor::InterpolationWeightMultiplicationAttenuatedBackProjection< typename TInputImage::PixelType, typename itk::PixelTraits<typename TInputImage::PixelType>::ValueType>, class TSplatWeightMultiplication = Functor:: SplatWeightMultiplicationAttenuated<typename TInputImage::PixelType, double, typename TOutputImage::PixelType>, class TSumAlongRay = Functor::ComputeAttenuationCorrectionBackProjection<typename TInputImage::PixelType, typename TOutputImage::PixelType>>
template<class TInputImage , class TOutputImage , class TInterpolationWeightMultiplication = Functor::InterpolationWeightMultiplicationAttenuatedBackProjection< typename TInputImage::PixelType, typename itk::PixelTraits<typename TInputImage::PixelType>::ValueType>, class TSplatWeightMultiplication = Functor:: SplatWeightMultiplicationAttenuated<typename TInputImage::PixelType, double, typename TOutputImage::PixelType>, class TSumAlongRay = Functor::ComputeAttenuationCorrectionBackProjection<typename TInputImage::PixelType, typename TOutputImage::PixelType>>
template<class TInputImage , class TOutputImage , class TInterpolationWeightMultiplication = Functor::InterpolationWeightMultiplicationAttenuatedBackProjection< typename TInputImage::PixelType, typename itk::PixelTraits<typename TInputImage::PixelType>::ValueType>, class TSplatWeightMultiplication = Functor:: SplatWeightMultiplicationAttenuated<typename TInputImage::PixelType, double, typename TOutputImage::PixelType>, class TSumAlongRay = Functor::ComputeAttenuationCorrectionBackProjection<typename TInputImage::PixelType, typename TOutputImage::PixelType>>
template<class TInputImage , class TOutputImage , class TInterpolationWeightMultiplication = Functor::InterpolationWeightMultiplicationAttenuatedBackProjection< typename TInputImage::PixelType, typename itk::PixelTraits<typename TInputImage::PixelType>::ValueType>, class TSplatWeightMultiplication = Functor:: SplatWeightMultiplicationAttenuated<typename TInputImage::PixelType, double, typename TOutputImage::PixelType>, class TSumAlongRay = Functor::ComputeAttenuationCorrectionBackProjection<typename TInputImage::PixelType, typename TOutputImage::PixelType>>
template<class TInputImage , class TOutputImage , class TInterpolationWeightMultiplication = Functor::InterpolationWeightMultiplicationAttenuatedBackProjection< typename TInputImage::PixelType, typename itk::PixelTraits<typename TInputImage::PixelType>::ValueType>, class TSplatWeightMultiplication = Functor:: SplatWeightMultiplicationAttenuated<typename TInputImage::PixelType, double, typename TOutputImage::PixelType>, class TSumAlongRay = Functor::ComputeAttenuationCorrectionBackProjection<typename TInputImage::PixelType, typename TOutputImage::PixelType>>
template<class TInputImage , class TOutputImage , class TInterpolationWeightMultiplication = Functor::InterpolationWeightMultiplicationAttenuatedBackProjection< typename TInputImage::PixelType, typename itk::PixelTraits<typename TInputImage::PixelType>::ValueType>, class TSplatWeightMultiplication = Functor:: SplatWeightMultiplicationAttenuated<typename TInputImage::PixelType, double, typename TOutputImage::PixelType>, class TSumAlongRay = Functor::ComputeAttenuationCorrectionBackProjection<typename TInputImage::PixelType, typename TOutputImage::PixelType>>
template<class TInputImage , class TOutputImage , class TInterpolationWeightMultiplication = Functor::InterpolationWeightMultiplicationAttenuatedBackProjection< typename TInputImage::PixelType, typename itk::PixelTraits<typename TInputImage::PixelType>::ValueType>, class TSplatWeightMultiplication = Functor:: SplatWeightMultiplicationAttenuated<typename TInputImage::PixelType, double, typename TOutputImage::PixelType>, class TSumAlongRay = Functor::ComputeAttenuationCorrectionBackProjection<typename TInputImage::PixelType, typename TOutputImage::PixelType>>
template<class TInputImage , class TOutputImage , class TInterpolationWeightMultiplication = Functor::InterpolationWeightMultiplicationAttenuatedBackProjection< typename TInputImage::PixelType, typename itk::PixelTraits<typename TInputImage::PixelType>::ValueType>, class TSplatWeightMultiplication = Functor:: SplatWeightMultiplicationAttenuated<typename TInputImage::PixelType, double, typename TOutputImage::PixelType>, class TSumAlongRay = Functor::ComputeAttenuationCorrectionBackProjection<typename TInputImage::PixelType, typename TOutputImage::PixelType>>
template<class TInputImage , class TOutputImage , class TInterpolationWeightMultiplication = Functor::InterpolationWeightMultiplicationAttenuatedBackProjection< typename TInputImage::PixelType, typename itk::PixelTraits<typename TInputImage::PixelType>::ValueType>, class TSplatWeightMultiplication = Functor:: SplatWeightMultiplicationAttenuated<typename TInputImage::PixelType, double, typename TOutputImage::PixelType>, class TSumAlongRay = Functor::ComputeAttenuationCorrectionBackProjection<typename TInputImage::PixelType, typename TOutputImage::PixelType>>
Apply changes to the input image requested region.
template<class TInputImage , class TOutputImage , class TInterpolationWeightMultiplication = Functor::InterpolationWeightMultiplicationAttenuatedBackProjection< typename TInputImage::PixelType, typename itk::PixelTraits<typename TInputImage::PixelType>::ValueType>, class TSplatWeightMultiplication = Functor:: SplatWeightMultiplicationAttenuated<typename TInputImage::PixelType, double, typename TOutputImage::PixelType>, class TSumAlongRay = Functor::ComputeAttenuationCorrectionBackProjection<typename TInputImage::PixelType, typename TOutputImage::PixelType>>
Run-time type information (and related methods).
template<class TInputImage , class TOutputImage , class TInterpolationWeightMultiplication = Functor::InterpolationWeightMultiplicationAttenuatedBackProjection< typename TInputImage::PixelType, typename itk::PixelTraits<typename TInputImage::PixelType>::ValueType>, class TSplatWeightMultiplication = Functor:: SplatWeightMultiplicationAttenuated<typename TInputImage::PixelType, double, typename TOutputImage::PixelType>, class TSumAlongRay = Functor::ComputeAttenuationCorrectionBackProjection<typename TInputImage::PixelType, typename TOutputImage::PixelType>>
template<class TInputImage , class TOutputImage , class TInterpolationWeightMultiplication = Functor::InterpolationWeightMultiplicationAttenuatedBackProjection< typename TInputImage::PixelType, typename itk::PixelTraits<typename TInputImage::PixelType>::ValueType>, class TSplatWeightMultiplication = Functor:: SplatWeightMultiplicationAttenuated<typename TInputImage::PixelType, double, typename TOutputImage::PixelType>, class TSumAlongRay = Functor::ComputeAttenuationCorrectionBackProjection<typename TInputImage::PixelType, typename TOutputImage::PixelType>>
template<class TInputImage , class TOutputImage , class TInterpolationWeightMultiplication = Functor::InterpolationWeightMultiplicationAttenuatedBackProjection< typename TInputImage::PixelType, typename itk::PixelTraits<typename TInputImage::PixelType>::ValueType>, class TSplatWeightMultiplication = Functor:: SplatWeightMultiplicationAttenuated<typename TInputImage::PixelType, double, typename TOutputImage::PixelType>, class TSumAlongRay = Functor::ComputeAttenuationCorrectionBackProjection<typename TInputImage::PixelType, typename TOutputImage::PixelType>>
Only the last two inputs should be in the same space so we need to overwrite the method.
template<class TInputImage , class TOutputImage , class TInterpolationWeightMultiplication = Functor::InterpolationWeightMultiplicationAttenuatedBackProjection< typename TInputImage::PixelType, typename itk::PixelTraits<typename TInputImage::PixelType>::ValueType>, class TSplatWeightMultiplication = Functor:: SplatWeightMultiplicationAttenuated<typename TInputImage::PixelType, double, typename TOutputImage::PixelType>, class TSumAlongRay = Functor::ComputeAttenuationCorrectionBackProjection<typename TInputImage::PixelType, typename TOutputImage::PixelType>>