RTK
2.6.0
Reconstruction Toolkit
|
#include <rtkInterpolatorWithKnownWeightsImageFilter.h>
Public Types | |
using | Pointer = itk::SmartPointer< Self > |
using | Self = InterpolatorWithKnownWeightsImageFilter |
using | Superclass = itk::ImageToImageFilter< VolumeType, VolumeType > |
Public Member Functions | |
virtual ::itk::LightObject::Pointer | CreateAnother () const |
virtual int | GetProjectionNumber () |
void | SetInputVolume (const VolumeType *Volume) |
void | SetInputVolumeSeries (const VolumeSeriesType *VolumeSeries) |
void | SetProjectionNumber (int n) |
virtual const char * | GetNameOfClass () const |
virtual itk::Array2D< float > | GetWeights () |
virtual void | SetWeights (itk::Array2D< float > _arg) |
Static Public Member Functions | |
static Pointer | New () |
Protected Member Functions | |
void | DynamicThreadedGenerateData (const typename VolumeType::RegionType &outputRegionForThread) override |
void | GenerateInputRequestedRegion () override |
VolumeType::ConstPointer | GetInputVolume () |
VolumeSeriesType::Pointer | GetInputVolumeSeries () |
InterpolatorWithKnownWeightsImageFilter () | |
~InterpolatorWithKnownWeightsImageFilter () override=default | |
Protected Attributes | |
int | m_ProjectionNumber |
itk::Array2D< float > | m_Weights |
Interpolates (linearly) in a 3D+t sequence of volumes to get a 3D volume.
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.
InterpolatorWithKnownWeightsImageFilter implements S_theta.
Definition at line 64 of file rtkInterpolatorWithKnownWeightsImageFilter.h.
using rtk::InterpolatorWithKnownWeightsImageFilter< VolumeType, VolumeSeriesType >::Pointer = itk::SmartPointer<Self> |
Definition at line 73 of file rtkInterpolatorWithKnownWeightsImageFilter.h.
using rtk::InterpolatorWithKnownWeightsImageFilter< VolumeType, VolumeSeriesType >::Self = InterpolatorWithKnownWeightsImageFilter |
Standard class type alias.
Definition at line 71 of file rtkInterpolatorWithKnownWeightsImageFilter.h.
using rtk::InterpolatorWithKnownWeightsImageFilter< VolumeType, VolumeSeriesType >::Superclass = itk::ImageToImageFilter<VolumeType, VolumeType> |
Definition at line 72 of file rtkInterpolatorWithKnownWeightsImageFilter.h.
|
protected |
|
overrideprotecteddefault |
|
virtual |
Reimplemented from itk::Object.
|
overrideprotected |
Does the real work.
|
overrideprotectedvirtual |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
|
protected |
|
protected |
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
|
virtual |
|
virtual |
Macros that take care of implementing the Get and Set methods for Weights and ProjectionNumber.
|
static |
Method for creation through the object factory.
void rtk::InterpolatorWithKnownWeightsImageFilter< VolumeType, VolumeSeriesType >::SetInputVolume | ( | const VolumeType * | Volume | ) |
The 3D image to be updated.
void rtk::InterpolatorWithKnownWeightsImageFilter< VolumeType, VolumeSeriesType >::SetInputVolumeSeries | ( | const VolumeSeriesType * | VolumeSeries | ) |
The 4D image that will be interpolated, with coefficients, generate a 3D volume.
void rtk::InterpolatorWithKnownWeightsImageFilter< VolumeType, VolumeSeriesType >::SetProjectionNumber | ( | int | n | ) |
|
virtual |
Macros that take care of implementing the Get and Set methods for Weights and ProjectionNumber.
|
protected |
Definition at line 120 of file rtkInterpolatorWithKnownWeightsImageFilter.h.
|
protected |
Definition at line 119 of file rtkInterpolatorWithKnownWeightsImageFilter.h.