#include <ImLib3D/Interpolator3D.hpp>
#include <ImLib3D/SplineInterpolation.hpp>
#include <ImLib3D/TestPatterns.hpp>
#include <ImLib3D/Interpolator3D.hxx>
Include dependency graph for Transformation.hxx:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Namespaces | |
namespace | IP3D |
Functions | |
template<> | |
void | TransformWithInverseField< Mask3D > (const Mask3D &imOrig, const Field3Df &field, Mask3D &_imRes) |
Transforming a mask is more complex than for a normal image. | |
template<class ImageType> | |
void | IP3D::TransformWithInverseField (const ImageType &src, const Field3Df &field, ImageType &_res) |
Use this function to resample an image (backward transform). | |
template<class ImageType> | |
void | IP3D::TransformAffine (const ImageType &src, const Affine3DTransform &transfo, ImageType &_res, const Size3D *resSize) |
Perform an affine transformation on an image. |
Definition in file Transformation.hxx.
|
Transforming a mask is more complex than for a normal image. Each value has to be considered as a distinct labe, and normal interpolation is meaningless (it would mix labels!). Here we solve the problem by independently transforming each label value, and then recomposing a final result mask by voting use label=0 as default |
|
Use this function to resample an image (backward transform). Use this function to resample an image imOrig at new positions as defined by field. WARNING: the field defines a backward transform ie.: res(P)=src(P+field(P)) this might seem unatural at first, but is the best method for using a field transform. for int images, use temporrary float images (otherwise interpolation sucks) Definition at line 42 of file Transformation.hxx. References ImageProcessorArgs< ImageType >::GetDest(), Image3D::Mask(), ImageProcessorArgs< ImageType >::SetDestSize(), Image3D::Size(), IP3D::TransformWithInverseField(), Vect3D< Value, Real >::x, Vect3D< Value, Real >::y, and Vect3D< Value, Real >::z. |