#include <ImLib3D/Affine3DTransform.hpp>
#include <ImLib3D/Display.hpp>
#include <ImLib3D/ImageProgress.hpp>
#include <ImLib3D/Transformation.hxx>
Include dependency graph for Transformation.hpp:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Namespaces | |
namespace | IP3D |
namespace | IP3D::TransformAffineHelpers |
Functions | |
template<class ImageType> | |
void | TransformWithInverseField (const ImageType &imOrig, const Field3Df &field, ImageType &imRes) |
template<class ImageType> | |
void | TransformAffine (const ImageType &imOrig, const Affine3DTransform &transfo, ImageType &imDest, const Size3D *resSize=NULL) |
void | CreateInverseField (Field3Df &field, const Affine3DTransform &transfo) |
template<class ImageType> | |
void | Scale (const ImageType &src, const Size3D &newSize, ImageType &res) |
template<class ImageType> | |
void | WrapTranslate (const ImageType &src, const Vect3Di &t0, ImageType &res0) |
template<class ImageType> | |
void | Flip (const ImageType &src, const string &axes, ImageType &res0) |
template<class ImageType> | |
void | SwapAxes (const ImageType &src, const string &axes, ImageType &res0) |
<long description=""> Contains all classes concerning Transformations like rotation, scaling and so on
See AUTHORS and COPYING files for more information
Definition in file Transformation.hpp.
|
#&TransformWithInverseField&# Use a vector field to apply a deformation on an image. If F is a vector field (3D image composed of 3D vectors), S the source image,R the result image, and P a point, we have: R(P)=S(P+F(P)). If no interpolator is present in source image, it will use a bspline 5th degree interpolator. If a mask is present, it will be transformed by creating seperate binary images for each different intensity value in the mask. Each binary (0 or 1) image is transformed using an interpolator (default bspline 5). The result mask is constructed by recombining the transformed floating point binary images. This gives MUCH better results than would be obtained by using nearest neighbor interpolation. This is however, very slow if mask contains many different intensity values. Referenced by IP3D::TransformAffine(), and IP3D::TransformWithInverseField(). |
|
#&TransformAffine&# Perform an affine transformation on an image Affine transforms are described by a 3x3 matrix and a translation vector. They can be stored in an ImLib3D format file (see Affine3DTransform). If no interpolator is present in source image, it will use a bspline 5th degree interpolator. If a mask is present, it will be transformed as described in TransformWithInverseField. If optional size is not ommited, result image will have same size as source image. Referenced by IP3D::Scale(). |
|
#&Scale&# Change image size using resampling If no interpolator is present in source image, it will use a bspline 5th degree interpolator. If a mask is present, it will be transformed as described in TransformWithInverseField. Definition at line 100 of file Transformation.hpp. References Size3D::depth, Size3D::height, Affine3DTransform::SetScale(), IP3D::TransformAffine(), and Size3D::width. |
|
#&WrapTranslate&# Translates an image by integer vector, and wraps around Transforms any masks as well. Definition at line 121 of file Transformation.hpp. References Vect3D< Value, Real >::x, Vect3D< Value, Real >::y, and Vect3D< Value, Real >::z. Referenced by IP3D::GaussianApproxFilter(). |
|
#&Flip&# Flips image in one or more directions This is usefull when using images from various sources. Second argument is a string containing directions in which to flip. example: "XY" Definition at line 162 of file Transformation.hpp. |
|
#&SwapAxes&# Swaps axes This is usefull when using images from various sources. Second argument is a string containing axes to swap. example: "XY" will invert x and y axes Definition at line 204 of file Transformation.hpp. References ImageProcessorArgs< ImageType >::GetDest(), and ImageProcessorArgs< ImageType >::SetDestSize(). |