Skip to content

Commit

Permalink
DOC: Improve/correct TransformGeometryFilter documentation.
Browse files Browse the repository at this point in the history
  • Loading branch information
zivy authored and dzenanz committed Feb 14, 2022
1 parent 4467236 commit 9cc0321
Showing 1 changed file with 21 additions and 20 deletions.
41 changes: 21 additions & 20 deletions Modules/Core/Transform/include/itkTransformGeometryImageFilter.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,28 +26,29 @@
namespace itk
{
/** \class TransformGeometryImageFilter
* \brief Pseudo-Resample an image by modifying the geometric meta-data and not the pixels.
*
* The TransformGeometryImageFilter will generate a physical memory-modified version of
* the input image if the input transform is not identity. Its neglectful use
* can be a source of problems: e.g. it can exhaust the memory if the image is
* very large, and it WILL reduce the image quality when there are lots of
* transforms to be superimposed for the input image. Often times, we are not
* interested in the intermediate transformed images.
*
* If all the transforms are rigid, there is a far superior way to achieve a similar result.
* Updating image metadata in-place removes the accumulated resampling errors
* as well as eliminating the expense of accessing the physical memory of the image.
* We need to compose all the transforms beforehand to make use of this filter.
*
* \param \c RigidTransform Currently must be a VersorRigid3DTransform.
* \brief Modify an image's geometric meta-data, changing its "physical" extent.
*
* The TransformGeometryImageFilter "physically" changes the image in
* space using the given transformation. The
* specific transformation type can be any type derived from the
* MatrixOffsetTransformBase and the TranslationTransform.
* The modification of the geometric meta-data is an alternative to
* resampling the moving image onto the fixed image grid, after registration. The advantages of using
* this approach over resampling are two-fold, it does not introduce artifacts
* into the result because the original intensity information is not
* modified, and it is computationally more efficient.
*
* When the filter is used with a rigid or translation transformation
* the resulting image can be saved in any desired format. When the
* filter is used with an affine transformation the resulting image
* should be saved in a format that supports a non ortho-normal
* direction cosine matrix (e.g. nrrd).
*
* \param \c Transform Any transform derived from MatrixOffsetTransformBase or TranslationTransform.
* \param \c InputImage The image to be duplicated and modified to incorporate the
* rigid transform.
* transform.
* \return An image with the same voxel values as the input, but with different
* physical space representation affected by the rigid transform.
*
* The purpose of this class is to generate the new origin and direction
* that will remove the need for using the transform.
* physical space representation affected by the transform.
*
* Let us call the transform operation from the fixed image to moving image <tt>TfmF2M</tt>.
* Given a set of points from the fixed image in physical space (i.e. <tt>physicalFixedImagePoints</tt>),
Expand Down

0 comments on commit 9cc0321

Please sign in to comment.