|
static Pointer | New () |
|
static void | SetGlobalDefaultDirectionTolerance (double) |
|
static double | GetGlobalDefaultDirectionTolerance () |
|
static void | SetGlobalDefaultCoordinateTolerance (double) |
|
static double | GetGlobalDefaultCoordinateTolerance () |
|
static bool | GetGlobalWarningDisplay () |
|
static void | GlobalWarningDisplayOff () |
|
static void | GlobalWarningDisplayOn () |
|
static Pointer | New () |
|
static void | SetGlobalWarningDisplay (bool val) |
|
static void | BreakOnError () |
|
static Pointer | New () |
|
using | RegionType = typename InputImageType::RegionType |
|
using | DivideByConstantType = DivideImageFilter< InputImageType, itk::Image< InputPixelRealValueType, ImageDimension >, OutputImageType > |
|
using | CasterType = CastImageFilter< InputImageType, OutputImageType > |
|
using | VectorWarperType = WarpVectorImageFilter< OutputImageType, OutputImageType, OutputImageType > |
|
using | FieldInterpolatorType = VectorLinearInterpolateNearestNeighborExtrapolateImageFunction< OutputImageType, double > |
|
using | AdderType = AddImageFilter< OutputImageType, OutputImageType, OutputImageType > |
|
using | DivideByConstantPointer = typename DivideByConstantType::Pointer |
|
using | CasterPointer = typename CasterType::Pointer |
|
using | VectorWarperPointer = typename VectorWarperType::Pointer |
|
using | FieldInterpolatorPointer = typename FieldInterpolatorType::Pointer |
|
using | FieldInterpolatorOutputType = typename FieldInterpolatorType::OutputType |
|
using | AdderPointer = typename AdderType::Pointer |
|
static constexpr unsigned int | ImageDimension = TInputImage::ImageDimension |
|
static constexpr unsigned int | OutputImageDimension = TInputImage::ImageDimension |
|
static constexpr unsigned int | PixelDimension = InputPixelType::Dimension |
|
static constexpr unsigned int | OutputPixelDimension = OutputPixelType::Dimension |
|
bool | m_AutomaticNumberOfIterations |
|
unsigned int | m_MaximumNumberOfIterations |
|
bool | m_ComputeInverse |
|
DivideByConstantPointer | m_Divider |
|
CasterPointer | m_Caster |
|
VectorWarperPointer | m_Warper |
|
AdderPointer | m_Adder |
|
virtual void | SetMaximumNumberOfIterations (unsigned int _arg) |
|
virtual unsigned int | GetMaximumNumberOfIterations () const |
|
virtual void | SetAutomaticNumberOfIterations (bool _arg) |
|
virtual bool | GetAutomaticNumberOfIterations () const |
|
virtual void | AutomaticNumberOfIterationsOn () |
|
virtual void | AutomaticNumberOfIterationsOff () |
|
virtual void | SetComputeInverse (bool _arg) |
|
virtual bool | GetComputeInverse () const |
|
virtual void | ComputeInverseOn () |
|
virtual void | ComputeInverseOff () |
|
| ExponentialDisplacementFieldImageFilter () |
|
| ~ExponentialDisplacementFieldImageFilter () override=default |
|
void | PrintSelf (std::ostream &os, Indent indent) const override |
|
void | GenerateData () override |
|
|
static constexpr unsigned int | InputImageDimension = TInputImage::ImageDimension |
|
static constexpr unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
|
static constexpr unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
|
using | InputToOutputRegionCopierType = ImageToImageFilterDetail::ImageRegionCopier< Self::OutputImageDimension, Self::InputImageDimension > |
|
using | OutputToInputRegionCopierType = ImageToImageFilterDetail::ImageRegionCopier< Self::InputImageDimension, Self::OutputImageDimension > |
|
| ImageToImageFilter () |
|
| ~ImageToImageFilter () override=default |
|
void | VerifyInputInformation () ITKv5_CONST override |
|
void | GenerateInputRequestedRegion () override |
|
virtual void | CallCopyOutputRegionToInputRegion (InputImageRegionType &destRegion, const OutputImageRegionType &srcRegion) |
|
virtual void | CallCopyInputRegionToOutputRegion (OutputImageRegionType &destRegion, const InputImageRegionType &srcRegion) |
|
void | PushBackInput (const DataObject *input) override |
|
void | PushFrontInput (const DataObject *input) override |
|
| ImageSource () |
|
| ~ImageSource () override=default |
|
void | ClassicMultiThread (ThreadFunctionType callbackFunction) |
|
virtual void | ThreadedGenerateData (const OutputImageRegionType ®ion, ThreadIdType threadId) |
|
virtual void | DynamicThreadedGenerateData (const OutputImageRegionType &outputRegionForThread) |
|
virtual void | AllocateOutputs () |
|
virtual void | BeforeThreadedGenerateData () |
|
virtual void | AfterThreadedGenerateData () |
|
virtual const ImageRegionSplitterBase * | GetImageRegionSplitter () const |
|
virtual unsigned int | SplitRequestedRegion (unsigned int i, unsigned int pieces, OutputImageRegionType &splitRegion) |
|
virtual bool | GetDynamicMultiThreading () const |
|
virtual void | SetDynamicMultiThreading (bool _arg) |
|
virtual void | DynamicMultiThreadingOn () |
|
virtual void | DynamicMultiThreadingOff () |
|
| ProcessObject () |
|
| ~ProcessObject () override |
|
DataObject * | GetInput (const DataObjectIdentifierType &key) |
|
const DataObject * | GetInput (const DataObjectIdentifierType &key) const |
|
DataObject * | GetInput (DataObjectPointerArraySizeType idx) |
|
const DataObject * | GetInput (DataObjectPointerArraySizeType idx) const |
|
virtual void | SetInput (const DataObjectIdentifierType &key, DataObject *input) |
|
virtual void | SetNthInput (DataObjectPointerArraySizeType idx, DataObject *input) |
|
virtual void | AddInput (DataObject *input) |
|
virtual void | RemoveInput (const DataObjectIdentifierType &key) |
|
virtual void | RemoveInput (DataObjectPointerArraySizeType) |
|
DataObject * | GetPrimaryInput () |
|
const DataObject * | GetPrimaryInput () const |
|
virtual void | SetPrimaryInputName (const DataObjectIdentifierType &key) |
|
virtual const char * | GetPrimaryInputName () const |
|
virtual void | SetPrimaryInput (DataObject *object) |
|
void | SetNumberOfIndexedInputs (DataObjectPointerArraySizeType num) |
|
virtual void | SetNumberOfRequiredInputs (DataObjectPointerArraySizeType) |
|
virtual const DataObjectPointerArraySizeType & | GetNumberOfRequiredInputs () const |
|
bool | RemoveRequiredInputName (const DataObjectIdentifierType &) |
|
bool | IsRequiredInputName (const DataObjectIdentifierType &) const |
|
void | SetRequiredInputNames (const NameArray &) |
|
bool | AddRequiredInputName (const DataObjectIdentifierType &) |
|
bool | AddRequiredInputName (const DataObjectIdentifierType &, DataObjectPointerArraySizeType idx) |
|
void | AddOptionalInputName (const DataObjectIdentifierType &) |
|
void | AddOptionalInputName (const DataObjectIdentifierType &, DataObjectPointerArraySizeType idx) |
|
DataObject * | GetOutput (const DataObjectIdentifierType &key) |
|
const DataObject * | GetOutput (const DataObjectIdentifierType &key) const |
|
virtual void | SetPrimaryOutputName (const DataObjectIdentifierType &key) |
|
virtual const char * | GetPrimaryOutputName () const |
|
DataObject * | GetOutput (DataObjectPointerArraySizeType i) |
|
const DataObject * | GetOutput (DataObjectPointerArraySizeType i) const |
|
virtual void | SetOutput (const DataObjectIdentifierType &name, DataObject *output) |
|
virtual void | RemoveOutput (const DataObjectIdentifierType &key) |
|
DataObject * | GetPrimaryOutput () |
|
const DataObject * | GetPrimaryOutput () const |
|
virtual void | SetPrimaryOutput (DataObject *object) |
|
virtual void | SetNthOutput (DataObjectPointerArraySizeType idx, DataObject *output) |
|
virtual void | AddOutput (DataObject *output) |
|
virtual void | RemoveOutput (DataObjectPointerArraySizeType idx) |
|
virtual void | SetNumberOfRequiredOutputs (DataObjectPointerArraySizeType _arg) |
|
virtual const DataObjectPointerArraySizeType & | GetNumberOfRequiredOutputs () const |
|
void | SetNumberOfIndexedOutputs (DataObjectPointerArraySizeType num) |
|
DataObjectIdentifierType | MakeNameFromInputIndex (DataObjectPointerArraySizeType idx) const |
|
DataObjectIdentifierType | MakeNameFromOutputIndex (DataObjectPointerArraySizeType idx) const |
|
DataObjectPointerArraySizeType | MakeIndexFromInputName (const DataObjectIdentifierType &name) const |
|
DataObjectPointerArraySizeType | MakeIndexFromOutputName (const DataObjectIdentifierType &name) const |
|
bool | IsIndexedInputName (const DataObjectIdentifierType &) const |
|
bool | IsIndexedOutputName (const DataObjectIdentifierType &) const |
|
virtual void | VerifyPreconditions () ITKv5_CONST |
|
virtual void | GenerateOutputRequestedRegion (DataObject *output) |
|
virtual void | GenerateOutputInformation () |
|
virtual void | PropagateResetPipeline () |
|
virtual void | ReleaseInputs () |
|
virtual void | CacheInputReleaseDataFlags () |
|
virtual void | RestoreInputReleaseDataFlags () |
|
virtual bool | GetThreaderUpdateProgress () const |
|
virtual void | ThreaderUpdateProgressOn () |
|
virtual void | ThreaderUpdateProgressOff () |
|
virtual void | SetThreaderUpdateProgress (bool arg) |
|
| Object () |
|
| ~Object () override |
|
bool | PrintObservers (std::ostream &os, Indent indent) const |
|
virtual void | SetTimeStamp (const TimeStamp &timeStamp) |
|
virtual LightObject::Pointer | InternalClone () const |
|
| LightObject () |
|
virtual void | PrintHeader (std::ostream &os, Indent indent) const |
|
virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
|
virtual | ~LightObject () |
|
static const ImageRegionSplitterBase * | GetGlobalDefaultSplitter () |
|
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | ThreaderCallback (void *arg) |
|
static constexpr float | progressFixedToFloat (uint32_t fixed) |
|
static uint32_t | progressFloatToFixed (float f) |
|
bool | m_DynamicMultiThreading |
|
bool | m_Updating |
|
TimeStamp | m_OutputInformationMTime |
|
std::atomic< int > | m_ReferenceCount |
|
template<typename TInputImage, typename TOutputImage>
class itk::ExponentialDisplacementFieldImageFilter< TInputImage, TOutputImage >
Computes a diffeomorphic displacement field as the Lie group exponential of a vector field.
ExponentialDisplacementFieldImageFilter takes a 'smooth' vector field as input and computes the displacement field that is its exponential.
Given that both the input and output displacement field are represented as discrete images with pixel type vector, the exponential will be only an estimation and will probably not correspond to a perfect exponential. The precision of the exponential can be improved at the price of increasing the computation time (number of iterations).
The method used for computing the exponential displacement field is an iterative scaling and squaring (cf Arsigny et al., "A
Log-Euclidean Framework for Statistics on Diffeomorphisms", MICCAI'06).
This filter expects both the input and output images to be of pixel type Vector.
- Author
- Tom Vercauteren, INRIA & Mauna Kea Technologies
This implementation was taken from the Insight Journal paper: https://www.insight-journal.org/browse/publication/154
Definition at line 62 of file itkExponentialDisplacementFieldImageFilter.h.