ITK
6.0.0
Insight Toolkit
|
#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 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) |
Public Member Functions inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
const InputImageType * | GetInput () const |
const InputImageType * | GetInput (unsigned int idx) const |
void | PopBackInput () override |
void | PopFrontInput () override |
virtual void | PushBackInput (const InputImageType *input) |
virtual void | PushFrontInput (const InputImageType *input) |
virtual void | SetInput (const DataObjectIdentifierType &key, DataObject *input) |
virtual void | SetInput (const InputImageType *input) |
virtual void | SetInput (unsigned int, const TInputImage *image) |
virtual void | SetCoordinateTolerance (double _arg) |
virtual double | GetCoordinateTolerance () const |
virtual void | SetDirectionTolerance (double _arg) |
virtual double | GetDirectionTolerance () const |
Public Member Functions inherited from itk::ImageSource< TOutputImage > | |
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 |
Public Member Functions inherited from itk::ProcessObject | |
virtual void | AbortGenerateDataOn () |
virtual void | EnlargeOutputRequestedRegion (DataObject *) |
virtual const bool & | GetAbortGenerateData () const |
DataObjectPointerArray | GetIndexedInputs () |
DataObjectPointerArray | GetIndexedOutputs () |
NameArray | GetInputNames () const |
DataObjectPointerArray | GetInputs () |
MultiThreaderType * | GetMultiThreader () const |
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 | SetNumberOfWorkUnits (ThreadIdType _arg) |
virtual const ThreadIdType & | GetNumberOfWorkUnits () const |
Public Member Functions inherited from itk::Object | |
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 |
Public Member Functions inherited from itk::LightObject | |
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 Public Member Functions inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
static double | GetGlobalDefaultCoordinateTolerance () |
static double | GetGlobalDefaultDirectionTolerance () |
static void | SetGlobalDefaultCoordinateTolerance (double) |
static void | SetGlobalDefaultDirectionTolerance (double) |
Static Public Member Functions inherited from itk::Object | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool val) |
Static Public Member Functions inherited from itk::LightObject | |
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 Public Attributes inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
static constexpr unsigned int | InputImageDimension = TInputImage::ImageDimension |
static constexpr unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Static Public Attributes inherited from itk::ImageSource< TOutputImage > | |
static constexpr unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Protected Types inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
using | InputToOutputRegionCopierType = ImageToImageFilterDetail::ImageRegionCopier< Self::OutputImageDimension, Self::InputImageDimension > |
using | OutputToInputRegionCopierType = ImageToImageFilterDetail::ImageRegionCopier< Self::InputImageDimension, Self::OutputImageDimension > |
Static Protected Member Functions inherited from itk::ImageSource< TOutputImage > | |
static const ImageRegionSplitterBase * | GetGlobalDefaultSplitter () |
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | ThreaderCallback (void *arg) |
Static Protected Member Functions inherited from itk::ProcessObject | |
template<typename TSourceObject > | |
static void | MakeRequiredOutputs (TSourceObject &sourceObject, const DataObjectPointerArraySizeType numberOfRequiredOutputs) |
static constexpr float | progressFixedToFloat (uint32_t fixed) |
static uint32_t | progressFloatToFixed (float f) |
Protected Attributes inherited from itk::ImageSource< TOutputImage > | |
bool | m_DynamicMultiThreading { true } |
Protected Attributes inherited from itk::ProcessObject | |
TimeStamp | m_OutputInformationMTime {} |
bool | m_Updating {} |
Protected Attributes inherited from itk::LightObject | |
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 |
OutputImagePointer
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 |
The region requested from* the input image
Definition at line 207 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
|
overrideprotecteddefault |
Destructor
|
overrideprotectedvirtual |
Actual filter computation
Reimplemented from itk::ImageSource< TOutputImage >.
|
overrideprotectedvirtual |
Calculate the required input region
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
|
overrideprotectedvirtual |
Generate metadata for output image
Reimplemented from itk::ProcessObject.
|
virtual |
|
virtual |
|
virtual |
|
overridevirtual |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
static |
|
overrideprotectedvirtual |
Output class information
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |