aimstil  5.0.5
til Namespace Reference

Belongs to package Box Do not include directly, include til/Box.h instead. More...

Namespaces

 callback
 
 detail
 Multiply an image with another object.
 
 expr
 namespace for template expressions.
 
 functor
 
 fuzzy
 
 geo
 
 ghost
 
 io
 
 label
 Namespace for labels, i.e. empty structures that are use only for their meaning.
 
 math
 Namespace for misc. math definitions.
 
 meta
 < Namespace for meta-programming tools
 
 policy
 
 treeFunctors
 
 xsr
 namespace for accessors.
 

Classes

struct  accumulation_of
 
struct  accumulation_of< float >
 
class  Accumulator
 A class to accumulate value. More...
 
class  Add
 
class  Affine
 A affine mathematical object. More...
 
class  AffineMap
 Defines an affine coordinate transform. More...
 
class  basic_iterator
 A simple wrapper around T*. More...
 
class  basic_range
 A simple range made out of a couple of iterators. More...
 
class  basic_volumetric_iterator
 
struct  bool_type
 
struct  bool_type< true >
 
class  Box
 A 3D box parallel to canonical axes. More...
 
class  Brent
 A class to minimize a functional within a bracketing triplet. More...
 
class  CatmullRomInterpolation
 Interpolation using the Catmull-Rom polynomial. More...
 
struct  change_precision
 Changing the numerical precision of an object. More...
 
struct  change_precision< numeric_array< T, D >, TNewPrecision >
 Change precision. More...
 
struct  change_precision< Point< T, D, TStorage >, TNewPrecision >
 
class  ChangePrecision
 
struct  check
 Fails to compile if b is false. More...
 
struct  combine
 Defines the return type of an operation between numbers of different types. More...
 
class  ConditionalIterator
 Conditional iterator for images. More...
 
class  const_cyclic_iterator
 A const cyclic iterator is a const iterator that goes back to the begining of the container when it reaches the end. More...
 
class  const_func_iterator
 A functor iterator is an iterator that overload the operator* to a call to a functor on the pointed value. More...
 
struct  const_range_of
 
struct  const_range_of< std::list< T, TAlloc > >
 
struct  const_range_of< std::vector< T, TAlloc > >
 
class  const_value_proxy
 The value_proxy is designed to provide a simple access to container values that are in fact complicated (e.g. More...
 
class  ConstLinearIterator
 
class  ConstLinearIterator< ImageC< T > >
 
class  ConstLinearIterator< ImageNC< T > >
 
class  ConstLinearIterator< ImageRLE< T > >
 
class  ConstPtr
 Smart pointer for constant objects deriving from SmartObject. More...
 
class  ConstVolumetricIterator
 
class  ConstVolumetricIterator< ImageC< T > >
 
class  ConstVolumetricIterator< ImageNC< T > >
 
struct  Convert
 TODO: The idea here is to have no convert with a loop; use for_each(..., Convert()) instead. More...
 
struct  Convert2
 
struct  Convert_numerical
 conversion between numerical types More...
 
class  CubicSplineInterpolation
 Cubic interpolation. More...
 
class  cyclic_iterator
 A cyclic iterator is an iterator that goes back to the begining of the container when it reaches the end. More...
 
class  CyclicExtrapolator
 Image extrapolation using cyclic symmetry. More...
 
struct  deref
 Type return by T when unitary T::operator*() is called. More...
 
struct  deref< T * >
 
class  DerivativeEstimator
 First derivative estimator of a monodimensional functional. More...
 
class  DirectedNode
 
struct  disable_if
 
struct  disable_if_c
 
struct  disable_if_c< true, T >
 
struct  DistanceMapLabels
 
class  DoNothing
 
struct  DWTCubic
 In-place (4-2) DWT via lifting. More...
 
struct  DWTCubicConjugate
 Transposed filter of (4-2). More...
 
class  DWTND
 Extension of DWT to multidimensional arrays. More...
 
class  DWTND< DWT, 2 >
 
class  DWTND< DWT, 3 >
 
class  Dyn
 Functor wrapper for dynamic type images. More...
 
class  DynBase
 
class  DynImage
 Base class for dynamic type images. More...
 
class  DynImage_typed
 Child class of dynamic image base class, implementing a specific type. More...
 
class  DynTyped
 
struct  enable_if
 
struct  enable_if_c
 Template tool to enable a template specialization under some condition. More...
 
struct  enable_if_c< false, T >
 
class  EquivalenceChain
 
class  ExecuteIfDynCast
 
class  ExtrapolableImage
 Enable image extrapolation by overloading the getValue function. More...
 
struct  false_type
 
class  Find_closest
 A class to find a KDTree point closest to an input point. More...
 
class  Find_mapEach
 
class  FixedStep
 Use a fixed step during the descent. More...
 
class  Fraction
 A class to divide one number by another. More...
 
class  func_container
 A wrapper on stl containers that returns func iterators. More...
 
class  func_iterator
 A functor iterator is an iterator that overload the operator* to a call to a functor on the pointed value. More...
 
class  GaussianNormalizedCorrelation
 
class  Get_edges_and_faces
 
class  ghost_array
 
class  GonzalezClustering
 Gonzalez clustering. More...
 
class  GradientDescent
 Gradient descent minimization. More...
 
class  GradientEstimator
 Gradient estimator of a multidimensional functional. More...
 
class  Graph2ListMeshConvertor
 
class  Graph2ListMeshConvertor2
 
class  Graph_distance_map
 
struct  Greater_Pair2
 operator> on the second member of a pair. More...
 
class  ImageB
 A 3D image class that stores data in cubes of size NX, NY, NZ. More...
 
class  ImageBase
 Collects common code accross all image classes. More...
 
class  ImageC
 Image class using contiguous memory. More...
 
class  ImageNC
 Image class storing data slice-by-slice. More...
 
struct  ImageOfType_OneTemplateArgument
 Traits for dynamic images. More...
 
struct  ImageParameter
 Collects image information to create similar images. More...
 
class  ImageRLE
 Image class using run-length encoded data. More...
 
class  Incrementor
 A class which returns a value that is increased everytime it is returned. More...
 
class  index_collection
 
class  index_collection< TContainer, std::size_t >
 
class  index_collection< TContainer, T *>
 
class  IndexWrap
 
class  IntegerRoot
 Compute the N-root of an integer. More...
 
struct  InterpolationSampleSize
 Traits for interpolators representing the number of sample points each of these schemes use. More...
 
struct  InterpolationSampleSize< CatmullRomInterpolation< T > >
 
struct  InterpolationSampleSize< CubicSplineInterpolation< T > >
 
struct  InterpolationSampleSize< KeysInterpolation< T > >
 
struct  InterpolationSampleSize< Lagrange4Interpolation< T > >
 
struct  InterpolationSampleSize< LinearInterpolation< T > >
 
struct  is_floating_point
 
class  is_ImagePointer
 
struct  is_integer
 
class  is_Neighborhood
 
struct  is_same
 
struct  is_same< T, T >
 
struct  is_same_naked
 
struct  is_same_rvalue_type
 Test whether two types are basically the same as far as rvalue goes, i.e are the same modulo possible const and reference differences. More...
 
struct  is_signed
 
class  IsIsolated
 
struct  Iterator
 A trait class to assign iterators to image types. More...
 
struct  Iterator< ImageC< T > >
 Iterator traits of ImageC. More...
 
struct  Iterator< ImageNC< T > >
 Iterator traits of ImageNC. More...
 
struct  Iterator< ImageRLE< T > >
 Iterator traits of ImageRLE. More...
 
struct  IteratorOf< ImageC< T > >
 
class  KDTree
 
class  KDTreeFactory
 
class  KeysInterpolation
 Interpolation using Keys polynomial. More...
 
class  Lagrange4Interpolation
 Interpolation using Lagrange polynomials of order 4. More...
 
class  LambdaMuSmoothing
 
class  LaplacianSmoothing
 Discrete Laplacian smoothing. More...
 
struct  Lesser_Pair2
 operator< on the second member of a pair. More...
 
struct  Lesser_PointeeAddress
 operator< on the address in memory of the pointed object More...
 
struct  Lexicographical_compare
 
class  linear_map
 Linear mapping of a container. More...
 
class  linear_map< til::numeric_array< T, D >, C >
 
class  LinearInterpolation
 Linear interpolation between two values. More...
 
class  LinearIterator
 
class  LinearIterator< ImageC< T > >
 A class to iterate through all values of an image. More...
 
class  LinearIterator< ImageNC< T > >
 
class  LinearIterator< ImageRLE< T > >
 
class  LineMin
 A class to minimize a multidimensional functional along a line. More...
 
class  List2GraphMeshConvertor
 Converts a (vertexCollection, faceCollection) mesh into a (vertexList, faceList) mesh graph. More...
 
class  LMLike
 
class  Loop
 
class  Loop_mapEach
 Apply a functor to a pair of sparse vectors where either one has data. More...
 
class  Loop_mapEachAssign
 Apply a functor to a pair of sparse vectors where either one has data. More...
 
class  Loop_mapPairs
 Apply a functor to two sparse vectors only where they both have data. More...
 
class  LoopFunctor_label
 Label for loop functors. More...
 
class  LoopWraper
 
class  MapHistogram_def
 Compute a histogram by means of a map. More...
 
class  MapHistogram_float
 
class  matrix
 
class  Matrix3
 A mathematical matrix. More...
 
class  MeanAccumulator
 A class to accumulate values and return their mean. More...
 
class  Mesh
 A class to represent a very basic mesh, consisting of a set of vertices and a set of edges, represented as vertex indices. More...
 
class  Mesh_curvature
 
class  Mesh_curvature2
 
class  Mesh_distance_map
 
struct  MeshAttributes
 A trait for knowing the return type of a Mesh when adding redundant attributes such as normals, neighbors, etc. More...
 
struct  MeshAttributes< Mesh_N >
 Mesh attributes traits for Mesh. More...
 
struct  MeshAttributes< Mesh_NNo >
 
struct  MeshAttributes< Mesh_No >
 
class  MeshCurvature2
 
class  MeshFaceCollection
 
struct  MeshFaceNodeX
 
struct  MeshParam1
 
struct  MeshParam2
 
struct  MeshTraits
 Traits for meshes. More...
 
struct  MeshTraits< AimsSurface< D, T > >
 Mesh traits for AimsSurface. More...
 
struct  MeshTraits< AimsTimeSurface< D, T > >
 Mesh traits for AimsTimeSurface. More...
 
struct  MeshTraits< Mesh2_N >
 
struct  MeshTraits< Mesh< TParam > >
 Mesh traits for meshes of type Mesh. More...
 
struct  MeshTraits< Mesh_N >
 
struct  MeshTraits_default
 Default values for MeshTraits. More...
 
class  MeshVertexNodeX
 
struct  MeshWaveletEnergy
 Distance of a vertex to the mean of its neighbors divided by the area of its Voronoi cell. More...
 
struct  MeshWaveletEnergy2
 
class  MirrorExtrapolator
 Extrapolation using (thin) mirror symmetry. More...
 
class  Mnbrak
 A class to find a bracketing triplet around a function minimum. More...
 
class  multi_array
 A multi-dimensional container. More...
 
struct  MultiDWT
 Multi-scale in-place DWT. More...
 
struct  MultiDWTND
 Multi-scale in-place DWT in N-D. More...
 
struct  MultiDWTNDPower
 
struct  MultiDWTNDPower< T, 3 >
 
struct  MultiDWTNDShuffle
 
struct  MultiDWTNDShuffle< T, 2 >
 
struct  MultiDWTNDShuffle< T, 3 >
 
struct  MultiDWTPower
 
class  MultiDWTShuffle
 
struct  naked_type
 
class  NaryTree
 A class to represent an N-ary tree. More...
 
class  NearestExtrapolator
 Image extrapolation using value of nearest image point. More...
 
class  Neigh_decimation_labeler
 Attempt to label a vertex as removable, and if successfull, label its neighbors as unremovable. More...
 
class  Neighborhood
 
class  Neighborhood_label
 
class  Neighborhood_list
 Neighborhood as a list of vectors. More...
 
class  NeighborhoodConfigurations
 
class  Neighboring_faces
 
struct  NoIndicator
 Empty indicator class. More...
 
struct  NoInit
 A type used in some construtors to disable initialization. More...
 
struct  None
 A type representing the absence of a type. More...
 
class  NormalizedCorrelation
 
class  numeric_array
 
class  numeric_array< T, 3 >
 
class  Object
 A generic object. More...
 
class  Object_typed
 A concrete instance of a generic object, containing a real object of type T. More...
 
struct  opti
 Return T is T is stateless^H^H^H^Hempty, otherwise boost::call_traits<T>::param_type. More...
 
class  Ordered_iterator
 Iterate through a random access container according to some predefined order. More...
 
class  PA_CopyImage
 
class  PA_SetValue
 
class  PA_SingleValue
 
class  PluginGhost
 
class  Point
 
struct  PointerTraits
 Pointer traits. More...
 
struct  PointerTraits< const T * >
 Traits for const C pointerss. More...
 
struct  PointerTraits< T * >
 Traits for C pointers. More...
 
class  Powell
 Powell multidimensional minimization. More...
 
class  PRConjugateGradient
 Polak-Ribiere conjugate gradient minimization. More...
 
struct  prec
 A dummy class used to pass a precision type for computations to some functions. More...
 
struct  precision
 Numerical precision of the data for storage classes. More...
 
class  ProgressIndicator
 A simple base class used to give progression feedback. More...
 
class  PT_HasNBackgroundNeighbors
 
class  PT_IsAbove
 
class  PT_IsBelow
 
class  PT_IsBoundary
 
class  PT_IsEqual
 
class  PT_IsInterior
 
class  PT_IsIsolated
 
class  PT_NeighborhoodConfigurations
 
class  PT_SingleValue
 
class  Ptr
 Smart pointer for objects that can be modified. More...
 
class  Range
 Describe integer cube ranges (e.g. More...
 
struct  range_of
 
struct  range_of< const T >
 
struct  range_of< std::list< T, TAlloc > >
 
struct  range_of< std::vector< T, TAlloc > >
 
struct  RangeCheckingExtrapolator
 No image extrapolation. More...
 
class  rectangular_range
 
class  rectangular_range_indicator
 
class  RecursiveFilter
 
class  RecursiveFilter< T, direction, 1 >
 
class  RecursiveFilter< TT, direction, 4 >
 
class  RecursiveFilterComposition
 
class  RecursiveFilterSum
 Sum of two recursive filters, a forward and a backward one. More...
 
struct  reference_of
 Returns T::reference or T::const_reference, depending on the constness of T. More...
 
class  RegionCentroid
 
class  RegionGrowingExpr
 
class  RegionMaxInt
 
class  RegionMoments
 
class  RegionSize
 
class  Remove_indexed_graph_vertices
 Remove vertices from a graph list mesh, given a set of index. More...
 
class  Remove_indexed_vertices
 Remove vertices from a mesh, given a set of index. More...
 
class  require_that
 
class  require_that< true >
 
struct  Return_pair1
 Returns first value of pair. More...
 
class  rle_array
 A run-length encoded array. More...
 
class  Scalar_matrix
 A scalar matrix. More...
 
class  ScaleIndependantLaplacianSmoothing
 
class  Scaling
 Namespace for all linear algebra related stuff. More...
 
class  ScalingMap
 
struct  simple_matrix
 A full, square matrix whose size is known at compile time. More...
 
class  SimpleGhost
 
struct  SimpleOrientedGraphNode
 
class  SmartFixedStep
 Try a fix step, but if it doesn't minimize the criteria, use only a fraction of the step and start all over again. More...
 
class  SmartObject
 Base class for all classes needing reference counting based garbage collection. More...
 
class  sparse_vector
 A class that mimic the behavior of std::vector but with a storage policy focused on sparse data. More...
 
class  SparseVector
 A mathematical vector, using sparse storage policy. More...
 
class  SpringForce
 A class to compute spring forces on a mesh. More...
 
struct  SquaredEuclideanDist
 
struct  stditerator
 Select T2::const_iterator T is const, T2::iterator otherwise. More...
 
class  StoreFunctor
 A functor wrapper to transform a functor with output in an inplace functor. More...
 
class  StructureTensor
 
class  SymMatrix3
 A class to store a 3*3 symetric matrix. More...
 
class  TArgNeighborhood
 Template neighborhoods. More...
 
class  TensorProductInterpolation
 
class  TensorProductInterpolation< Interpolation, 2 >
 
class  TensorProductInterpolation< Interpolation, 4 >
 
class  TensorProductInterpolation< Interpolation, 6 >
 
struct  test_whether
 A structure used for is_a tests. More...
 
class  Triangle_mesh_geodesic_map
 
struct  true_type
 
struct  type_if
 Template to choose between one type or the other depending on some condition. More...
 
struct  type_if< false, TypeIfTrue, TypeIfFalse >
 
struct  unary_detemplated_functor
 
class  UndirectedNode
 
class  UniformRandomDistribution
 Uniform random distribution. More...
 
class  UnsafeNoExtrapolator
 This extrapolator actually does NOT extrapolate at all and does not do any range checking. More...
 
class  value_proxy
 Adds some left-value operations to const_value_proxy. More...
 
struct  value_type_of
 Externalization of the standard value_type member typedef. More...
 
struct  value_type_of< AimsVector< T, D > >
 
struct  value_type_of< None >
 Specialization for None type. More...
 
struct  value_type_of< T & >
 Specialization for references. More...
 
struct  value_type_of< T * >
 Specialization for pointers. More...
 
class  Vector
 
class  Vertex_remover
 A class to remove a vertex from a mesh, and remeshing the hole. More...
 
class  virtual_collection
 
class  voliterator_compo
 
class  VolumetricIterator
 
class  VolumetricIterator< ImageC< T > >
 
class  VolumetricIterator< ImageNC< T > >
 
class  Voronoi_triangle_mesh_geodesic_map
 
class  WorldImage
 
class  WrapFunctorForPairs
 Wrap functors so that it can accept pairs as input – it then apply the functor on the second argument. More...
 
class  ZeroExtrapolator
 Extrapolate image with default value of image type (zero for numeric types) More...
 

Typedefs

typedef boost::mpl::vector< unsigned char, char, unsigned short, short, int, float, double > StandardNumericTypes
 
typedef boost::mpl::vector< ImageC< unsigned char >, ImageC< char >, ImageC< unsigned short >, ImageC< short >, ImageC< int >, ImageC< float >, ImageC< double > > imeu
 
typedef boost::mpl::transform< StandardNumericTypes, ImageC< boost::mpl::_1 > >::type toto
 
typedef float t_voxsize
 type of voxel size More...
 
typedef double t_bsprec
 
typedef double t_interp
 
typedef TArgNeighborhood< 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 > TN6
 Template neighborhood for standard 3D 6-connectivity. More...
 
typedef TArgNeighborhood< 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0 > TN18
 Template neighborhood for standard 3D 18-connectivity Note that the center is not included. More...
 
typedef TArgNeighborhood< 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 > TN26
 Template neighborhood for standard 3D 26-connectivity Note that the center is not included. More...
 
typedef double t_corprec
 
typedef std::vector< numeric_array< int, 3 > > VoxelList
 
typedef double t_structtensprec
 
typedef unsigned char uchar
 
typedef unsigned short ushort
 
typedef Mesh< MeshParam1Mesh1
 
typedef Mesh< MeshParam2Mesh2
 
typedef detail::AddNeighborIndexAttribute< Mesh1Mesh_N
 
typedef detail::AddNormalAttribute< Mesh1Mesh_No
 
typedef detail::AddNormalAttribute< Mesh_NMesh_NNo
 
typedef detail::AddNeighborIndexAttribute< Mesh2Mesh2_N
 
typedef detail::AddNormalAttribute< Mesh2Mesh2_No
 
typedef detail::AddNormalAttribute< Mesh2_NMesh2_NNo
 
typedef ProgressIndicator< callback::PI_Timer< callback::PI_Print > > DelayedProgressIndicator
 

Enumerations

enum  ImageAxis { X_AXIS = 0, Y_AXIS = 1, Z_AXIS = 2 }
 

Functions

template<typename T1 , typename T2 >
INLINE numeric_array< typename combine< T1, T2 >::type, 3 > operator* (const Affine< T1 > &a, const numeric_array< T2, 3 > &v)
 Multiplication between a 3D affine transform and a 3D vector. More...
 
template<typename T1 , typename T2 >
T2 operator* (const Affine< T1 > &a, const T2 &v)
 
template<typename T >
void computeAffineTransformBetween (const Box< T, 3 > &from, const Box< T, 3 > &to, Affine< T > &a)
 Compute the affine transform that would send a Box on another Box. More...
 
template<typename T1 , typename T2 >
INLINE void apply (const Affine< T1 > &a, const numeric_array< T2, 3 > &in, numeric_array< typename combine< T1, T2 >::type, 3 > &out)
 
template<typename T >
void print (const Affine< T > &a)
 
template<typename T1 , typename T2 >
bool operator== (const basic_iterator< T1 > &i1, const basic_iterator< T2 > &i2)
 
template<typename T1 , typename T2 >
bool operator!= (const basic_iterator< T1 > &i1, const basic_iterator< T2 > &i2)
 
template<typename T , typename TStorage , std::size_t D>
boost::enable_if< is_numeric_container< TStorage >, bool >::type contains (const Box< T, D > &box, const TStorage &v)
 Check whether a point lies within box. More...
 
template<typename T1 , typename T2 , std::size_t D>
bool contains (const Box< T1, D > &boxOutside, const Box< T2, D > &boxInside)
 Check whether box1 contains box2. More...
 
template<typename T , std::size_t D>
Box< T, D > intersection (const Box< T, D > &b1, const Box< T, D > &b2)
 Computes the intersection of two boxes. More...
 
template<typename T , std::size_t D>
std::ostream & operator<< (std::ostream &os, const Box< T, D > &box)
 Standard operator<< to print the coordinates of a Box object. More...
 
template<typename T , std::size_t D>
numeric_array< T, D > size (const Box< T, D > &box)
 Return the size of a box. More...
 
template<typename T , std::size_t D>
volume (const Box< T, D > &box)
 Return the volume of a box. More...
 
template<template< typename > class TIS_A, typename T >
test_whether< TIS_A, T >::type cat2type ()
 Do an is_a test. More...
 
template<typename TImage >
void chamferDistance_3 (TImage &im, const std::vector< typename TImage::value_type > &mask, typename TImage::value_type foreground, typename TImage::value_type background)
 
template<typename TImage , typename TNeighborhood , typename TExtrapolator >
int connectedComponents (TImage &im, const TNeighborhood &nh)
 Label the connected components of image im. More...
 
template<typename TImage , typename TNeighborhood >
int connectedComponents (TImage &im, const TNeighborhood &nh)
 Label the connected components of image im. More...
 
template<typename T >
void printInfo (ConstVolumetricIterator< ImageNC< T > > &it)
 
template<typename T >
void printInfo (ConstVolumetricIterator< ImageC< T > > &it)
 
template<class TImageIn , class TImageOut >
void convertScale (TImageIn const &in, TImageOut &out)
 Convert an image into the type of the other image while scaling its intensity range to span through the whole possible range of TOut. More...
 
template<class TImageIn , class TImageOut >
void convert_im (TImageIn const &in, TImageOut &out)
 Convert an image into the type of the other image. More...
 
template<typename Extrapolation , typename TImageIn , typename TImageMask , typename TImageOut >
void correlation (const TImageIn &im, const TImageMask &mask, TImageOut &out)
 Correlation between an image and a mask. More...
 
template<typename Extrapolation , typename TImageIn , typename TImageMask , typename TImageOut >
void correlationSN (const TImageIn &im, const TImageMask &mask, TImageOut &out)
 So-called 'Symmetric Neighbor' correlation. More...
 
template<template< typename > class TImage, class TImage0 >
DynImage< TImage > * dynImageFactory (TImage0 &im)
 
template<typename TReturn , typename Functor >
Dyn< Functor, TReturn > dyn (const Functor &functor)
 Conveniance function to create dynamic functor wrapper with return type. More...
 
template<typename Functor >
Dyn< Functor, void > dyn (const Functor &functor)
 Conveniance function to create dynamic functor wrapper witout return type. More...
 
 BOOST_MPL_ASSERT ((boost::mpl::equal< imeu, toto >))
 
template<class TTypeCollection , class TFunctor >
void dyn (const TFunctor &functor)
 
template<template< typename > class TImage, typename TPixel >
ImageOfType_OneTemplateArgument< TImage, TPixel > imageOfType ()
 
template<class T >
void myComplexPow (T numReal, T numIm, T ex, T &resReal, T &resIm)
 
template<class T >
void myComplexSqrt (T num, T &resReal, T &resIm)
 
template<class T >
void eigen3D (T A11, T A12, T A13, T A22, T A23, T A33, T &ev1, T &ev2, T &ev3)
 
template<typename TRes , typename T1 , typename T2 >
TRes add (T1 x, T2 y)
 
template<typename TRes , typename T1 , typename T2 >
TRes sub (T1 x, T2 y)
 
template<typename TRes , typename T1 , typename T2 >
TRes mul (T1 x, T2 y)
 
template<typename TRes , typename T1 , typename T2 >
TRes div (T1 x, T2 y)
 
template<typename TTo , typename TFrom >
void convert (TTo &x, const TFrom &y)
 
template<typename TTo , typename TFrom >
TTo convert (const TFrom &y)
 
template<typename T >
functor::Convertor< T > convert2 (const T &from)
 
template<class TImage1 , class TImage2 , class PixelTest , class PixelAction1 , class PixelAction2 >
void if_then_else_old (const TImage1 &in, TImage2 &out, const PixelTest &test, PixelAction1 &actionIf, PixelAction2 &actionElse)
 
template<class TImage , class PixelTest , class PixelAction1 , class PixelAction2 >
void if_then_else_old (TImage &im, const PixelTest &test, PixelAction1 &actionIf, PixelAction2 &actionElse)
 
template<class TImage1 , class TImage2 , class PixelTest , class PixelAction >
void if_then (const TImage1 &in, TImage2 &out, const PixelTest &test, PixelAction &action)
 
template<class TImage , class PixelTest , class PixelAction >
void if_then (TImage &im, const PixelTest &test, PixelAction &action)
 
template<class TImage , class PixelTest , class PixelAction >
void if_then_inInterior (TImage &im, const PixelTest &test, PixelAction &action)
 
template<class TImage >
void set (TImage &im, typename TImage::value_type value)
 
template<class TImage >
void neg (TImage &im)
 
template<class TImage1 , class TImage2 >
enable_if_c< is_Image< TImage1 >::value &&is_Image< TImage2 >::value >::type mul (TImage1 &im1, const TImage2 &im2)
 Multiply two images point-wise. More...
 
template<class TImage , typename TMultiplier >
disable_if_c< is_Image< TMultiplier >::value||!boost::is_same< typename precision< TImage >::type, typename precision< TMultiplier >::type >::value >::type mul (TImage &im, const TMultiplier &constant)
 Multiply an image with a constant. More...
 
template<class TImage >
void div (TImage &im1, const TImage &im2)
 
template<class TImage >
void div (TImage &im, typename TImage::value_type scalar)
 
template<class TImage1 , class TImage2 >
enable_if_c< is_Image< TImage1 >::value &&is_Image< TImage2 >::value >::type sub (TImage1 &im1, const TImage2 &im2)
 
template<class TImage , typename T >
enable_if_c< is_Image< TImage >::value &&!is_Image< T >::value >::type sub (TImage &im, T scalar)
 
template<class TImage1 , class TImage2 >
enable_if_c< is_Image< TImage1 >::value &&is_Image< TImage2 >::value >::type add (TImage1 &im1, const TImage2 &im2)
 
template<class TImage , typename T >
enable_if_c< is_Image< TImage >::value &&!is_Image< T >::value >::type add (TImage &im, T scalar)
 
template<class TImage >
void square (const TImage &in, TImage &out)
 
template<class TImage >
void sqrt (const TImage &in, TImage &out)
 
template<class TImage >
t_bsprec sum (const TImage &im)
 Computes the sum of the intensities of the input image. More...
 
template<class TImage >
t_bsprec mean (const TImage &im)
 Returns the mean of the intensities of the input image. More...
 
template<class TImage >
t_bsprec varEst (const TImage &im)
 Returns the estimated variance of the intensities of the input image. More...
 
template<class TImage >
boost::enable_if< is_Image< TImage >, t_bsprec >::type var (const TImage &im, t_bsprec meanIm)
 Returns the variance of the intensities of the input image (Normalization by size) More...
 
template<class TImage >
INLINE boost::enable_if< is_Image< TImage >, t_bsprec >::type var (const TImage &im)
 
template<class TImage >
TImage::value_type max (const TImage &im)
 Returns the maximum intensity of the input image. More...
 
template<class TImage >
boost::enable_if< is_Image< TImage >, typename TImage::value_type >::type min (const TImage &im)
 
template<typename TImage >
ImageParameter param (const TImage &im)
 Create an ImageParameter structure out of an Image. More...
 
template<class TImageExtrapolator , class TImage >
ExtrapolableImage< TImageExtrapolator, TImage > extrapolable (const TImage &im)
 
template<typename Interpolation , typename Extrapolation , typename Mapping , typename TImageIn , typename TImageOut >
enable_if< is_Mapping< Mapping > >::type resample (const TImageIn &in, TImageOut &out, const Mapping &map)
 
template<typename Interpolation , typename Extrapolation , typename TImageIn , typename TImageOut >
void resample (const TImageIn &in, TImageOut &out, const numeric_array< int, 3 > &dim)
 Resample an image to match given dimension. More...
 
template<typename Interpolation , typename Extrapolation , typename TImageIn , typename TImageOut >
void resample (const TImageIn &in, TImageOut &out, const numeric_array< t_voxsize, 3 > &vDim)
 Resample an image to match a given voxel size. More...
 
template<class TImage >
INLINE bool isAllocated (const TImage &im)
 Check whether smart pointer and image are allocated. More...
 
template<class TImage >
INLINE void allocationCheck (const TImage &im)
 Check whether smart pointer and image are allocated. More...
 
template<class TImage1 , class TImage2 >
INLINE void allocationCheck (const TImage1 &im1, const TImage2 &im2)
 Same thing as allocation check, for two images successively. More...
 
template<class TImage1 , class TImage2 >
INLINE bool areSimilar (const TImage1 &im1, const TImage2 &im2)
 
template<class TImage1 , class TImage2 >
void 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 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 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 notSameImageCheck (const TImage1 &im1, const TImage2 &im2)
 
template<class TImage >
void printInfo (const TImage &im)
 Print basic image information (pixel type, size, voxel size) More...
 
template<class TImage >
void copy (const TImage &in, TImage &out)
 Copy one image to another. More...
 
template<typename TImage >
void 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 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 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 deduceImageSizeFromGaussianStandardDeviation (T1 sigma, const TImage2 &im, int &hx, int &hy, int &hz)
 
template<typename TImage >
void getLocalHessian (const TImage &im, SymMatrix3< typename TImage::value_type > &mat, int x, int y, int z)
 
template<typename TImage >
numeric_array< int, 3 > getCenter (TImage &im)
 Get coordinates of image center. More...
 
template<typename TImage >
void 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 contains (const TImage &im, const numeric_array< int, 3 > &pos)
 Check whether image range contains position 'pos'. More...
 
template<typename TImage >
INLINE bool 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 > getRange (const TImage &im)
 Get image range. More...
 
template<typename TImage >
Box< double, 3 > getBoundingBox (const TImage &im)
 Get image bounding box. More...
 
template<typename TImage >
void 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 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 setSumToOne (TImage &im)
 Normalize the image so that the sum of its element is equal to one. More...
 
template<typename T >
T ** 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 itlin (TImage &im)
 
template<typename BoolFunctor , typename TImage >
ConditionalIterator< typename Iterator< TImage >::Linear, BoolFunctor > itlin (TImage &im, const BoolFunctor &boolFunctor=BoolFunctor())
 
template<typename TImage >
Iterator< TImage >::ConstLinear itlin_const (const TImage &im)
 
template<typename BoolFunctor , typename TImage >
ConditionalIterator< typename Iterator< TImage >::ConstLinear, BoolFunctor > itlin_const (const TImage &im, const BoolFunctor &boolFunctor=BoolFunctor())
 
template<typename TImage >
Iterator< TImage >::Volumetric itvol (TImage &im)
 
template<typename BoolFunctor , typename TImage >
ConditionalIterator< typename Iterator< TImage >::Volumetric, BoolFunctor > itvol (TImage &im, const BoolFunctor &boolFunctor=BoolFunctor())
 
template<typename TImage >
Iterator< TImage >::ConstVolumetric itvol_const (const TImage &im)
 
template<typename BoolFunctor , typename TImage >
ConditionalIterator< typename Iterator< TImage >::ConstVolumetric, BoolFunctor > itvol_const (const TImage &im, const BoolFunctor &boolFunctor=BoolFunctor())
 
template<typename TImage >
void 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 setSlice (TImage &im, int sliceNumber, ImageAxis axis, typename TImage::value_type value)
 Set a value to an image slice. More...
 
template<typename TImage >
void clearBorder (TImage &im, typename TImage::value_type background=0)
 Clear image borders. More...
 
template<int dx, int dy, int dz, class VolumetricImageIterator >
bool containsNeighbor (const VolumetricImageIterator &iIm)
 
template<typename TImage , typename T >
INLINE boost::enable_if< is_Image< TImage >, numeric_array< double, 3 > >::type 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 world2vol (const TImage &im, const numeric_array< double, 3 > &worldPos)
 
 TIL_DECLARE_IS (3DPoint)
 True if type implements a 3D Point. More...
 
 TIL_DECLARE_IS_SPEC_T (3DPoint, typename T, boost::array< T TIL_COMMA 3 >)
 
 TIL_DECLARE_IS_VALUE (3DVector, is_3DPoint< T >::value)
 True if type implements a 3D Vector. More...
 
 TIL_DECLARE_IS_TEMPLATE (BoostArray_N, typename T TIL_COMMA std::size_t N)
 True if type is boost::array of size N. More...
 
 TIL_DECLARE_IS_SPEC_T (BoostArray_N, typename T TIL_COMMA std::size_t N, boost::array< T TIL_COMMA N > TIL_COMMA N)
 
 TIL_DECLARE_IS (mesh)
 True if type implements a mesh. More...
 
 TIL_DECLARE_IS_SPEC_T (mesh, typename TParam, Mesh< TParam >)
 
 TIL_DECLARE_IS (container)
 True if type is a (STL) container. More...
 
 TIL_DECLARE_IS_SPEC_T (container, typename T TIL_COMMA typename A, std::vector< T TIL_COMMA A >)
 
 TIL_DECLARE_IS_SPEC_T (container, typename T TIL_COMMA typename A, std::list< T TIL_COMMA A >)
 
 TIL_DECLARE_IS_SPEC_T (container, typename K TIL_COMMA typename P TIL_COMMA typename A, std::set< K TIL_COMMA P TIL_COMMA A >)
 
 TIL_DECLARE_IS_SPEC_T (container, typename K TIL_COMMA typename T TIL_COMMA typename P TIL_COMMA typename A, std::map< K TIL_COMMA T TIL_COMMA P TIL_COMMA A >)
 
 TIL_DECLARE_IS_SPEC_T (container, typename T TIL_COMMA typename BaselinePolicy, til::sparse_vector< T TIL_COMMA BaselinePolicy >)
 
 TIL_DECLARE_IS (map)
 True if type is a map container. More...
 
 TIL_DECLARE_IS_SPEC_T (map, typename TKey TIL_COMMA typename TValue TIL_COMMA typename TCompare TIL_COMMA typename TAlloc, std::map< TKey TIL_COMMA TValue TIL_COMMA TCompare TIL_COMMA TAlloc >)
 
 TIL_DECLARE_IS_SPEC_T (map, typename TKey TIL_COMMA typename TValue TIL_COMMA typename TCompare TIL_COMMA typename TAlloc, std::multimap< TKey TIL_COMMA TValue TIL_COMMA TCompare TIL_COMMA TAlloc >)
 
 TIL_DECLARE_IS_SPEC_T (pointer, typename T, T *)
 
 TIL_DECLARE_IS_SPEC_T (pointer, typename T, boost::shared_ptr< T >)
 
 DEFINE_TEST_CLASS_FULL (has_result_type, result_type,)
 
 DEFINE_LABEL_CLASS (ExtrapolableImage)
 Label for extrapolable images. More...
 
 DEFINE_LABEL_CLASS (Image)
 Label for all image classes. More...
 
 DEFINE_LABEL_CLASS (ImageExtrapolator)
 Label for image extrapolators. More...
 
 DEFINE_LABEL_CLASS (ImageFunctor)
 Label for image functors. More...
 
 DEFINE_LABEL_CLASS (ImageIterator)
 Label for all image iterator classes. More...
 
 DEFINE_LABEL_CLASS (Interpolator)
 Label for interpolator of a sequence of number. More...
 
 DEFINE_LABEL_CLASS (Mapping)
 Label for coordinate transforms. More...
 
 DEFINE_LABEL_CLASS_WITH_INHERITANCE (VolumetricImageIterator, :public ImageIterator_label)
 Label for TIL smart pointers. More...
 
 DEFINE_LABEL_CLASS (detemplated_functor)
 Label for neighborhoods. More...
 
 DEFINE_LABEL_CLASS (minimization_algorithm_nd)
 Label for multidimensional minimization algorithms. More...
 
 DEFINE_LABEL_CLASS (range)
 
 DEFINE_LABEL_CLASS (numeric_container)
 
 DEFINE_LABEL_CLASS (multi_array)
 
 DEFINE_LABEL_CLASS (line_minimization_algorithm)
 
template<class TContainer , typename T , class TBinaryFunctor >
boost::enable_if_c< is_container< TContainer >::value &&!is_container< T >::value >::type loop (TContainer &c, T v, TBinaryFunctor f)
 Apply a binary functor to a collection and a constant. More...
 
template<typename T1 , typename T2 , class TBinaryFunctor >
boost::enable_if_c< !is_container< T1 >::value &&!is_container< T2 >::value >::type loop (T1 &x, T2 &y, TBinaryFunctor f)
 
template<class TContainer1 , class TContainer2 , typename TBinaryFunctor >
boost::enable_if_c< is_container< TContainer1 >::value &&is_container< TContainer2 >::value >::type loop (const TContainer1 &c1, TContainer2 &res, TBinaryFunctor f)
 Apply a binary functor to two collections. More...
 
template<typename T1 , typename T2 , typename T3 , class TBinaryFunctor >
boost::enable_if_c< !is_container< T1 >::value &&!is_container< T2 >::value &&!is_container< T3 >::value >::type loop (T1 x, T2 y, T3 &z, TBinaryFunctor f)
 
template<class TContainer1 , class TContainer2 , class TContainerRes , class TBinaryFunctor >
boost::enable_if_c< is_container< TContainer1 >::value &&is_container< TContainer2 >::value &&is_container< TContainerRes >::value >::type loop (const TContainer1 &c1, const TContainer2 &c2, const TContainerRes &res, TBinaryFunctor f)
 
template<class TContainer , typename T , class TBinaryFunctor >
boost::enable_if_c< is_container< TContainer >::value &&!is_container< T >::value >::type loop (const TContainer &c1, T v, TContainer &res, TBinaryFunctor f)
 
template<typename TStorage >
std::ostream & operator<< (std::ostream &os, const matrix< TStorage > &m)
 
template<typename T >
Matrix3< T > operator- (Matrix3< T > const &mat)
 
template<typename T1 , typename T2 >
numeric_array< typename combine< T1, T2 >::type, 3 > operator* (const Matrix3< T1 > &m, const numeric_array< T2, 3 > &v)
 
template<typename T1 , typename T2 >
T2 operator* (const Matrix3< T1 > &m, const T2 &v)
 
template<typename T >
std::ostream & operator<< (std::ostream &os, const Matrix3< T > &m)
 
template<typename T1 , typename T2 , typename T3 >
void apply (Matrix3< T1 > const &mat, numeric_array< T2, 3 > const &vec, numeric_array< T3, 3 > &vecout)
 compute mat * in More...
 
template<typename T1 , typename T2 , typename T3 >
void apply_t (Matrix3< T1 > const &mat, numeric_array< T2, 3 > const &vec, numeric_array< T3, 3 > &vecout)
 compute transpose(mat) * in More...
 
template<typename T >
det (const Matrix3< T > &m)
 
template<typename T >
INLINE const T square (const T &a)
 < Square of a number More...
 
template<typename T >
INLINE const T cube (const T &a)
 Max of two numbers. More...
 
template<typename T >
INLINE const T max (const T &a, const T &b)
 Min of two numbers. More...
 
template<typename T >
INLINE const T min (const T &a, const T &b)
 Max of three numbers. More...
 
template<typename T >
INLINE const T max (const T &a, const T &b, const T &c)
 Min of three numbers. More...
 
template<typename T >
INLINE const T min (const T &a, const T &b, const T &c)
 Min of four numbers. More...
 
template<typename T >
INLINE const T min (const T &a, const T &b, const T &c, const T &d)
 Force x into [a, b]. More...
 
template<typename T >
const T crop (const T &x, const T &a, const T &b)
 Force x into [0, dim-1]. More...
 
template<typename T , typename TInt >
const T rangecrop (const T &x, TInt dim)
 Absolute value of a number. More...
 
template<typename T >
INLINE double norm (const T &a, const T &b)
 < Euclidean norm of 2D vector (a, b) More...
 
template<typename T >
INLINE double norm (const T &a, const T &b, const T &c)
 
template<typename T >
integer_pow (T x, unsigned int n)
 
template<typename T >
findValueOtherThan (T v1, T v2)
 Returns a number (a positive integer) with a different value than the input numbers. More...
 
template<typename T >
findValueOtherThan (T v1, T v2, T v3)
 Returns a number (a positive integer) with a different value than the input numbers. More...
 
template<typename T >
findValueOtherThan (T v1, T v2, T v3, T v4)
 Returns a number (a positive integer) with a different value than the input numbers. More...
 
template<typename T >
findValueOtherThan (T v1, T v2, T v3, T v4, T v5)
 Returns a number (a positive integer) with a different value than the input numbers. More...
 
template<typename TFrom , typename TTo >
TTo castValue (TFrom value)
 
TIL_API ImageAxis operator++ (ImageAxis &axis)
 
template<typename T >
type_min ()
 Returns the min of a type. More...
 
template<typename T >
void shift_right (T a, T &b, T &c)
 Shifts value to the right, i.e c = b, b = a. More...
 
template<typename T >
void shift_right (T a, T &b, T &c, T &d)
 Shifts value to the right, i.e d = c, c = b, b = a. More...
 
template<typename T >
integer_root (T i, std::size_t n)
 Return the n-th root of integer i. More...
 
template<typename T >
void sort (T &a, T &b, T &c)
 Sort a, b, c in decreasing order (a>=b>=c). More...
 
TIL_API char * mySprintf (const char *format,...)
 
template<typename T >
void max_helper (T &maxx, T x)
 Little helper for something often used when looking for a maximum. More...
 
template<typename T >
void min_helper (T &minx, T x)
 Little helper for something often used when looking for a minimum. More...
 
template<typename TPIterator , typename TSIterator >
std::size_t pos2offset (TPIterator pbegin, TPIterator pend, TSIterator sbegin)
 
template<std::size_t D>
std::size_t pos2offset (const numeric_array< std::size_t, D > &pos, const numeric_array< std::size_t, D > &size)
 
template<typename TImage >
void oneStepDilation (TImage &im, typename TImage::value_type foreground, typename TImage::value_type background)
 
template<typename TImage >
void diamondDilation (TImage &im, int nsteps, typename TImage::value_type foreground, typename TImage::value_type background)
 
template<typename TImage >
void diamondErosion (TImage &im, int nsteps, typename TImage::value_type foreground, typename TImage::value_type background)
 
template<typename TImage >
void diamondClosure (TImage &im, int nsteps, typename TImage::value_type foreground, typename TImage::value_type background)
 
const Neighborhood N26 (1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
 
const Neighborhood N6 (0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0)
 
const Neighborhood N18 (0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0)
 
TIL_API void forwardize (Neighborhood &nh)
 
TIL_API void getNeighbors (const Neighborhood &nh, std::vector< numeric_array< int, 3 > > &res)
 Pushes the neighbor coordinates in a container. More...
 
TIL_API int connectivity (const Neighborhood &nh)
 
TIL_API void create2DNeighborhood (Neighborhood &nh, int nx, int ny, int nz, int connectivity=0)
 
 TIL_OPERATOR (+, functor::Add)
 
 TIL_OPERATOR (-, functor::Sub)
 
 TIL_OPERATOR (/, functor::Div)
 
 TIL_BOOL_VALUE_OPERATOR (operator==,==)
 
 TIL_BOOL_VALUE_OPERATOR (operator!=, !=)
 
 TIL_BOOL_VALUE_OPERATOR (all_less,<)
 
 TIL_BOOL_VALUE_OPERATOR (all_less_equal,<=)
 
 TIL_BOOL_VALUE_OPERATOR (all_greater, >)
 
 TIL_BOOL_VALUE_OPERATOR (all_greater_equal, >=)
 
template<typename T , std::size_t D>
void resize (numeric_array< T, D > &, std::size_t newSize) __attribute__((__deprecated__))
 
template<typename TCollection >
std::ostream & stream_collection (std::ostream &os, const TCollection &v)
 
template<typename T , std::size_t D>
std::ostream & operator<< (std::ostream &os, const numeric_array< T, D > &x)
 
template<typename TPrec , typename T , std::size_t D>
TPrec norm2 (const numeric_array< T, D > &a, prec< TPrec >)
 Return the squared euclidean norm of a. More...
 
template<typename T , std::size_t D>
norm2 (const numeric_array< T, D > &a)
 Return the squared euclidean norm of array. More...
 
template<typename TPrec , typename T , std::size_t D>
TPrec norm (const numeric_array< T, D > &a, prec< TPrec >)
 Return the euclidean norm of array. More...
 
template<typename T , std::size_t D>
norm (const numeric_array< T, D > &a)
 Return the squared euclidean norm of array. More...
 
template<typename TPrec , typename T1 , typename T2 , std::size_t D>
TPrec dist2 (const numeric_array< T1, D > &v1, const numeric_array< T2, D > &v2, prec< TPrec >)
 Return the squared Euclidean distance between two vectors, computed with a precision given as the first template parameter. More...
 
template<typename T , std::size_t D>
dist2 (const numeric_array< T, D > &v1, const numeric_array< T, D > &v2)
 Return the squared Euclidean distance between two arrays. More...
 
template<typename TPrec , typename T1 , typename T2 , std::size_t D>
TPrec dist (const numeric_array< T1, D > &v1, const numeric_array< T2, D > &v2, prec< TPrec >)
 Return the Euclidean distance between two arrays. More...
 
template<typename T , std::size_t D>
dist (const numeric_array< T, D > &v1, const numeric_array< T, D > &v2)
 Return the Euclidean distance between two arrays. More...
 
template<typename TPrec , typename T1 , typename T2 , std::size_t D>
TPrec dot (const numeric_array< T1, D > &a1, const numeric_array< T2, D > &a2, prec< TPrec >)
 Return the dot product of two vectors. More...
 
template<typename T , std::size_t D>
dot (const numeric_array< T, D > &a1, const numeric_array< T, D > &a2)
 Return the dot product of two vectors. More...
 
template<typename TPrec , typename T1 , typename T2 >
numeric_array< TPrec, 3 > cross (const numeric_array< T1, 3 > &vec1, const numeric_array< T2, 3 > &vec2, prec< TPrec >)
 Return the cross product of two 3D vectors. More...
 
template<typename T1 , typename T2 >
double cross_norm (const numeric_array< T1, 3 > &vec1, const numeric_array< T2, 3 > &vec2)
 Return the norm of the cross product of two 3D vectors. More...
 
template<typename T , std::size_t D>
numeric_array< T, D > abs (const numeric_array< T, D > &a)
 Absolute value, element-wise. More...
 
template<typename T , std::size_t D>
max (const numeric_array< T, D > &a)
 Return the maximum value. More...
 
template<typename T , std::size_t D>
min (const numeric_array< T, D > &a)
 Return the minimum value. More...
 
template<typename T >
numeric_array< T, 3 > cross (const numeric_array< T, 3 > &vec1, const numeric_array< T, 3 > &vec2)
 Return the cross product of two 3D ararys. More...
 
template<typename T , std::size_t D>
norm_inf (const numeric_array< T, D > &a)
 Return the infinity norm (i.e. max absolute value) of array. More...
 
template<typename T , std::size_t D>
void neg (numeric_array< T, D > &vec)
 Negate an array. More...
 
template<typename T , std::size_t D>
bool is_nan (const numeric_array< T, D > &a)
 Check that numeric_array does not contain any NAN TODO: Actually, is_nan should be a functor, and we should use a check loop. More...
 
template<typename T >
cross (const numeric_array< T, 2 > &x, const numeric_array< T, 2 > &y)
 
template<int x, int y, int z, typename TIN , typename TOUT >
void addTo (const numeric_array< TIN, 3 > &vIn, numeric_array< TOUT, 3 > &vOut)
 
template<typename T >
void tdot (numeric_array< T, 3 > const &v, SymMatrix3< T > &mat)
 Stores v.v^T in mat. More...
 
template<typename T >
void tdot (numeric_array< T, 3 > const &v1, numeric_array< T, 3 > const &v2, Matrix3< T > &mat)
 Stores v1.v2^T in mat. More...
 
template<typename T >
bool contains (const std::vector< numeric_array< T, 3 > > &pl, const numeric_array< T, 3 > &v)
 
template<typename T1 , typename T2 >
void add (const std::vector< numeric_array< T1, 3 > > &pl, numeric_array< T2, 3 > &v)
 Add all the vectors of pl to v. More...
 
template<typename T1 , typename T2 >
void add2ndOrder (const std::vector< numeric_array< T1, 3 > > &pl, SymMatrix3< T2 > &mat)
 
template<class TImage1 , class TImage2 >
std::unique_ptr< std::vector< numeric_array< int, 3 > > > keepPointsAboveThreshold (const std::vector< numeric_array< int, 3 > > &pl, const TImage1 &im, TImage2 &seg, typename TImage1::value_type threshold, typename TImage2::value_type background)
 std::for_each(pl.begin(), pl.end(), setImageVoxel(im, value)) More...
 
 TIL_BOUNCE_VEC_OP_TO_DATA (+, Point, Vector, Point, functor::Add)
 
 TIL_BOUNCE_VEC_OP_TO_DATA (+, Vector, Point, Point, functor::Add)
 
 TIL_BOUNCE_VEC_OP_TO_DATA (-, Point, Vector, Point, functor::Sub)
 
 TIL_BOUNCE_VEC_OP_TO_DATA (-, Point, Point, Vector, functor::Sub)
 
template<typename T , std::size_t D, typename TStorage >
std::ostream & operator<< (std::ostream &os, const Point< T, D, TStorage > &p)
 
template<typename TAccumulationPoint , typename TPointCollection >
TAccumulationPoint centroid (const TPointCollection &c)
 
template<typename T , std::size_t D>
dist2 (const Point< T, D > &p1, const Point< T, D > &p2)
 
template<typename TPrecision , typename T , std::size_t D>
TPrecision dist2 (const Point< T, D > &p1, const Point< T, D > &p2, prec< TPrecision >)
 Return the squared Euclidean distance between two vectors, computed with a precision given as the first template parameter. More...
 
template<typename TPrecision , typename T , std::size_t D>
TPrecision dist (const Point< T, D > &v1, const Point< T, D > &v2)
 Return the squared Euclidean distance between two vectors. More...
 
template<typename T >
rand (T min, T max)
 draw a random number according to the uniform distribution on [min, max]. More...
 
template<typename T , std::size_t D>
void setCenterAndHalfSizes (Range< T, D > &range, const numeric_array< T, D > &center, const numeric_array< T, D > &halfSize)
 Set range using its center and half sizes. More...
 
template<typename T , std::size_t D>
void setCenterAndSizes (Range< T, D > &range, const numeric_array< T, D > &center, const numeric_array< T, D > &size)
 Set range using its center and its size. More...
 
TIL_API void readDICOM (const char *fileName, ImageC< unsigned short > &)
 
TIL_API void readCT (const char *fileName, ImageC< double > &)
 
TIL_API void readCT (const char *fileName, ImageC< float > &)
 
TIL_API void readCT (const char *fileName, ImageC< ushort > &)
 
TIL_API void readCT (const char *fileName, ImageC< uchar > &)
 
TIL_API void readRAW (const char *fileName, ImageC< ushort > &im, int xs, int ys, float vx, float vy, float vz)
 
TIL_API void readRAW (const char *fileName, ImageC< uchar > &im, int xs, int ys, int zs, float vx=1, float vy=1, float vz=1)
 
template<typename T >
modifySigmaAccordingToVoxelSize (T sigma, const numeric_array< float, 3 > &vdim, ImageAxis axis)
 
template<class TImage >
void recursiveGaussianSmoothing (TImage &im, typename TImage::value_type sigma)
 
template<typename TImage >
void recursiveGaussianDerivative (TImage &im, typename TImage::value_type sigma, ImageAxis axis)
 
template<typename TImage >
void recursiveGaussianSecondDerivative (TImage &im, typename TImage::value_type sigma, ImageAxis axis1, ImageAxis axis2)
 
template<class TImage1 , class TImage2 >
void recursiveGaussianGradient (const TImage1 &im, TImage2 &dx, TImage2 &dy, TImage2 &dz, typename TImage2::value_type sigma)
 
template<class TImage1 , class TImage2 >
void recursiveGaussianHessian (const TImage1 &im, TImage2 &dxx, TImage2 &dxy, TImage2 &dxz, TImage2 &dyy, TImage2 &dyz, TImage2 &dzz, typename TImage2::value_type sigma)
 
template<class TImage , class Ghost >
INLINE void _addPoint (VoxelList &vl, TImage &seg, const numeric_array< int, 3 > &pos, Ghost &ghost, typename TImage::value_type newColor)
 If point at position 'pos' satisfy region-growing criteria, it is added to the list of voxel 'vl' and also put in the image 'seg'. More...
 
template<class TImage , class Ghost >
INLINE void _addPoint2 (VoxelList &vl, TImage &seg, const numeric_array< int, 3 > &pos, Ghost &ghost, typename TImage::value_type newColor)
 
template<class TImage , class Ghost >
std::unique_ptr< VoxelListaddNeighbors (TImage &seg, const std::vector< numeric_array< int, 3 > > &vl, const std::vector< numeric_array< int, 3 > > &vnh, Ghost &ghost, typename TImage::value_type newColor)
 < New boundary points More...
 
template<class TImage , class Ghost , class TNeighborhood >
std::unique_ptr< VoxelListaddNeighbors2 (TImage &seg, const VoxelList &vl, const TNeighborhood &nh, Ghost &ghost, typename TImage::value_type newColor)
 
template<class TImage , class Ghost >
std::unique_ptr< VoxelListaddSeeds (TImage &seg, const VoxelList &vl, Ghost &ghost, typename TImage::value_type newColor)
 
template<typename TImage , typename RegionGrowingGhost , typename TNeighborhood >
size_t regionGrowing2 (TImage &seg, const VoxelList &seeds, const TNeighborhood &nh, RegionGrowingGhost &ghost, typename TImage::value_type color)
 
template<typename TImage , typename RegionGrowingGhost >
size_t regionGrowing (TImage &seg, const VoxelList &seeds, const Neighborhood &nh, RegionGrowingGhost &ghost, typename TImage::value_type color)
 
template<typename TImage , typename RegionGrowingGhost >
size_t regionGrowing (TImage &seg, const numeric_array< int, 3 > &seed, const Neighborhood &nh, RegionGrowingGhost &ghost, typename TImage::value_type color)
 
template<typename TImage >
void cubicSplineCoefficients (const TImage &im, TImage &coeffs)
 Replaces im by a pre-processed version of im for cubic spline interpolation. More...
 
template<typename T >
void setRecursiveFilterCoefficientsToGaussian (T &a0, T &a1, T &c0, T &c1, T &w0, T &w1, T &b0, T &b1)
 
template<typename T >
void setRecursiveFilterCoefficientsToDerivativeGaussian (T &a0, T &a1, T &c0, T &c1, T &w0, T &w1, T &b0, T &b1)
 
template<typename T >
void setRecursiveFilterCoefficientsToSecondDerivativeGaussian (T &a0, T &a1, T &c0, T &c1, T &w0, T &w1, T &b0, T &b1)
 
template<typename T >
recursiveGaussianNorm (T a0, T a1, T c0, T c1, T cw0, T sw0, T cw1, T sw1, T eb0, T eb1)
 
template<typename T >
recursiveGaussianDerivativeNorm (T a0, T a1, T c0, T c1, T cw0, T sw0, T cw1, T sw1, T eb0, T eb1)
 
template<typename T >
recursiveGaussianSecondDerivativeNorm (T a0, T a1, T c0, T c1, T cw0, T sw0, T cw1, T sw1, T eb0, T eb1)
 
template<typename T >
RecursiveFilterSum< RecursiveFilter< T,+1, 4 >, RecursiveFilter< T, -1, 4 > > RF4Gaussian (T sigma)
 
template<typename T >
RecursiveFilterSum< RecursiveFilter< T,+1, 4 >, RecursiveFilter< T, -1, 4 > > RF4GaussianDerivative (T sigma, T stepSize=1)
 
template<typename T >
RecursiveFilterSum< RecursiveFilter< T,+1, 4 >, RecursiveFilter< T, -1, 4 > > RF4GaussianSecondDerivative (T sigma)
 
template<typename TImage , typename TLineFilter >
void filterAlongAxis (const TImage &im, TImage &out, ImageAxis axis, const TLineFilter &filter)
 
template<typename TRange >
boost::enable_if< is_range< TRange >, typename TRange::value_type >::type min (TRange r)
 
template<typename T1 , typename T2 >
INLINE numeric_array< T1, 3 > operator* (const Scaling< T1 > &s, const numeric_array< T2, 3 > &v)
 
template<class TImage1 , class TImage2 >
ScalingMap< double > getScalingBetween (const TImage1 &from, const TImage2 &to)
 Computes the mapping that transforms im1 into im2, assuming that they cover exactly the same volume in space. More...
 
template<typename TMap1 , typename TMap2 , typename TFunctor >
void loop_mapEachAssign (TMap1 &map1, TMap2 &map2, TFunctor f)
 
template<typename T , typename BaselinePolicy >
void fill (sparse_vector< T, BaselinePolicy > &v, typename boost::call_traits< T >::param_type value)
 Specialized fill for sparse_vector. More...
 
 TIL_DEFINE_SPARSE_OP (+)
 
 TIL_DEFINE_SPARSE_OP (-)
 
bool is_nan (const sparse_vector< double > &a)
 Check whether there is an element of sparse array which is NaN. More...
 
template<typename TContainer >
std::size_t size (const TContainer &c)
 Size of a container. More...
 
template<typename TContainer >
void fill (TContainer &c, typename boost::call_traits< typename TContainer::value_type >::param_type value)
 Wrapper of std::fill. More...
 
template<typename T , typename TAlloc >
range_of< std::vector< T, TAlloc > >::type whole_range (std::vector< T, TAlloc > &v)
 
template<typename T , typename TAlloc >
const_range_of< std::vector< T, TAlloc > >::type whole_range (const std::vector< T, TAlloc > &v)
 
template<typename T , typename TAlloc >
range_of< std::list< T, TAlloc > >::type whole_range (std::list< T, TAlloc > &v)
 
template<typename T , typename TAlloc >
const_range_of< std::list< T, TAlloc > >::type whole_range (const std::list< T, TAlloc > &v)
 
template<class Extrapolator , class TImageIn , class TImageOut >
void extractSubImage (const TImageIn &im, TImageOut &subIm, const Range< int, 3 > &cropbox)
 
template<class T >
void eigen3D (const SymMatrix3< T > &mat, numeric_array< T, 3 > &vec)
 
template<class T >
void eigen3D (const SymMatrix3< T > &mat, T &v1, T &v2, T &v3)
 
template<typename T1 , typename T2 >
INLINE void add (const SymMatrix3< T1 > &mat1, SymMatrix3< T2 > &mat2)
 
template<typename Functor , typename TIterator >
void floop (Functor &functor, TIterator iIm)
 
template<typename Functor , typename TIterator >
void floop (Functor functor, TIterator iIm)
 
template<typename Functor , typename TIterator >
void floop2 (TIterator iIm)
 
template<typename Expr , typename TIterator1 >
void loop (expr::TExpr< Expr > &expr, TIterator1 iIm1)
 
template<typename Expr , typename TIterator1 >
void loop (expr::TExpr< Expr > expr, TIterator1 iIm1)
 
template<int N, typename Expr , typename TIterator1 , typename TIterator2 >
void depth_loop (expr::TExpr< Expr > expr, TIterator1 begin1, TIterator1 end1, TIterator2 begin2)
 
template<int N, typename Expr , typename TContainer1 , typename TContainer2 >
void depth_loop (expr::TExpr< Expr > expr, TContainer1 &c1, TContainer2 &c2)
 
template<typename Functor , typename TIterator >
void loopboost (Functor &functor, TIterator iIm)
 
template<typename Expr , typename TIterator1 >
void loop2 (expr::TExpr< Expr > &expr, TIterator1 iIm1)
 
template<typename Expr , typename TIterator1 >
void loop2 (expr::TExpr< Expr > expr, TIterator1 iIm1)
 
template<typename Expr , typename TIterator1 , typename TIterator2 >
enable_if_c< is_ImageIterator< TIterator1 >::value &&is_ImageIterator< TIterator2 >::value, expr::TExpr< Expr > >::type loop (expr::TExpr< Expr > expr, TIterator1 iIm1, TIterator2 iIm2)
 
template<typename TFunctor , typename TRange >
void loop_r (TFunctor f, TRange r)
 
template<typename Expr , typename TIterator1 , typename TIterator2 , typename TIterator3 >
enable_if_c< is_ImageIterator< TIterator1 >::value &&is_ImageIterator< TIterator2 >::value &&is_ImageIterator< TIterator3 >::value, expr::TExpr< Expr > >::type loop (expr::TExpr< Expr > expr, TIterator1 iIm1, TIterator2 iIm2, TIterator3 iIm3)
 
void warning (const char *msg)
 Library warning. More...
 
 TIL_FOR_ALL_NUMERIC_TYPES (TIL_DEFINE_PRECISION_FOR_NUMERIC_TYPES)
 
 DEFINE_PRECISION_RECURSIVE_SPECIALIZATION (ImageC< T >)
 
 DEFINE_PRECISION_RECURSIVE_SPECIALIZATION (ImageNC< T >)
 
 DEFINE_PRECISION_RECURSIVE_SPECIALIZATION (ImageRLE< T >)
 
 DEFINE_PRECISION_RECURSIVE_SPECIALIZATION_T (numeric_array< T TIL_COMMA D >, typename T TIL_COMMA std::size_t D)
 
 DEFINE_PRECISION_RECURSIVE_SPECIALIZATION_T (sparse_vector< T TIL_COMMA BaselinePolicy >, typename T TIL_COMMA typename BaselinePolicy)
 
 DEFINE_PRECISION_RECURSIVE_SPECIALIZATION (Matrix3< T >)
 
 DEFINE_PRECISION_RECURSIVE_SPECIALIZATION (SymMatrix3< T >)
 
 TIL_FOR_ALL_NUMERIC_TYPES (TIL_DEFINE_CHANGE_PRECISION_FOR_NUMERIC_TYPES)
 
 TIL_DEFINE_CHANGE_PRECISION_RECURSIVE_SPECIALIZATION (ImageC< T >)
 
 TIL_DEFINE_CHANGE_PRECISION_RECURSIVE_SPECIALIZATION (ImageNC< T >)
 
 TIL_DEFINE_CHANGE_PRECISION_RECURSIVE_SPECIALIZATION (ImageRLE< T >)
 
 TIL_DEFINE_CHANGE_PRECISION_RECURSIVE_SPECIALIZATION (Matrix3< T >)
 
 TIL_DEFINE_CHANGE_PRECISION_RECURSIVE_SPECIALIZATION (SymMatrix3< T >)
 
TIL_API void writeCT (const char *fileName, const ImageC< double > &im)
 
TIL_API void writeCT (const char *fileName, const ImageC< float > &im)
 
TIL_API void writeCT (const char *fileName, const ImageC< ushort > &im)
 
TIL_API void writeCT (const char *fileName, const ImageC< uchar > &im)
 
template<class T , int D>
std::size_t size (const AimsVector< T, D > &)
 Returns the number of elements in a AimsVector. More...
 
template<typename T , int D>
void add (AimsVector< T, D > &v1, const AimsVector< T, D > &v2)
 
template<typename T , int D>
void mul (AimsVector< T, D > &v, T d)
 
 TIL_DECLARE_IS_SPEC_T (3DPoint, typename T, AimsVector< T TIL_COMMA 3 >)
 
template<typename TContainer >
void convert (const TContainer &c, Texture1d &t)
 
std::set< AimsVector< uint, 2 > > getEdges (const AimsSurfaceTriangle *surf)
 Get all edges in mesh. More...
 
template<int D, class T >
const MeshTraits< AimsSurface< D, T > >::VertexCollection & getVertices (const AimsSurface< D, T > &mesh)
 
template<int D, class T >
MeshTraits< AimsSurface< D, T > >::VertexCollection & getVertices (AimsSurface< D, T > &mesh)
 
template<int D, class T >
const Point3df & getFaceVertex (const AimsSurface< D, T > &mesh, const std::vector< AimsVector< unsigned int, 3 > >::const_iterator &iFC, int i)
 
template<int D, class T >
const MeshTraits< AimsSurface< D, T > >::FaceIndexCollection & getFaceIndices (const AimsSurface< D, T > &mesh)
 
template<int D, class T >
MeshTraits< AimsSurface< D, T > >::FaceIndexCollection & getFaceIndices (AimsSurface< D, T > &mesh)
 
template<int D, class T >
const MeshTraits< AimsTimeSurface< D, T > >::VertexCollection & getVertices (const AimsTimeSurface< D, T > &mesh)
 
template<int D, class T >
MeshTraits< AimsTimeSurface< D, T > >::VertexCollection & getVertices (AimsTimeSurface< D, T > &mesh)
 
template<int D, class T >
const Point3df & getFaceVertex (const AimsTimeSurface< D, T > &mesh, const std::vector< AimsVector< unsigned int, 3 > >::const_iterator &iFC, int i)
 Returns the i-th vertex of a face of a mesh of type AimsTimeSurface. More...
 
template<int D, class T >
const MeshTraits< AimsTimeSurface< D, T > >::FaceIndexCollection & getFaceIndices (const AimsTimeSurface< D, T > &mesh)
 
template<int D, class T >
MeshTraits< AimsTimeSurface< D, T > >::FaceIndexCollection & getFaceIndices (AimsTimeSurface< D, T > &mesh)
 Return the face indices of a mesh of type AimsTimeSurface. More...
 
template<typename TVertex , typename TFace >
void write_mesh (const std::vector< TVertex > &vertices, const std::vector< TFace > &faces, aims::Writer< AimsSurfaceTriangle > w)
 
template<typename TVertex , typename TFace >
void write_mesh (const std::vector< TVertex > &vertices, const std::vector< TFace > &faces, const char *name)
 
template<typename TMesh >
void write_mesh (const TMesh &mesh, const char *name)
 
template<typename T >
void writeTexture (const T &data, const char *name)
 
template<typename T >
void read_mesh (aims::Reader< T > &r, Mesh_N &mesh)
 
template<typename T , typename TVertexCollection , typename TFaceCollection >
void read_mesh (aims::Reader< T > const &r, TVertexCollection &vertices, TFaceCollection &faces)
 
template<typename T >
void read_anyType (T &data, const std::string name)
 
template<typename T >
void aimswrite (const T &data, const std::string name)
 
template<typename TIterator1 , typename TIterator2 >
void convert_collection (TIterator1 begin1, TIterator1 end1, TIterator2 begin2)
 
template<typename VertexCollection , typename FaceCollection >
void convert_mesh (AimsSurface< 3, Void > const &mesh, VertexCollection &vertices, FaceCollection &faces)
 
template<typename VertexCollection , typename FaceCollection >
void convert_mesh (VertexCollection const &vertices, FaceCollection const &faces, AimsSurface< 3, Void > &mesh)
 
template<typename T , std::size_t N>
std::size_t size (const NaryTree< T, N > &ntree)
 
template<typename TTreeIterator , typename TTreeFunctor >
void pre_order_scan (TTreeIterator iTree, TTreeFunctor &f)
 Pre-order scan. More...
 
template<typename TTreeIterator , typename TTreeFunctor >
void post_order_scan (TTreeIterator iTree, const TTreeFunctor &f)
 Post-order scan. More...
 
template<typename TTreeIterator , typename TTreeFunctor >
void in_order_scan (TTreeIterator iTree, const TTreeFunctor &f)
 In-order scan. More...
 
template<typename TTreeIterator , typename TBFFunctor >
void breadth_first (TTreeIterator iTree, const TBFFunctor &f)
 Apply a functor in a breadth-first traversal order, starting from the iterator given in input. More...
 
template<typename T , std::size_t N>
void print (const NaryTree< T, N > &tree)
 Print tree on stdout (very ugly and experimental). More...
 
template<template< typename > class TIS_A, typename T >
boost::enable_if< TIS_A< T >, label::Passed< TIS_A > >::type cat2type ()
 
template<template< typename > class TIS_A, typename T >
boost::disable_if< TIS_A< T >, label::Failed< TIS_A > >::type cat2type ()
 
template<typename TTo , typename TFrom >
boost::enable_if_c< boost::is_convertible< TFrom, TTo >::value &&!(std::numeric_limits< TFrom >::is_specialized||std::numeric_limits< TTo >::is_specialized) &&!is_same_naked< TFrom, TTo >::value >::type convert (const TFrom &x, TTo &y)
 default conversion between types: static conversion More...
 
template<typename TTo , typename TFrom >
boost::enable_if_c< std::numeric_limits< TFrom >::is_specialized &&std::numeric_limits< TTo >::is_specialized &&!is_same_naked< TFrom, TTo >::value >::type convert (const TFrom &x, TTo &y)
 
template<typename T1 , typename T2 >
boost::enable_if< is_same_naked< T1, T2 > >::type convert (const T1 &x, T2 &y)
 By default, if input and output types are the same, use operator=. More...
 
void convert (const Point3df &x, Point3df &y)
 
template<typename TTo , typename TFrom >
TTo convertTo (const TFrom &x)
 
template<typename T , typename B >
void convert_allocate (std::vector< til::sparse_vector< T, B > > const &m, std::vector< std::vector< std::pair< std::size_t, T > > > &v)
 
template<typename TContainer , typename TIterator >
TIterator cyclic_advance (TIterator i, TContainer &c)
 
template<typename T , typename BC >
void dwt_cubic (T *s, std::size_t n, std::size_t step, BC)
 In-place (4-2) DWT via lifting. More...
 
template<typename T >
void dwt_cubic (T *s, std::size_t n, std::size_t step)
 Same as above with cyclic bc by default. More...
 
template<typename T , typename BC >
void idwt_cubic (T *s, std::size_t n, std::size_t step, BC)
 In-place inverse (4-2) DWT via lifting. More...
 
template<typename T >
void idwt_cubic (T *s, std::size_t n, std::size_t step)
 Same as above with cyclic bc by default. More...
 
template<typename T , std::size_t D>
void dwtND_cubic (T *im, numeric_array< std::size_t, D > dim)
 
template<typename T , std::size_t D>
void dwtND_cubicConjugate (T *im, numeric_array< std::size_t, D > dim)
 
template<typename T , typename BC >
void multi_dwt_cubic (T *s, std::size_t dim, BC)
 
template<typename T >
void multi_dwt_cubic (T *s, std::size_t dim)
 
template<typename T , typename BC >
void multi_idwt_cubic (T *s, std::size_t dim, BC)
 
template<typename T >
void multi_idwt_cubic (T *s, std::size_t dim)
 
template<typename T , std::size_t D, typename BC >
void multi_dwtND_cubic (T *im, numeric_array< std::size_t, D > dim, BC)
 
template<typename T , std::size_t D>
void multi_dwtND_cubic (T *im, numeric_array< std::size_t, D > dim)
 
template<typename T , std::size_t D, typename BC >
void multi_idwtND_cubic (T *im, numeric_array< std::size_t, D > dim, BC)
 
template<typename T , std::size_t D>
void multi_idwtND_cubic (T *im, numeric_array< std::size_t, D > dim)
 
template<typename T >
void multi_dwt_shuffle (T *s, std::size_t n)
 
template<typename T >
void multi_dwt_unshuffle (T *s, std::size_t n)
 
template<typename T , std::size_t D>
void multi_dwtND_shuffle (T *im, numeric_array< std::size_t, D > dim)
 
template<typename T , std::size_t D>
void multi_dwtND_unshuffle (T *im, numeric_array< std::size_t, D > dim)
 
template<typename T , std::size_t D>
void multi_dwtND_power (T *im, numeric_array< std::size_t, D > dim)
 
template<typename TForceVector , class TMesh >
void laplacianForces (const TMesh &mesh, std::vector< TForceVector > &forces)
 
template<typename ZeroByZeroPolicy , typename T >
boost::enable_if_c<!std::numeric_limits< T >::is_integer, T >::type fraction (T nom, T denom)
 Divides one number by another. More...
 
template<typename TFunctor , typename TIterator >
detail::func_iterator_impl< TIterator, TFunctor > func_it (TIterator it, TFunctor f=TFunctor())
 
template<typename TMap1 , typename TMap2 , typename TFunctor >
boost::enable_if< boost::is_empty< TFunctor > >::type loop_mapPairs (TMap1 &map1, TMap2 &map2, TFunctor f)
 
template<typename TMap1 , typename TMap2 , typename TFunctor >
boost::disable_if< boost::is_empty< TFunctor > >::type loop_mapPairs (TMap1 &map1, TMap2 &map2, TFunctor &f)
 
template<typename TMap1 , typename TMap2 , typename TFunctor >
boost::enable_if< boost::is_empty< TFunctor > >::type loop_mapEach (TMap1 &map1, TMap2 &map2, TFunctor f)
 
template<typename TMap1 , typename TMap2 , typename TFunctor >
boost::disable_if< boost::is_empty< TFunctor > >::type loop_mapEach (TMap1 &map1, TMap2 &map2, TFunctor &f)
 
template<typename T1 , typename T2 , typename T3 >
boost::enable_if_c< std::numeric_limits< T1 >::is_specialized &&std::numeric_limits< T2 >::is_specialized >::type sub (T1 x, T2 y, T3 &z)
 
template<typename T >
boost::enable_if_c< std::numeric_limits< T >::is_specialized >::type mul (T &x, T y)
 
template<typename T1 , typename T2 , typename T3 >
boost::enable_if_c< std::numeric_limits< T1 >::is_specialized &&std::numeric_limits< T2 >::is_specialized >::type mul (T1 x, T2 y, T3 &z)
 
template<typename T1 , typename T2 >
boost::enable_if_c< is_container< T1 >::value >::type mul (T1 &x, const T2 &y)
 
template<typename T1 , typename T2 , typename T3 >
boost::enable_if_c< is_container< T1 >::value >::type mul (const T1 &x, const T2 &y, T3 &z)
 
template<typename TContainer >
void resize (TContainer &c, std::size_t n)
 
template<typename T , std::size_t D>
void resize (boost::array< T, D >, std::size_t n)
 
void print_def (const MapHistogram_def &h)
 
void save_def (const MapHistogram_def &h, std::string filename, float valueFactor)
 
template<typename TIndex , typename T , typename TAlloc , typename TPointer >
boost::enable_if_c< boost::is_same< TIndex, std::size_t >::value &&!boost::is_same< TPointer, std::size_t >::value, TIndex >::type getIndex (const std::vector< T, TAlloc > &c, TPointer pElem)
 
template<typename TIndex , typename TCollection >
boost::enable_if< boost::is_same< TIndex, std::size_t >, TIndex >::type getIndex (const TCollection &, std::size_t i)
 
template<typename TIndex , typename T , typename TAlloc , typename TPointer >
boost::enable_if_c< boost::is_same< TIndex, T * >::value &&!boost::is_same< TPointer, std::size_t >::value, TIndex >::type getIndex (const std::vector< T, TAlloc > &c, TPointer pElem)
 
template<typename TIndex , typename TContainer >
boost::enable_if< boost::is_same< TIndex, typename value_type_of< TContainer >::type * >, TIndex >::type getIndex (const TContainer &c, std::size_t i)
 
template<typename _TIndex >
_TIndex kdtreeDefaultValue ()
 
template<>
std::size_t kdtreeDefaultValue< std::size_t > ()
 
template<typename T >
std::ostream & operator<< (std::ostream &os, const KDNode< T > &n)
 
template<typename T , typename TIndex , typename TContainer >
void makeKDTree (const std::vector< T > &v, KDTree< TIndex, TContainer > &res)
 
template<typename TPrecision , typename TKDTree >
TKDTree::index_type find_closest (const TKDTree &kdtree, const typename TKDTree::indexed_type &vec)
 Returns the closest point to vec in kdtree. More...
 
template<typename TVerticesIn , typename TFacesIn , typename TNeighbors , typename TVertexNode , typename TFaceNode >
void list2graph_mesh_conversion (const TVerticesIn &verticesIn, const TFacesIn &facesIn, const TNeighbors &neighc, std::list< TVertexNode > &verticesOut, std::list< TFaceNode > &facesOut)
 
template<typename TVerticesIn , typename TFacesIn , typename TVertexNode , typename TFaceNode >
void list2graph_mesh_conversion (const TVerticesIn &verticesIn, const TFacesIn &facesIn, std::list< TVertexNode > &verticesOut, std::list< TFaceNode > &facesOut)
 
template<typename TPointIterator , typename TOutIterator >
TOutIterator bounding_triangle (TPointIterator pbegin, TPointIterator pend, TOutIterator out)
 Given a list of 2D points, compute a bounding equilateral triangle. More...
 
std::list< boost::array< std::size_t, 3 > > simple_delaunay_triangulation (std::vector< numeric_array< float, 2 > > points)
 
template<typename TVertexNode , typename TFaceNode >
std::list< TVertexNode >::iterator remove_vertex (typename std::list< TVertexNode >::iterator i, std::list< TVertexNode > &graph_vertices, std::list< TFaceNode > &graph_faces)
 Remove a vertex from a mesh. More...
 
template<typename TNeighbors >
std::vector< numeric_array< float, 2 > > simple_neighborhood_flattening (const numeric_array< float, 3 > &point, const TNeighbors &neighbors)
 
template<typename TVertexCollection , typename TFaceCollection , typename TCNeighborhoods , typename TIndexCollection >
std::vector< unsigned char > remove_vertices (TVertexCollection &vertices, TFaceCollection &faces, TCNeighborhoods const &neighc, TIndexCollection const &removed)
 NB: vertices are not removed one by one but in groups via this kind of functions, because the static "vector" collection is incompatible with this kind of operation. More...
 
template<typename TVertexCollection , typename TFaceCollection >
std::list< std::size_t > quantizer (TVertexCollection &vertices, TFaceCollection &faces, std::size_t newSize)
 Decimates a mesh until a specified number of vertices is reached. More...
 
template<typename TVertexCollection , typename TFaceCollection >
std::list< std::size_t > quantizer_2 (TVertexCollection &vertices, TFaceCollection &faces)
 Decimates a mesh until no more vertex with unremoved neighbors can be removed. More...
 
template<typename TParam >
const MeshTraits< Mesh< TParam > >::VertexCollection & getVertices (const Mesh< TParam > &mesh)
 
template<typename TParam >
MeshTraits< Mesh< TParam > >::VertexCollection & getVertices (Mesh< TParam > &mesh)
 
const MeshTraits< Mesh1 >::FaceIndexCollection & getFaceIndices (const Mesh1 &mesh)
 
const MeshTraits< Mesh2 >::FaceIndexCollection & getFaceIndices (const Mesh2 &mesh)
 
MeshTraits< Mesh1 >::FaceIndexCollection & getFaceIndices (Mesh1 &mesh)
 
MeshTraits< Mesh2 >::FaceIndexCollection & getFaceIndices (Mesh2 &mesh)
 
MeshTraits< Mesh_N >::NeighborIndexCollection & getNeighborIndices (Mesh_N &mesh)
 
const MeshTraits< Mesh_N >::NeighborIndexCollection & getNeighborIndices (const Mesh_N &mesh)
 
MeshTraits< Mesh2_N >::NeighborIndexCollection & getNeighborIndices (Mesh2_N &mesh)
 
const MeshTraits< Mesh2_N >::NeighborIndexCollection & getNeighborIndices (const Mesh2_N &mesh)
 
const MeshTraits< Mesh1 >::Vertex & getFaceVertex (const Mesh1 &mesh, const std::vector< numeric_array< std::size_t, 3 > >::const_iterator &iFC, int i)
 Returns the i-th vertex of a face of a mesh of type Mesh1. More...
 
const MeshTraits< Mesh2 >::Vertex & getFaceVertex (const Mesh2 &, const MeshTraits< Mesh2 >::FaceIndexCollection::const_iterator &iFC, int i)
 Returns the i-th vertex of a face of a mesh of type Mesh2. More...
 
const MeshTraits< Mesh_N >::Vertex & getVertexNeighbor (const Mesh_N &mesh, const MeshTraits< Mesh_N >::NeighborIndex::value_type &iNi)
 Returns the vertex neighbors of a mesh of type Mesh_N given by its index. More...
 
const numeric_array< float, 3 > & getVertexNeighbor (const Mesh2_N &, const MeshTraits< Mesh2_N >::NeighborIndex::value_type &iNi)
 Returns the vertex neighbors of a mesh of type Mesh_N given by its index. More...
 
template<typename TMesh >
std::size_t getVertexNumber (const TMesh &, std::size_t i)
 Return the index of vertex v[i] – which is, obviously, i. More...
 
template<typename TMesh , typename TVertex >
boost::enable_if< is_same_naked< typename MeshTraits< TMesh >::Vertex, TVertex >, std::size_t >::type getVertexNumber (const TMesh &mesh, TVertex *p)
 Return the index of the vertex pointed at by *p. More...
 
template<typename TFaceCollection >
void get_edges_and_faces (TFaceCollection const &faces, std::vector< std::pair< std::size_t, std::size_t > > &res, std::vector< std::vector< std::size_t > > &newfaces)
 
template<typename TFaceCollection >
shared_ptr< std::vector< std::pair< std::size_t, std::size_t > > > faces2edges (TFaceCollection const &faces)
 Collects edges from a set of faces. More...
 
template<typename TNeighborhoodCollection >
void neighborhoods2edges (TNeighborhoodCollection const &neigh, std::vector< std::pair< std::size_t, std::size_t > > &edges)
 Collects edges from a set of neighbors. More...
 
template<typename TFaceCollection >
shared_ptr< std::vector< std::vector< typename TFaceCollection::value_type::value_type > > > circular_neighborhoods (TFaceCollection const &faces, std::size_t nVertices)
 Get point neighbors so that they form a loop around points. More...
 
template<typename TVertexCollection , typename TFaceCollection >
shared_ptr< std::vector< std::vector< typename TFaceCollection::value_type::value_type > > > circular_neighborhoods (const TVertexCollection &vertices, const TFaceCollection &faces)
 
template<typename TMesh >
shared_ptr< std::vector< std::vector< typename MeshTraits< TMesh >::FaceIndex::value_type > > > getNeighborIndices (const TMesh &mesh)
 
template<typename TVertexCollection , typename TFaceIndexCollection >
void getNeighborIndices (const TVertexCollection &vertices, const TFaceIndexCollection &faces, std::vector< std::vector< std::size_t > > &neigh)
 
template<typename TParam >
detail::AddNeighborIndexAttribute< Mesh< TParam > > addNeighborsToMesh (const Mesh< TParam > &mesh)
 
template<typename TMesh , typename TContainer , typename TFunctor >
boost::enable_if_c< is_container< typename TContainer::value_type >::value >::type for_each_neighbors (const TMesh &mesh, TContainer &c1, TFunctor f)
 
template<typename TMesh , typename TContainer , typename TFunctor >
boost::enable_if_c< !is_container< typename TContainer::value_type >::value >::type for_each_neighbors (const TMesh &mesh, TContainer &c1, TFunctor f)
 
template<typename TMesh , typename TContainer1 , typename TContainer2 , typename TFunctor >
boost::enable_if_c< is_container< typename TContainer1::value_type >::value &&is_container< typename TContainer2::value_type >::value >::type for_each_neighbors (const TMesh &mesh, TContainer1 &c1, TContainer2 &c2, TFunctor f)
 Apply a functor for each pair (vertex, neighbor_of_vertex), given a mesh and two extra containers. More...
 
template<typename TMesh , typename TContainer1 , typename TContainer2 , typename TFunctor >
boost::enable_if_c< is_container< typename TContainer1::value_type >::value &&!is_container< typename TContainer2::value_type >::value >::type for_each_neighbors (const TMesh &mesh, TContainer1 &c1, TContainer2 &c2, TFunctor f)
 Apply a functor for each pair (vertex, neighbor_of_vertex), given a mesh and two extra containers. More...
 
template<typename TPrecision , typename TMesh >
boost::enable_if_c< MeshTraits< TMesh >::has_neighbor_indices >::type getEdgeLengths (const TMesh &mesh, std::vector< std::vector< TPrecision > > &lengths)
 Computes edge lengths of a mesh. More...
 
template<typename TCollection , typename TPrec >
shared_ptr< std::vector< typename TCollection::const_iterator > > gonzalez_clustering (const TCollection &data, TPrec maxDiam)
 Gonzalez clustering. More...
 
template<typename TPrec , typename TVertexIndex , typename TVertexCollection , typename TNeighborhood , typename TVertex >
TPrec dist2_surface (const TVertex &p, TVertexIndex i, const TVertexCollection &vertices, const TNeighborhood &neighc)
 Simple flattening of a point and its neighborhood. More...
 
template<typename TPrec , typename TVertexIndex , typename TVertexCollection , typename TNeighborhood , typename TVertex >
numeric_array< double, 3 > closest_normal (const TVertex &p, TVertexIndex i, const TVertexCollection &vertices, const TNeighborhood &neighc)
 Returns the index of the neighborhood that is the closest. More...
 
template<typename TVertex >
void laplacian_smoothing (std::vector< TVertex > &vertices, std::vector< std::vector< std::size_t > > &neighbors, unsigned int nstep, double coeff)
 Laplacian smoothing – helper function. More...
 
template<typename NeighborCollection , typename NeighborCollectionOut >
void get_n_neighborhood (NeighborCollection const &neigh, NeighborCollectionOut &neigh_n_out, unsigned int n)
 Computes the n-neighborhood, i.e. collection of neighbors that are at most n jumps away. More...
 
template<typename T >
void neighbors2edges (std::vector< std::vector< T > > const &neighbors, std::vector< std::pair< T, T > > &edges)
 Convert a set of neighborhoods into a set of edges. More...
 
template<typename T >
void neighboring_faces (std::vector< std::vector< T > > const &cneighs, std::vector< til::numeric_array< T, 3 > > const &faces, std::vector< std::vector< T > > &neighborfaces)
 Computes the index of the neighboring faces. More...
 
template<typename TVector2D , typename T >
TVector2D sortedVector (T a, T b)
 returns vector (x, y) with x <= y More...
 
template<typename TVector3D , typename T >
TVector3D sorted_vector (T a, T b, T c)
 
template<typename TVector3D >
TVector3D sorted_vector (TVector3D v)
 NB: the argument is passed by value on purpose. More...
 
template<typename T >
std::pair< T, T > make_sorted_pair (T a, T b)
 Return (a, b) if a >= b, (b, a) else. More...
 
template<typename T >
norm2 (T x, T y, T z)
 Squared euclidean norm of vector (x,y,z) More...
 
template<typename TContainer1 , typename TContainer2 >
void allocate_sameSize (const TContainer1 &c1, TContainer2 &c2)
 A simple function to allocate a container so that its size matches the size of a second container. More...
 
template<typename TRes , typename TIterator >
void mean (TIterator begin, TIterator end, TRes &res)
 Computes the centroid of a list of vertices. More...
 
template<typename TRes , typename TCollection >
void centroid (const TCollection &c, TRes &res) __attribute__((__deprecated__("use mean() instead")))
 Computes the centroid of a list of vertices. More...
 
template<typename TPoint , typename TPointCollection >
void stdev (const TPointCollection &c, TPoint &res)
 
template<typename T1 , typename T2 >
bool same_sign (const T1 &x, const T2 &y)
 Return true iff both arguments have same sign. More...
 
template<typename T1 , typename T2 >
T1 sign (T1 x, T2 y)
 Change the sign of x if y < 0. More...
 
template<typename T >
char * sprintf (T format,...)
 
template<typename TIndexCollection >
std::vector< std::list< std::size_t > > invertIndices (const std::vector< TIndexCollection > &c)
 Invert an index array. More...
 
template<typename T >
std::size_t max_index (T x0, T x1, T x2)
 Returns i0, where X_i0 is the greatesstructt of all Xi's. More...
 
template<typename T >
std::size_t min_index (T x0, T x1, T x2)
 Returns i0, where X_i0 is the smallest of all Xi's. More...
 
template<typename T >
bool is_nan (T x)
 Check if x is NaN. More...
 
template<typename T >
bool is_dyadic (T n)
 Returns true if argument is of the form 2^m, m>=1. More...
 
template<typename T >
int log2 (T n)
 Returns the largest m so that n >= 2^m. More...
 
template<typename T >
exp2 (unsigned int n)
 Returns 2^n. More...
 
template<typename T >
lower_dyadic (T n)
 Return the greater power of two inferior or equal to n. More...
 
template<typename TCollection , typename TOrderIterator >
Ordered_iterator< typename TCollection::iterator, TOrderIterator > ordered_iterator (TOrderIterator obegin, TCollection &coll)
 
template<typename TCollection , typename TOrderIterator >
Ordered_iterator< typename TCollection::const_iterator, TOrderIterator > ordered_iterator (TOrderIterator obegin, const TCollection &coll)
 
template<typename T , typename TArray >
matdot (ScalarMatrix< T > m, const TArray &x)
 Compute x^T.M.x. More...
 
template<typename TFunctor >
boost::enable_if< boost::is_stateless< TFunctor >, LoopWraper< TFunctor > >::type loopWraper (TFunctor f)
 
template<typename TFunctor >
boost::disable_if< boost::is_stateless< TFunctor >, LoopWraper< TFunctor & > >::type loopWraper (TFunctor &f)
 
template<typename T >
SparseVector< T > operator* (const SparseVector< T > &sv1, const SparseVector< T > &sv2)
 Pointwise multiplication. More...
 
template<typename T >
SparseVector< T > operator+ (const SparseVector< T > &sv1, const SparseVector< T > &sv2)
 Pointwise addition. More...
 
template<typename T >
SparseVector< T > operator- (const SparseVector< T > &sv1, const SparseVector< T > &sv2)
 Pointwise subtraction. More...
 
template<typename T >
SparseVector< T > operator/ (const SparseVector< T > &sv1, const SparseVector< T > &sv2)
 Pointwise division. More...
 
template<typename TPrecision , typename T >
TPrecision dot (const SparseVector< T > &sv1, const SparseVector< T > &sv2)
 Dot product between two sparse vectors. More...
 
template<typename T >
std::ostream & operator<< (std::ostream &os, const SparseVector< T > v)
 
template<typename TVertices , typename TFaces , typename TPrec >
void distance_to_neighbors (TVertices const &vertices, TFaces const &faces, TPrec distance, std::vector< til::sparse_vector< TPrec > > &res)
 Returns neighbors that are below a certain geodesic distance, along with their distance. More...
 

Variables

const NoInit no_init = NoInit()
 

Detailed Description

Belongs to package Box Do not include directly, include til/Box.h instead.

Belongs to graph package.

In short: when you are not sure x/y will never fail and have no easy way to deal with it, you will need some lines of code to deal with it, and fortunately they are all there.

If you can change your formula so that x/y will never fail, then of course it's better and you can ignore this.

Do not include directly, include "graph.h" instead.

Typedef Documentation

◆ DelayedProgressIndicator

◆ imeu

typedef boost::mpl::vector< ImageC<unsigned char>, ImageC<char>, ImageC<unsigned short>, ImageC<short>, ImageC<int>, ImageC<float>, ImageC<double> > til::imeu

Definition at line 205 of file DynImage.h.

◆ Mesh1

Definition at line 241 of file Mesh.h.

◆ Mesh2

Definition at line 242 of file Mesh.h.

◆ Mesh2_N

Definition at line 355 of file Mesh.h.

◆ Mesh2_NNo

Definition at line 357 of file Mesh.h.

◆ Mesh2_No

Definition at line 356 of file Mesh.h.

◆ Mesh_N

Definition at line 351 of file Mesh.h.

◆ Mesh_NNo

Definition at line 353 of file Mesh.h.

◆ Mesh_No

Definition at line 352 of file Mesh.h.

◆ StandardNumericTypes

typedef boost::mpl::vector< unsigned char, char, unsigned short, short, int, float, double > til::StandardNumericTypes

Definition at line 195 of file DynImage.h.

◆ t_bsprec

typedef double til::t_bsprec

Definition at line 14 of file imageBasicStats.h.

◆ t_corprec

typedef double til::t_corprec

Definition at line 25 of file NormalizedCorrelation.h.

◆ t_interp

typedef double til::t_interp

Definition at line 18 of file interpolationTraits.h.

◆ t_structtensprec

typedef double til::t_structtensprec

Definition at line 20 of file StructureTensor.h.

◆ t_voxsize

typedef float til::t_voxsize

type of voxel size

Definition at line 13 of file ImageBase.h.

◆ TN18

typedef TArgNeighborhood<0,1,0,1,1,1,0,1,0,1,1,1,1,0,1,1,1,1,0,1,0,1,1,1,0,1,0> til::TN18

Template neighborhood for standard 3D 18-connectivity Note that the center is not included.

Definition at line 575 of file Neighborhood.h.

◆ TN26

typedef TArgNeighborhood<1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1> til::TN26

Template neighborhood for standard 3D 26-connectivity Note that the center is not included.

Definition at line 588 of file Neighborhood.h.

◆ TN6

typedef TArgNeighborhood<0,0,0,0,1,0,0,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,1,0,0,0,0> til::TN6

Template neighborhood for standard 3D 6-connectivity.

Note that the center is not included.

Definition at line 562 of file Neighborhood.h.

◆ toto

typedef boost::mpl::transform<StandardNumericTypes, ImageC<boost::mpl::_1> >::type til::toto

Definition at line 208 of file DynImage.h.

◆ uchar

typedef unsigned char til::uchar

Definition at line 75 of file til_common.h.

◆ ushort

typedef unsigned short til::ushort

Definition at line 76 of file til_common.h.

◆ VoxelList

typedef std::vector<numeric_array<int,3> > til::VoxelList

Definition at line 54 of file regionGrowing.h.

Enumeration Type Documentation

◆ ImageAxis

Enumerator
X_AXIS 
Y_AXIS 
Z_AXIS 

Definition at line 123 of file miscTools.h.

Function Documentation

◆ _addPoint()

template<class TImage , class Ghost >
INLINE void til::_addPoint ( VoxelList vl,
TImage &  seg,
const numeric_array< int, 3 > &  pos,
Ghost &  ghost,
typename TImage::value_type  newColor 
)

If point at position 'pos' satisfy region-growing criteria, it is added to the list of voxel 'vl' and also put in the image 'seg'.

Definition at line 152 of file regionGrowing.h.

References _addPoint2(), contains(), and INLINE.

Referenced by addNeighbors(), addSeeds(), and til::PluginGhost< PixelTest, Plugin >::stop().

◆ _addPoint2()

template<class TImage , class Ghost >
INLINE void til::_addPoint2 ( VoxelList vl,
TImage &  seg,
const numeric_array< int, 3 > &  pos,
Ghost &  ghost,
typename TImage::value_type  newColor 
)

Definition at line 176 of file regionGrowing.h.

Referenced by _addPoint().

◆ abs()

◆ add() [1/6]

template<typename T1 , typename T2 >
void til::add ( const std::vector< numeric_array< T1, 3 > > &  pl,
numeric_array< T2, 3 > &  v 
)

Add all the vectors of pl to v.

NB: v is not initialized to zero (yet?).

Definition at line 34 of file pointListTools.h.

◆ add() [2/6]

template<typename T1 , typename T2 >
INLINE void til::add ( const SymMatrix3< T1 > &  mat1,
SymMatrix3< T2 > &  mat2 
)

Definition at line 43 of file symmatrix3tools.h.

◆ add() [3/6]

template<typename T , int D>
void til::add ( AimsVector< T, D > &  v1,
const AimsVector< T, D > &  v2 
)

Definition at line 81 of file aims_wrap.h.

◆ add() [4/6]

template<class TImage1 , class TImage2 >
enable_if_c< is_Image<TImage1>::value && is_Image<TImage2>::value>::type til::add ( TImage1 &  im1,
const TImage2 &  im2 
)

Definition at line 277 of file imageArith.h.

References similarityCheck().

◆ add() [5/6]

template<class TImage , typename T >
enable_if_c< is_Image<TImage>::value && !is_Image<T>::value>::type til::add ( TImage &  im,
scalar 
)

Definition at line 298 of file imageArith.h.

◆ add() [6/6]

template<typename TRes , typename T1 , typename T2 >
TRes til::add ( T1  x,
T2  y 
)
inline

Definition at line 394 of file functors.h.

Referenced by add2ndOrder(), til::Add::operator()(), and til::RegionMoments::update().

◆ add2ndOrder()

template<typename T1 , typename T2 >
void til::add2ndOrder ( const std::vector< numeric_array< T1, 3 > > &  pl,
SymMatrix3< T2 > &  mat 
)

Definition at line 46 of file pointListTools.h.

References add(), keepPointsAboveThreshold(), and tdot().

◆ addNeighbors()

template<class TImage , class Ghost >
std::unique_ptr<VoxelList> til::addNeighbors ( TImage &  seg,
const std::vector< numeric_array< int, 3 > > &  vl,
const std::vector< numeric_array< int, 3 > > &  vnh,
Ghost &  ghost,
typename TImage::value_type  newColor 
)

< New boundary points

Parameters
segSegmentation image
vlBoundary points
vnhNeighborhood
ghostRegion growing criteria
newColorNew color

Definition at line 204 of file regionGrowing.h.

References _addPoint().

Referenced by til::Vertex_remover< TVertexNode, TFaceNode >::error(), regionGrowing(), and til::Vertex_remover< TVertexNode, TFaceNode >::remove().

◆ addNeighbors2()

template<class TImage , class Ghost , class TNeighborhood >
std::unique_ptr<VoxelList> til::addNeighbors2 ( TImage &  seg,
const VoxelList vl,
const TNeighborhood &  nh,
Ghost &  ghost,
typename TImage::value_type  newColor 
)

Definition at line 252 of file regionGrowing.h.

References ADD_NEIGHBORS2, and addSeeds().

Referenced by regionGrowing2().

◆ addNeighborsToMesh()

template<typename TParam >
detail::AddNeighborIndexAttribute<Mesh<TParam> > til::addNeighborsToMesh ( const Mesh< TParam > &  mesh)
inline

Definition at line 499 of file meshUtils.h.

References getNeighborIndices().

Referenced by read_mesh().

◆ addSeeds()

template<class TImage , class Ghost >
std::unique_ptr<VoxelList> til::addSeeds ( TImage &  seg,
const VoxelList vl,
Ghost &  ghost,
typename TImage::value_type  newColor 
)

Definition at line 316 of file regionGrowing.h.

References _addPoint(), and regionGrowing2().

Referenced by addNeighbors2(), regionGrowing(), and regionGrowing2().

◆ addTo()

template<int x, int y, int z, typename TIN , typename TOUT >
void til::addTo ( const numeric_array< TIN, 3 > &  vIn,
numeric_array< TOUT, 3 > &  vOut 
)
inline
Parameters
vInThe input vector
vOutThe output vector

Definition at line 295 of file numeric_array_tools.h.

References tdot().

Referenced by cross().

◆ aimswrite()

template<typename T >
void til::aimswrite ( const T &  data,
const std::string  name 
)

Definition at line 825 of file aims_wrap.h.

◆ allocate_sameSize()

template<typename TContainer1 , typename TContainer2 >
void til::allocate_sameSize ( const TContainer1 &  c1,
TContainer2 &  c2 
)

A simple function to allocate a container so that its size matches the size of a second container.

The trick is that it is recursive, so that we can easily create a container of container (of container...) whose size matches the size of another container. NB: You have to be careful that this won't go farther than what you want. In particular if you are dealing with arrays of vectors of matrices, that might themselves be considered as containers.

Parameters
c1The model
c2The container to be allocated

Definition at line 201 of file miscUtils.h.

Referenced by til::detail::_allocate_sameSize(), getEdgeLengths(), and getNeighborIndices().

◆ allocationCheck() [1/2]

◆ allocationCheck() [2/2]

template<class TImage1 , class TImage2 >
INLINE void til::allocationCheck ( const TImage1 &  im1,
const TImage2 &  im2 
)

Same thing as allocation check, for two images successively.

NB: for images that additionnally must have the same size, use similarityCheck instead

Definition at line 54 of file imageTools.h.

References allocationCheck().

◆ apply() [1/2]

template<typename T1 , typename T2 , typename T3 >
void til::apply ( Matrix3< T1 > const &  mat,
numeric_array< T2, 3 > const &  vec,
numeric_array< T3, 3 > &  vecout 
)

compute mat * in

Definition at line 16 of file matrix3Tools.h.

References apply_t().

◆ apply() [2/2]

◆ apply_t()

template<typename T1 , typename T2 , typename T3 >
void til::apply_t ( Matrix3< T1 > const &  mat,
numeric_array< T2, 3 > const &  vec,
numeric_array< T3, 3 > &  vecout 
)

compute transpose(mat) * in

Definition at line 42 of file matrix3Tools.h.

Referenced by apply().

◆ areSameObject() [1/2]

template<class TImage1 , class TImage2 >
bool til::areSameObject ( const TImage1 &  ,
const TImage2 &   
)

Check that inputs do not point to the same image.

Definition at line 90 of file imageTools.h.

Referenced by notSameImageCheck().

◆ areSameObject() [2/2]

template<class TImage >
boost::enable_if<is_Image<TImage>, bool>::type til::areSameObject ( const TImage &  im1,
const TImage &  im2 
)

Definition at line 96 of file imageTools.h.

◆ areSimilar()

template<class TImage1 , class TImage2 >
INLINE bool til::areSimilar ( const TImage1 &  im1,
const TImage2 &  im2 
)

Definition at line 60 of file imageTools.h.

Referenced by similarityCheck().

◆ BOOST_MPL_ASSERT()

til::BOOST_MPL_ASSERT ( (boost::mpl::equal< imeu, toto >)  )

◆ bounding_triangle()

template<typename TPointIterator , typename TOutIterator >
TOutIterator til::bounding_triangle ( TPointIterator  pbegin,
TPointIterator  pend,
TOutIterator  out 
)

Given a list of 2D points, compute a bounding equilateral triangle.

The three resulting points are writen starting from the out iterator.

Definition at line 197 of file mesh_decimation.h.

References max(), max_helper(), min(), and sqrt().

◆ breadth_first()

template<typename TTreeIterator , typename TBFFunctor >
void til::breadth_first ( TTreeIterator  iTree,
const TBFFunctor &  f 
)

Apply a functor in a breadth-first traversal order, starting from the iterator given in input.

Note that so far, the functor needs to be breadth_first specific.

Definition at line 459 of file binary_tree.h.

References til::detail::breadth_first().

Referenced by til::detail::breadth_first(), and print().

◆ castValue()

template<typename TFrom , typename TTo >
TTo til::castValue ( TFrom  value)
inline

Definition at line 90 of file miscTools.h.

◆ cat2type() [1/3]

template<template< typename > class TIS_A, typename T >
boost::enable_if<TIS_A<T>, label::Passed<TIS_A> >::type til::cat2type ( )
inline

Definition at line 38 of file cat2type.h.

◆ cat2type() [2/3]

template<template< typename > class TIS_A, typename T >
boost::disable_if<TIS_A<T>, label::Failed<TIS_A> >::type til::cat2type ( )
inline

Definition at line 48 of file cat2type.h.

◆ cat2type() [3/3]

template<template< typename > class TIS_A, typename T >
test_whether<TIS_A,T>::type til::cat2type ( )
inline

Do an is_a test.

Definition at line 55 of file cat2type.h.

◆ centroid() [1/2]

template<typename TAccumulationPoint , typename TPointCollection >
TAccumulationPoint til::centroid ( const TPointCollection &  c)

◆ centroid() [2/2]

template<typename TRes , typename TCollection >
void til::centroid ( const TCollection &  c,
TRes &  res 
)

Computes the centroid of a list of vertices.

NB: this assumes that the default constructor of TVector inits to zero. NB: this is obsolete. Use mean instead.

Definition at line 302 of file miscUtils.h.

References mean(), and stdev().

◆ chamferDistance_3()

template<typename TImage >
void til::chamferDistance_3 ( TImage &  im,
const std::vector< typename TImage::value_type > &  mask,
typename TImage::value_type  foreground,
typename TImage::value_type  background 
)

TODO: this probably has to be changed First, k_infinity could be set to infinity if value_type has a representation for it (use has_infinity) Second, big (ok, theoretical) problem if value_type is unsigned float: then infinity is max - 1... which is numerically certainly equal to 1 due to rounding.

Definition at line 15 of file chamferDistance.h.

References max().

◆ circular_neighborhoods() [1/2]

template<typename TFaceCollection >
shared_ptr<std::vector<std::vector<typename TFaceCollection::value_type::value_type> > > til::circular_neighborhoods ( TFaceCollection const &  faces,
std::size_t  nVertices 
)

Get point neighbors so that they form a loop around points.

This is truely useful only for meshes that have a fixed number of vertices per faces, because the circular neighbor then also contains the neighboring face information in a natural and compact fashion. Note that if the triangles are always turning in the same direction (i.e. their normals are consistent surface-wise), then so will the circular neighbors, and in the same direction as the triangles.

Referenced by circular_neighborhoods(), list2graph_mesh_conversion(), neighborhoods2edges(), quantizer(), and quantizer_2().

◆ circular_neighborhoods() [2/2]

template<typename TVertexCollection , typename TFaceCollection >
shared_ptr<std::vector<std::vector<typename TFaceCollection::value_type::value_type> > > til::circular_neighborhoods ( const TVertexCollection &  vertices,
const TFaceCollection &  faces 
)
inline

Definition at line 402 of file meshUtils.h.

References circular_neighborhoods().

◆ clearBorder()

template<typename TImage >
void til::clearBorder ( TImage &  im,
typename TImage::value_type  background = 0 
)

Clear image borders.

Definition at line 641 of file imageTools.h.

Referenced by setSlice().

◆ closest_normal()

template<typename TPrec , typename TVertexIndex , typename TVertexCollection , typename TNeighborhood , typename TVertex >
numeric_array<double,3> til::closest_normal ( const TVertex &  p,
TVertexIndex  i,
const TVertexCollection &  vertices,
const TNeighborhood &  neighc 
)
inline

Returns the index of the neighborhood that is the closest.

Definition at line 1659 of file meshUtils.h.

References til::detail::numeric_array_impl< T, D >::begin(), dist2(), max(), and til::geo::triangle_normal().

◆ computeAffineTransformBetween()

template<typename T >
void til::computeAffineTransformBetween ( const Box< T, 3 > &  from,
const Box< T, 3 > &  to,
Affine< T > &  a 
)

Compute the affine transform that would send a Box on another Box.

Definition at line 18 of file affineTransformTools.h.

References apply(), til::Affine< T >::getMatrix(), til::Affine< T >::getTransl(), INLINE, til::Box< T, D >::min_bounds(), neg(), til::Affine< T >::reset(), and size().

◆ connectedComponents() [1/2]

template<typename TImage , typename TNeighborhood , typename TExtrapolator >
int til::connectedComponents ( TImage &  im,
const TNeighborhood &  nh 
)

Label the connected components of image im.

Returns the number of connected components.

Returns the number of connected components. Default extrapolation of zero

Definition at line 44 of file connectedComponents3D.h.

◆ connectedComponents() [2/2]

template<typename TImage , typename TNeighborhood >
int til::connectedComponents ( TImage &  im,
const TNeighborhood &  nh 
)

Label the connected components of image im.

Returns the number of connected components. Default extrapolation of zero

Definition at line 44 of file connectedComponents3D.h.

◆ connectivity()

TIL_API int til::connectivity ( const Neighborhood nh)

◆ contains() [1/5]

template<typename T , typename TStorage , std::size_t D>
boost::enable_if<is_numeric_container<TStorage>, bool>::type til::contains ( const Box< T, D > &  box,
const TStorage &  v 
)
inline

◆ contains() [2/5]

template<typename T >
bool til::contains ( const std::vector< numeric_array< T, 3 > > &  pl,
const numeric_array< T, 3 > &  v 
)

Definition at line 18 of file pointListTools.h.

◆ contains() [3/5]

template<typename T1 , typename T2 , std::size_t D>
bool til::contains ( const Box< T1, D > &  boxOutside,
const Box< T2, D > &  boxInside 
)
inline

Check whether box1 contains box2.

Definition at line 22 of file boxTools.h.

References contains(), til::Box< T, D >::max_bounds(), and til::Box< T, D >::min_bounds().

◆ contains() [4/5]

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'.

Definition at line 372 of file imageTools.h.

References INLINE.

◆ contains() [5/5]

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.

The idea here is that the addition is not computed for the components where offset is zero. When this happens frequently, e.g. for neighborhood computations, this speeds up things considerably.

Definition at line 385 of file imageTools.h.

◆ containsNeighbor()

template<int dx, int dy, int dz, class VolumetricImageIterator >
bool til::containsNeighbor ( const VolumetricImageIterator &  iIm)

Definition at line 665 of file imageTools.h.

References INLINE.

Referenced by oneStepDilation().

◆ convert() [1/7]

template<typename TTo , typename TFrom >
boost::enable_if_c< boost::is_convertible<TFrom,TTo>::value && !(std::numeric_limits<TFrom>::is_specialized || std::numeric_limits<TTo>::is_specialized) && !is_same_naked<TFrom, TTo>::value >::type til::convert ( const TFrom &  x,
TTo &  y 
)
inline

default conversion between types: static conversion

Definition at line 77 of file convert.h.

◆ convert() [2/7]

template<typename TTo , typename TFrom >
boost::enable_if_c< std::numeric_limits<TFrom>::is_specialized && std::numeric_limits<TTo>::is_specialized && !is_same_naked<TFrom, TTo>::value >::type til::convert ( const TFrom &  x,
TTo &  y 
)
inline

Definition at line 102 of file convert.h.

◆ convert() [3/7]

template<typename T1 , typename T2 >
boost::enable_if<is_same_naked<T1,T2> >::type til::convert ( const T1 &  x,
T2 &  y 
)
inline

By default, if input and output types are the same, use operator=.

NB: this could be dangerous

Definition at line 122 of file convert.h.

References til::detail::convert_operatorEqual().

◆ convert() [4/7]

void til::convert ( const Point3df &  x,
Point3df &  y 
)
inline

Definition at line 139 of file convert.h.

◆ convert() [5/7]

template<typename TContainer >
void til::convert ( const TContainer &  c,
Texture1d &  t 
)
inline

Definition at line 245 of file aims_wrap.h.

References size().

◆ convert() [6/7]

template<typename TTo , typename TFrom >
void til::convert ( TTo &  x,
const TFrom &  y 
)
inline

◆ convert() [7/7]

template<typename TTo , typename TFrom >
TTo til::convert ( const TFrom &  y)
inline

Definition at line 414 of file functors.h.

◆ convert2()

template<typename T >
functor::Convertor<T> til::convert2 ( const T &  from)
inline

Definition at line 419 of file functors.h.

Referenced by convert_collection().

◆ convert_allocate()

template<typename T , typename B >
void til::convert_allocate ( std::vector< til::sparse_vector< T, B > > const &  m,
std::vector< std::vector< std::pair< std::size_t, T > > > &  v 
)

Definition at line 181 of file convert.h.

Referenced by convertTo().

◆ convert_collection()

template<typename TIterator1 , typename TIterator2 >
void til::convert_collection ( TIterator1  begin1,
TIterator1  end1,
TIterator2  begin2 
)

Definition at line 832 of file aims_wrap.h.

References convert2().

Referenced by convert_mesh().

◆ convert_im()

template<class TImageIn , class TImageOut >
void til::convert_im ( TImageIn const &  in,
TImageOut &  out 
)

Convert an image into the type of the other image.

out image should have been previously allocated

Parameters
inThe input image
outThe output image, previously allocated

Definition at line 79 of file convert.h.

References max(), min(), and similarityCheck().

Referenced by convertScale(), recursiveGaussianGradient(), and recursiveGaussianHessian().

◆ convert_mesh() [1/2]

template<typename VertexCollection , typename FaceCollection >
void til::convert_mesh ( AimsSurface< 3, Void > const &  mesh,
VertexCollection &  vertices,
FaceCollection &  faces 
)

Definition at line 841 of file aims_wrap.h.

References convert_collection().

◆ convert_mesh() [2/2]

template<typename VertexCollection , typename FaceCollection >
void til::convert_mesh ( VertexCollection const &  vertices,
FaceCollection const &  faces,
AimsSurface< 3, Void > &  mesh 
)

Definition at line 850 of file aims_wrap.h.

References convert_collection().

◆ convertScale()

template<class TImageIn , class TImageOut >
void til::convertScale ( TImageIn const &  in,
TImageOut &  out 
)

Convert an image into the type of the other image while scaling its intensity range to span through the whole possible range of TOut.

Typically to convert floats to integers out image should have been previously allocated

Parameters
inthe input image
outthe output image, previously allocated

Definition at line 29 of file convert.h.

References abs(), convert_im(), max(), min(), and similarityCheck().

◆ convertTo()

template<typename TTo , typename TFrom >
TTo til::convertTo ( const TFrom &  x)

Definition at line 167 of file convert.h.

References convert(), and convert_allocate().

◆ copy()

◆ correlation()

template<typename Extrapolation , typename TImageIn , typename TImageMask , typename TImageOut >
void til::correlation ( const TImageIn &  im,
const TImageMask &  mask,
TImageOut &  out 
)

Correlation between an image and a mask.

Similar to convolution, except that the coordinates of the mask are not inverted. For symmetric masks, convolution and correlation are strictly the same.

Parameters
imthe input image
maskthe correlation mask
outthe result image, already allocated

Definition at line 22 of file convolution.h.

◆ correlationSN()

template<typename Extrapolation , typename TImageIn , typename TImageMask , typename TImageOut >
void til::correlationSN ( const TImageIn &  im,
const TImageMask &  mask,
TImageOut &  out 
)

So-called 'Symmetric Neighbor' correlation.

For each couple of symmetric points, only the one having an intensity closest to the intensity of the center point is used. Therefore only half of the mask points are used; one should then use masks slightly bigger than usual (theoretically, two times bigger in volume)

Definition at line 43 of file convolution.h.

◆ create2DNeighborhood()

TIL_API void til::create2DNeighborhood ( Neighborhood nh,
int  nx,
int  ny,
int  nz,
int  connectivity = 0 
)

◆ crop()

template<typename T >
const T til::crop ( const T &  x,
const T &  a,
const T &  b 
)
inline

Force x into [0, dim-1].

Definition at line 24 of file misc_scalar_functions.h.

References max(), and min().

◆ cross() [1/3]

◆ cross() [2/3]

template<typename T >
numeric_array<T,3> til::cross ( const numeric_array< T, 3 > &  vec1,
const numeric_array< T, 3 > &  vec2 
)
inline

Return the cross product of two 3D ararys.

Definition at line 239 of file numeric_array_tools.h.

References cross().

◆ cross() [3/3]

template<typename T >
T til::cross ( const numeric_array< T, 2 > &  x,
const numeric_array< T, 2 > &  y 
)
inline

Definition at line 285 of file numeric_array_tools.h.

References addTo().

◆ cross_norm()

template<typename T1 , typename T2 >
double til::cross_norm ( const numeric_array< T1, 3 > &  vec1,
const numeric_array< T2, 3 > &  vec2 
)
inline

Return the norm of the cross product of two 3D vectors.

Definition at line 192 of file numeric_array_tools.h.

References sqrt(), and square().

◆ cube()

template<typename T >
INLINE const T til::cube ( const T &  a)

Max of two numbers.

Definition at line 11 of file misc_scalar_functions.h.

Referenced by eigen3D(), and recursiveGaussianSecondDerivativeNorm().

◆ cubicSplineCoefficients()

template<typename TImage >
void til::cubicSplineCoefficients ( const TImage &  im,
TImage &  coeffs 
)

Replaces im by a pre-processed version of im for cubic spline interpolation.

NB: out can be the same image as in.

Definition at line 25 of file RF1CubicSpline.h.

References filterAlongAxis(), similarityCheck(), sqrt(), X_AXIS, and Z_AXIS.

◆ cyclic_advance()

template<typename TContainer , typename TIterator >
TIterator til::cyclic_advance ( TIterator  i,
TContainer &  c 
)
inline

Definition at line 11 of file cyclic_iterator.h.

◆ deduceImageSizeFromGaussianStandardDeviation()

template<typename T1 , typename TImage2 >
void til::deduceImageSizeFromGaussianStandardDeviation ( T1  sigma,
const TImage2 &  im,
int &  hx,
int &  hy,
int &  hz 
)

Definition at line 292 of file imageTools.h.

References modifySigmaAccordingToVoxelSize().

◆ DEFINE_LABEL_CLASS() [1/13]

til::DEFINE_LABEL_CLASS ( ExtrapolableImage  )

Label for extrapolable images.

◆ DEFINE_LABEL_CLASS() [2/13]

til::DEFINE_LABEL_CLASS ( Image  )

Label for all image classes.

◆ DEFINE_LABEL_CLASS() [3/13]

til::DEFINE_LABEL_CLASS ( ImageExtrapolator  )

Label for image extrapolators.

◆ DEFINE_LABEL_CLASS() [4/13]

til::DEFINE_LABEL_CLASS ( ImageFunctor  )

Label for image functors.

◆ DEFINE_LABEL_CLASS() [5/13]

til::DEFINE_LABEL_CLASS ( ImageIterator  )

Label for all image iterator classes.

◆ DEFINE_LABEL_CLASS() [6/13]

til::DEFINE_LABEL_CLASS ( Interpolator  )

Label for interpolator of a sequence of number.

◆ DEFINE_LABEL_CLASS() [7/13]

til::DEFINE_LABEL_CLASS ( Mapping  )

Label for coordinate transforms.

◆ DEFINE_LABEL_CLASS() [8/13]

til::DEFINE_LABEL_CLASS ( detemplated_functor  )

Label for neighborhoods.

◆ DEFINE_LABEL_CLASS() [9/13]

til::DEFINE_LABEL_CLASS ( minimization_algorithm_nd  )

Label for multidimensional minimization algorithms.

◆ DEFINE_LABEL_CLASS() [10/13]

til::DEFINE_LABEL_CLASS ( range  )

◆ DEFINE_LABEL_CLASS() [11/13]

til::DEFINE_LABEL_CLASS ( numeric_container  )

◆ DEFINE_LABEL_CLASS() [12/13]

til::DEFINE_LABEL_CLASS ( multi_array  )

◆ DEFINE_LABEL_CLASS() [13/13]

til::DEFINE_LABEL_CLASS ( line_minimization_algorithm  )

◆ DEFINE_LABEL_CLASS_WITH_INHERITANCE()

til::DEFINE_LABEL_CLASS_WITH_INHERITANCE ( VolumetricImageIterator  ,
:public  ImageIterator_label 
)

Label for TIL smart pointers.

Label for all volumetric image iterator classes

◆ DEFINE_PRECISION_RECURSIVE_SPECIALIZATION() [1/5]

til::DEFINE_PRECISION_RECURSIVE_SPECIALIZATION ( ImageC< T >  )

◆ DEFINE_PRECISION_RECURSIVE_SPECIALIZATION() [2/5]

til::DEFINE_PRECISION_RECURSIVE_SPECIALIZATION ( ImageNC< T >  )

◆ DEFINE_PRECISION_RECURSIVE_SPECIALIZATION() [3/5]

til::DEFINE_PRECISION_RECURSIVE_SPECIALIZATION ( ImageRLE< T >  )

◆ DEFINE_PRECISION_RECURSIVE_SPECIALIZATION() [4/5]

til::DEFINE_PRECISION_RECURSIVE_SPECIALIZATION ( Matrix3< T >  )

◆ DEFINE_PRECISION_RECURSIVE_SPECIALIZATION() [5/5]

til::DEFINE_PRECISION_RECURSIVE_SPECIALIZATION ( SymMatrix3< T >  )

◆ DEFINE_PRECISION_RECURSIVE_SPECIALIZATION_T() [1/2]

til::DEFINE_PRECISION_RECURSIVE_SPECIALIZATION_T ( numeric_array< T TIL_COMMA D >  ,
typename T TIL_COMMA std::size_t  D 
)

◆ DEFINE_PRECISION_RECURSIVE_SPECIALIZATION_T() [2/2]

til::DEFINE_PRECISION_RECURSIVE_SPECIALIZATION_T ( sparse_vector< T TIL_COMMA BaselinePolicy >  ,
typename T TIL_COMMA typename  BaselinePolicy 
)

◆ DEFINE_TEST_CLASS_FULL()

til::DEFINE_TEST_CLASS_FULL ( has_result_type  ,
result_type   
)

◆ depth_loop() [1/2]

template<int N, typename Expr , typename TIterator1 , typename TIterator2 >
void til::depth_loop ( expr::TExpr< Expr >  expr,
TIterator1  begin1,
TIterator1  end1,
TIterator2  begin2 
)

Definition at line 445 of file TExpr.h.

References til::detail::loop_xx().

◆ depth_loop() [2/2]

template<int N, typename Expr , typename TContainer1 , typename TContainer2 >
void til::depth_loop ( expr::TExpr< Expr >  expr,
TContainer1 &  c1,
TContainer2 &  c2 
)

Definition at line 462 of file TExpr.h.

◆ det()

template<typename T >
T til::det ( const Matrix3< T > &  m)

◆ diamondClosure()

template<typename TImage >
void til::diamondClosure ( TImage &  im,
int  nsteps,
typename TImage::value_type  foreground,
typename TImage::value_type  background 
)

Definition at line 122 of file morpho.h.

References diamondDilation(), and diamondErosion().

◆ diamondDilation()

template<typename TImage >
void til::diamondDilation ( TImage &  im,
int  nsteps,
typename TImage::value_type  foreground,
typename TImage::value_type  background 
)

Definition at line 100 of file morpho.h.

References oneStepDilation().

Referenced by diamondClosure().

◆ diamondErosion()

template<typename TImage >
void til::diamondErosion ( TImage &  im,
int  nsteps,
typename TImage::value_type  foreground,
typename TImage::value_type  background 
)

Definition at line 111 of file morpho.h.

References oneStepDilation().

Referenced by diamondClosure().

◆ dist() [1/3]

template<typename TPrecision , typename T , std::size_t D>
TPrecision til::dist ( const Point< T, D > &  v1,
const Point< T, D > &  v2 
)

Return the squared Euclidean distance between two vectors.

Simpy take T as the precision. NB: This can be dangerous say if T is unsigned.

Definition at line 90 of file point_tools.h.

References dist2(), and sqrt().

◆ dist() [2/3]

template<typename TPrec , typename T1 , typename T2 , std::size_t D>
TPrec til::dist ( const numeric_array< T1, D > &  v1,
const numeric_array< T2, D > &  v2,
prec< TPrec >   
)
inline

◆ dist() [3/3]

template<typename T , std::size_t D>
T til::dist ( const numeric_array< T, D > &  v1,
const numeric_array< T, D > &  v2 
)
inline

Return the Euclidean distance between two arrays.

Definition at line 138 of file numeric_array_tools.h.

References dist().

◆ dist2() [1/4]

template<typename T , std::size_t D>
T til::dist2 ( const Point< T, D > &  p1,
const Point< T, D > &  p2 
)

Definition at line 30 of file point_tools.h.

References dist2().

◆ dist2() [2/4]

template<typename TPrecision , typename T , std::size_t D>
TPrecision til::dist2 ( const Point< T, D > &  p1,
const Point< T, D > &  p2,
prec< TPrecision >   
)

Return the squared Euclidean distance between two vectors, computed with a precision given as the first template parameter.

Definition at line 39 of file point_tools.h.

References dist2().

◆ dist2() [3/4]

template<typename TPrec , typename T1 , typename T2 , std::size_t D>
TPrec til::dist2 ( const numeric_array< T1, D > &  v1,
const numeric_array< T2, D > &  v2,
prec< TPrec >   
)
inline

Return the squared Euclidean distance between two vectors, computed with a precision given as the first template parameter.

Definition at line 101 of file numeric_array_tools.h.

References square().

Referenced by closest_normal(), dist(), dist2(), dist2_surface(), til::math::IsotropicGaussianKernel< TArray, TPrec >::operator()(), and til::SquaredEuclideanDist< TPrec >::operator()().

◆ dist2() [4/4]

template<typename T , std::size_t D>
T til::dist2 ( const numeric_array< T, D > &  v1,
const numeric_array< T, D > &  v2 
)
inline

Return the squared Euclidean distance between two arrays.

Definition at line 121 of file numeric_array_tools.h.

References dist2().

◆ dist2_surface()

template<typename TPrec , typename TVertexIndex , typename TVertexCollection , typename TNeighborhood , typename TVertex >
TPrec til::dist2_surface ( const TVertex &  p,
TVertexIndex  i,
const TVertexCollection &  vertices,
const TNeighborhood &  neighc 
)
inline

Simple flattening of a point and its neighborhood.

The neighborhood is assumed to be given in (counter) clockwise order. This flattening tries to be as exact as possible from the point of view of the center point: distances to neighbors are preserved, and proportions between angles between two neighbors are preserved.

Definition at line 1634 of file meshUtils.h.

References til::detail::numeric_array_impl< T, D >::begin(), dist2(), and max().

◆ distance_to_neighbors()

template<typename TVertices , typename TFaces , typename TPrec >
void til::distance_to_neighbors ( TVertices const &  vertices,
TFaces const &  faces,
TPrec  distance,
std::vector< til::sparse_vector< TPrec > > &  res 
)

Returns neighbors that are below a certain geodesic distance, along with their distance.

Referenced by til::Voronoi_triangle_mesh_geodesic_map< TVertices, TCircularNeighborhoods, TPrec, TStopGhost, TStoragePolicy >::init().

◆ div() [1/3]

template<class TImage >
void til::div ( TImage &  im1,
const TImage &  im2 
)

Definition at line 196 of file imageArith.h.

References abs(), div(), and similarityCheck().

◆ div() [2/3]

template<class TImage >
void til::div ( TImage &  im,
typename TImage::value_type  scalar 
)

◆ div() [3/3]

template<typename TRes , typename T1 , typename T2 >
TRes til::div ( T1  x,
T2  y 
)
inline

Definition at line 406 of file functors.h.

Referenced by div(), and til::functor::Normalize< TVector3D >::operator()().

◆ dot() [1/3]

◆ dot() [2/3]

template<typename T , std::size_t D>
T til::dot ( const numeric_array< T, D > &  a1,
const numeric_array< T, D > &  a2 
)
inline

Return the dot product of two vectors.

Definition at line 158 of file numeric_array_tools.h.

References dot().

◆ dot() [3/3]

template<typename TPrecision , typename T >
TPrecision til::dot ( const SparseVector< T > &  sv1,
const SparseVector< T > &  sv2 
)

Dot product between two sparse vectors.

The template argument TPrecision is the type on which we wish to make the computations.

Definition at line 403 of file SparseVector.h.

References til::StoreFunctor< TFunctor, TStorage, TStoragePolicy >::get(), til::sparse_vector< T >::getMap(), and loop_mapPairs().

◆ dwt_cubic() [1/2]

template<typename T , typename BC >
void til::dwt_cubic ( T *  s,
std::size_t  n,
std::size_t  step,
BC   
)
inline

In-place (4-2) DWT via lifting.

◆ dwt_cubic() [2/2]

template<typename T >
void til::dwt_cubic ( T *  s,
std::size_t  n,
std::size_t  step 
)
inline

Same as above with cyclic bc by default.

◆ dwtND_cubic()

template<typename T , std::size_t D>
void til::dwtND_cubic ( T *  im,
numeric_array< std::size_t, D >  dim 
)
inline

◆ dwtND_cubicConjugate()

template<typename T , std::size_t D>
void til::dwtND_cubicConjugate ( T *  im,
numeric_array< std::size_t, D >  dim 
)
inline

◆ dyn() [1/3]

template<typename TReturn , typename Functor >
Dyn<Functor, TReturn> til::dyn ( const Functor &  functor)

Conveniance function to create dynamic functor wrapper with return type.

Definition at line 148 of file DynImage.h.

◆ dyn() [2/3]

template<typename Functor >
Dyn<Functor, void> til::dyn ( const Functor &  functor)

Conveniance function to create dynamic functor wrapper witout return type.

Definition at line 155 of file DynImage.h.

◆ dyn() [3/3]

template<class TTypeCollection , class TFunctor >
void til::dyn ( const TFunctor &  functor)

Definition at line 341 of file DynImage.h.

References til::Loop< TMPLContainer >::execute().

◆ dynImageFactory()

template<template< typename > class TImage, class TImage0 >
DynImage<TImage>* til::dynImageFactory ( TImage0 &  im)

Definition at line 94 of file DynImage.h.

◆ eigen3D() [1/3]

template<class T >
void til::eigen3D ( const SymMatrix3< T > &  mat,
numeric_array< T, 3 > &  vec 
)

Definition at line 19 of file symmatrix3tools.h.

References eigen3D().

◆ eigen3D() [2/3]

template<class T >
void til::eigen3D ( const SymMatrix3< T > &  mat,
T &  v1,
T &  v2,
T &  v3 
)

Definition at line 35 of file symmatrix3tools.h.

References eigen3D().

◆ eigen3D() [3/3]

template<class T >
void til::eigen3D ( A11,
A12,
A13,
A22,
A23,
A33,
T &  ev1,
T &  ev2,
T &  ev3 
)

Definition at line 74 of file eigen3D.h.

References abs(), cube(), myComplexPow(), myComplexSqrt(), sqrt(), and square().

Referenced by eigen3D().

◆ exp2()

template<typename T >
T til::exp2 ( unsigned int  n)
inline

◆ extractBar()

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.

bar should be allocated (of length im.getDim(axis))

Definition at line 438 of file imageTools.h.

Referenced by filterAlongAxis().

◆ extractSubImage()

template<class Extrapolator , class TImageIn , class TImageOut >
void til::extractSubImage ( const TImageIn &  im,
TImageOut &  subIm,
const Range< int, 3 > &  cropbox 
)

◆ extrapolable()

template<class TImageExtrapolator , class TImage >
ExtrapolableImage<TImageExtrapolator, TImage> til::extrapolable ( const TImage &  im)

Definition at line 258 of file ImageExtrapolator.h.

◆ faces2edges()

template<typename TFaceCollection >
shared_ptr<std::vector<std::pair<std::size_t, std::size_t> > > til::faces2edges ( TFaceCollection const &  faces)
inline

Collects edges from a set of faces.

Definition at line 335 of file meshUtils.h.

References copy(), make_sorted_pair(), and neighborhoods2edges().

◆ fill() [1/2]

template<typename TContainer >
void til::fill ( TContainer &  c,
typename boost::call_traits< typename TContainer::value_type >::param_type  value 
)
inline

Wrapper of std::fill.

Definition at line 47 of file std_wrap.h.

◆ fill() [2/2]

template<typename T , typename BaselinePolicy >
void til::fill ( sparse_vector< T, BaselinePolicy > &  v,
typename boost::call_traits< T >::param_type  value 
)
inline

Specialized fill for sparse_vector.

Note that the success of the fill on sparse vector is not guarenteed and depends on the actual baseline policy. Some baseline policies won't compile this function. Others might throw an exception if the value is invalid.

Definition at line 621 of file sparse_vector.h.

References til::sparse_vector< T, BaselinePolicy >::baselinePolicy(), and til::sparse_vector< T, BaselinePolicy >::getMap().

Referenced by til::RegionCentroid< TPoint >::init(), til::Mesh_curvature2< TVertexXsr, TNeighborhoodXsr, TPrec >::process(), til::Mesh_curvature< TVertexCollection, TNeighborhoods, TPrec >::process(), and til::Affine< double >::reset().

◆ filterAlongAxis()

template<typename TImage , typename TLineFilter >
void til::filterAlongAxis ( const TImage &  im,
TImage &  out,
ImageAxis  axis,
const TLineFilter &  filter 
)

◆ find_closest()

template<typename TPrecision , typename TKDTree >
TKDTree::index_type til::find_closest ( const TKDTree &  kdtree,
const typename TKDTree::indexed_type &  vec 
)
inline

Returns the closest point to vec in kdtree.

Definition at line 260 of file kdtree.h.

◆ findValueOtherThan() [1/4]

template<typename T >
T til::findValueOtherThan ( v1,
v2 
)

Returns a number (a positive integer) with a different value than the input numbers.

Definition at line 21 of file miscTools.h.

Referenced by oneStepDilation().

◆ findValueOtherThan() [2/4]

template<typename T >
T til::findValueOtherThan ( v1,
v2,
v3 
)

Returns a number (a positive integer) with a different value than the input numbers.

Definition at line 32 of file miscTools.h.

◆ findValueOtherThan() [3/4]

template<typename T >
T til::findValueOtherThan ( v1,
v2,
v3,
v4 
)

Returns a number (a positive integer) with a different value than the input numbers.

Definition at line 43 of file miscTools.h.

◆ findValueOtherThan() [4/4]

template<typename T >
T til::findValueOtherThan ( v1,
v2,
v3,
v4,
v5 
)

Returns a number (a positive integer) with a different value than the input numbers.

Definition at line 54 of file miscTools.h.

◆ floop() [1/2]

template<typename Functor , typename TIterator >
void til::floop ( Functor &  functor,
TIterator  iIm 
)

Definition at line 355 of file TExpr.h.

◆ floop() [2/2]

template<typename Functor , typename TIterator >
void til::floop ( Functor  functor,
TIterator  iIm 
)

Definition at line 359 of file TExpr.h.

◆ floop2()

template<typename Functor , typename TIterator >
void til::floop2 ( TIterator  iIm)

Definition at line 363 of file TExpr.h.

◆ for_each_neighbors() [1/4]

template<typename TMesh , typename TContainer , typename TFunctor >
boost::enable_if_c< is_container<typename TContainer::value_type>::value >::type til::for_each_neighbors ( const TMesh &  mesh,
TContainer &  c1,
TFunctor  f 
)
inline

◆ for_each_neighbors() [2/4]

template<typename TMesh , typename TContainer , typename TFunctor >
boost::enable_if_c< !is_container<typename TContainer::value_type>::value >::type til::for_each_neighbors ( const TMesh &  mesh,
TContainer &  c1,
TFunctor  f 
)
inline

Definition at line 596 of file meshUtils.h.

References til::detail::for_each_neighbors_V().

◆ for_each_neighbors() [3/4]

template<typename TMesh , typename TContainer1 , typename TContainer2 , typename TFunctor >
boost::enable_if_c< is_container<typename TContainer1::value_type>::value && is_container<typename TContainer2::value_type>::value >::type til::for_each_neighbors ( const TMesh &  mesh,
TContainer1 &  c1,
TContainer2 &  c2,
TFunctor  f 
)
inline

Apply a functor for each pair (vertex, neighbor_of_vertex), given a mesh and two extra containers.

The functor should expect calls of the form f(Vertex, NeighboringVertex, ExtraVariable1, ExtraVariable2). Here, both containers follow the structure of NeighborIndices (i.e. a container of container).

Definition at line 707 of file meshUtils.h.

References til::detail::for_each_neighbors_NN().

◆ for_each_neighbors() [4/4]

template<typename TMesh , typename TContainer1 , typename TContainer2 , typename TFunctor >
boost::enable_if_c< is_container<typename TContainer1::value_type>::value && !is_container<typename TContainer2::value_type>::value >::type til::for_each_neighbors ( const TMesh &  mesh,
TContainer1 &  c1,
TContainer2 &  c2,
TFunctor  f 
)
inline

Apply a functor for each pair (vertex, neighbor_of_vertex), given a mesh and two extra containers.

Here, the first container should follow NeighborIndex structure (container of container) and the second the vertex structure (container)

Definition at line 721 of file meshUtils.h.

References til::detail::for_each_neighbors_NV(), and getEdgeLengths().

◆ forwardize()

TIL_API void til::forwardize ( Neighborhood nh)

◆ fraction()

template<typename ZeroByZeroPolicy , typename T >
boost::enable_if_c<!std::numeric_limits<T>::is_integer, T>::type til::fraction ( nom,
denom 
)

Divides one number by another.

In case of a zero / zero, do what the template policy says.

Referenced by til::Fraction< T, ZeroByZeroPolicy >::Fraction().

◆ func_it()

template<typename TFunctor , typename TIterator >
detail::func_iterator_impl<TIterator, TFunctor> til::func_it ( TIterator  it,
TFunctor  f = TFunctor() 
)

Definition at line 68 of file func_iterator.h.

◆ generateEllipsoidImage()

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.

Input:

  • x/y/z radius (rx, ry, rz)
  • image voxel size (vx, vy, vz)
  • image size (sx, sy, sz). If <=0, image size is deduced automatically
  • foreground and background intensity

Definition at line 151 of file imageTools.h.

References square().

Referenced by copy().

◆ generateGaussianImage()

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.

Input:

  • the x/y/z standard deviation of the Gaussian
  • the amplitude of the Gaussian
  • the image voxel siz
  • the image size (if <=0, image size is chosen automatically)

Definition at line 216 of file imageTools.h.

References convert(), max(), and square().

Referenced by generateGaussianKernel().

◆ generateGaussianKernel()

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 
)

◆ get_edges_and_faces()

template<typename TFaceCollection >
void til::get_edges_and_faces ( TFaceCollection const &  faces,
std::vector< std::pair< std::size_t, std::size_t > > &  res,
std::vector< std::vector< std::size_t > > &  newfaces 
)
inline

◆ get_n_neighborhood()

template<typename NeighborCollection , typename NeighborCollectionOut >
void til::get_n_neighborhood ( NeighborCollection const &  neigh,
NeighborCollectionOut &  neigh_n_out,
unsigned int  n 
)

Computes the n-neighborhood, i.e. collection of neighbors that are at most n jumps away.

Parameters
[in]neighThe 1-neighborhoods
[out]neigh_n_outThe computed n-neighborhood
[in]nthe desired neighborhood width

Referenced by til::LambdaMuSmoothing< TVertexAccessPolicy, TNeighborhoodAccessPolicy >::operator()().

◆ getBoundingBox()

template<typename TImage >
Box<double,3> til::getBoundingBox ( const TImage &  im)

Get image bounding box.

Definition at line 416 of file imageTools.h.

◆ getCenter()

template<typename TImage >
numeric_array<int,3> til::getCenter ( TImage &  im)
inline

Get coordinates of image center.

Definition at line 329 of file imageTools.h.

◆ getEdgeLengths()

template<typename TPrecision , typename TMesh >
boost::enable_if_c< MeshTraits<TMesh>::has_neighbor_indices >::type til::getEdgeLengths ( const TMesh &  mesh,
std::vector< std::vector< TPrecision > > &  lengths 
)
inline

Computes edge lengths of a mesh.

Actually, the lengths are computed between a point and its neighbors, not between edges. This means that the same length is computed twice. This also explains why the second argument is an array of arrays, not a simple array. NB: their is only partial checking for the allocation of the output. For efficiency reasons, we allocate the output only if the main container has the wrong size. If not, we do not check for indiviual sizes of all the other containers.

Parameters
meshinput mesh
lengthsoutput containing edge lenghts

Definition at line 742 of file meshUtils.h.

References allocate_sameSize(), for_each_neighbors(), getNeighborIndices(), and size().

Referenced by for_each_neighbors(), and til::SpringForce< TMesh, TForceVector >::initializeLengths().

◆ getEdges()

std::set<AimsVector<uint, 2> > til::getEdges ( const AimsSurfaceTriangle *  surf)

Get all edges in mesh.

◆ getFaceIndices() [1/8]

const MeshTraits<Mesh1>::FaceIndexCollection& til::getFaceIndices ( const Mesh1 mesh)
inline

Definition at line 96 of file MeshTraits.h.

References til::Mesh< TMeshParam >::getFaceIndices().

◆ getFaceIndices() [2/8]

const MeshTraits<Mesh2>::FaceIndexCollection& til::getFaceIndices ( const Mesh2 mesh)
inline

Definition at line 100 of file MeshTraits.h.

References til::Mesh< TMeshParam >::getFaceIndices().

◆ getFaceIndices() [3/8]

MeshTraits<Mesh1>::FaceIndexCollection& til::getFaceIndices ( Mesh1 mesh)
inline

Definition at line 104 of file MeshTraits.h.

References til::Mesh< TMeshParam >::getFaceIndices().

◆ getFaceIndices() [4/8]

MeshTraits<Mesh2>::FaceIndexCollection& til::getFaceIndices ( Mesh2 mesh)
inline

Definition at line 108 of file MeshTraits.h.

References til::Mesh< TMeshParam >::getFaceIndices().

◆ getFaceIndices() [5/8]

template<int D, class T >
const MeshTraits<AimsSurface<D,T> >::FaceIndexCollection& til::getFaceIndices ( const AimsSurface< D, T > &  mesh)
inline

◆ getFaceIndices() [6/8]

template<int D, class T >
MeshTraits<AimsSurface<D,T> >::FaceIndexCollection& til::getFaceIndices ( AimsSurface< D, T > &  mesh)
inline

Definition at line 523 of file aims_wrap.h.

◆ getFaceIndices() [7/8]

template<int D, class T >
const MeshTraits<AimsTimeSurface<D,T> >::FaceIndexCollection& til::getFaceIndices ( const AimsTimeSurface< D, T > &  mesh)

Definition at line 580 of file aims_wrap.h.

◆ getFaceIndices() [8/8]

template<int D, class T >
MeshTraits<AimsTimeSurface<D,T> >::FaceIndexCollection& til::getFaceIndices ( AimsTimeSurface< D, T > &  mesh)

Return the face indices of a mesh of type AimsTimeSurface.

Definition at line 588 of file aims_wrap.h.

◆ getFaceVertex() [1/4]

const MeshTraits<Mesh1>::Vertex& til::getFaceVertex ( const Mesh1 mesh,
const std::vector< numeric_array< std::size_t, 3 > >::const_iterator &  iFC,
int  i 
)
inline

Returns the i-th vertex of a face of a mesh of type Mesh1.

Parameters
meshThe mesh
iFCAn iterator pointing on the face
iThe number of the face point

Definition at line 486 of file MeshTraits.h.

References getFaceVertex(), and til::Mesh< TMeshParam >::getVertices().

◆ getFaceVertex() [2/4]

template<int D, class T >
const Point3df& til::getFaceVertex ( const AimsSurface< D, T > &  mesh,
const std::vector< AimsVector< unsigned int, 3 > >::const_iterator &  iFC,
int  i 
)
inline

Definition at line 492 of file aims_wrap.h.

Referenced by getFaceVertex(), and getVertices().

◆ getFaceVertex() [3/4]

const MeshTraits<Mesh2>::Vertex& til::getFaceVertex ( const Mesh2 ,
const MeshTraits< Mesh2 >::FaceIndexCollection::const_iterator &  iFC,
int  i 
)
inline

Returns the i-th vertex of a face of a mesh of type Mesh2.

Parameters
iFCAn iterator pointing on the face
iThe number of the face

Definition at line 499 of file MeshTraits.h.

References getVertexNeighbor().

◆ getFaceVertex() [4/4]

template<int D, class T >
const Point3df& til::getFaceVertex ( const AimsTimeSurface< D, T > &  mesh,
const std::vector< AimsVector< unsigned int, 3 > >::const_iterator &  iFC,
int  i 
)
inline

Returns the i-th vertex of a face of a mesh of type AimsTimeSurface.

Parameters
meshThe mesh
iFCAn iterator pointing on the face
iThe number of the face point

Definition at line 570 of file aims_wrap.h.

◆ getImageCenter()

template<typename TImage >
void til::getImageCenter ( const TImage &  im,
int &  cx,
int &  cy,
int &  cz 
)

Get coordinates of image center.

Definition at line 340 of file imageTools.h.

References INLINE.

◆ getIndex() [1/4]

template<typename TIndex , typename T , typename TAlloc , typename TPointer >
boost::enable_if_c< boost::is_same<TIndex, std::size_t>::value && !boost::is_same<TPointer, std::size_t>::value , TIndex >::type til::getIndex ( const std::vector< T, TAlloc > &  c,
TPointer  pElem 
)
inline

◆ getIndex() [2/4]

template<typename TIndex , typename TCollection >
boost::enable_if< boost::is_same<TIndex, std::size_t> , TIndex >::type til::getIndex ( const TCollection &  ,
std::size_t  i 
)
inline

Definition at line 45 of file index_collection.h.

◆ getIndex() [3/4]

template<typename TIndex , typename T , typename TAlloc , typename TPointer >
boost::enable_if_c< boost::is_same<TIndex, T*>::value && !boost::is_same<TPointer, std::size_t>::value , TIndex >::type til::getIndex ( const std::vector< T, TAlloc > &  c,
TPointer  pElem 
)
inline

Definition at line 58 of file index_collection.h.

◆ getIndex() [4/4]

template<typename TIndex , typename TContainer >
boost::enable_if< boost::is_same<TIndex, typename value_type_of<TContainer>::type*> , TIndex >::type til::getIndex ( const TContainer &  c,
std::size_t  i 
)
inline

Definition at line 70 of file index_collection.h.

◆ getLocalHessian()

template<typename TImage >
void til::getLocalHessian ( const TImage &  im,
SymMatrix3< typename TImage::value_type > &  mat,
int  x,
int  y,
int  z 
)

Definition at line 308 of file imageTools.h.

References contains(), getRange(), til::SymMatrix3< T >::set(), and square().

◆ getNeighborIndices() [1/6]

◆ getNeighborIndices() [2/6]

const MeshTraits<Mesh_N>::NeighborIndexCollection& til::getNeighborIndices ( const Mesh_N mesh)
inline

◆ getNeighborIndices() [3/6]

MeshTraits<Mesh2_N>::NeighborIndexCollection& til::getNeighborIndices ( Mesh2_N mesh)
inline

◆ getNeighborIndices() [4/6]

template<typename TMesh >
shared_ptr<std::vector<std::vector<typename MeshTraits<TMesh>::FaceIndex::value_type> > > til::getNeighborIndices ( const TMesh &  mesh)
inline

◆ getNeighborIndices() [5/6]

const MeshTraits<Mesh2_N>::NeighborIndexCollection& til::getNeighborIndices ( const Mesh2_N mesh)
inline

◆ getNeighborIndices() [6/6]

template<typename TVertexCollection , typename TFaceIndexCollection >
void til::getNeighborIndices ( const TVertexCollection &  vertices,
const TFaceIndexCollection &  faces,
std::vector< std::vector< std::size_t > > &  neigh 
)
inline
Parameters
verticesInput mesh vertices
facesInput mesh faces
neighOutput neighborhoods

Definition at line 456 of file meshUtils.h.

References til::expr::_1, til::expr::_2, til::expr::castTo(), til::detail::loop_xx(), and size().

◆ getNeighbors()

TIL_API void til::getNeighbors ( const Neighborhood nh,
std::vector< numeric_array< int, 3 > > &  res 
)

Pushes the neighbor coordinates in a container.

NB: coordinates are pushed inside the container. The container is not cleared from whatever it might contain beforehand.

Referenced by regionGrowing().

◆ getRange()

template<typename TImage >
Range<int,3> til::getRange ( const TImage &  im)

◆ getScalingBetween()

template<class TImage1 , class TImage2 >
ScalingMap<double> til::getScalingBetween ( const TImage1 &  from,
const TImage2 &  to 
)

Computes the mapping that transforms im1 into im2, assuming that they cover exactly the same volume in space.

This computation hence discards any information from world coordinates.

Definition at line 18 of file scalingMapTools.h.

References allocationCheck(), and convert().

Referenced by resample().

◆ getVertexNeighbor() [1/2]

const MeshTraits<Mesh_N>::Vertex& til::getVertexNeighbor ( const Mesh_N mesh,
const MeshTraits< Mesh_N >::NeighborIndex::value_type &  iNi 
)
inline

Returns the vertex neighbors of a mesh of type Mesh_N given by its index.

Parameters
meshThe mesh
iNiThe neighbor index

Definition at line 513 of file MeshTraits.h.

Referenced by til::detail::for_each_neighbors_N(), til::detail::for_each_neighbors_NN(), til::detail::for_each_neighbors_NV(), til::detail::for_each_neighbors_V(), getFaceVertex(), and laplacianForces().

◆ getVertexNeighbor() [2/2]

const numeric_array<float,3>& til::getVertexNeighbor ( const Mesh2_N ,
const MeshTraits< Mesh2_N >::NeighborIndex::value_type &  iNi 
)
inline

Returns the vertex neighbors of a mesh of type Mesh_N given by its index.

Parameters
iNiThe neighbor index

Definition at line 525 of file MeshTraits.h.

◆ getVertexNumber() [1/2]

template<typename TMesh >
std::size_t til::getVertexNumber ( const TMesh &  ,
std::size_t  i 
)
inline

Return the index of vertex v[i] – which is, obviously, i.

Definition at line 56 of file meshUtils.h.

Referenced by til::detail::convert_mesh_3(), and getNeighborIndices().

◆ getVertexNumber() [2/2]

template<typename TMesh , typename TVertex >
boost::enable_if<is_same_naked<typename MeshTraits<TMesh>::Vertex, TVertex>, std::size_t>::type til::getVertexNumber ( const TMesh &  mesh,
TVertex *  p 
)
inline

Return the index of the vertex pointed at by *p.

Definition at line 65 of file meshUtils.h.

References getVertices().

◆ getVertices() [1/6]

template<typename TParam >
const MeshTraits<Mesh<TParam> >::VertexCollection& til::getVertices ( const Mesh< TParam > &  mesh)
inline

Definition at line 75 of file MeshTraits.h.

References til::Mesh< TMeshParam >::getVertices().

◆ getVertices() [2/6]

template<typename TParam >
MeshTraits<Mesh<TParam> >::VertexCollection& til::getVertices ( Mesh< TParam > &  mesh)
inline

Definition at line 80 of file MeshTraits.h.

References til::Mesh< TMeshParam >::getVertices().

◆ getVertices() [3/6]

◆ getVertices() [4/6]

template<int D, class T >
MeshTraits<AimsSurface<D,T> >::VertexCollection& til::getVertices ( AimsSurface< D, T > &  mesh)

Definition at line 481 of file aims_wrap.h.

References getFaceVertex().

◆ getVertices() [5/6]

template<int D, class T >
const MeshTraits<AimsTimeSurface<D,T> >::VertexCollection& til::getVertices ( const AimsTimeSurface< D, T > &  mesh)

Definition at line 550 of file aims_wrap.h.

◆ getVertices() [6/6]

template<int D, class T >
MeshTraits<AimsTimeSurface<D,T> >::VertexCollection& til::getVertices ( AimsTimeSurface< D, T > &  mesh)

Definition at line 557 of file aims_wrap.h.

References getFaceVertex().

◆ gonzalez_clustering()

template<typename TCollection , typename TPrec >
shared_ptr<std::vector<typename TCollection::const_iterator> > til::gonzalez_clustering ( const TCollection &  data,
TPrec  maxDiam 
)
inline

◆ idwt_cubic() [1/2]

template<typename T , typename BC >
void til::idwt_cubic ( T *  s,
std::size_t  n,
std::size_t  step,
BC   
)
inline

In-place inverse (4-2) DWT via lifting.

◆ idwt_cubic() [2/2]

template<typename T >
void til::idwt_cubic ( T *  s,
std::size_t  n,
std::size_t  step 
)
inline

Same as above with cyclic bc by default.

◆ if_then() [1/2]

template<class TImage1 , class TImage2 , class PixelTest , class PixelAction >
void til::if_then ( const TImage1 &  in,
TImage2 &  out,
const PixelTest &  test,
PixelAction &  action 
)

Definition at line 69 of file if_then_else.h.

◆ if_then() [2/2]

template<class TImage , class PixelTest , class PixelAction >
void til::if_then ( TImage &  im,
const PixelTest &  test,
PixelAction &  action 
)

Definition at line 87 of file if_then_else.h.

◆ if_then_else_old() [1/2]

template<class TImage1 , class TImage2 , class PixelTest , class PixelAction1 , class PixelAction2 >
void til::if_then_else_old ( const TImage1 &  in,
TImage2 &  out,
const PixelTest &  test,
PixelAction1 &  actionIf,
PixelAction2 &  actionElse 
)

Definition at line 24 of file if_then_else.h.

◆ if_then_else_old() [2/2]

template<class TImage , class PixelTest , class PixelAction1 , class PixelAction2 >
void til::if_then_else_old ( TImage &  im,
const PixelTest &  test,
PixelAction1 &  actionIf,
PixelAction2 &  actionElse 
)

Definition at line 47 of file if_then_else.h.

◆ if_then_inInterior()

template<class TImage , class PixelTest , class PixelAction >
void til::if_then_inInterior ( TImage &  im,
const PixelTest &  test,
PixelAction &  action 
)

Definition at line 102 of file if_then_else.h.

◆ imageOfType()

template<template< typename > class TImage, typename TPixel >
ImageOfType_OneTemplateArgument<TImage, TPixel> til::imageOfType ( )

Definition at line 25 of file DynImageTraits.h.

◆ in_order_scan()

template<typename TTreeIterator , typename TTreeFunctor >
void til::in_order_scan ( TTreeIterator  iTree,
const TTreeFunctor &  f 
)

In-order scan.

In-order scanning means looking at the left children, then the node, then the right children. This works with binary trees only.

Definition at line 416 of file binary_tree.h.

◆ insertBar()

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.

Definition at line 465 of file imageTools.h.

Referenced by filterAlongAxis().

◆ integer_pow()

template<typename T >
T til::integer_pow ( x,
unsigned int  n 
)
inline

Definition at line 39 of file misc_scalar_functions.h.

◆ integer_root()

template<typename T >
T til::integer_root ( i,
std::size_t  n 
)

Return the n-th root of integer i.

Throws an exception if unsuccessful

Definition at line 193 of file miscTools.h.

References mySprintf(), sort(), and TIL_API.

◆ intersection()

template<typename T , std::size_t D>
Box<T,D> til::intersection ( const Box< T, D > &  b1,
const Box< T, D > &  b2 
)

Computes the intersection of two boxes.

The result is stored in the first input box.

Definition at line 34 of file boxTools.h.

References max(), til::Box< T, D >::max_bounds(), min(), and til::Box< T, D >::min_bounds().

◆ invertIndices()

template<typename TIndexCollection >
std::vector<std::list<std::size_t> > til::invertIndices ( const std::vector< TIndexCollection > &  c)

Invert an index array.

This means, if the i-th element of the collection contains indices (j,k), then the j-th and k-th element of the result will contain indice i. This could correspond to inverting the direction of a directed graph. This can be useful also to reverse a look-up table, e.g. if a mesh has a collection of faces that indexes the vertex, then inverting this collection gives for each vertex the index of faces it belongs to.

Referenced by list2graph_mesh_conversion(), and til::Lexicographical_compare< T >::operator()().

◆ is_dyadic()

template<typename T >
bool til::is_dyadic ( n)

Returns true if argument is of the form 2^m, m>=1.

Referenced by til::SquaredEuclideanDist< TPrec >::operator()().

◆ is_nan() [1/3]

bool til::is_nan ( const sparse_vector< double > &  a)
inline

Check whether there is an element of sparse array which is NaN.

NB: This is to be used only in generic programming situations were we check for NaN on type T, not knowing whether T is a concrete type or a collection. If we know the type is a collection, simply use STL functions like find, which has the advantage of returning the position where the fault occurs.

Definition at line 26 of file sparse_vector_tools.h.

References til::sparse_vector< T, BaselinePolicy >::getMap(), and is_nan().

◆ is_nan() [2/3]

template<typename T , std::size_t D>
bool til::is_nan ( const numeric_array< T, D > &  a)
inline

Check that numeric_array does not contain any NAN TODO: Actually, is_nan should be a functor, and we should use a check loop.

Definition at line 276 of file numeric_array_tools.h.

Referenced by is_nan(), til::Return_pair1< T1, T2 >::operator()(), and til::LaplacianSmoothing< TInputAccessPolicy, TOutputAccessPolicy, TNeighborhoodAccessPolicy >::operator()().

◆ is_nan() [3/3]

template<typename T >
bool til::is_nan ( x)
inline

Check if x is NaN.

◆ isAllocated()

template<class TImage >
INLINE bool til::isAllocated ( const TImage &  im)

Check whether smart pointer and image are allocated.

Definition at line 36 of file imageTools.h.

Referenced by allocationCheck(), til::ImageC< T >::copy(), til::ConstLinearIterator< ImageC< T > >::init(), and resample().

◆ itlin() [1/2]

template<typename TImage >
Iterator<TImage>::Linear til::itlin ( TImage &  im)

Definition at line 534 of file imageTools.h.

◆ itlin() [2/2]

template<typename BoolFunctor , typename TImage >
ConditionalIterator<typename Iterator<TImage>::Linear, BoolFunctor> til::itlin ( TImage &  im,
const BoolFunctor &  boolFunctor = BoolFunctor() 
)

Definition at line 542 of file imageTools.h.

◆ itlin_const() [1/2]

template<typename TImage >
Iterator<TImage>::ConstLinear til::itlin_const ( const TImage &  im)

Definition at line 549 of file imageTools.h.

◆ itlin_const() [2/2]

template<typename BoolFunctor , typename TImage >
ConditionalIterator<typename Iterator<TImage>::ConstLinear, BoolFunctor> til::itlin_const ( const TImage &  im,
const BoolFunctor &  boolFunctor = BoolFunctor() 
)

Definition at line 556 of file imageTools.h.

◆ itvol() [1/2]

template<typename TImage >
Iterator<TImage>::Volumetric til::itvol ( TImage &  im)

Definition at line 563 of file imageTools.h.

◆ itvol() [2/2]

template<typename BoolFunctor , typename TImage >
ConditionalIterator<typename Iterator<TImage>::Volumetric, BoolFunctor> til::itvol ( TImage &  im,
const BoolFunctor &  boolFunctor = BoolFunctor() 
)

Definition at line 570 of file imageTools.h.

◆ itvol_const() [1/2]

template<typename TImage >
Iterator<TImage>::ConstVolumetric til::itvol_const ( const TImage &  im)

Definition at line 577 of file imageTools.h.

◆ itvol_const() [2/2]

template<typename BoolFunctor , typename TImage >
ConditionalIterator<typename Iterator<TImage>::ConstVolumetric, BoolFunctor> til::itvol_const ( const TImage &  im,
const BoolFunctor &  boolFunctor = BoolFunctor() 
)

Definition at line 584 of file imageTools.h.

References rand().

◆ kdtreeDefaultValue()

template<typename _TIndex >
_TIndex til::kdtreeDefaultValue ( )
inline

Definition at line 25 of file kdtree.h.

◆ kdtreeDefaultValue< std::size_t >()

template<>
std::size_t til::kdtreeDefaultValue< std::size_t > ( )
inline

Definition at line 27 of file kdtree.h.

◆ keepPointsAboveThreshold()

template<class TImage1 , class TImage2 >
std::unique_ptr<std::vector<numeric_array<int,3> > > til::keepPointsAboveThreshold ( const std::vector< numeric_array< int, 3 > > &  pl,
const TImage1 &  im,
TImage2 &  seg,
typename TImage1::value_type  threshold,
typename TImage2::value_type  background 
)

std::for_each(pl.begin(), pl.end(), setImageVoxel(im, value))

Definition at line 104 of file pointListTools.h.

Referenced by add2ndOrder().

◆ laplacian_smoothing()

template<typename TVertex >
void til::laplacian_smoothing ( std::vector< TVertex > &  vertices,
std::vector< std::vector< std::size_t > > &  neighbors,
unsigned int  nstep,
double  coeff 
)
inline

Laplacian smoothing – helper function.

Definition at line 1822 of file meshUtils.h.

Referenced by til::LaplacianSmoothing< TInputAccessPolicy, TOutputAccessPolicy, TNeighborhoodAccessPolicy >::operator()().

◆ laplacianForces()

template<typename TForceVector , class TMesh >
void til::laplacianForces ( const TMesh &  mesh,
std::vector< TForceVector > &  forces 
)

◆ list2graph_mesh_conversion() [1/2]

template<typename TVerticesIn , typename TFacesIn , typename TNeighbors , typename TVertexNode , typename TFaceNode >
void til::list2graph_mesh_conversion ( const TVerticesIn &  verticesIn,
const TFacesIn &  facesIn,
const TNeighbors &  neighc,
std::list< TVertexNode > &  verticesOut,
std::list< TFaceNode > &  facesOut 
)

◆ list2graph_mesh_conversion() [2/2]

template<typename TVerticesIn , typename TFacesIn , typename TVertexNode , typename TFaceNode >
void til::list2graph_mesh_conversion ( const TVerticesIn &  verticesIn,
const TFacesIn &  facesIn,
std::list< TVertexNode > &  verticesOut,
std::list< TFaceNode > &  facesOut 
)

Definition at line 116 of file mesh_conversion.h.

References circular_neighborhoods(), and list2graph_mesh_conversion().

◆ log2()

template<typename T >
int til::log2 ( n)
inline

Returns the largest m so that n >= 2^m.

Referenced by til::SquaredEuclideanDist< TPrec >::operator()().

◆ loop() [1/10]

template<class TContainer , typename T , class TBinaryFunctor >
boost::enable_if_c< is_container<TContainer>::value && !is_container<T>::value>::type til::loop ( TContainer &  c,
v,
TBinaryFunctor  f 
)

Apply a binary functor to a collection and a constant.

Definition at line 32 of file loop.h.

References til::detail::loop_cv().

Referenced by til::detail::loop_cc(), til::detail::loop_ccc(), til::detail::loop_cv(), til::detail::loop_cvc(), and mul().

◆ loop() [2/10]

template<typename T1 , typename T2 , class TBinaryFunctor >
boost::enable_if_c< !is_container<T1>::value && !is_container<T2>::value>::type til::loop ( T1 &  x,
T2 &  y,
TBinaryFunctor  f 
)
inline

Definition at line 53 of file loop.h.

References til::detail::loop_vv().

◆ loop() [3/10]

template<class TContainer1 , class TContainer2 , typename TBinaryFunctor >
boost::enable_if_c< is_container<TContainer1>::value && is_container<TContainer2>::value>::type til::loop ( const TContainer1 &  c1,
TContainer2 &  res,
TBinaryFunctor  f 
)

Apply a binary functor to two collections.

Definition at line 80 of file loop.h.

References til::detail::loop_cc().

◆ loop() [4/10]

template<typename T1 , typename T2 , typename T3 , class TBinaryFunctor >
boost::enable_if_c< !is_container<T1>::value && !is_container<T2>::value && !is_container<T3>::value>::type til::loop ( T1  x,
T2  y,
T3 &  z,
TBinaryFunctor  f 
)
inline

Definition at line 103 of file loop.h.

References til::detail::loop_vvv().

◆ loop() [5/10]

template<class TContainer1 , class TContainer2 , class TContainerRes , class TBinaryFunctor >
boost::enable_if_c< is_container<TContainer1>::value && is_container<TContainer2>::value && is_container<TContainerRes>::value>::type til::loop ( const TContainer1 &  c1,
const TContainer2 &  c2,
const TContainerRes &  res,
TBinaryFunctor  f 
)

Definition at line 133 of file loop.h.

References til::detail::loop_ccc().

◆ loop() [6/10]

template<class TContainer , typename T , class TBinaryFunctor >
boost::enable_if_c< is_container<TContainer>::value && !is_container<T>::value>::type til::loop ( const TContainer &  c1,
v,
TContainer &  res,
TBinaryFunctor  f 
)

Definition at line 160 of file loop.h.

References til::detail::loop_cvc().

◆ loop() [7/10]

template<typename Expr , typename TIterator1 >
void til::loop ( expr::TExpr< Expr > &  expr,
TIterator1  iIm1 
)

Definition at line 369 of file TExpr.h.

◆ loop() [8/10]

template<typename Expr , typename TIterator1 >
void til::loop ( expr::TExpr< Expr >  expr,
TIterator1  iIm1 
)

Definition at line 380 of file TExpr.h.

◆ loop() [9/10]

template<typename Expr , typename TIterator1 , typename TIterator2 >
enable_if_c< is_ImageIterator<TIterator1>::value && is_ImageIterator<TIterator2>::value, expr::TExpr<Expr> >::type til::loop ( expr::TExpr< Expr >  expr,
TIterator1  iIm1,
TIterator2  iIm2 
)

Definition at line 515 of file TExpr.h.

◆ loop() [10/10]

template<typename Expr , typename TIterator1 , typename TIterator2 , typename TIterator3 >
enable_if_c< is_ImageIterator<TIterator1>::value && is_ImageIterator<TIterator2>::value && is_ImageIterator<TIterator3>::value, expr::TExpr<Expr> >::type til::loop ( expr::TExpr< Expr >  expr,
TIterator1  iIm1,
TIterator2  iIm2,
TIterator3  iIm3 
)

Definition at line 547 of file TExpr.h.

◆ loop2() [1/2]

template<typename Expr , typename TIterator1 >
void til::loop2 ( expr::TExpr< Expr > &  expr,
TIterator1  iIm1 
)

Definition at line 479 of file TExpr.h.

◆ loop2() [2/2]

template<typename Expr , typename TIterator1 >
void til::loop2 ( expr::TExpr< Expr >  expr,
TIterator1  iIm1 
)

Definition at line 490 of file TExpr.h.

◆ loop_mapEach() [1/2]

template<typename TMap1 , typename TMap2 , typename TFunctor >
boost::enable_if<boost::is_empty<TFunctor> >::type til::loop_mapEach ( TMap1 &  map1,
TMap2 &  map2,
TFunctor  f 
)

Definition at line 248 of file globalTraits.h.

Referenced by operator+(), operator-(), and operator/().

◆ loop_mapEach() [2/2]

template<typename TMap1 , typename TMap2 , typename TFunctor >
boost::disable_if<boost::is_empty<TFunctor> >::type til::loop_mapEach ( TMap1 &  map1,
TMap2 &  map2,
TFunctor &  f 
)

Definition at line 257 of file globalTraits.h.

◆ loop_mapEachAssign()

template<typename TMap1 , typename TMap2 , typename TFunctor >
void til::loop_mapEachAssign ( TMap1 &  map1,
TMap2 &  map2,
TFunctor  f 
)

◆ loop_mapPairs() [1/2]

template<typename TMap1 , typename TMap2 , typename TFunctor >
boost::enable_if<boost::is_empty<TFunctor> >::type til::loop_mapPairs ( TMap1 &  map1,
TMap2 &  map2,
TFunctor  f 
)

Definition at line 121 of file globalTraits.h.

Referenced by dot(), and operator*().

◆ loop_mapPairs() [2/2]

template<typename TMap1 , typename TMap2 , typename TFunctor >
boost::disable_if<boost::is_empty<TFunctor> >::type til::loop_mapPairs ( TMap1 &  map1,
TMap2 &  map2,
TFunctor &  f 
)

Definition at line 130 of file globalTraits.h.

◆ loop_r()

template<typename TFunctor , typename TRange >
void til::loop_r ( TFunctor  f,
TRange  r 
)
inline

Definition at line 522 of file TExpr.h.

◆ loopboost()

template<typename Functor , typename TIterator >
void til::loopboost ( Functor &  functor,
TIterator  iIm 
)

Definition at line 469 of file TExpr.h.

◆ loopWraper() [1/2]

template<typename TFunctor >
boost::enable_if<boost::is_stateless<TFunctor>, LoopWraper<TFunctor> >::type til::loopWraper ( TFunctor  f)

Definition at line 263 of file SparseVector.h.

◆ loopWraper() [2/2]

template<typename TFunctor >
boost::disable_if<boost::is_stateless<TFunctor>, LoopWraper<TFunctor&> >::type til::loopWraper ( TFunctor &  f)

Definition at line 267 of file SparseVector.h.

◆ lower_dyadic()

template<typename T >
T til::lower_dyadic ( n)
inline

Return the greater power of two inferior or equal to n.

Referenced by til::SquaredEuclideanDist< TPrec >::operator()().

◆ make_sorted_pair()

template<typename T >
std::pair<T,T> til::make_sorted_pair ( a,
b 
)
inline

Return (a, b) if a >= b, (b, a) else.

Referenced by faces2edges(), neighborhoods2edges(), and til::Get_edges_and_faces< TFaceCollection >::operator()().

◆ makeKDTree()

template<typename T , typename TIndex , typename TContainer >
void til::makeKDTree ( const std::vector< T > &  v,
KDTree< TIndex, TContainer > &  res 
)
inline

Definition at line 247 of file kdtree.h.

References til::KDTreeFactory< TKDTree >::build().

◆ matdot()

template<typename T , typename TArray >
T til::matdot ( ScalarMatrix< T >  m,
const TArray &  x 
)

Compute x^T.M.x.

Definition at line 38 of file scalar_matrix.h.

◆ max() [1/4]

template<typename T >
INLINE const T til::max ( const T &  a,
const T &  b 
)

Min of two numbers.

Definition at line 13 of file misc_scalar_functions.h.

◆ max() [2/4]

template<typename T >
INLINE const T til::max ( const T &  a,
const T &  b,
const T &  c 
)

Min of three numbers.

Definition at line 17 of file misc_scalar_functions.h.

References max().

◆ max() [3/4]

◆ max() [4/4]

template<typename T , std::size_t D>
T til::max ( const numeric_array< T, D > &  a)
inline

Return the maximum value.

Definition at line 217 of file numeric_array_tools.h.

References max_helper().

◆ max_helper()

template<typename T >
void til::max_helper ( T &  maxx,
x 
)
inline

Little helper for something often used when looking for a maximum.

Definition at line 213 of file miscTools.h.

Referenced by bounding_triangle(), max(), and norm_inf().

◆ max_index()

template<typename T >
std::size_t til::max_index ( x0,
x1,
x2 
)
inline

Returns i0, where X_i0 is the greatesstructt of all Xi's.

Referenced by til::Return_pair1< T1, T2 >::operator()().

◆ mean() [1/2]

template<class TImage >
t_bsprec til::mean ( const TImage &  im)

◆ mean() [2/2]

template<typename TRes , typename TIterator >
void til::mean ( TIterator  begin,
TIterator  end,
TRes &  res 
)

Computes the centroid of a list of vertices.

◆ min() [1/6]

template<typename T >
INLINE const T til::min ( const T &  a,
const T &  b 
)

Max of three numbers.

Definition at line 15 of file misc_scalar_functions.h.

◆ min() [2/6]

template<typename T >
INLINE const T til::min ( const T &  a,
const T &  b,
const T &  c 
)

Min of four numbers.

Definition at line 19 of file misc_scalar_functions.h.

References min().

◆ min() [3/6]

template<typename T >
INLINE const T til::min ( const T &  a,
const T &  b,
const T &  c,
const T &  d 
)

Force x into [a, b].

Definition at line 21 of file misc_scalar_functions.h.

References min().

◆ min() [4/6]

template<typename TRange >
boost::enable_if<is_range<TRange>, typename TRange::value_type>::type til::min ( TRange  r)
inline

Definition at line 39 of file sandbox.h.

◆ min() [5/6]

◆ min() [6/6]

template<typename T , std::size_t D>
T til::min ( const numeric_array< T, D > &  a)
inline

Return the minimum value.

Definition at line 228 of file numeric_array_tools.h.

References min_helper().

◆ min_helper()

template<typename T >
void til::min_helper ( T &  minx,
x 
)
inline

Little helper for something often used when looking for a minimum.

Definition at line 220 of file miscTools.h.

Referenced by min().

◆ min_index()

template<typename T >
std::size_t til::min_index ( x0,
x1,
x2 
)
inline

◆ modifySigmaAccordingToVoxelSize()

template<typename T >
T til::modifySigmaAccordingToVoxelSize ( sigma,
const numeric_array< float, 3 > &  vdim,
ImageAxis  axis 
)

◆ mul() [1/8]

template<typename T , int D>
void til::mul ( AimsVector< T, D > &  v,
d 
)

Definition at line 86 of file aims_wrap.h.

◆ mul() [2/8]

template<class TImage1 , class TImage2 >
enable_if_c< is_Image<TImage1>::value && is_Image<TImage2>::value>::type til::mul ( TImage1 &  im1,
const TImage2 &  im2 
)
inline

Multiply two images point-wise.

Note that we don't require here the precision to be the same for both images, as we don't want to force the user to allocate an image to the appropriate precision. TODO: replace all this crap by call to loop and functors.

Parameters
im1The first image, overwritten with the result
im2The second image

Definition at line 116 of file imageArith.h.

References til::detail::mul_ii().

◆ mul() [3/8]

template<class TImage , typename TMultiplier >
disable_if_c< is_Image<TMultiplier>::value || !boost::is_same<typename precision<TImage>::type, typename precision<TMultiplier>::type>::value>::type til::mul ( TImage &  im,
const TMultiplier &  constant 
)

Multiply an image with a constant.

Note that the constant does not necessarily has the same type as the image. For example, one could imagine to multiply a tensor image with a vector. But the precision of both types have to be the same.

Parameters
imThe image, overwrittent with the result
constantA constant.

Definition at line 163 of file imageArith.h.

References til::detail::mul_iv().

◆ mul() [4/8]

template<typename T >
boost::enable_if_c<std::numeric_limits<T>::is_specialized>::type til::mul ( T &  x,
y 
)
inline

Definition at line 348 of file globalTraits.h.

◆ mul() [5/8]

template<typename T1 , typename T2 , typename T3 >
boost::enable_if_c< std::numeric_limits<T1>::is_specialized && std::numeric_limits<T2>::is_specialized >::type til::mul ( T1  x,
T2  y,
T3 &  z 
)
inline

Definition at line 362 of file globalTraits.h.

◆ mul() [6/8]

template<typename T1 , typename T2 >
boost::enable_if_c<is_container<T1>::value>::type til::mul ( T1 &  x,
const T2 &  y 
)

Definition at line 369 of file globalTraits.h.

References loop().

◆ mul() [7/8]

template<typename T1 , typename T2 , typename T3 >
boost::enable_if_c<is_container<T1>::value>::type til::mul ( const T1 &  x,
const T2 &  y,
T3 &  z 
)

Definition at line 376 of file globalTraits.h.

References loop().

◆ mul() [8/8]

template<typename TRes , typename T1 , typename T2 >
TRes til::mul ( T1  x,
T2  y 
)
inline

Definition at line 402 of file functors.h.

Referenced by til::detail::mul_ii(), til::detail::mul_iv(), and setSumToOne().

◆ multi_dwt_cubic() [1/2]

template<typename T , typename BC >
void til::multi_dwt_cubic ( T *  s,
std::size_t  dim,
BC   
)

◆ multi_dwt_cubic() [2/2]

template<typename T >
void til::multi_dwt_cubic ( T *  s,
std::size_t  dim 
)

◆ multi_dwt_shuffle()

template<typename T >
void til::multi_dwt_shuffle ( T *  s,
std::size_t  n 
)

◆ multi_dwt_unshuffle()

template<typename T >
void til::multi_dwt_unshuffle ( T *  s,
std::size_t  n 
)

◆ multi_dwtND_cubic() [1/2]

template<typename T , std::size_t D, typename BC >
void til::multi_dwtND_cubic ( T *  im,
numeric_array< std::size_t, D >  dim,
BC   
)

◆ multi_dwtND_cubic() [2/2]

template<typename T , std::size_t D>
void til::multi_dwtND_cubic ( T *  im,
numeric_array< std::size_t, D >  dim 
)

◆ multi_dwtND_power()

template<typename T , std::size_t D>
void til::multi_dwtND_power ( T *  im,
numeric_array< std::size_t, D >  dim 
)

◆ multi_dwtND_shuffle()

template<typename T , std::size_t D>
void til::multi_dwtND_shuffle ( T *  im,
numeric_array< std::size_t, D >  dim 
)

◆ multi_dwtND_unshuffle()

template<typename T , std::size_t D>
void til::multi_dwtND_unshuffle ( T *  im,
numeric_array< std::size_t, D >  dim 
)

◆ multi_idwt_cubic() [1/2]

template<typename T , typename BC >
void til::multi_idwt_cubic ( T *  s,
std::size_t  dim,
BC   
)

◆ multi_idwt_cubic() [2/2]

template<typename T >
void til::multi_idwt_cubic ( T *  s,
std::size_t  dim 
)

◆ multi_idwtND_cubic() [1/2]

template<typename T , std::size_t D, typename BC >
void til::multi_idwtND_cubic ( T *  im,
numeric_array< std::size_t, D >  dim,
BC   
)

◆ multi_idwtND_cubic() [2/2]

template<typename T , std::size_t D>
void til::multi_idwtND_cubic ( T *  im,
numeric_array< std::size_t, D >  dim 
)

◆ myComplexPow()

template<class T >
void til::myComplexPow ( numReal,
numIm,
ex,
T &  resReal,
T &  resIm 
)

Definition at line 18 of file eigen3D.h.

References til::geo::angle(), M_PI, and sqrt().

Referenced by eigen3D().

◆ myComplexSqrt()

template<class T >
void til::myComplexSqrt ( num,
T &  resReal,
T &  resIm 
)

Definition at line 58 of file eigen3D.h.

References sqrt().

Referenced by eigen3D().

◆ mySprintf()

TIL_API char* til::mySprintf ( const char *  format,
  ... 
)

◆ N18()

const Neighborhood til::N18 ( ,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
 
)

◆ N26()

const Neighborhood til::N26 ( ,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
 
)

◆ N6()

const Neighborhood til::N6 ( ,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
 
)

◆ neg() [1/2]

template<class TImage >
void til::neg ( TImage &  im)

Definition at line 32 of file imageArith.h.

Referenced by computeAffineTransformBetween().

◆ neg() [2/2]

template<typename T , std::size_t D>
void til::neg ( numeric_array< T, D > &  vec)
inline

Negate an array.

Definition at line 257 of file numeric_array_tools.h.

◆ neighborhoods2edges()

template<typename TNeighborhoodCollection >
void til::neighborhoods2edges ( TNeighborhoodCollection const &  neigh,
std::vector< std::pair< std::size_t, std::size_t > > &  edges 
)
inline

Collects edges from a set of neighbors.

NB: This assumes that the set of neighbors of a point does not contain the point.

Parameters
[in]neighThe collection of neighborhoods
[out]edgesThe computed edges

Definition at line 364 of file meshUtils.h.

References circular_neighborhoods(), copy(), and make_sorted_pair().

Referenced by faces2edges().

◆ neighboring_faces()

template<typename T >
void til::neighboring_faces ( std::vector< std::vector< T > > const &  cneighs,
std::vector< til::numeric_array< T, 3 > > const &  faces,
std::vector< std::vector< T > > &  neighborfaces 
)
inline

Computes the index of the neighboring faces.

The neighboring faces follow the same order than the neighbors, i.e. the first face corresponds to the first two neighbors, etc.

Parameters
[in]cneighsCircular neighborhoods
[in]facesFaces
[out]neighborfacesneighbor faces

Definition at line 1990 of file meshUtils.h.

◆ neighbors2edges()

template<typename T >
void til::neighbors2edges ( std::vector< std::vector< T > > const &  neighbors,
std::vector< std::pair< T, T > > &  edges 
)

Convert a set of neighborhoods into a set of edges.

If the neighborhood is symmetric, the size of the edge set should be half of those of the neighbors.

Referenced by til::LambdaMuSmoothing< TVertexAccessPolicy, TNeighborhoodAccessPolicy >::operator()().

◆ norm() [1/4]

◆ norm() [2/4]

template<typename T >
INLINE double til::norm ( const T &  a,
const T &  b,
const T &  c 
)

Definition at line 34 of file misc_scalar_functions.h.

References sqrt().

◆ norm() [3/4]

template<typename TPrec , typename T , std::size_t D>
TPrec til::norm ( const numeric_array< T, D > &  a,
prec< TPrec >   
)
inline

Return the euclidean norm of array.

Definition at line 84 of file numeric_array_tools.h.

References norm2(), and sqrt().

◆ norm() [4/4]

template<typename T , std::size_t D>
T til::norm ( const numeric_array< T, D > &  a)
inline

Return the squared euclidean norm of array.

Definition at line 91 of file numeric_array_tools.h.

References norm().

◆ norm2() [1/3]

template<typename TPrec , typename T , std::size_t D>
TPrec til::norm2 ( const numeric_array< T, D > &  a,
prec< TPrec >   
)
inline

◆ norm2() [2/3]

template<typename T >
T til::norm2 ( x,
y,
z 
)
inline

Squared euclidean norm of vector (x,y,z)

Definition at line 75 of file miscUtils.h.

References til::detail::_allocate_sameSize().

◆ norm2() [3/3]

template<typename T , std::size_t D>
T til::norm2 ( const numeric_array< T, D > &  a)
inline

Return the squared euclidean norm of array.

Definition at line 77 of file numeric_array_tools.h.

References norm2().

◆ norm_inf()

template<typename T , std::size_t D>
T til::norm_inf ( const numeric_array< T, D > &  a)
inline

Return the infinity norm (i.e. max absolute value) of array.

Definition at line 246 of file numeric_array_tools.h.

References abs(), and max_helper().

◆ notSameImageCheck()

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 
)

Definition at line 108 of file imageTools.h.

References allocationCheck(), and areSameObject().

Referenced by resample().

◆ oneStepDilation()

template<typename TImage >
void til::oneStepDilation ( TImage &  im,
typename TImage::value_type  foreground,
typename TImage::value_type  background 
)

Definition at line 54 of file morpho.h.

References containsNeighbor(), and findValueOtherThan().

Referenced by diamondDilation(), and diamondErosion().

◆ operator!=()

template<typename T1 , typename T2 >
bool til::operator!= ( const basic_iterator< T1 > &  i1,
const basic_iterator< T2 > &  i2 
)
inline

Definition at line 65 of file basic_iterator.h.

◆ operator*() [1/6]

template<typename T1 , typename T2 >
INLINE numeric_array<T1,3> til::operator* ( const Scaling< T1 > &  s,
const numeric_array< T2, 3 > &  v 
)

Definition at line 47 of file scaling.h.

References til::Scaling< T >::getScale(), and til::Scaling< T >::getTransl().

◆ operator*() [2/6]

template<typename T1 , typename T2 >
INLINE numeric_array<typename combine<T1, T2>::type, 3> til::operator* ( const Affine< T1 > &  a,
const numeric_array< T2, 3 > &  v 
)

Multiplication between a 3D affine transform and a 3D vector.

Definition at line 91 of file AffineTransform.h.

Referenced by til::NaryTree< T, N >::Node::operator=().

◆ operator*() [3/6]

template<typename T1 , typename T2 >
T2 til::operator* ( const Affine< T1 > &  a,
const T2 &  v 
)
inline

◆ operator*() [4/6]

template<typename T1 , typename T2 >
numeric_array<typename combine<T1,T2>::type,3> til::operator* ( const Matrix3< T1 > &  m,
const numeric_array< T2, 3 > &  v 
)
inline

Definition at line 206 of file Matrix3.h.

◆ operator*() [5/6]

template<typename T1 , typename T2 >
T2 til::operator* ( const Matrix3< T1 > &  m,
const T2 &  v 
)
inline

Definition at line 223 of file Matrix3.h.

◆ operator*() [6/6]

template<typename T >
SparseVector<T> til::operator* ( const SparseVector< T > &  sv1,
const SparseVector< T > &  sv2 
)

◆ operator+()

template<typename T >
SparseVector<T> til::operator+ ( const SparseVector< T > &  sv1,
const SparseVector< T > &  sv2 
)

◆ operator++()

◆ operator-() [1/2]

template<typename T >
Matrix3<T> til::operator- ( Matrix3< T > const &  mat)
inline

Definition at line 187 of file Matrix3.h.

◆ operator-() [2/2]

template<typename T >
SparseVector<T> til::operator- ( const SparseVector< T > &  sv1,
const SparseVector< T > &  sv2 
)

◆ operator/()

template<typename T >
SparseVector<T> til::operator/ ( const SparseVector< T > &  sv1,
const SparseVector< T > &  sv2 
)

◆ operator<<() [1/7]

template<typename T , std::size_t D>
std::ostream& til::operator<< ( std::ostream &  os,
const Box< T, D > &  box 
)

Standard operator<< to print the coordinates of a Box object.

Definition at line 48 of file boxTools.h.

◆ operator<<() [2/7]

template<typename T , std::size_t D>
std::ostream& til::operator<< ( std::ostream &  os,
const numeric_array< T, D > &  x 
)
inline

Definition at line 56 of file numeric_array_tools.h.

References stream_collection().

◆ operator<<() [3/7]

template<typename T , std::size_t D, typename TStorage >
std::ostream& til::operator<< ( std::ostream &  os,
const Point< T, D, TStorage > &  p 
)

Definition at line 62 of file point_operators.h.

◆ operator<<() [4/7]

template<typename T >
std::ostream& til::operator<< ( std::ostream &  os,
const KDNode< T > &  n 
)
inline

Definition at line 64 of file kdtree.h.

◆ operator<<() [5/7]

template<typename TStorage >
std::ostream& til::operator<< ( std::ostream &  os,
const matrix< TStorage > &  m 
)
inline

Definition at line 72 of file Matrix3.h.

◆ operator<<() [6/7]

template<typename T >
std::ostream& til::operator<< ( std::ostream &  os,
const Matrix3< T > &  m 
)
inline

Definition at line 241 of file Matrix3.h.

◆ operator<<() [7/7]

template<typename T >
std::ostream& til::operator<< ( std::ostream &  os,
const SparseVector< T >  v 
)

◆ operator==()

template<typename T1 , typename T2 >
bool til::operator== ( const basic_iterator< T1 > &  i1,
const basic_iterator< T2 > &  i2 
)
inline

Definition at line 57 of file basic_iterator.h.

◆ ordered_iterator() [1/2]

template<typename TCollection , typename TOrderIterator >
Ordered_iterator<typename TCollection::iterator, TOrderIterator> til::ordered_iterator ( TOrderIterator  obegin,
TCollection &  coll 
)

Definition at line 70 of file ordered_iterator.h.

◆ ordered_iterator() [2/2]

template<typename TCollection , typename TOrderIterator >
Ordered_iterator<typename TCollection::const_iterator, TOrderIterator> til::ordered_iterator ( TOrderIterator  obegin,
const TCollection &  coll 
)

Definition at line 75 of file ordered_iterator.h.

◆ param()

template<typename TImage >
ImageParameter til::param ( const TImage &  im)

◆ pos2offset() [1/2]

template<typename TPIterator , typename TSIterator >
std::size_t til::pos2offset ( TPIterator  pbegin,
TPIterator  pend,
TSIterator  sbegin 
)
inline

◆ pos2offset() [2/2]

template<std::size_t D>
std::size_t til::pos2offset ( const numeric_array< std::size_t, D > &  pos,
const numeric_array< std::size_t, D > &  size 
)
inline

Definition at line 241 of file miscTools.h.

◆ post_order_scan()

template<typename TTreeIterator , typename TTreeFunctor >
void til::post_order_scan ( TTreeIterator  iTree,
const TTreeFunctor &  f 
)

Post-order scan.

Post-order scanning means looking at the children in order, and then at the node. An exemple of such visit order is the inverse-polish notation.

Definition at line 400 of file binary_tree.h.

◆ pre_order_scan()

template<typename TTreeIterator , typename TTreeFunctor >
void til::pre_order_scan ( TTreeIterator  iTree,
TTreeFunctor &  f 
)

Pre-order scan.

Pre-order scanning means looking at a node, and then at its children in order. This has some similarity with a graph depth first search, except that children scanning order is important in a tree.

Definition at line 385 of file binary_tree.h.

◆ print() [1/2]

template<typename T >
void til::print ( const Affine< T > &  a)

◆ print() [2/2]

template<typename T , std::size_t N>
void til::print ( const NaryTree< T, N > &  tree)

Print tree on stdout (very ugly and experimental).

Definition at line 499 of file binary_tree.h.

References breadth_first().

◆ print_def()

void til::print_def ( const MapHistogram_def h)

◆ printInfo() [1/3]

template<class TImage >
void til::printInfo ( const TImage &  im)

Print basic image information (pixel type, size, voxel size)

Definition at line 122 of file imageTools.h.

◆ printInfo() [2/3]

template<typename T >
void til::printInfo ( ConstVolumetricIterator< ImageNC< T > > &  it)

Definition at line 368 of file ConstImageNCVolumetricIterator.h.

◆ printInfo() [3/3]

template<typename T >
void til::printInfo ( ConstVolumetricIterator< ImageC< T > > &  it)

Definition at line 411 of file ConstImageVolumetricIterator.h.

◆ quantizer()

template<typename TVertexCollection , typename TFaceCollection >
std::list<std::size_t> til::quantizer ( TVertexCollection &  vertices,
TFaceCollection &  faces,
std::size_t  newSize 
)

Decimates a mesh until a specified number of vertices is reached.

Do nothing if the desired size is actually larger than the current size.

Parameters
[in,out]verticesmesh vertices
[in,out]facesmesh faces
[in]newSizedesired number of vertices

Definition at line 1666 of file mesh_decimation.h.

References circular_neighborhoods(), quantizer_2(), remove_vertices(), and sort().

Referenced by til::Neigh_decimation_labeler< TVertexCollection, TNeighborhoodCollection >::operator()().

◆ quantizer_2()

template<typename TVertexCollection , typename TFaceCollection >
std::list<std::size_t> til::quantizer_2 ( TVertexCollection &  vertices,
TFaceCollection &  faces 
)

Decimates a mesh until no more vertex with unremoved neighbors can be removed.

Parameters
[in,out]verticesmesh vertices
[in,out]facesmesh faces

Definition at line 1765 of file mesh_decimation.h.

References circular_neighborhoods(), remove_vertices(), and sort().

Referenced by quantizer().

◆ rand() [1/2]

template<typename T >
T til::rand ( min,
max 
)

draw a random number according to the uniform distribution on [min, max].

◆ rand() [2/2]

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].

Definition at line 594 of file imageTools.h.

References min(), and warning().

Referenced by itvol_const(), and til::UniformRandomDistribution< T >::max().

◆ rangecrop()

template<typename T , typename TInt >
const T til::rangecrop ( const T &  x,
TInt  dim 
)
inline

Absolute value of a number.

Definition at line 27 of file misc_scalar_functions.h.

◆ read_anyType()

template<typename T >
void til::read_anyType ( T &  data,
const std::string  name 
)

Definition at line 818 of file aims_wrap.h.

◆ read_mesh() [1/2]

template<typename T >
void til::read_mesh ( aims::Reader< T > &  r,
Mesh_N mesh 
)

Definition at line 799 of file aims_wrap.h.

References addNeighborsToMesh(), and convert().

◆ read_mesh() [2/2]

template<typename T , typename TVertexCollection , typename TFaceCollection >
void til::read_mesh ( aims::Reader< T > const &  r,
TVertexCollection &  vertices,
TFaceCollection &  faces 
)

Definition at line 809 of file aims_wrap.h.

References convert(), getFaceIndices(), and getVertices().

◆ readCT() [1/4]

TIL_API void til::readCT ( const char *  fileName,
ImageC< double > &   
)

◆ readCT() [2/4]

TIL_API void til::readCT ( const char *  fileName,
ImageC< float > &   
)

◆ readCT() [3/4]

TIL_API void til::readCT ( const char *  fileName,
ImageC< ushort > &   
)

◆ readCT() [4/4]

TIL_API void til::readCT ( const char *  fileName,
ImageC< uchar > &   
)

◆ readDICOM()

TIL_API void til::readDICOM ( const char *  fileName,
ImageC< unsigned short > &   
)

◆ readRAW() [1/2]

TIL_API void til::readRAW ( const char *  fileName,
ImageC< ushort > &  im,
int  xs,
int  ys,
float  vx,
float  vy,
float  vz 
)

◆ readRAW() [2/2]

TIL_API void til::readRAW ( const char *  fileName,
ImageC< uchar > &  im,
int  xs,
int  ys,
int  zs,
float  vx = 1,
float  vy = 1,
float  vz = 1 
)

◆ recursiveGaussianDerivative()

template<typename TImage >
void til::recursiveGaussianDerivative ( TImage &  im,
typename TImage::value_type  sigma,
ImageAxis  axis 
)

◆ recursiveGaussianDerivativeNorm()

template<typename T >
T til::recursiveGaussianDerivativeNorm ( a0,
a1,
c0,
c1,
cw0,
sw0,
cw1,
sw1,
eb0,
eb1 
)

◆ recursiveGaussianGradient()

template<class TImage1 , class TImage2 >
void til::recursiveGaussianGradient ( const TImage1 &  im,
TImage2 &  dx,
TImage2 &  dy,
TImage2 &  dz,
typename TImage2::value_type  sigma 
)

Definition at line 163 of file recursiveFilters.h.

References convert_im(), copy(), recursiveGaussianDerivative(), X_AXIS, Y_AXIS, and Z_AXIS.

◆ recursiveGaussianHessian()

template<class TImage1 , class TImage2 >
void til::recursiveGaussianHessian ( const TImage1 &  im,
TImage2 &  dxx,
TImage2 &  dxy,
TImage2 &  dxz,
TImage2 &  dyy,
TImage2 &  dyz,
TImage2 &  dzz,
typename TImage2::value_type  sigma 
)

◆ recursiveGaussianNorm()

template<typename T >
T til::recursiveGaussianNorm ( a0,
a1,
c0,
c1,
cw0,
sw0,
cw1,
sw1,
eb0,
eb1 
)

◆ recursiveGaussianSecondDerivative()

template<typename TImage >
void til::recursiveGaussianSecondDerivative ( TImage &  im,
typename TImage::value_type  sigma,
ImageAxis  axis1,
ImageAxis  axis2 
)

◆ recursiveGaussianSecondDerivativeNorm()

template<typename T >
T til::recursiveGaussianSecondDerivativeNorm ( a0,
a1,
c0,
c1,
cw0,
sw0,
cw1,
sw1,
eb0,
eb1 
)

Definition at line 119 of file RF4Gaussian.h.

References cube(), and square().

Referenced by recursiveGaussianDerivativeNorm(), and RF4GaussianSecondDerivative().

◆ recursiveGaussianSmoothing()

template<class TImage >
void til::recursiveGaussianSmoothing ( TImage &  im,
typename TImage::value_type  sigma 
)

◆ regionGrowing() [1/2]

template<typename TImage , typename RegionGrowingGhost >
size_t til::regionGrowing ( TImage &  seg,
const VoxelList seeds,
const Neighborhood nh,
RegionGrowingGhost &  ghost,
typename TImage::value_type  color 
)

Definition at line 378 of file regionGrowing.h.

References addNeighbors(), addSeeds(), and getNeighbors().

Referenced by regionGrowing(), and regionGrowing2().

◆ regionGrowing() [2/2]

template<typename TImage , typename RegionGrowingGhost >
size_t til::regionGrowing ( TImage &  seg,
const numeric_array< int, 3 > &  seed,
const Neighborhood nh,
RegionGrowingGhost &  ghost,
typename TImage::value_type  color 
)

Definition at line 420 of file regionGrowing.h.

References regionGrowing().

◆ regionGrowing2()

template<typename TImage , typename RegionGrowingGhost , typename TNeighborhood >
size_t til::regionGrowing2 ( TImage &  seg,
const VoxelList seeds,
const TNeighborhood &  nh,
RegionGrowingGhost &  ghost,
typename TImage::value_type  color 
)

Definition at line 339 of file regionGrowing.h.

References addNeighbors2(), addSeeds(), and regionGrowing().

Referenced by addSeeds().

◆ remove_vertex()

template<typename TVertexNode , typename TFaceNode >
std::list<TVertexNode>::iterator til::remove_vertex ( typename std::list< TVertexNode >::iterator  i,
std::list< TVertexNode > &  graph_vertices,
std::list< TFaceNode > &  graph_faces 
)

Remove a vertex from a mesh.

Does all the bookkeeping crap: removing the vertex means removing associated faces, and warning neghbors about the missing of their fellow. The function does not remesh the surface, i.e. if nothing else is done, the surface will present a whole where the vertex were lying.

Definition at line 528 of file mesh_decimation.h.

References simple_neighborhood_flattening().

Referenced by til::Vertex_remover< TVertexNode, TFaceNode >::operator()(), til::Vertex_remover< TVertexNode, TFaceNode >::remove(), and simple_delaunay_triangulation().

◆ remove_vertices()

template<typename TVertexCollection , typename TFaceCollection , typename TCNeighborhoods , typename TIndexCollection >
std::vector<unsigned char> til::remove_vertices ( TVertexCollection &  vertices,
TFaceCollection &  faces,
TCNeighborhoods const &  neighc,
TIndexCollection const &  removed 
)

NB: vertices are not removed one by one but in groups via this kind of functions, because the static "vector" collection is incompatible with this kind of operation.

Consequently, decimation needs to transform the mesh into a linked list type of graph, which is costly, and therefore which is not done each time. Of course, the best would be to stick with a linked list graph in the first place.

Definition at line 1587 of file mesh_decimation.h.

References til::Remove_indexed_vertices< TVertexCollection, TFaceCollection, TCNeighborhoods, TIndexCollection >::removed().

Referenced by til::Remove_indexed_vertices< TVertexCollection, TFaceCollection, TCNeighborhoods, TIndexCollection >::operator()(), quantizer(), and quantizer_2().

◆ resample() [1/3]

template<typename Interpolation , typename Extrapolation , typename Mapping , typename TImageIn , typename TImageOut >
enable_if<is_Mapping<Mapping> >::type til::resample ( const TImageIn &  in,
TImageOut &  out,
const Mapping &  map 
)
Parameters
inThe input image
outThe output image
mapThe mapping (from out to in) used for resampling

Definition at line 22 of file imageInterpolation.h.

References notSameImageCheck().

Referenced by resample().

◆ resample() [2/3]

template<typename Interpolation , typename Extrapolation , typename TImageIn , typename TImageOut >
void til::resample ( const TImageIn &  in,
TImageOut &  out,
const numeric_array< int, 3 > &  dim 
)

Resample an image to match given dimension.

If the output image is not allocated, it is allocated to match given dimension. If not, it has to have the same size as the one given in 'dim'. 'Dim' is given as an explicit parameter, and not through 'out', to make it clear that even if out is allocated, things might get modified in there (in particular, voxel sizes, that are deduced automatically).

Parameters
inthe input image
outthe result of interpolation
dimthe new dimension

Definition at line 64 of file imageInterpolation.h.

References allocationCheck(), getScalingBetween(), isAllocated(), and resample().

◆ resample() [3/3]

template<typename Interpolation , typename Extrapolation , typename TImageIn , typename TImageOut >
void til::resample ( const TImageIn &  in,
TImageOut &  out,
const numeric_array< t_voxsize, 3 > &  vDim 
)

Resample an image to match a given voxel size.

Parameters
inthe input image
outthe result of interpolation (reallocated – no need for initialization)
vDimthe new voxel size to match

Definition at line 105 of file imageInterpolation.h.

References allocationCheck().

◆ resize() [1/3]

template<typename T , std::size_t D>
void til::resize ( numeric_array< T, D > &  ,
std::size_t  newSize 
)
inline

◆ resize() [2/3]

template<typename TContainer >
void til::resize ( TContainer &  c,
std::size_t  n 
)
inline

Definition at line 382 of file globalTraits.h.

◆ resize() [3/3]

template<typename T , std::size_t D>
void til::resize ( boost::array< T, D >  ,
std::size_t  n 
)
inline

Definition at line 388 of file globalTraits.h.

◆ RF4Gaussian()

template<typename T >
RecursiveFilterSum< RecursiveFilter<T, +1, 4>, RecursiveFilter<T, -1, 4> > til::RF4Gaussian ( sigma)

◆ RF4GaussianDerivative()

template<typename T >
RecursiveFilterSum< RecursiveFilter<T, +1, 4>, RecursiveFilter<T, -1, 4> > til::RF4GaussianDerivative ( sigma,
stepSize = 1 
)

◆ RF4GaussianSecondDerivative()

template<typename T >
RecursiveFilterSum< RecursiveFilter<T, +1, 4>, RecursiveFilter<T, -1, 4> > til::RF4GaussianSecondDerivative ( sigma)

◆ same_sign()

template<typename T1 , typename T2 >
bool til::same_sign ( const T1 &  x,
const T2 &  y 
)
inline

Return true iff both arguments have same sign.

Definition at line 317 of file miscUtils.h.

◆ save_def()

void til::save_def ( const MapHistogram_def h,
std::string  filename,
float  valueFactor 
)

◆ set()

◆ setCenterAndHalfSizes()

template<typename T , std::size_t D>
void til::setCenterAndHalfSizes ( Range< T, D > &  range,
const numeric_array< T, D > &  center,
const numeric_array< T, D > &  halfSize 
)

Set range using its center and half sizes.

Definition at line 14 of file range_tools.h.

References til::Box< T, D >::set_bounds(), and setCenterAndSizes().

◆ setCenterAndSizes()

template<typename T , std::size_t D>
void til::setCenterAndSizes ( Range< T, D > &  range,
const numeric_array< T, D > &  center,
const numeric_array< T, D > &  size 
)

Set range using its center and its size.

Definition at line 26 of file range_tools.h.

References til::Box< T, D >::set_bounds().

Referenced by setCenterAndHalfSizes().

◆ setRecursiveFilterCoefficientsToDerivativeGaussian()

template<typename T >
void til::setRecursiveFilterCoefficientsToDerivativeGaussian ( T &  a0,
T &  a1,
T &  c0,
T &  c1,
T &  w0,
T &  w1,
T &  b0,
T &  b1 
)

◆ setRecursiveFilterCoefficientsToGaussian()

template<typename T >
void til::setRecursiveFilterCoefficientsToGaussian ( T &  a0,
T &  a1,
T &  c0,
T &  c1,
T &  w0,
T &  w1,
T &  b0,
T &  b1 
)

Definition at line 21 of file RF4Gaussian.h.

References setRecursiveFilterCoefficientsToDerivativeGaussian().

Referenced by RF4Gaussian().

◆ setRecursiveFilterCoefficientsToSecondDerivativeGaussian()

template<typename T >
void til::setRecursiveFilterCoefficientsToSecondDerivativeGaussian ( T &  a0,
T &  a1,
T &  c0,
T &  c1,
T &  w0,
T &  w1,
T &  b0,
T &  b1 
)

◆ setSlice()

template<typename TImage >
void til::setSlice ( TImage &  im,
int  sliceNumber,
ImageAxis  axis,
typename TImage::value_type  value 
)

Set a value to an image slice.

Parameters
imImage to be modified
sliceNumberNumber of the slice
axisOrientation of slice normal
valueNew value

Definition at line 620 of file imageTools.h.

References clearBorder(), getRange(), and til::Box< T, D >::set_bounds().

◆ setSumToOne()

template<typename TImage >
void til::setSumToOne ( TImage &  im)

Normalize the image so that the sum of its element is equal to one.

Definition at line 489 of file imageTools.h.

References abs(), mul(), and sum().

Referenced by generateGaussianKernel().

◆ shift_right() [1/2]

template<typename T >
void til::shift_right ( a,
T &  b,
T &  c 
)
inline

Shifts value to the right, i.e c = b, b = a.

The value of c is lost; the value of a does not change. Note that a can be an rvalue.

Definition at line 147 of file miscTools.h.

◆ shift_right() [2/2]

template<typename T >
void til::shift_right ( a,
T &  b,
T &  c,
T &  d 
)
inline

Shifts value to the right, i.e d = c, c = b, b = a.

The value of d is lost; the value of a does not change. Note that a can be an rvalue.

Definition at line 158 of file miscTools.h.

◆ sign()

template<typename T1 , typename T2 >
T1 til::sign ( T1  x,
T2  y 
)
inline

Change the sign of x if y < 0.

Definition at line 327 of file miscUtils.h.

◆ similarityCheck()

template<class TImage1 , class TImage2 >
void til::similarityCheck ( const TImage1 &  im1,
const TImage2 &  im2 
)

◆ simple2DoublePointer()

template<typename T >
T** til::simple2DoublePointer ( T *  data,
int  x,
int  y,
int  z 
)

Converts a contiguous memory buffer into a per-slice buffer.

Definition at line 514 of file imageTools.h.

Referenced by til::ImageNC< T >::init().

◆ simple_delaunay_triangulation()

std::list<boost::array<std::size_t,3> > til::simple_delaunay_triangulation ( std::vector< numeric_array< float, 2 > >  points)

◆ simple_neighborhood_flattening()

template<typename TNeighbors >
std::vector<numeric_array<float,2> > til::simple_neighborhood_flattening ( const numeric_array< float, 3 > &  point,
const TNeighbors &  neighbors 
)

◆ size() [1/4]

template<typename TContainer >
std::size_t til::size ( const TContainer &  c)
inline

Size of a container.

Definition at line 40 of file std_wrap.h.

◆ size() [2/4]

template<typename T , std::size_t D>
numeric_array<T,D> til::size ( const Box< T, D > &  box)

Return the size of a box.

Definition at line 56 of file boxTools.h.

References til::Box< T, D >::max_bounds(), and til::Box< T, D >::min_bounds().

Referenced by til::detail::_allocate_sameSize(), til::NaryTree< T, N >::Node::child(), computeAffineTransformBetween(), til::policy::AccumulatorRecord_Sum::container(), convert(), til::detail::convert_aimsmeshTomesh1(), til::detail::convert_mesh1Toaimsmesh(), til::detail::convert_mesh_2(), til::detail::convert_mesh_3(), til::sparse_vector< T >::end(), til::Vertex_remover< TVertexNode, TFaceNode >::error(), til::detail::for_each_neighbors_N(), til::detail::for_each_neighbors_NN(), til::detail::for_each_neighbors_NV(), til::detail::for_each_neighbors_V(), getEdgeLengths(), til::SpringForce< TMesh, TForceVector >::getForces(), getNeighborIndices(), laplacianForces(), til::detail::loop_cc(), til::detail::loop_ccc(), til::detail::loop_cvc(), til::detail::multi_array_base< TContainer, D, is_multi_array< value_type_of< TContainer >::type >::value >::multi_array_base(), til::detail::multi_array_base< TContainer, D, false >::multi_array_base(), til::functor::Size::operator()(), til::functor::CastTo< Texture1d, TContainer >::operator()(), til::Vertex_remover< TVertexNode, TFaceNode >::operator()(), til::Neigh_decimation_labeler< TVertexCollection, TNeighborhoodCollection >::operator()(), til::LaplacianSmoothing< TInputAccessPolicy, TOutputAccessPolicy, TNeighborhoodAccessPolicy >::operator()(), til::Mesh_curvature2< TVertexXsr, TNeighborhoodXsr, TPrec >::process(), til::Mesh_curvature< TVertexCollection, TNeighborhoods, TPrec >::process(), til::MeshCurvature2< TVertexAccessPolicy, TCircularNeighborhoodAccessPolicy, prec_type >::process(), simple_neighborhood_flattening(), til::detail::multi_array_base< TContainer, D, is_multi_array< value_type_of< TContainer >::type >::value >::size(), and til::detail::multi_array_base< TContainer, D, false >::size().

◆ size() [3/4]

template<class T , int D>
std::size_t til::size ( const AimsVector< T, D > &  )
inline

Returns the number of elements in a AimsVector.

Definition at line 74 of file aims_wrap.h.

◆ size() [4/4]

template<typename T , std::size_t N>
std::size_t til::size ( const NaryTree< T, N > &  ntree)
inline

Definition at line 311 of file binary_tree.h.

◆ sort()

template<typename T >
void til::sort ( T &  a,
T &  b,
T &  c 
)
inline

Sort a, b, c in decreasing order (a>=b>=c).

Referenced by integer_root(), quantizer(), quantizer_2(), and simple_delaunay_triangulation().

◆ sorted_vector() [1/2]

template<typename TVector3D , typename T >
TVector3D til::sorted_vector ( a,
b,
c 
)
inline

◆ sorted_vector() [2/2]

template<typename TVector3D >
TVector3D til::sorted_vector ( TVector3D  v)
inline

NB: the argument is passed by value on purpose.

◆ sortedVector()

template<typename TVector2D , typename T >
TVector2D til::sortedVector ( a,
b 
)
inline

returns vector (x, y) with x <= y

◆ sprintf()

template<typename T >
char* til::sprintf ( format,
  ... 
)

Definition at line 333 of file miscUtils.h.

◆ sqrt()

◆ square() [1/2]

template<typename T >
INLINE const T til::square ( const T &  a)

< Square of a number

Cube of a number

Definition at line 9 of file misc_scalar_functions.h.

◆ square() [2/2]

◆ stdev()

template<typename TPoint , typename TPointCollection >
void til::stdev ( const TPointCollection &  c,
TPoint &  res 
)

Referenced by centroid().

◆ stream_collection()

template<typename TCollection >
std::ostream& til::stream_collection ( std::ostream &  os,
const TCollection &  v 
)
inline

Definition at line 41 of file numeric_array_tools.h.

Referenced by operator<<().

◆ sub() [1/4]

template<class TImage1 , class TImage2 >
enable_if_c< is_Image<TImage1>::value && is_Image<TImage2>::value>::type til::sub ( TImage1 &  im1,
const TImage2 &  im2 
)

Definition at line 231 of file imageArith.h.

References similarityCheck().

◆ sub() [2/4]

template<class TImage , typename T >
enable_if_c< is_Image<TImage>::value && !is_Image<T>::value>::type til::sub ( TImage &  im,
scalar 
)

Definition at line 253 of file imageArith.h.

◆ sub() [3/4]

template<typename T1 , typename T2 , typename T3 >
boost::enable_if_c< std::numeric_limits<T1>::is_specialized && std::numeric_limits<T2>::is_specialized >::type til::sub ( T1  x,
T2  y,
T3 &  z 
)
inline

Definition at line 340 of file globalTraits.h.

◆ sub() [4/4]

template<typename TRes , typename T1 , typename T2 >
TRes til::sub ( T1  x,
T2  y 
)
inline

Definition at line 398 of file functors.h.

Referenced by til::functor::Normalize< TVector3D >::operator()().

◆ sum()

template<class TImage >
t_bsprec til::sum ( const TImage &  im)

Computes the sum of the intensities of the input image.

Definition at line 19 of file imageBasicStats.h.

Referenced by mean(), and setSumToOne().

◆ tdot() [1/2]

template<typename T >
void til::tdot ( numeric_array< T, 3 > const &  v,
SymMatrix3< T > &  mat 
)
inline

Stores v.v^T in mat.

Definition at line 312 of file numeric_array_tools.h.

Referenced by add2ndOrder(), addTo(), and til::RegionMoments::update().

◆ tdot() [2/2]

template<typename T >
void til::tdot ( numeric_array< T, 3 > const &  v1,
numeric_array< T, 3 > const &  v2,
Matrix3< T > &  mat 
)
inline

Stores v1.v2^T in mat.

Definition at line 333 of file numeric_array_tools.h.

◆ TIL_BOOL_VALUE_OPERATOR() [1/6]

til::TIL_BOOL_VALUE_OPERATOR ( operator  = =)

◆ TIL_BOOL_VALUE_OPERATOR() [2/6]

til::TIL_BOOL_VALUE_OPERATOR ( operator!  ,
 
)

◆ TIL_BOOL_VALUE_OPERATOR() [3/6]

til::TIL_BOOL_VALUE_OPERATOR ( all_less  )

◆ TIL_BOOL_VALUE_OPERATOR() [4/6]

til::TIL_BOOL_VALUE_OPERATOR ( all_less_equal  ,
<=   
)

◆ TIL_BOOL_VALUE_OPERATOR() [5/6]

til::TIL_BOOL_VALUE_OPERATOR ( all_greater  )

◆ TIL_BOOL_VALUE_OPERATOR() [6/6]

til::TIL_BOOL_VALUE_OPERATOR ( all_greater_equal  ,
>=   
)

◆ TIL_BOUNCE_VEC_OP_TO_DATA() [1/4]

til::TIL_BOUNCE_VEC_OP_TO_DATA ( ,
Point  ,
Vector  ,
Point  ,
functor::Add   
)

◆ TIL_BOUNCE_VEC_OP_TO_DATA() [2/4]

til::TIL_BOUNCE_VEC_OP_TO_DATA ( ,
Vector  ,
Point  ,
Point  ,
functor::Add   
)

◆ TIL_BOUNCE_VEC_OP_TO_DATA() [3/4]

til::TIL_BOUNCE_VEC_OP_TO_DATA ( ,
Point  ,
Vector  ,
Point  ,
functor::Sub   
)

◆ TIL_BOUNCE_VEC_OP_TO_DATA() [4/4]

til::TIL_BOUNCE_VEC_OP_TO_DATA ( ,
Point  ,
Point  ,
Vector  ,
functor::Sub   
)

◆ TIL_DECLARE_IS() [1/4]

til::TIL_DECLARE_IS ( 3DPoint  )

True if type implements a 3D Point.

◆ TIL_DECLARE_IS() [2/4]

til::TIL_DECLARE_IS ( mesh  )

True if type implements a mesh.

◆ TIL_DECLARE_IS() [3/4]

til::TIL_DECLARE_IS ( container  )

True if type is a (STL) container.

◆ TIL_DECLARE_IS() [4/4]

til::TIL_DECLARE_IS ( map  )

True if type is a map container.

◆ TIL_DECLARE_IS_SPEC_T() [1/13]

til::TIL_DECLARE_IS_SPEC_T ( 3DPoint  ,
typename T  ,
boost::array< T TIL_COMMA 3 >   
)

◆ TIL_DECLARE_IS_SPEC_T() [2/13]

til::TIL_DECLARE_IS_SPEC_T ( BoostArray_N  ,
typename T TIL_COMMA std::size_t  N,
boost::array< T TIL_COMMA N > TIL_COMMA  N 
)

◆ TIL_DECLARE_IS_SPEC_T() [3/13]

til::TIL_DECLARE_IS_SPEC_T ( mesh  ,
typename TParam  ,
Mesh< TParam >   
)

◆ TIL_DECLARE_IS_SPEC_T() [4/13]

til::TIL_DECLARE_IS_SPEC_T ( container  ,
typename T TIL_COMMA typename  A,
std::vector< T TIL_COMMA A >   
)

◆ TIL_DECLARE_IS_SPEC_T() [5/13]

til::TIL_DECLARE_IS_SPEC_T ( container  ,
typename T TIL_COMMA typename  A,
std::list< T TIL_COMMA A >   
)

◆ TIL_DECLARE_IS_SPEC_T() [6/13]

til::TIL_DECLARE_IS_SPEC_T ( container  ,
typename K TIL_COMMA typename P TIL_COMMA typename  A,
std::set< K TIL_COMMA P TIL_COMMA A >   
)

◆ TIL_DECLARE_IS_SPEC_T() [7/13]

til::TIL_DECLARE_IS_SPEC_T ( container  ,
typename K TIL_COMMA typename T TIL_COMMA typename P TIL_COMMA typename  A,
std::map< K TIL_COMMA T TIL_COMMA P TIL_COMMA A >   
)

◆ TIL_DECLARE_IS_SPEC_T() [8/13]

til::TIL_DECLARE_IS_SPEC_T ( container  ,
typename T TIL_COMMA typename  BaselinePolicy,
til::sparse_vector< T TIL_COMMA BaselinePolicy >   
)

◆ TIL_DECLARE_IS_SPEC_T() [9/13]

til::TIL_DECLARE_IS_SPEC_T ( map  ,
typename TKey TIL_COMMA typename TValue TIL_COMMA typename TCompare TIL_COMMA typename  TAlloc,
std::map< TKey TIL_COMMA TValue TIL_COMMA TCompare TIL_COMMA TAlloc >   
)

◆ TIL_DECLARE_IS_SPEC_T() [10/13]

til::TIL_DECLARE_IS_SPEC_T ( map  ,
typename TKey TIL_COMMA typename TValue TIL_COMMA typename TCompare TIL_COMMA typename  TAlloc,
std::multimap< TKey TIL_COMMA TValue TIL_COMMA TCompare TIL_COMMA TAlloc >   
)

◆ TIL_DECLARE_IS_SPEC_T() [11/13]

til::TIL_DECLARE_IS_SPEC_T ( pointer  ,
typename T  ,
T *   
)

◆ TIL_DECLARE_IS_SPEC_T() [12/13]

til::TIL_DECLARE_IS_SPEC_T ( pointer  ,
typename T  ,
boost::shared_ptr< T >   
)

◆ TIL_DECLARE_IS_SPEC_T() [13/13]

til::TIL_DECLARE_IS_SPEC_T ( 3DPoint  ,
typename T  ,
AimsVector< T TIL_COMMA 3 >   
)

◆ TIL_DECLARE_IS_TEMPLATE()

til::TIL_DECLARE_IS_TEMPLATE ( BoostArray_N  ,
typename T TIL_COMMA std::size_t  N 
)

True if type is boost::array of size N.

◆ TIL_DECLARE_IS_VALUE()

til::TIL_DECLARE_IS_VALUE ( 3DVector  ,
is_3DPoint< T >::value   
)

True if type implements a 3D Vector.

◆ TIL_DEFINE_CHANGE_PRECISION_RECURSIVE_SPECIALIZATION() [1/5]

til::TIL_DEFINE_CHANGE_PRECISION_RECURSIVE_SPECIALIZATION ( ImageC< T >  )

◆ TIL_DEFINE_CHANGE_PRECISION_RECURSIVE_SPECIALIZATION() [2/5]

til::TIL_DEFINE_CHANGE_PRECISION_RECURSIVE_SPECIALIZATION ( ImageNC< T >  )

◆ TIL_DEFINE_CHANGE_PRECISION_RECURSIVE_SPECIALIZATION() [3/5]

til::TIL_DEFINE_CHANGE_PRECISION_RECURSIVE_SPECIALIZATION ( ImageRLE< T >  )

◆ TIL_DEFINE_CHANGE_PRECISION_RECURSIVE_SPECIALIZATION() [4/5]

til::TIL_DEFINE_CHANGE_PRECISION_RECURSIVE_SPECIALIZATION ( Matrix3< T >  )

◆ TIL_DEFINE_CHANGE_PRECISION_RECURSIVE_SPECIALIZATION() [5/5]

til::TIL_DEFINE_CHANGE_PRECISION_RECURSIVE_SPECIALIZATION ( SymMatrix3< T >  )

◆ TIL_DEFINE_SPARSE_OP() [1/2]

til::TIL_DEFINE_SPARSE_OP ( )

◆ TIL_DEFINE_SPARSE_OP() [2/2]

til::TIL_DEFINE_SPARSE_OP ( )

◆ TIL_FOR_ALL_NUMERIC_TYPES() [1/2]

til::TIL_FOR_ALL_NUMERIC_TYPES ( TIL_DEFINE_PRECISION_FOR_NUMERIC_TYPES  )

◆ TIL_FOR_ALL_NUMERIC_TYPES() [2/2]

til::TIL_FOR_ALL_NUMERIC_TYPES ( TIL_DEFINE_CHANGE_PRECISION_FOR_NUMERIC_TYPES  )

◆ TIL_OPERATOR() [1/3]

◆ TIL_OPERATOR() [2/3]

til::TIL_OPERATOR ( ,
functor::Sub   
)

◆ TIL_OPERATOR() [3/3]

til::TIL_OPERATOR ( ,
functor::Div   
)

◆ type_min()

template<typename T >
T til::type_min ( )
inline

Returns the min of a type.

This is used as a work-around for std::numeric_limits::min(), which has a different meaning for integer and non-integer types.

Definition at line 134 of file miscTools.h.

References max(), and min().

◆ var() [1/2]

template<class TImage >
boost::enable_if<is_Image<TImage>, t_bsprec>::type til::var ( const TImage &  im,
t_bsprec  meanIm 
)

Returns the variance of the intensities of the input image (Normalization by size)

Definition at line 65 of file imageBasicStats.h.

References INLINE, and square().

Referenced by til::NormalizedCorrelation< TImage1, TImage2 >::setFirstImage(), til::NormalizedCorrelation< TImage1, TImage2 >::setSecondImage(), and var().

◆ var() [2/2]

template<class TImage >
INLINE boost::enable_if<is_Image<TImage>, t_bsprec>::type til::var ( const TImage &  im)

Definition at line 85 of file imageBasicStats.h.

References mean(), and var().

◆ varEst()

template<class TImage >
t_bsprec til::varEst ( const TImage &  im)

Returns the estimated variance of the intensities of the input image.

(Normalization by (size - 1))

Definition at line 44 of file imageBasicStats.h.

References mean(), and square().

◆ vol2world()

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.

Definition at line 682 of file imageTools.h.

References INLINE.

◆ volume()

template<typename T , std::size_t D>
T til::volume ( const Box< T, D > &  box)

Return the volume of a box.

Definition at line 64 of file boxTools.h.

References til::Box< T, D >::max_bounds(), and til::Box< T, D >::min_bounds().

◆ warning()

void til::warning ( const char *  msg)
inline

Library warning.

Definition at line 79 of file til_common.h.

Referenced by rand().

◆ whole_range() [1/4]

template<typename T , typename TAlloc >
range_of<std::vector<T,TAlloc> >::type til::whole_range ( std::vector< T, TAlloc > &  v)

Definition at line 76 of file std_wrap.h.

◆ whole_range() [2/4]

template<typename T , typename TAlloc >
const_range_of<std::vector<T,TAlloc> >::type til::whole_range ( const std::vector< T, TAlloc > &  v)

Definition at line 80 of file std_wrap.h.

◆ whole_range() [3/4]

template<typename T , typename TAlloc >
range_of<std::list<T,TAlloc> >::type til::whole_range ( std::list< T, TAlloc > &  v)

Definition at line 93 of file std_wrap.h.

◆ whole_range() [4/4]

template<typename T , typename TAlloc >
const_range_of<std::list<T,TAlloc> >::type til::whole_range ( const std::list< T, TAlloc > &  v)

Definition at line 97 of file std_wrap.h.

◆ world2vol()

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 
)

Definition at line 692 of file imageTools.h.

◆ write_mesh() [1/3]

template<typename TVertex , typename TFace >
void til::write_mesh ( const std::vector< TVertex > &  vertices,
const std::vector< TFace > &  faces,
aims::Writer< AimsSurfaceTriangle >  w 
)

Definition at line 766 of file aims_wrap.h.

References convert(), getFaceIndices(), and getVertices().

Referenced by write_mesh().

◆ write_mesh() [2/3]

template<typename TVertex , typename TFace >
void til::write_mesh ( const std::vector< TVertex > &  vertices,
const std::vector< TFace > &  faces,
const char *  name 
)

Definition at line 777 of file aims_wrap.h.

References write_mesh().

◆ write_mesh() [3/3]

template<typename TMesh >
void til::write_mesh ( const TMesh &  mesh,
const char *  name 
)

Definition at line 783 of file aims_wrap.h.

References getFaceIndices(), getVertices(), and write_mesh().

◆ writeCT() [1/4]

TIL_API void til::writeCT ( const char *  fileName,
const ImageC< double > &  im 
)

◆ writeCT() [2/4]

TIL_API void til::writeCT ( const char *  fileName,
const ImageC< float > &  im 
)

◆ writeCT() [3/4]

TIL_API void til::writeCT ( const char *  fileName,
const ImageC< ushort > &  im 
)

◆ writeCT() [4/4]

TIL_API void til::writeCT ( const char *  fileName,
const ImageC< uchar > &  im 
)

◆ writeTexture()

template<typename T >
void til::writeTexture ( const T &  data,
const char *  name 
)

Definition at line 789 of file aims_wrap.h.

Variable Documentation

◆ no_init

const NoInit til::no_init = NoInit()

Definition at line 86 of file til_common.h.