\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)
CGAL 4.12.2 - 3D Surface Mesh Generation
CGAL::Gray_level_image_3< FT_, Point_ > Class Template Reference

#include <CGAL/Gray_level_image_3.h>

Definition

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.
 
typedef Point_ Point
 the point type.
 

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.
 

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\).