#include <itkTimeVaryingVelocityFieldIntegrationImageFilter.h>
Integrate a time-varying velocity field using 4th order Runge-Kutta.
Diffeomorphisms are topology-preserving mappings that are useful for describing biologically plausible deformations. Mathematically, a diffeomorphism, \( \phi \), is generated from a time-varying velocity field, v, as described by the integral equation:
\[\phi(t_b) = \phi(t_a) + \int_{t_a}^{t_b} v(\phi(t),t) dt \]
In this class, the input is the time-varying velocity field and an initial diffeomorphism. The output diffeomorphism is produced using fourth order Runge-Kutta.
Definition at line 55 of file itkTimeVaryingVelocityFieldIntegrationImageFilter.h.
Inheritance diagram for itk::TimeVaryingVelocityFieldIntegrationImageFilter< TTimeVaryingVelocityField, TDisplacementField >:
Collaboration diagram for itk::TimeVaryingVelocityFieldIntegrationImageFilter< TTimeVaryingVelocityField, TDisplacementField >: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 () |
Static Public Attributes | |
| static constexpr unsigned int | InputImageDimension = TTimeVaryingVelocityField::ImageDimension |
| static constexpr unsigned int | OutputImageDimension = TDisplacementField::ImageDimension |
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 Attributes | |
| DisplacementFieldInterpolatorPointer | m_DisplacementFieldInterpolator {} |
| DisplacementFieldPointer | m_InitialDiffeomorphism {} |
| RealType | m_LowerTimeBound {} |
| unsigned int | m_NumberOfIntegrationSteps {} |
| unsigned int | m_NumberOfTimePoints {} |
| bool | m_TimeBoundsAsRates { true } |
| RealType | m_UpperTimeBound {} |
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 {} |
Private Attributes | |
| VelocityFieldInterpolatorPointer | m_VelocityFieldInterpolator {} |
Additional Inherited Members | |
Protected Types inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
| using | InputToOutputRegionCopierType |
| using | OutputToInputRegionCopierType |
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) |
| using itk::TimeVaryingVelocityFieldIntegrationImageFilter< TTimeVaryingVelocityField, TDisplacementField >::ConstPointer = SmartPointer<const Self> |
Definition at line 64 of file itkTimeVaryingVelocityFieldIntegrationImageFilter.h.
| using itk::TimeVaryingVelocityFieldIntegrationImageFilter< TTimeVaryingVelocityField, TDisplacementField >::DisplacementFieldInterpolatorPointer = typename DisplacementFieldInterpolatorType::Pointer |
Definition at line 92 of file itkTimeVaryingVelocityFieldIntegrationImageFilter.h.
| using itk::TimeVaryingVelocityFieldIntegrationImageFilter< TTimeVaryingVelocityField, TDisplacementField >::DisplacementFieldInterpolatorType = VectorInterpolateImageFunction<DisplacementFieldType, ScalarType> |
Definition at line 91 of file itkTimeVaryingVelocityFieldIntegrationImageFilter.h.
| using itk::TimeVaryingVelocityFieldIntegrationImageFilter< TTimeVaryingVelocityField, TDisplacementField >::DisplacementFieldPointer = typename DisplacementFieldType::Pointer |
Definition at line 81 of file itkTimeVaryingVelocityFieldIntegrationImageFilter.h.
| using itk::TimeVaryingVelocityFieldIntegrationImageFilter< TTimeVaryingVelocityField, TDisplacementField >::DisplacementFieldType = TDisplacementField |
Definition at line 80 of file itkTimeVaryingVelocityFieldIntegrationImageFilter.h.
| using itk::TimeVaryingVelocityFieldIntegrationImageFilter< TTimeVaryingVelocityField, TDisplacementField >::OutputRegionType = typename DisplacementFieldType::RegionType |
Definition at line 86 of file itkTimeVaryingVelocityFieldIntegrationImageFilter.h.
| using itk::TimeVaryingVelocityFieldIntegrationImageFilter< TTimeVaryingVelocityField, TDisplacementField >::Pointer = SmartPointer<Self> |
Definition at line 63 of file itkTimeVaryingVelocityFieldIntegrationImageFilter.h.
| using itk::TimeVaryingVelocityFieldIntegrationImageFilter< TTimeVaryingVelocityField, TDisplacementField >::PointType = typename DisplacementFieldType::PointType |
Definition at line 85 of file itkTimeVaryingVelocityFieldIntegrationImageFilter.h.
| using itk::TimeVaryingVelocityFieldIntegrationImageFilter< TTimeVaryingVelocityField, TDisplacementField >::RealType = typename VectorType::RealValueType |
Definition at line 83 of file itkTimeVaryingVelocityFieldIntegrationImageFilter.h.
| using itk::TimeVaryingVelocityFieldIntegrationImageFilter< TTimeVaryingVelocityField, TDisplacementField >::ScalarType = typename VectorType::ValueType |
Definition at line 84 of file itkTimeVaryingVelocityFieldIntegrationImageFilter.h.
| using itk::TimeVaryingVelocityFieldIntegrationImageFilter< TTimeVaryingVelocityField, TDisplacementField >::Self = TimeVaryingVelocityFieldIntegrationImageFilter |
Definition at line 61 of file itkTimeVaryingVelocityFieldIntegrationImageFilter.h.
| using itk::TimeVaryingVelocityFieldIntegrationImageFilter< TTimeVaryingVelocityField, TDisplacementField >::Superclass = ImageToImageFilter<TTimeVaryingVelocityField, TDisplacementField> |
Definition at line 62 of file itkTimeVaryingVelocityFieldIntegrationImageFilter.h.
| using itk::TimeVaryingVelocityFieldIntegrationImageFilter< TTimeVaryingVelocityField, TDisplacementField >::TimeVaryingVelocityFieldType = TTimeVaryingVelocityField |
Definition at line 79 of file itkTimeVaryingVelocityFieldIntegrationImageFilter.h.
| using itk::TimeVaryingVelocityFieldIntegrationImageFilter< TTimeVaryingVelocityField, TDisplacementField >::VectorType = typename DisplacementFieldType::PixelType |
Definition at line 82 of file itkTimeVaryingVelocityFieldIntegrationImageFilter.h.
| using itk::TimeVaryingVelocityFieldIntegrationImageFilter< TTimeVaryingVelocityField, TDisplacementField >::VelocityFieldInterpolatorPointer = typename VelocityFieldInterpolatorType::Pointer |
Definition at line 89 of file itkTimeVaryingVelocityFieldIntegrationImageFilter.h.
| using itk::TimeVaryingVelocityFieldIntegrationImageFilter< TTimeVaryingVelocityField, TDisplacementField >::VelocityFieldInterpolatorType = VectorInterpolateImageFunction<TimeVaryingVelocityFieldType, ScalarType> |
Definition at line 88 of file itkTimeVaryingVelocityFieldIntegrationImageFilter.h.
|
protected |
Referenced by GetNameOfClass().
|
overrideprotecteddefault |
|
overrideprotectedvirtual |
If an imaging filter needs to perform processing after the buffer has been allocated but before threads are spawned, the filter can can provide an implementation for BeforeThreadedGenerateData(). The execution flow in the default GenerateData() method will be: 1) Allocate the output buffer 2) Call BeforeThreadedGenerateData() 3) Spawn threads, calling ThreadedGenerateData() in each thread. 4) Call AfterThreadedGenerateData() Note that this flow of control is only available if a filter provides a ThreadedGenerateData() method and NOT a GenerateData() method.
Reimplemented from itk::ImageSource< TOutputImage >.
|
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::Object.
|
overrideprotected |
|
overrideprotectedvirtual |
Generate the information describing the output data. The default implementation of this method will copy information from the input to the output. A filter may override this method if its output will have different information than its input. For instance, a filter that shrinks an image will need to provide an implementation for this method that changes the spacing of the pixels. Such filters should call their superclass' implementation of this method prior to changing the information values they need (i.e. GenerateOutputInformation() should call Superclass::GenerateOutputInformation() prior to changing the information.
Reimplemented from itk::ProcessObject.
|
virtual |
Get/Set the deformation field interpolator for the initial diffeomorphism (if set). Default = linear.
|
virtual |
Get/Set the initial diffeomorphism
|
virtual |
Get the lower time bound defining the integration domain of the transform. We assume that the total possible time domain is [0,1].
|
virtual |
Get/Set the deformation field interpolator for the initial diffeomorphism (if set). Default = linear.
|
virtual |
Get/Set the initial diffeomorphism
|
virtual |
Get/Set the time-varying velocity field interpolator. Default = linear.
|
virtual |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
References TimeVaryingVelocityFieldIntegrationImageFilter().
|
virtual |
Get the number of integration steps used in the Runge-Kutta solution of the initial value problem. Default = 10.
|
virtual |
Get/Set a flag to interpret LowerTimeBound and UpperTimeBound as rates in the velocity field time span. This is equivalent to consider that the velocity field is defined in the normalized time interval [0, 1], ignoring the input origin and spacing in the temporal dimension.
The default is true for backwards compatibility.
|
virtual |
Get the upper time bound defining the integration domain of the transform. We assume that the total possible time domain is [0,1].
|
virtual |
Get/Set the time-varying velocity field interpolator. Default = linear.
|
protected |
|
static |
Method for creation through the object factory.
|
overrideprotectedvirtual |
Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
|
virtual |
Get/Set the deformation field interpolator for the initial diffeomorphism (if set). Default = linear.
|
virtual |
Get/Set the initial diffeomorphism
|
virtual |
Set the lower time bound defining the integration domain of the transform. We assume that the total possible time domain is [0,1].
|
virtual |
Set the number of integration steps used in the Runge-Kutta solution of the initial value problem. Default = 10.
|
virtual |
Get/Set a flag to interpret LowerTimeBound and UpperTimeBound as rates in the velocity field time span. This is equivalent to consider that the velocity field is defined in the normalized time interval [0, 1], ignoring the input origin and spacing in the temporal dimension.
The default is true for backwards compatibility.
|
virtual |
Set the upper time bound defining the integration domain of the transform. We assume that the total possible time domain is [0,1].
|
virtual |
Get/Set the time-varying velocity field interpolator. Default = linear.
|
virtual |
Get/Set a flag to interpret LowerTimeBound and UpperTimeBound as rates in the velocity field time span. This is equivalent to consider that the velocity field is defined in the normalized time interval [0, 1], ignoring the input origin and spacing in the temporal dimension.
The default is true for backwards compatibility.
|
virtual |
Get/Set a flag to interpret LowerTimeBound and UpperTimeBound as rates in the velocity field time span. This is equivalent to consider that the velocity field is defined in the normalized time interval [0, 1], ignoring the input origin and spacing in the temporal dimension.
The default is true for backwards compatibility.
|
staticconstexpr |
Dimensionality of input data is assumed to be one more than the output data the same.
Definition at line 75 of file itkTimeVaryingVelocityFieldIntegrationImageFilter.h.
|
protected |
Definition at line 192 of file itkTimeVaryingVelocityFieldIntegrationImageFilter.h.
|
protected |
Definition at line 186 of file itkTimeVaryingVelocityFieldIntegrationImageFilter.h.
|
protected |
Definition at line 183 of file itkTimeVaryingVelocityFieldIntegrationImageFilter.h.
|
protected |
Definition at line 188 of file itkTimeVaryingVelocityFieldIntegrationImageFilter.h.
|
protected |
Definition at line 190 of file itkTimeVaryingVelocityFieldIntegrationImageFilter.h.
|
protected |
Definition at line 194 of file itkTimeVaryingVelocityFieldIntegrationImageFilter.h.
|
protected |
Definition at line 184 of file itkTimeVaryingVelocityFieldIntegrationImageFilter.h.
|
private |
Definition at line 197 of file itkTimeVaryingVelocityFieldIntegrationImageFilter.h.
|
staticconstexpr |
Definition at line 77 of file itkTimeVaryingVelocityFieldIntegrationImageFilter.h.