CGAL 5.1 - 3D Surface Mesh Generation
CGAL::Gray_level_image_3< FT_, Point_ > Class Template Reference

#include <CGAL/Gray_level_image_3.h>

Definition

template<typename FT_, typename Point_>
class CGAL::Gray_level_image_3< FT_, Point_ >

A 3D gray image is a tri-dimensional array that associates a scalar value to each triple of integer \( (x, y, z)\) in the range of the image. A trilinear interpolation algorithm provides a map \( f : \mathbb{R}^3 \longrightarrow \mathbb{R}\).

The class Gray_level_image_3 is a 3D gray image loader and a model of the concept ImplicitFunction. An object of the class Gray_level_image_3 is created with a parameter iso_value and then its operator() implements the function sign of (f(p) - iso), for \( p \in \mathbb{R}^3\). Plugging such a function in the creation of the Implicit_surface_3 object given as parameter to make_surface_mesh() yields a mesh approximating the level with value iso in the input 3D gray image.

Gray_level_image_3 provides an interface with an auxiliary library called CGAL_ImageIO. An executable that uses Gray_level_image_3 must be linked with the CGAL_ImageIO library.

The library CGAL_ImageIO and therefore Gray_level_image_3 support several types of 3D images: INRIMAGE (extension .inr[.gz]), GIS (extension .dim, of .ima[.gz]), and ANALYZE (extension .hdr, or .img[.gz]).

Is Model Of:
ImplicitFunction
See also
ImplicitFunction
Implicit_surface_3<Traits, Function>
make_surface_mesh
Examples
Surface_mesher/mesh_a_3d_gray_image.cpp.

Types

typedef FT_ FT
 the numerical type FT. More...
 
typedef Point_ Point
 the point type. More...
 

Creation

 Gray_level_image_3 (const char *filename, FT iso_value)
 filename is the path to a file of a type supported by ImageIO. More...
 

Operations

FT operator (const Point &p) const
 Returns the sign of \( f(p)\) - iso_value. More...
 

Member Typedef Documentation

◆ FT

template<typename FT_ , typename Point_ >
typedef FT_ CGAL::Gray_level_image_3< FT_, Point_ >::FT

the numerical type FT.

◆ Point

template<typename FT_ , typename Point_ >
typedef Point_ CGAL::Gray_level_image_3< FT_, Point_ >::Point

the point type.

Constructor & Destructor Documentation

◆ Gray_level_image_3()

template<typename FT_ , typename Point_ >
CGAL::Gray_level_image_3< FT_, Point_ >::Gray_level_image_3 ( const char *  filename,
FT  iso_value 
)

filename is the path to a file of a type supported by ImageIO.

iso_value is an isovalue of the interpolation function \( f\).

Member Function Documentation

◆ operator()

template<typename FT_ , typename Point_ >
FT CGAL::Gray_level_image_3< FT_, Point_ >::operator ( const Point p) const

Returns the sign of \( f(p)\) - iso_value.