\( \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.8 - 3D Surface Mesh Generation

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
List of all members
CGAL::Gray_level_image_3< FT_, Point_ > Class Template Reference
Mesh and Domain Classes

`#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

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