aimstil
5.0.5
|
Small miscellaneous utility functions for images. More...
#include <limits>
#include <cmath>
#include <cstdlib>
#include <typeinfo>
#include <vector>
#include "boost/utility/enable_if.hpp"
#include "til/til_common.h"
#include "til/ConditionalIterator.h"
#include "til/image_common.h"
#include "til/labels.h"
#include "til/miscTools.h"
#include "til/numeric_array.h"
#include "til/proba_distributions.h"
#include "til/Range.h"
#include "til/SymMatrix3.h"
Go to the source code of this file.
Namespaces | |
til | |
Belongs to package Box Do not include directly, include til/Box.h instead. | |
Functions | |
template<class TImage > | |
INLINE bool | til::isAllocated (const TImage &im) |
Check whether smart pointer and image are allocated. More... | |
template<class TImage > | |
INLINE void | til::allocationCheck (const TImage &im) |
Check whether smart pointer and image are allocated. More... | |
template<class TImage1 , class TImage2 > | |
INLINE void | til::allocationCheck (const TImage1 &im1, const TImage2 &im2) |
Same thing as allocation check, for two images successively. More... | |
template<class TImage1 , class TImage2 > | |
INLINE bool | til::areSimilar (const TImage1 &im1, const TImage2 &im2) |
template<class TImage1 , class TImage2 > | |
void | til::similarityCheck (const TImage1 &im1, const TImage2 &im2) |
Check whether both images are allocated and have the same size and voxel size. More... | |
template<class TImage1 , class TImage2 > | |
bool | til::areSameObject (const TImage1 &, const TImage2 &) |
Check that inputs do not point to the same image. More... | |
template<class TImage > | |
boost::enable_if< is_Image< TImage >, bool >::type | til::areSameObject (const TImage &im1, const TImage &im2) |
template<class TImage1 , class TImage2 > | |
boost::enable_if_c< is_Image< TImage1 >::value &&is_Image< TImage2 >::value >::type | til::notSameImageCheck (const TImage1 &im1, const TImage2 &im2) |
template<class TImage > | |
void | til::printInfo (const TImage &im) |
Print basic image information (pixel type, size, voxel size) More... | |
template<class TImage > | |
void | til::copy (const TImage &in, TImage &out) |
Copy one image to another. More... | |
template<typename TImage > | |
void | til::generateEllipsoidImage (TImage &im, double rx, double ry, double rz, t_voxsize vx, t_voxsize vy, t_voxsize vz, int sx, int sy, int sz, typename TImage::value_type foreground, typename TImage::value_type background) |
Creates an image with an ellipsoid centered on the image center. More... | |
template<typename TImage > | |
void | til::generateGaussianImage (TImage &im, numeric_array< double, 3 > sigma, typename TImage::value_type amplitude, numeric_array< t_voxsize, 3 > voxSize, numeric_array< int, 3 > size) |
Creates an image with a Gaussian around image center. More... | |
template<typename TImage > | |
void | til::generateGaussianKernel (TImage &kernel, double sigmaX, double sigmaY, double sigmaZ, t_voxsize vx, t_voxsize vy, t_voxsize vz, int sx, int sy, int sz) |
template<typename T1 , typename TImage2 > | |
void | til::deduceImageSizeFromGaussianStandardDeviation (T1 sigma, const TImage2 &im, int &hx, int &hy, int &hz) |
template<typename TImage > | |
void | til::getLocalHessian (const TImage &im, SymMatrix3< typename TImage::value_type > &mat, int x, int y, int z) |
template<typename TImage > | |
numeric_array< int, 3 > | til::getCenter (TImage &im) |
Get coordinates of image center. More... | |
template<typename TImage > | |
void | til::getImageCenter (const TImage &im, int &cx, int &cy, int &cz) |
Get coordinates of image center. More... | |
template<typename TImage > | |
INLINE boost::enable_if< is_Image< TImage >, bool >::type | til::contains (const TImage &im, const numeric_array< int, 3 > &pos) |
Check whether image range contains position 'pos'. More... | |
template<typename TImage > | |
INLINE bool | til::contains (const TImage &im, const numeric_array< int, 3 > &pos, const numeric_array< int, 3 > &offset) |
Tests whether image range contains position 'pos + offset', where 'pos' is known to lie within the image range. More... | |
template<typename TImage > | |
Range< int, 3 > | til::getRange (const TImage &im) |
Get image range. More... | |
template<typename TImage > | |
Box< double, 3 > | til::getBoundingBox (const TImage &im) |
Get image bounding box. More... | |
template<typename TImage > | |
void | til::extractBar (const TImage &im, const numeric_array< int, 3 > &pos, ImageAxis axis, std::vector< typename TImage::value_type > &bar) |
Extract the line starting from (x,y,z) in the direction of axis from im to bar. More... | |
template<typename TImage > | |
void | til::insertBar (TImage &im, const numeric_array< int, 3 > &pos, ImageAxis axis, const std::vector< typename TImage::value_type > &bar) |
Insert the line starting from (x,y,z) in the direction of axis from bar to im. More... | |
template<typename TImage > | |
void | til::setSumToOne (TImage &im) |
Normalize the image so that the sum of its element is equal to one. More... | |
template<typename T > | |
T ** | til::simple2DoublePointer (T *data, int x, int y, int z) |
Converts a contiguous memory buffer into a per-slice buffer. More... | |
template<typename TImage > | |
Iterator< TImage >::Linear | til::itlin (TImage &im) |
template<typename BoolFunctor , typename TImage > | |
ConditionalIterator< typename Iterator< TImage >::Linear, BoolFunctor > | til::itlin (TImage &im, const BoolFunctor &boolFunctor=BoolFunctor()) |
template<typename TImage > | |
Iterator< TImage >::ConstLinear | til::itlin_const (const TImage &im) |
template<typename BoolFunctor , typename TImage > | |
ConditionalIterator< typename Iterator< TImage >::ConstLinear, BoolFunctor > | til::itlin_const (const TImage &im, const BoolFunctor &boolFunctor=BoolFunctor()) |
template<typename TImage > | |
Iterator< TImage >::Volumetric | til::itvol (TImage &im) |
template<typename BoolFunctor , typename TImage > | |
ConditionalIterator< typename Iterator< TImage >::Volumetric, BoolFunctor > | til::itvol (TImage &im, const BoolFunctor &boolFunctor=BoolFunctor()) |
template<typename TImage > | |
Iterator< TImage >::ConstVolumetric | til::itvol_const (const TImage &im) |
template<typename BoolFunctor , typename TImage > | |
ConditionalIterator< typename Iterator< TImage >::ConstVolumetric, BoolFunctor > | til::itvol_const (const TImage &im, const BoolFunctor &boolFunctor=BoolFunctor()) |
template<typename TImage > | |
void | til::rand (TImage &im, typename TImage::value_type min, typename TImage::value_type max) |
Fills the image with random numbers uniformly distributed on [min, max]. More... | |
template<typename TImage > | |
void | til::setSlice (TImage &im, int sliceNumber, ImageAxis axis, typename TImage::value_type value) |
Set a value to an image slice. More... | |
template<typename TImage > | |
void | til::clearBorder (TImage &im, typename TImage::value_type background=0) |
Clear image borders. More... | |
template<int dx, int dy, int dz, class VolumetricImageIterator > | |
bool | til::containsNeighbor (const VolumetricImageIterator &iIm) |
template<typename TImage , typename T > | |
INLINE boost::enable_if< is_Image< TImage >, numeric_array< double, 3 > >::type | til::vol2world (const TImage &im, const numeric_array< T, 3 > &volumePos) |
Get the world coordinates of an image point. More... | |
template<typename TImage > | |
INLINE boost::enable_if< is_Image< TImage >, numeric_array< double, 3 > >::type | til::world2vol (const TImage &im, const numeric_array< double, 3 > &worldPos) |
Small miscellaneous utility functions for images.
Definition in file imageTools.h.