![]() |
RTK
2.7.0
Reconstruction Toolkit
|
#include <rtkProjectionStackToFourDImageFilter.h>
Inheritance diagram for rtk::ProjectionStackToFourDImageFilter< VolumeSeriesType, ProjectionStackType, TFFTPrecision >:
Collaboration diagram for rtk::ProjectionStackToFourDImageFilter< VolumeSeriesType, ProjectionStackType, TFFTPrecision >:Public Member Functions | |
| virtual ::itk::LightObject::Pointer | CreateAnother () const |
| const char * | GetNameOfClass () const override |
| void | SetBackProjectionFilter (BackProjectionFilterType *_arg) |
| virtual void | SetGeometry (const GeometryType *_arg) |
| virtual void | SetSignal (const std::vector< double > signal) |
| void | SetInputVolumeSeries (const VolumeSeriesType *VolumeSeries) |
| VolumeSeriesType::ConstPointer | GetInputVolumeSeries () |
| void | SetInputProjectionStack (const ProjectionStackType *Projection) |
| ProjectionStackType::ConstPointer | GetInputProjectionStack () |
| virtual void | SetUseCudaSplat (bool _arg) |
| virtual bool | GetUseCudaSplat () |
| virtual void | SetUseCudaSources (bool _arg) |
| virtual bool | GetUseCudaSources () |
| virtual itk::Array2D< float > | GetWeights () |
| virtual void | SetWeights (itk::Array2D< float > _arg) |
Static Public Member Functions | |
| static Pointer | New () |
Protected Member Functions | |
| void | GenerateData () override |
| void | GenerateInputRequestedRegion () override |
| void | GenerateOutputInformation () override |
| void | InitializeConstantSource () |
| ProjectionStackToFourDImageFilter () | |
| void | VerifyPreconditions () const override |
| ~ProjectionStackToFourDImageFilter () override=default | |
Protected Attributes | |
| BackProjectionFilterType::Pointer | m_BackProjectionFilter |
| ConstantVolumeSeriesSourceType::Pointer | m_ConstantVolumeSeriesSource |
| ConstantVolumeSourceType::Pointer | m_ConstantVolumeSource |
| ExtractFilterType::Pointer | m_ExtractFilter |
| GeometryType::ConstPointer | m_Geometry |
| std::vector< double > | m_Signal |
| SplatFilterType::Pointer | m_SplatFilter |
| bool | m_UseCudaSources |
| bool | m_UseCudaSplat |
| itk::Array2D< float > | m_Weights |
Implements part of the 4D reconstruction by conjugate gradient.
See the reference paper: "Cardiac C-arm computed tomography using a 3D + time ROI reconstruction method with spatial and temporal regularization" by Mory et al.
4D conjugate gradient reconstruction consists in iteratively minimizing the following cost function:
Sum_over_theta || R_theta S_theta f - p_theta ||_2^2
with
Computing the gradient of this cost function yields:
S_theta^T R_theta^T R_theta S_theta f - S_theta^T R_theta^T p_theta
where A^T means the adjoint of operator A.
ProjectionStackToFourDImageFilter implements S_theta^T R_theta^T.
Definition at line 105 of file rtkProjectionStackToFourDImageFilter.h.
| using rtk::ProjectionStackToFourDImageFilter< VolumeSeriesType, ProjectionStackType, TFFTPrecision >::BackProjectionFilterType = rtk::BackProjectionImageFilter<VolumeType, VolumeType> |
Definition at line 139 of file rtkProjectionStackToFourDImageFilter.h.
| using rtk::ProjectionStackToFourDImageFilter< VolumeSeriesType, ProjectionStackType, TFFTPrecision >::ConstantVolumeSeriesSourceType = rtk::ConstantImageSource<VolumeSeriesType> |
Definition at line 142 of file rtkProjectionStackToFourDImageFilter.h.
| using rtk::ProjectionStackToFourDImageFilter< VolumeSeriesType, ProjectionStackType, TFFTPrecision >::ConstantVolumeSourceType = rtk::ConstantImageSource<VolumeType> |
Definition at line 141 of file rtkProjectionStackToFourDImageFilter.h.
| using rtk::ProjectionStackToFourDImageFilter< VolumeSeriesType, ProjectionStackType, TFFTPrecision >::CPUVolumeSeriesType = typename itk::Image<typename VolumeSeriesType::PixelType, VolumeSeriesType::ImageDimension> |
SFINAE type alias, depending on whether a CUDA image is used.
Definition at line 149 of file rtkProjectionStackToFourDImageFilter.h.
| using rtk::ProjectionStackToFourDImageFilter< VolumeSeriesType, ProjectionStackType, TFFTPrecision >::CudaConstantVolumeSeriesSourceType = typename std::conditional_t<std::is_same_v<VolumeSeriesType, CPUVolumeSeriesType>, ConstantVolumeSeriesSourceType, CudaConstantVolumeSeriesSource> |
Definition at line 160 of file rtkProjectionStackToFourDImageFilter.h.
| using rtk::ProjectionStackToFourDImageFilter< VolumeSeriesType, ProjectionStackType, TFFTPrecision >::CudaConstantVolumeSourceType = typename std::conditional_t<std::is_same_v<VolumeSeriesType, CPUVolumeSeriesType>, ConstantVolumeSourceType, CudaConstantVolumeSource> |
Definition at line 156 of file rtkProjectionStackToFourDImageFilter.h.
| using rtk::ProjectionStackToFourDImageFilter< VolumeSeriesType, ProjectionStackType, TFFTPrecision >::CudaSplatImageFilterType = typename std:: conditional_t<std::is_same_v<VolumeSeriesType, CPUVolumeSeriesType>, SplatFilterType, CudaSplatImageFilter> |
Definition at line 152 of file rtkProjectionStackToFourDImageFilter.h.
| using rtk::ProjectionStackToFourDImageFilter< VolumeSeriesType, ProjectionStackType, TFFTPrecision >::ExtractFilterType = itk::ExtractImageFilter<ProjectionStackType, ProjectionStackType> |
Definition at line 140 of file rtkProjectionStackToFourDImageFilter.h.
| using rtk::ProjectionStackToFourDImageFilter< VolumeSeriesType, ProjectionStackType, TFFTPrecision >::GeometryType = rtk::ThreeDCircularProjectionGeometry |
Definition at line 145 of file rtkProjectionStackToFourDImageFilter.h.
| using rtk::ProjectionStackToFourDImageFilter< VolumeSeriesType, ProjectionStackType, TFFTPrecision >::Pointer = itk::SmartPointer<Self> |
Definition at line 114 of file rtkProjectionStackToFourDImageFilter.h.
| using rtk::ProjectionStackToFourDImageFilter< VolumeSeriesType, ProjectionStackType, TFFTPrecision >::Self = ProjectionStackToFourDImageFilter |
Standard class type alias.
Definition at line 112 of file rtkProjectionStackToFourDImageFilter.h.
| using rtk::ProjectionStackToFourDImageFilter< VolumeSeriesType, ProjectionStackType, TFFTPrecision >::SplatFilterType = rtk::SplatWithKnownWeightsImageFilter<VolumeSeriesType, VolumeType> |
Definition at line 143 of file rtkProjectionStackToFourDImageFilter.h.
| using rtk::ProjectionStackToFourDImageFilter< VolumeSeriesType, ProjectionStackType, TFFTPrecision >::Superclass = itk::ImageToImageFilter<VolumeSeriesType, VolumeSeriesType> |
Definition at line 113 of file rtkProjectionStackToFourDImageFilter.h.
| using rtk::ProjectionStackToFourDImageFilter< VolumeSeriesType, ProjectionStackType, TFFTPrecision >::VolumeType = ProjectionStackType |
Convenient type alias
Definition at line 117 of file rtkProjectionStackToFourDImageFilter.h.
|
protected |
|
overrideprotecteddefault |
| virtual::itk::LightObject::Pointer rtk::ProjectionStackToFourDImageFilter< VolumeSeriesType, ProjectionStackType, TFFTPrecision >::CreateAnother | ( | ) | const |
|
overrideprotected |
Does the real work.
|
overrideprotected |
|
overrideprotected |
| ProjectionStackType::ConstPointer rtk::ProjectionStackToFourDImageFilter< VolumeSeriesType, ProjectionStackType, TFFTPrecision >::GetInputProjectionStack | ( | ) |
Set/Get the stack of projections
| VolumeSeriesType::ConstPointer rtk::ProjectionStackToFourDImageFilter< VolumeSeriesType, ProjectionStackType, TFFTPrecision >::GetInputVolumeSeries | ( | ) |
Set/Get the 4D image to be updated.
|
override |
Run-time type information (and related methods).
|
virtual |
Use CUDA splat / sources
|
virtual |
Use CUDA splat / sources
|
virtual |
Macros that take care of implementing the Get and Set methods for Weights
|
protected |
|
static |
Method for creation through the object factory.
| void rtk::ProjectionStackToFourDImageFilter< VolumeSeriesType, ProjectionStackType, TFFTPrecision >::SetBackProjectionFilter | ( | BackProjectionFilterType * | _arg | ) |
Pass the backprojection filter to SingleProjectionToFourDFilter
|
virtual |
Pass the geometry to SingleProjectionToFourDFilter
| void rtk::ProjectionStackToFourDImageFilter< VolumeSeriesType, ProjectionStackType, TFFTPrecision >::SetInputProjectionStack | ( | const ProjectionStackType * | Projection | ) |
Set/Get the stack of projections
| void rtk::ProjectionStackToFourDImageFilter< VolumeSeriesType, ProjectionStackType, TFFTPrecision >::SetInputVolumeSeries | ( | const VolumeSeriesType * | VolumeSeries | ) |
Set/Get the 4D image to be updated.
|
virtual |
Store the phase signal in a member variable
Reimplemented in rtk::WarpProjectionStackToFourDImageFilter< VolumeSeriesType, ProjectionStackType >.
|
virtual |
Use CUDA splat / sources
|
virtual |
Use CUDA splat / sources
|
virtual |
Macros that take care of implementing the Get and Set methods for Weights
|
overrideprotected |
Checks that inputs are correctly set.
|
protected |
Definition at line 213 of file rtkProjectionStackToFourDImageFilter.h.
|
protected |
Definition at line 216 of file rtkProjectionStackToFourDImageFilter.h.
|
protected |
Definition at line 215 of file rtkProjectionStackToFourDImageFilter.h.
|
protected |
Definition at line 214 of file rtkProjectionStackToFourDImageFilter.h.
|
protected |
Definition at line 220 of file rtkProjectionStackToFourDImageFilter.h.
|
protected |
Definition at line 223 of file rtkProjectionStackToFourDImageFilter.h.
|
protected |
Member pointers to the filters used internally (for convenience)
Definition at line 212 of file rtkProjectionStackToFourDImageFilter.h.
|
protected |
Definition at line 222 of file rtkProjectionStackToFourDImageFilter.h.
|
protected |
Definition at line 221 of file rtkProjectionStackToFourDImageFilter.h.
|
protected |
Other member variables
Definition at line 219 of file rtkProjectionStackToFourDImageFilter.h.
1.8.14