#include <itkDirectFourierReconstructionImageToImageFilter.h>
Direct fourier reconstruction filter of a tomographic volume.
The algorithm is detailed in the Insight Journal publication on "Direct Fourier Tomographic Reconstruction Image-to-Image Filter" by D. Zosso, M. Bach Cuadra and J. Thiran, August 2007
This implementation was taken from the Insight Journal paper: https://doi.org/10.54294/z83ly1
Definition at line 51 of file itkDirectFourierReconstructionImageToImageFilter.h.
Public Member Functions | |
virtual::itk::LightObject::Pointer | CreateAnother () const |
virtual unsigned short | GetAlphaDirection () const |
virtual double | GetAlphaRange () const |
virtual double | GetCutoff () const |
const char * | GetNameOfClass () const override |
virtual unsigned short | GetOverSampling () const |
virtual unsigned short | GetRadialSplineOrder () const |
virtual unsigned short | GetRDirection () const |
virtual unsigned short | GetZDirection () const |
virtual unsigned short | GetZeroPadding () const |
virtual void | SetAlphaDirection (unsigned short _arg) |
virtual void | SetAlphaRange (double _arg) |
virtual void | SetCutoff (double _arg) |
virtual void | SetOverSampling (unsigned short _arg) |
virtual void | SetRadialSplineOrder (unsigned short _arg) |
virtual void | SetRDirection (unsigned short _arg) |
virtual void | SetZDirection (unsigned short _arg) |
virtual void | SetZeroPadding (unsigned short _arg) |
![]() | |
const InputImageType * | GetInput () const |
const InputImageType * | GetInput () const |
const InputImageType * | GetInput (unsigned int idx) const |
const InputImageType * | GetInput (unsigned int idx) const |
const char * | GetNameOfClass () const override |
const char * | GetNameOfClass () const override |
void | PopBackInput () override |
void | PopBackInput () override |
void | PopFrontInput () override |
void | PopFrontInput () override |
virtual void | PushBackInput (const InputImageType *input) |
virtual void | PushBackInput (const InputImageType *input) |
virtual void | PushFrontInput (const InputImageType *input) |
virtual void | PushFrontInput (const InputImageType *input) |
virtual void | SetInput (const InputImageType *input) |
virtual void | SetInput (const InputImageType *input) |
virtual void | SetInput (unsigned int, const TInputImage *image) |
virtual void | SetInput (unsigned int, const TInputImage *image) |
virtual void | SetCoordinateTolerance (double _arg) |
virtual double | GetCoordinateTolerance () const |
virtual void | SetCoordinateTolerance (double _arg) |
virtual double | GetCoordinateTolerance () const |
virtual void | SetDirectionTolerance (double _arg) |
virtual double | GetDirectionTolerance () const |
virtual void | SetDirectionTolerance (double _arg) |
virtual double | GetDirectionTolerance () const |
![]() | |
OutputImageType * | GetOutput (unsigned int idx) |
OutputImageType * | GetOutput () |
const OutputImageType * | GetOutput () const |
virtual void | GraftOutput (DataObject *graft) |
virtual void | GraftOutput (const DataObjectIdentifierType &key, DataObject *graft) |
virtual void | GraftNthOutput (unsigned int idx, DataObject *graft) |
ProcessObject::DataObjectPointer | MakeOutput (ProcessObject::DataObjectPointerArraySizeType idx) override |
ProcessObject::DataObjectPointer | MakeOutput (const ProcessObject::DataObjectIdentifierType &) override |
![]() | |
virtual void | AbortGenerateDataOff () |
virtual void | AbortGenerateDataOn () |
virtual void | EnlargeOutputRequestedRegion (DataObject *output) |
virtual const bool & | GetAbortGenerateData () const |
DataObjectPointerArray | GetIndexedInputs () |
DataObjectPointerArray | GetIndexedOutputs () |
NameArray | GetInputNames () const |
DataObjectPointerArray | GetInputs () |
MultiThreaderType * | GetMultiThreader () const |
const char * | GetNameOfClass () const override |
DataObjectPointerArraySizeType | GetNumberOfIndexedInputs () const |
DataObjectPointerArraySizeType | GetNumberOfIndexedOutputs () const |
DataObjectPointerArraySizeType | GetNumberOfInputs () const |
DataObjectPointerArraySizeType | GetNumberOfOutputs () const |
virtual DataObjectPointerArraySizeType | GetNumberOfValidRequiredInputs () const |
NameArray | GetOutputNames () const |
DataObjectPointerArray | GetOutputs () |
virtual float | GetProgress () const |
NameArray | GetRequiredInputNames () const |
bool | HasInput (const DataObjectIdentifierType &key) const |
bool | HasOutput (const DataObjectIdentifierType &key) const |
void | IncrementProgress (float increment) |
virtual void | PrepareOutputs () |
virtual void | PropagateRequestedRegion (DataObject *output) |
virtual void | ResetPipeline () |
virtual void | SetAbortGenerateData (bool _arg) |
void | SetMultiThreader (MultiThreaderType *threader) |
virtual void | Update () |
virtual void | UpdateLargestPossibleRegion () |
virtual void | UpdateOutputData (DataObject *output) |
virtual void | UpdateOutputInformation () |
void | UpdateProgress (float progress) |
virtual void | SetReleaseDataFlag (bool val) |
virtual bool | GetReleaseDataFlag () const |
void | ReleaseDataFlagOn () |
void | ReleaseDataFlagOff () |
virtual void | SetReleaseDataBeforeUpdateFlag (bool _arg) |
virtual const bool & | GetReleaseDataBeforeUpdateFlag () const |
virtual void | ReleaseDataBeforeUpdateFlagOn () |
virtual void | ReleaseDataBeforeUpdateFlagOff () |
virtual void | SetNumberOfWorkUnits (ThreadIdType _arg) |
virtual const ThreadIdType & | GetNumberOfWorkUnits () const |
![]() | |
unsigned long | AddObserver (const EventObject &event, Command *cmd) const |
unsigned long | AddObserver (const EventObject &event, std::function< void(const EventObject &)> function) const |
LightObject::Pointer | CreateAnother () const override |
virtual void | DebugOff () const |
virtual void | DebugOn () const |
Command * | GetCommand (unsigned long tag) |
bool | GetDebug () const |
MetaDataDictionary & | GetMetaDataDictionary () |
const MetaDataDictionary & | GetMetaDataDictionary () const |
virtual ModifiedTimeType | GetMTime () const |
virtual const TimeStamp & | GetTimeStamp () const |
bool | HasObserver (const EventObject &event) const |
void | InvokeEvent (const EventObject &) |
void | InvokeEvent (const EventObject &) const |
virtual void | Modified () const |
void | Register () const override |
void | RemoveAllObservers () |
void | RemoveObserver (unsigned long tag) const |
void | SetDebug (bool debugFlag) const |
void | SetReferenceCount (int) override |
void | UnRegister () const noexcept override |
void | SetMetaDataDictionary (const MetaDataDictionary &rhs) |
void | SetMetaDataDictionary (MetaDataDictionary &&rrhs) |
virtual void | SetObjectName (std::string _arg) |
virtual const std::string & | GetObjectName () const |
![]() | |
Pointer | Clone () const |
virtual void | Delete () |
virtual int | GetReferenceCount () const |
void | Print (std::ostream &os, Indent indent=0) const |
Static Public Member Functions | |
static Pointer | New () |
![]() | |
static double | GetGlobalDefaultCoordinateTolerance () |
static double | GetGlobalDefaultCoordinateTolerance () |
static double | GetGlobalDefaultDirectionTolerance () |
static double | GetGlobalDefaultDirectionTolerance () |
static void | SetGlobalDefaultCoordinateTolerance (double) |
static void | SetGlobalDefaultCoordinateTolerance (double) |
static void | SetGlobalDefaultDirectionTolerance (double) |
static void | SetGlobalDefaultDirectionTolerance (double) |
![]() | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool val) |
![]() | |
static void | BreakOnError () |
static Pointer | New () |
Private Types | |
using | FFTLineFilterType = VnlForwardFFTImageFilter<LineImageType> |
using | FFTLineInterpolatorType = ComplexBSplineInterpolateImageFunction<FFTLineType, double, double> |
using | FFTLineIteratorType = ImageRegionIteratorWithIndex<FFTLineType> |
using | FFTLineType = FFTLineFilterType::OutputImageType |
using | FFTSliceIteratorType = ImageRegionIteratorWithIndex<FFTSliceType> |
using | FFTSliceType = IFFTSliceFilterType::InputImageType |
using | IFFTImageType = Image<std::complex<double>, 2> |
using | IFFTSliceFilterType = VnlInverseFFTImageFilter<IFFTImageType> |
using | InputSliceIteratorType = ImageSliceConstIteratorWithIndex<InputImageType> |
using | LineImageType = Image<double, 1> |
using | OutputSliceIteratorType = ImageRegionIteratorWithIndex<OutputSliceType> |
using | OutputSliceType = IFFTSliceFilterType::OutputImageType |
using | ProjectionLineType = FFTLineFilterType::InputImageType |
Additional Inherited Members | |
![]() | |
static constexpr unsigned int | InputImageDimension |
static constexpr unsigned int | InputImageDimension |
static constexpr unsigned int | OutputImageDimension |
static constexpr unsigned int | OutputImageDimension |
![]() | |
static constexpr unsigned int | OutputImageDimension |
![]() | |
using | InputToOutputRegionCopierType |
using | OutputToInputRegionCopierType |
![]() | |
static const ImageRegionSplitterBase * | GetGlobalDefaultSplitter () |
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | ThreaderCallback (void *arg) |
![]() | |
template<typename TSourceObject> | |
static void | MakeRequiredOutputs (TSourceObject &sourceObject, const DataObjectPointerArraySizeType numberOfRequiredOutputs) |
static constexpr float | progressFixedToFloat (uint32_t fixed) |
static uint32_t | progressFloatToFixed (float f) |
![]() | |
bool | m_DynamicMultiThreading |
![]() | |
TimeStamp | m_OutputInformationMTime {} |
bool | m_Updating {} |
![]() | |
std::atomic< int > | m_ReferenceCount {} |
using itk::DirectFourierReconstructionImageToImageFilter< TInputImage, TOutputImage >::ConstInputImagePointer = typename InputImageType::ConstPointer |
Standard (const) InputImagePointer
Definition at line 93 of file itkDirectFourierReconstructionImageToImageFilter.h.
using itk::DirectFourierReconstructionImageToImageFilter< TInputImage, TOutputImage >::ConstPointer = SmartPointer<const Self> |
Standard ConstPointer type alias
Definition at line 72 of file itkDirectFourierReconstructionImageToImageFilter.h.
|
private |
Definition at line 154 of file itkDirectFourierReconstructionImageToImageFilter.h.
|
private |
1D FFT line B-Spline interpolator
Definition at line 166 of file itkDirectFourierReconstructionImageToImageFilter.h.
|
private |
1D FFT line iterator
Definition at line 163 of file itkDirectFourierReconstructionImageToImageFilter.h.
|
private |
Derived 1D FFT image type
Definition at line 157 of file itkDirectFourierReconstructionImageToImageFilter.h.
|
private |
2D FFT slice iterator
Definition at line 179 of file itkDirectFourierReconstructionImageToImageFilter.h.
|
private |
Derived 2D FFT image type
Definition at line 173 of file itkDirectFourierReconstructionImageToImageFilter.h.
|
private |
2D inverse FFT filter type
Definition at line 169 of file itkDirectFourierReconstructionImageToImageFilter.h.
|
private |
Definition at line 170 of file itkDirectFourierReconstructionImageToImageFilter.h.
using itk::DirectFourierReconstructionImageToImageFilter< TInputImage, TOutputImage >::IndexType = typename InputImageType::IndexType |
Class IndexType
Definition at line 81 of file itkDirectFourierReconstructionImageToImageFilter.h.
using itk::DirectFourierReconstructionImageToImageFilter< TInputImage, TOutputImage >::InputImagePointer = typename InputImageType::Pointer |
Special (non-const) InputImagePointer
Definition at line 96 of file itkDirectFourierReconstructionImageToImageFilter.h.
using itk::DirectFourierReconstructionImageToImageFilter< TInputImage, TOutputImage >::InputImageType = TInputImage |
Definition at line 60 of file itkDirectFourierReconstructionImageToImageFilter.h.
using itk::DirectFourierReconstructionImageToImageFilter< TInputImage, TOutputImage >::InputPixelType = typename InputImageType::PixelType |
Definition at line 61 of file itkDirectFourierReconstructionImageToImageFilter.h.
|
private |
Const slice iterator type of the input image
Definition at line 150 of file itkDirectFourierReconstructionImageToImageFilter.h.
|
private |
1D FFT filter type
Definition at line 153 of file itkDirectFourierReconstructionImageToImageFilter.h.
using itk::DirectFourierReconstructionImageToImageFilter< TInputImage, TOutputImage >::OutputImagePointer = typename OutputImageType::Pointer |
Definition at line 99 of file itkDirectFourierReconstructionImageToImageFilter.h.
using itk::DirectFourierReconstructionImageToImageFilter< TInputImage, TOutputImage >::OutputImageType = TOutputImage |
Definition at line 62 of file itkDirectFourierReconstructionImageToImageFilter.h.
using itk::DirectFourierReconstructionImageToImageFilter< TInputImage, TOutputImage >::OutputPixelType = typename OutputImageType::PixelType |
Definition at line 63 of file itkDirectFourierReconstructionImageToImageFilter.h.
|
private |
2D output slice iterator n-fold zero-padding n-fold oversampling Radial lowpass cut-off frequency Covered angular range Axial index in the input image Angular index in the input image Radial index in the input image Spline order for the radial BSpline interpolation The constant pi.... The region requested from* the input image
Definition at line 182 of file itkDirectFourierReconstructionImageToImageFilter.h.
|
private |
Derived 2D output slice type
Definition at line 176 of file itkDirectFourierReconstructionImageToImageFilter.h.
using itk::DirectFourierReconstructionImageToImageFilter< TInputImage, TOutputImage >::Pointer = SmartPointer<Self> |
Standard Pointer type alias
Definition at line 69 of file itkDirectFourierReconstructionImageToImageFilter.h.
using itk::DirectFourierReconstructionImageToImageFilter< TInputImage, TOutputImage >::PointType = typename InputImageType::PointType |
Class PointType
Definition at line 87 of file itkDirectFourierReconstructionImageToImageFilter.h.
|
private |
Derived 1D input image type
Definition at line 160 of file itkDirectFourierReconstructionImageToImageFilter.h.
using itk::DirectFourierReconstructionImageToImageFilter< TInputImage, TOutputImage >::RegionType = typename InputImageType::RegionType |
Class RegionType
Definition at line 78 of file itkDirectFourierReconstructionImageToImageFilter.h.
using itk::DirectFourierReconstructionImageToImageFilter< TInputImage, TOutputImage >::Self = DirectFourierReconstructionImageToImageFilter |
Standard Self type alias
Definition at line 58 of file itkDirectFourierReconstructionImageToImageFilter.h.
using itk::DirectFourierReconstructionImageToImageFilter< TInputImage, TOutputImage >::SizeType = typename InputImageType::SizeType |
Class SizeType
Definition at line 84 of file itkDirectFourierReconstructionImageToImageFilter.h.
using itk::DirectFourierReconstructionImageToImageFilter< TInputImage, TOutputImage >::SpacingType = typename InputImageType::SpacingType |
Class SpacingType
Definition at line 90 of file itkDirectFourierReconstructionImageToImageFilter.h.
using itk::DirectFourierReconstructionImageToImageFilter< TInputImage, TOutputImage >::Superclass = ImageToImageFilter<InputImageType, OutputImageType> |
Standard Superclass type alias
Definition at line 66 of file itkDirectFourierReconstructionImageToImageFilter.h.
|
protected |
Constructor
Referenced by GetNameOfClass().
|
overrideprotecteddefault |
Destructor
|
virtual |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::LightObject.
|
overrideprotectedvirtual |
Actual filter computation
Reimplemented from itk::ProcessObject.
|
overrideprotectedvirtual |
Calculate the required input region
Reimplemented from itk::ProcessObject.
|
overrideprotectedvirtual |
Generate metadata for output image
Reimplemented from itk::ProcessObject.
|
virtual |
|
virtual |
|
virtual |
|
overridevirtual |
Return the name of this class as a string. Used by the object factory (implemented in New()) to instantiate objects of a named type. Also used for debugging and other output information.
Reimplemented from itk::LightObject.
References DirectFourierReconstructionImageToImageFilter().
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
static |
|
overrideprotectedvirtual |
Output class information
Reimplemented from itk::LightObject.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |