RTK
2.6.0
Reconstruction Toolkit
|
#include <rtkSplatWithKnownWeightsImageFilter.h>
Public Types | |
using | OutputImageRegionType = typename VolumeSeriesType::RegionType |
using | Pointer = itk::SmartPointer< Self > |
using | Self = SplatWithKnownWeightsImageFilter |
using | Superclass = itk::ImageToImageFilter< VolumeSeriesType, VolumeSeriesType > |
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 | |
const itk::ImageRegionSplitterBase * | GetImageRegionSplitter () const override |
VolumeType::Pointer | GetInputVolume () |
VolumeSeriesType::ConstPointer | GetInputVolumeSeries () |
SplatWithKnownWeightsImageFilter () | |
void | ThreadedGenerateData (const typename VolumeSeriesType::RegionType &outputRegionForThread, itk::ThreadIdType) override |
~SplatWithKnownWeightsImageFilter () override=default | |
Protected Attributes | |
int | m_ProjectionNumber |
itk::ImageRegionSplitterDirection::Pointer | m_Splitter |
itk::Array2D< float > | m_Weights |
Splats (linearly) a 3D volume into a 3D+t sequence of volumes.
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.
SplatWithKnownWeightsImageFilter implements S_theta^T.
Definition at line 67 of file rtkSplatWithKnownWeightsImageFilter.h.
using rtk::SplatWithKnownWeightsImageFilter< VolumeSeriesType, VolumeType >::OutputImageRegionType = typename VolumeSeriesType::RegionType |
Definition at line 77 of file rtkSplatWithKnownWeightsImageFilter.h.
using rtk::SplatWithKnownWeightsImageFilter< VolumeSeriesType, VolumeType >::Pointer = itk::SmartPointer<Self> |
Definition at line 76 of file rtkSplatWithKnownWeightsImageFilter.h.
using rtk::SplatWithKnownWeightsImageFilter< VolumeSeriesType, VolumeType >::Self = SplatWithKnownWeightsImageFilter |
Standard class type alias.
Definition at line 74 of file rtkSplatWithKnownWeightsImageFilter.h.
using rtk::SplatWithKnownWeightsImageFilter< VolumeSeriesType, VolumeType >::Superclass = itk::ImageToImageFilter<VolumeSeriesType, VolumeSeriesType> |
Definition at line 75 of file rtkSplatWithKnownWeightsImageFilter.h.
|
protected |
|
overrideprotecteddefault |
|
virtual |
Reimplemented from itk::Object.
|
overrideprotectedvirtual |
Splits the OutputRequestedRegion along the first direction, not the last
Reimplemented from itk::ImageSource< 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::SplatWithKnownWeightsImageFilter< VolumeSeriesType, VolumeType >::SetInputVolume | ( | const VolumeType * | Volume | ) |
The 3D image that will be added, with coefficients, to each 3D volume of the 4D image.
void rtk::SplatWithKnownWeightsImageFilter< VolumeSeriesType, VolumeType >::SetInputVolumeSeries | ( | const VolumeSeriesType * | VolumeSeries | ) |
The 4D image to be updated.
void rtk::SplatWithKnownWeightsImageFilter< VolumeSeriesType, VolumeType >::SetProjectionNumber | ( | int | n | ) |
|
virtual |
Macros that take care of implementing the Get and Set methods for Weights and projectionNumber.
|
overrideprotected |
Does the real work.
|
protected |
Definition at line 127 of file rtkSplatWithKnownWeightsImageFilter.h.
|
protected |
Definition at line 124 of file rtkSplatWithKnownWeightsImageFilter.h.
|
protected |
Definition at line 126 of file rtkSplatWithKnownWeightsImageFilter.h.