• Skip to content
  • Skip to link menu
KDE 4.4 API Reference
  • KDE API Reference
  • API Reference
  • Sitemap
  • Contact Us
 

digikam

cimg_library::CImg

cimg_library::CImg< T > Struct Template Reference

Class representing an image (up to 4 dimensions wide), each pixel being of type T. More...

#include <CImg.h>

Inheritance diagram for cimg_library::CImg< T >:
Inheritance graph
[legend]

List of all members.

Classes

struct  _marching_cubes_func
struct  _marching_cubes_func_float
struct  _marching_squares_func
struct  _marching_squares_func_float

Public Types

typedef cimg::last< T, bool >::type boolT
typedef cimg::last< T, char >::type charT
typedef const T * const_iterator
typedef cimg::last< T, double >
::type 
doubleT
typedef cimg::last< T, float >
::type 
floatT
typedef cimg::last< T, int >::type intT
typedef T * iterator
typedef cimg::last< T, long >::type longT
typedef cimg::last< T, short >
::type 
shortT
typedef cimg::superset< T,
bool >::type 
Tbool
typedef cimg::superset< T,
char >::type 
Tchar
typedef cimg::superset< T,
double >::type 
Tdouble
typedef cimg::superset< T,
float >::type 
Tfloat
typedef cimg::superset< T, int >
::type 
Tint
typedef cimg::superset< T,
long >::type 
Tlong
typedef cimg::superset< T,
short >::type 
Tshort
typedef cimg::superset< T,
unsigned char >::type 
Tuchar
typedef cimg::superset< T,
unsigned int >::type 
Tuint
typedef cimg::superset< T,
unsigned long >::type 
Tulong
typedef cimg::superset< T,
unsigned short >::type 
Tushort
typedef cimg::last< T,
unsigned char >::type 
ucharT
typedef cimg::last< T,
unsigned int >::type 
uintT
typedef cimg::last< T,
unsigned long >::type 
ulongT
typedef cimg::last< T,
unsigned short >::type 
ushortT
typedef T value_type

Public Member Functions

Constructors-Destructor-Copy



 CImg (const CImgDisplay &disp)
 CImg (const char *const filename)
template<typename t >
 CImg (const CImg< t > &img, const char *const dimensions, const T val)
template<typename t >
 CImg (const CImg< t > &img, const char *const dimensions)
 CImg (const CImg< T > &img, const bool shared)
template<typename t >
 CImg (const CImg< t > &img, const bool shared)
 CImg (const CImg< T > &img)
template<typename t >
 CImg (const CImg< t > &img)
 CImg (const T *const data_buffer, const unsigned int dx, const unsigned int dy=1, const unsigned int dz=1, const unsigned int dv=1, const bool shared=false)
template<typename t >
 CImg (const t *const data_buffer, const unsigned int dx, const unsigned int dy=1, const unsigned int dz=1, const unsigned int dv=1, const bool shared=false)
 CImg (const unsigned int dx, const unsigned int dy, const unsigned int dz, const unsigned int dv, const char *const values, const bool repeat_pattern)
 CImg (const unsigned int dx, const unsigned int dy, const unsigned int dz, const unsigned int dv, const double val0, const double val1,...)
 CImg (const unsigned int dx, const unsigned int dy, const unsigned int dz, const unsigned int dv, const int val0, const int val1,...)
 CImg (const unsigned int dx, const unsigned int dy, const unsigned int dz, const unsigned int dv, const T val)
 CImg (const unsigned int dx, const unsigned int dy=1, const unsigned int dz=1, const unsigned int dv=1)
 CImg ()
 ~CImg ()
CImg< T > & assign (const CImgDisplay &disp)
CImg< T > & assign (const char *const filename)
template<typename t >
CImg< T > & assign (const CImg< t > &img, const char *const dimensions, const T val)
template<typename t >
CImg< T > & assign (const CImg< t > &img, const char *const dimensions)
template<typename t >
CImg< T > & assign (const CImg< t > &img, const bool shared)
template<typename t >
CImg< T > & assign (const CImg< t > &img)
CImg< T > & assign (const T *const data_buffer, const unsigned int dx, const unsigned int dy, const unsigned int dz, const unsigned int dv, const bool shared)
template<typename t >
CImg< T > & assign (const t *const data_buffer, const unsigned int dx, const unsigned int dy, const unsigned int dz, const unsigned int dv, const bool shared)
CImg< T > & assign (const T *const data_buffer, const unsigned int dx, const unsigned int dy=1, const unsigned int dz=1, const unsigned int dv=1)
template<typename t >
CImg< T > & assign (const t *const data_buffer, const unsigned int dx, const unsigned int dy=1, const unsigned int dz=1, const unsigned int dv=1)
CImg< T > & assign (const unsigned int dx, const unsigned int dy, const unsigned int dz, const unsigned int dv, const double val0, const double val1,...)
CImg< T > & assign (const unsigned int dx, const unsigned int dy, const unsigned int dz, const unsigned int dv, const int val0, const int val1,...)
CImg< T > & assign (const unsigned int dx, const unsigned int dy, const unsigned int dz, const unsigned int dv, const T val)
CImg< T > & assign (const unsigned int dx, const unsigned int dy=1, const unsigned int dz=1, const unsigned int dv=1)
CImg< T > & assign ()
CImg< T > & clear ()
CImg< T > & swap (CImg< T > &img)
CImg< T > & transfer_to (CImg< T > &img)
template<typename t >
CImg< t > & transfer_to (CImg< t > &img)
Display



const CImg< T > & _display (CImgDisplay &disp, const char *const title, const bool display_info) const
template<typename tp , typename tf , typename tc , typename to >
const CImg< T > & _display_object3d (CImgDisplay &disp, const char *const title, const tp &points, const unsigned int Npoints, const CImgList< tf > &primitives, const CImgList< tc > &colors, const to &opacities, const bool centering, const int render_static, const int render_motion, const bool double_sided, const float focale, const float specular_light, const float specular_shine, const bool display_axes, float *const pose_matrix) const
T _display_object3d_at2 (const int i, const int j) const
CImg< intT > _get_select (CImgDisplay &disp, const char *const title, const int coords_type, unsigned int *const XYZ, const unsigned char *const color, const int origX, const int origY, const int origZ) const
const CImg< T > & display (const char *const title=0, const bool display_info=true) const
const CImg< T > & display (CImgDisplay &disp, const bool display_info) const
const CImg< T > & display (CImgDisplay &disp) const
const CImg< T > & display_graph (const char *const title=0, const unsigned int plot_type=1, const unsigned int vertex_type=1, const char *const labelx=0, const double xmin=0, const double xmax=0, const char *const labely=0, const double ymin=0, const double ymax=0) const
const CImg< T > & display_graph (CImgDisplay &disp, const unsigned int plot_type=1, const unsigned int vertex_type=1, const char *const labelx=0, const double xmin=0, const double xmax=0, const char *const labely=0, const double ymin=0, const double ymax=0) const
template<typename tp >
const CImg< T > & display_object3d (const char *const title, const tp &points, const bool centering=true, const int render_static=4, const int render_motion=1, const bool double_sided=false, const float focale=500, const float specular_light=0.2f, const float specular_shine=0.1f, const bool display_axes=true, float *const pose_matrix=0) const
template<typename tp >
const CImg< T > & display_object3d (CImgDisplay &disp, const tp &points, const bool centering=true, const int render_static=4, const int render_motion=1, const bool double_sided=false, const float focale=500, const float specular_light=0.2f, const float specular_shine=0.1f, const bool display_axes=true, float *const pose_matrix=0) const
template<typename tp , typename tf >
const CImg< T > & display_object3d (const char *const title, const tp &points, const CImgList< tf > &primitives, const bool centering=true, const int render_static=4, const int render_motion=1, const bool double_sided=false, const float focale=500, const float specular_light=0.2f, const float specular_shine=0.1f, const bool display_axes=true, float *const pose_matrix=0) const
template<typename tp , typename tf >
const CImg< T > & display_object3d (CImgDisplay &disp, const tp &points, const CImgList< tf > &primitives, const bool centering=true, const int render_static=4, const int render_motion=1, const bool double_sided=false, const float focale=500, const float specular_light=0.2f, const float specular_shine=0.1f, const bool display_axes=true, float *const pose_matrix=0) const
template<typename tp , typename tf , typename tc >
const CImg< T > & display_object3d (const char *const title, const tp &points, const CImgList< tf > &primitives, const CImgList< tc > &colors, const bool centering=true, const int render_static=4, const int render_motion=1, const bool double_sided=false, const float focale=500, const float specular_light=0.2f, const float specular_shine=0.1f, const bool display_axes=true, float *const pose_matrix=0) const
template<typename tp , typename tf , typename tc >
const CImg< T > & display_object3d (CImgDisplay &disp, const tp &points, const CImgList< tf > &primitives, const CImgList< tc > &colors, const bool centering=true, const int render_static=4, const int render_motion=1, const bool double_sided=false, const float focale=500, const float specular_light=0.2f, const float specular_shine=0.1f, const bool display_axes=true, float *const pose_matrix=0) const
template<typename tp , typename tf , typename tc , typename to >
const CImg< T > & display_object3d (const char *const title, const CImgList< tp > &points, const CImgList< tf > &primitives, const CImgList< tc > &colors, const to &opacities, const bool centering=true, const int render_static=4, const int render_motion=1, const bool double_sided=false, const float focale=500, const float specular_light=0.2f, const float specular_shine=0.1f, const bool display_axes=true, float *const pose_matrix=0) const
template<typename tp , typename tf , typename tc , typename to >
const CImg< T > & display_object3d (CImgDisplay &disp, const CImgList< tp > &points, const CImgList< tf > &primitives, const CImgList< tc > &colors, const to &opacities, const bool centering=true, const int render_static=4, const int render_motion=1, const bool double_sided=false, const float focale=500, const float specular_light=0.2f, const float specular_shine=0.1f, const bool display_axes=true, float *const pose_matrix=0) const
template<typename tp , typename tf , typename tc , typename to >
const CImg< T > & display_object3d (const char *const title, const CImg< tp > &points, const CImgList< tf > &primitives, const CImgList< tc > &colors, const to &opacities, const bool centering=true, const int render_static=4, const int render_motion=1, const bool double_sided=false, const float focale=500, const float specular_light=0.2f, const float specular_shine=0.1f, const bool display_axes=true, float *const pose_matrix=0) const
template<typename tp , typename tf , typename tc , typename to >
const CImg< T > & display_object3d (CImgDisplay &disp, const CImg< tp > &points, const CImgList< tf > &primitives, const CImgList< tc > &colors, const to &opacities, const bool centering=true, const int render_static=4, const int render_motion=1, const bool double_sided=false, const float focale=500, const float specular_light=0.2f, const float specular_shine=0.1f, const bool display_axes=true, float *const pose_matrix=0) const
CImg< intT > get_select (const char *const title, const int select_type=2, unsigned int *const XYZ=0, const unsigned char *const color=0) const
CImg< intT > get_select (CImgDisplay &disp, const int select_type=2, unsigned int *const XYZ=0, const unsigned char *const color=0) const
CImg< intT > get_select_graph (CImgDisplay &disp, const unsigned int plot_type=1, const unsigned int vertex_type=1, const char *const labelx=0, const double xmin=0, const double xmax=0, const char *const labely=0, const double ymin=0, const double ymax=0) const
CImg< T > & select (const char *const title, const int select_type=2, unsigned int *const XYZ=0, const unsigned char *const color=0)
CImg< T > & select (CImgDisplay &disp, const int select_type=2, unsigned int *const XYZ=0, const unsigned char *const color=0)
Drawing



template<typename tc >
CImg< T > & _draw_ellipse (const int x0, const int y0, const float r1, const float r2, const float ru, const float rv, const tc *const color, const float opacity, const unsigned int pattern)
template<typename t , typename tc >
CImg< T > & _draw_line (const t &points, const unsigned int W, const unsigned int H, const tc *const color, const float opacity, const unsigned int pattern, const bool init_hatch)
template<typename tp , typename tf , typename tc , typename to >
CImg< T > & _draw_object3d (void *const pboard, float *const zbuffer, const float X, const float Y, const float Z, const tp &points, const unsigned int nb_points, const CImgList< tf > &primitives, const CImgList< tc > &colors, const to &opacities, const unsigned int nb_opacities, const unsigned int render_type, const bool double_sided, const float focale, const float lightx, const float lighty, const float lightz, const float specular_light, const float specular_shine)
template<typename tc >
void _draw_object3d_sprite (const int x, const int y, const CImg< tc > &color, const float opacity, const CImg< T > &sprite)
template<typename tc , typename to >
void _draw_object3d_sprite (const int x, const int y, const CImg< tc > &color, const CImg< to > &opacity, const CImg< T > &sprite)
template<typename t , typename tc >
CImg< T > & _draw_point (const t &points, const unsigned int W, const unsigned int H, const tc *const color, const float opacity)
template<typename t , typename tc >
CImg< T > & _draw_polygon (const t &points, const unsigned int W, const unsigned int H, const tc *const color, const float opacity, const unsigned int pattern)
template<typename t , typename tc >
CImg< T > & _draw_polygon (const t &points, const unsigned int N, const tc *const color, const float opacity)
template<typename tc >
CImg< T > & _draw_scanline (const tc *const color, const float opacity=1)
template<typename tc >
CImg< T > & _draw_scanline (const int x0, const int x1, const int y, const tc *const color, const float opacity=1, const float brightness=1, const bool init=false)
template<typename tp , typename tc >
CImg< T > & _draw_spline (const tp &points, const unsigned int W, const unsigned int H, const tc *const color, const float opacity, const bool close_set, const float precision, const unsigned int pattern, const bool init_hatch)
template<typename tp , typename tt , typename tc >
CImg< T > & _draw_spline (const tp &points, const tt &tangents, const unsigned int W, const unsigned int H, const tc *const color, const float opacity, const bool close_set, const float precision, const unsigned int pattern, const bool init_hatch)
template<typename tc1 , typename tc2 , typename t >
CImg< T > & _draw_text (const int x0, const int y0, const char *const text, const tc1 *const foreground_color, const tc2 *const background_color, const float opacity, const CImgList< t > &font)
template<typename tc >
CImg< T > & _draw_triangle (const int x0, const int y0, const int x1, const int y1, const int x2, const int y2, const tc *const color, const float opacity, const float brightness)
template<typename tc >
CImg< T > & draw_arrow (const int x0, const int y0, const int x1, const int y1, const CImg< tc > &color, const float opacity=1, const float angle=30, const float length=-10, const unsigned int pattern=~0U)
template<typename tc >
CImg< T > & draw_arrow (const int x0, const int y0, const int x1, const int y1, const tc *const color, const float opacity=1, const float angle=30, const float length=-10, const unsigned int pattern=~0U)
template<typename tc >
CImg< T > & draw_axis (const float x0, const float x1, const float y0, const float y1, const CImg< tc > &color, const float opacity=1, const int subdivisionx=-60, const int subdivisiony=-60, const float precisionx=0, const float precisiony=0, const unsigned int patternx=~0U, const unsigned int patterny=~0U)
template<typename tc >
CImg< T > & draw_axis (const float x0, const float x1, const float y0, const float y1, const tc *const color, const float opacity=1, const int subdivisionx=-60, const int subdivisiony=-60, const float precisionx=0, const float precisiony=0, const unsigned int patternx=~0U, const unsigned int patterny=~0U)
template<typename tx , typename ty , typename tc >
CImg< T > & draw_axis (const CImg< tx > &xvalues, const CImg< ty > &yvalues, const CImg< tc > &color, const float opacity=1, const unsigned int patternx=~0U, const unsigned int patterny=~0U)
template<typename tx , typename ty , typename tc >
CImg< T > & draw_axis (const CImg< tx > &xvalues, const CImg< ty > &yvalues, const tc *const color, const float opacity=1, const unsigned int patternx=~0U, const unsigned int patterny=~0U)
template<typename t , typename tc >
CImg< T > & draw_axis (const int x, const CImg< t > &yvalues, const CImg< tc > &color, const float opacity=1, const unsigned int pattern=~0U)
template<typename t , typename tc >
CImg< T > & draw_axis (const int x, const CImg< t > &yvalues, const tc *const color, const float opacity=1, const unsigned int pattern=~0U)
template<typename t , typename tc >
CImg< T > & draw_axis (const CImg< t > &xvalues, const int y, const CImg< tc > &color, const float opacity=1, const unsigned int pattern=~0U)
template<typename t , typename tc >
CImg< T > & draw_axis (const CImg< t > &xvalues, const int y, const tc *const color, const float opacity=1, const unsigned int pattern=~0U)
template<typename tc >
CImg< T > & draw_circle (const int x0, const int y0, int radius, const CImg< tc > &color, const float opacity, const unsigned int pattern)
template<typename tc >
CImg< T > & draw_circle (const int x0, const int y0, int radius, const tc *const color, const float opacity, const unsigned int)
template<typename tc >
CImg< T > & draw_circle (const int x0, const int y0, int radius, const CImg< tc > &color, const float opacity=1)
template<typename tc >
CImg< T > & draw_circle (const int x0, const int y0, int radius, const tc *const color, const float opacity=1)
template<typename t , typename tc >
CImg< T > & draw_ellipse (const int x0, const int y0, const CImg< t > &tensor, const CImg< tc > &color, const float opacity, const unsigned int pattern)
template<typename t , typename tc >
CImg< T > & draw_ellipse (const int x0, const int y0, const CImg< t > &tensor, const tc *const color, const float opacity, const unsigned int pattern)
template<typename tc >
CImg< T > & draw_ellipse (const int x0, const int y0, const float r1, const float r2, const float ru, const float rv, const CImg< tc > &color, const float opacity, const unsigned int pattern)
template<typename tc >
CImg< T > & draw_ellipse (const int x0, const int y0, const float r1, const float r2, const float ru, const float rv, const tc *const color, const float opacity, const unsigned int pattern)
template<typename t , typename tc >
CImg< T > & draw_ellipse (const int x0, const int y0, const CImg< t > &tensor, const CImg< tc > &color, const float opacity=1)
template<typename t , typename tc >
CImg< T > & draw_ellipse (const int x0, const int y0, const CImg< t > &tensor, const tc *const color, const float opacity=1)
template<typename tc >
CImg< T > & draw_ellipse (const int x0, const int y0, const float r1, const float r2, const float ru, const float rv, const CImg< tc > &color, const float opacity=1)
template<typename tc >
CImg< T > & draw_ellipse (const int x0, const int y0, const float r1, const float r2, const float ru, const float rv, const tc *const color, const float opacity=1)
template<typename tc >
CImg< T > & draw_fill (const int x, const int y, const CImg< tc > &color, const float opacity=1, const float sigma=0, const bool high_connexity=false)
template<typename tc >
CImg< T > & draw_fill (const int x, const int y, const tc *const color, const float opacity=1, const float sigma=0, const bool high_connexity=false)
template<typename tc >
CImg< T > & draw_fill (const int x, const int y, const int z, const CImg< tc > &color, const float opacity=1, const float sigma=0, const bool high_connexity=false)
template<typename tc >
CImg< T > & draw_fill (const int x, const int y, const int z, const tc *const color, const float opacity=1, const float sigma=0, const bool high_connexity=false)
template<typename tc , typename t >
CImg< T > & draw_fill (const int x, const int y, const int z, const CImg< tc > &color, const float opacity, CImg< t > &region, const float sigma=0, const bool high_connexity=false)
template<typename tc , typename t >
CImg< T > & draw_fill (const int x, const int y, const int z, const tc *const color, const float opacity, CImg< t > &region, const float sigma=0, const bool high_connexity=false)
template<typename tc >
CImg< T > & draw_gaussian (const float xc, const float yc, const float zc, const float sigma, const CImg< tc > &color, const float opacity=1)
template<typename tc >
CImg< T > & draw_gaussian (const float xc, const float yc, const float zc, const float sigma, const tc *const color, const float opacity=1)
template<typename t , typename tc >
CImg< T > & draw_gaussian (const float xc, const float yc, const float zc, const CImg< t > &tensor, const CImg< tc > &color, const float opacity=1)
template<typename t , typename tc >
CImg< T > & draw_gaussian (const float xc, const float yc, const float zc, const CImg< t > &tensor, const tc *const color, const float opacity=1)
template<typename tc >
CImg< T > & draw_gaussian (const float xc, const float yc, const float sigma, const CImg< tc > &color, const float opacity=1)
template<typename tc >
CImg< T > & draw_gaussian (const float xc, const float yc, const float sigma, const tc *const color, const float opacity=1)
template<typename tc >
CImg< T > & draw_gaussian (const int xc, const int yc, const float r1, const float r2, const float ru, const float rv, const CImg< tc > &color, const float opacity=1)
template<typename tc >
CImg< T > & draw_gaussian (const int xc, const int yc, const float r1, const float r2, const float ru, const float rv, const tc *const color, const float opacity=1)
template<typename t , typename tc >
CImg< T > & draw_gaussian (const float xc, const float yc, const CImg< t > &tensor, const CImg< tc > &color, const float opacity=1)
template<typename t , typename tc >
CImg< T > & draw_gaussian (const float xc, const float yc, const CImg< t > &tensor, const tc *const color, const float opacity=1)
template<typename tc >
CImg< T > & draw_gaussian (const float xc, const float sigma, const CImg< tc > &color, const float opacity=1)
template<typename tc >
CImg< T > & draw_gaussian (const float xc, const float sigma, const tc *const color, const float opacity=1)
template<typename t , typename tc >
CImg< T > & draw_graph (const CImg< t > &data, const CImg< tc > &color, const float opacity=1, const unsigned int plot_type=1, const unsigned int vertex_type=1, const double ymin=0, const double ymax=0, const unsigned int pattern=~0U)
template<typename t , typename tc >
CImg< T > & draw_graph (const CImg< t > &data, const tc *const color, const float opacity=1, const unsigned int plot_type=1, const unsigned int vertex_type=1, const double ymin=0, const double ymax=0, const unsigned int pattern=~0U)
template<typename tc >
CImg< T > & draw_grid (const float deltax, const float deltay, const float offsetx, const float offsety, const bool invertx, const bool inverty, const CImg< tc > &color, const float opacity=1, const unsigned int patternx=~0U, const unsigned int patterny=~0U)
template<typename tc >
CImg< T > & draw_grid (const float deltax, const float deltay, const float offsetx, const float offsety, const bool invertx, const bool inverty, const tc *const color, const float opacity=1, const unsigned int patternx=~0U, const unsigned int patterny=~0U)
template<typename tx , typename ty , typename tc >
CImg< T > & draw_grid (const CImg< tx > &xvalues, const CImg< ty > &yvalues, const CImg< tc > &color, const float opacity=1, const unsigned int patternx=~0U, const unsigned int patterny=~0U)
template<typename tx , typename ty , typename tc >
CImg< T > & draw_grid (const CImg< tx > &xvalues, const CImg< ty > &yvalues, const tc *const color, const float opacity=1, const unsigned int patternx=~0U, const unsigned int patterny=~0U)
template<typename ti , typename tm >
CImg< T > & draw_image (const CImg< ti > &sprite, const CImg< tm > &mask, const float opacity=1, const float mask_valmax=1)
template<typename ti , typename tm >
CImg< T > & draw_image (const int x0, const CImg< ti > &sprite, const CImg< tm > &mask, const float opacity=1, const float mask_valmax=1)
template<typename ti , typename tm >
CImg< T > & draw_image (const int x0, const int y0, const CImg< ti > &sprite, const CImg< tm > &mask, const float opacity=1, const float mask_valmax=1)
template<typename ti , typename tm >
CImg< T > & draw_image (const int x0, const int y0, const int z0, const CImg< ti > &sprite, const CImg< tm > &mask, const float opacity=1, const float mask_valmax=1)
template<typename ti , typename tm >
CImg< T > & draw_image (const int x0, const int y0, const int z0, const int v0, const CImg< ti > &sprite, const CImg< tm > &mask, const float opacity=1, const float mask_valmax=1)
template<typename t >
CImg< T > & draw_image (const CImg< t > &sprite, const float opacity=1)
template<typename t >
CImg< T > & draw_image (const int x0, const CImg< t > &sprite, const float opacity=1)
template<typename t >
CImg< T > & draw_image (const int x0, const int y0, const CImg< t > &sprite, const float opacity=1)
template<typename t >
CImg< T > & draw_image (const int x0, const int y0, const int z0, const CImg< t > &sprite, const float opacity=1)
CImg< T > & draw_image (const int x0, const int y0, const int z0, const int v0, const CImg< T > &sprite, const float opacity=1)
template<typename t >
CImg< T > & draw_image (const int x0, const int y0, const int z0, const int v0, const CImg< t > &sprite, const float opacity=1)
template<typename t , typename tc >
CImg< T > & draw_line (const CImg< t > &points, const CImg< tc > &color, const float opacity=1, const unsigned int pattern=~0U, const bool init_hatch=true)
template<typename t , typename tc >
CImg< T > & draw_line (const CImg< t > &points, const tc *const color, const float opacity=1, const unsigned int pattern=~0U, const bool init_hatch=true)
template<typename t , typename tc >
CImg< T > & draw_line (const CImgList< t > &points, const CImg< tc > &color, const float opacity=1, const unsigned int pattern=~0U, const bool init_hatch=true)
template<typename t , typename tc >
CImg< T > & draw_line (const CImgList< t > &points, const tc *const color, const float opacity=1, const unsigned int pattern=~0U, const bool init_hatch=true)
template<typename tc >
CImg< T > & draw_line (float *const zbuffer, const int x0, const int y0, const float z0, const int x1, const int y1, const float z1, const CImg< tc > &texture, const int tx0, const int ty0, const int tx1, const int ty1, const float opacity=1, const unsigned int pattern=~0U, const bool init_hatch=true)
template<typename tc >
CImg< T > & draw_line (const int x0, const int y0, const float z0, const int x1, const int y1, const float z1, const CImg< tc > &texture, const int tx0, const int ty0, const int tx1, const int ty1, const float opacity=1, const unsigned int pattern=~0U, const bool init_hatch=true)
template<typename tc >
CImg< T > & draw_line (const int x0, const int y0, const int x1, const int y1, const CImg< tc > &texture, const int tx0, const int ty0, const int tx1, const int ty1, const float opacity=1, const unsigned int pattern=~0U, const bool init_hatch=true)
template<typename tc >
CImg< T > & draw_line (const int x0, const int y0, const int z0, const int x1, const int y1, const int z1, const CImg< tc > &color, const float opacity=1, const unsigned int pattern=~0U, const bool init_hatch=true)
template<typename tc >
CImg< T > & draw_line (const int x0, const int y0, const int z0, const int x1, const int y1, const int z1, const tc *const color, const float opacity=1, const unsigned int pattern=~0U, const bool init_hatch=true)
template<typename tc >
CImg< T > & draw_line (float *const zbuffer, const int x0, const int y0, const float z0, const int x1, const int y1, const float z1, const CImg< tc > &color, const float opacity=1, const unsigned int pattern=~0U, const bool init_hatch=true)
template<typename tc >
CImg< T > & draw_line (float *const zbuffer, const int x0, const int y0, const float z0, const int x1, const int y1, const float z1, const tc *const color, const float opacity=1, const unsigned int pattern=~0U, const bool init_hatch=true)
template<typename tc >
CImg< T > & draw_line (const int x0, const int y0, const int x1, const int y1, const CImg< tc > &color, const float opacity=1, const unsigned int pattern=~0U, const bool init_hatch=true)
template<typename tc >
CImg< T > & draw_line (const int x0, const int y0, const int x1, const int y1, const tc *const color, const float opacity=1, const unsigned int pattern=~0U, const bool init_hatch=true)
template<typename tc >
CImg< T > & draw_mandelbrot (const CImg< tc > &color_palette, const float opacity=1, const double z0r=-2, const double z0i=-2, const double z1r=2, const double z1i=2, const unsigned int itermax=255, const bool normalized_iteration=false, const bool julia_set=false, const double paramr=0, const double parami=0)
template<typename tc >
CImg< T > & draw_mandelbrot (const int x0, const int y0, const int x1, const int y1, const CImg< tc > &color_palette, const float opacity=1, const double z0r=-2, const double z0i=-2, const double z1r=2, const double z1i=2, const unsigned int itermax=255, const bool normalized_iteration=false, const bool julia_set=false, const double paramr=0, const double parami=0)
template<typename tp , typename tf , typename tc >
CImg< T > & draw_object3d (const float x0, const float y0, const float z0, const tp &points, const CImgList< tf > &primitives, const CImgList< tc > &colors, const unsigned int render_type=4, const bool double_sided=false, const float focale=500, const float lightx=0, const float lighty=0, const float lightz=-5000, const float specular_light=0.2f, const float specular_shine=0.1f, float *const zbuffer=0)
template<typename tp , typename tf , typename tc , typename to >
CImg< T > & draw_object3d (const float x0, const float y0, const float z0, const CImgList< tp > &points, const CImgList< tf > &primitives, const CImgList< tc > &colors, const CImg< to > &opacities, const unsigned int render_type=4, const bool double_sided=false, const float focale=500, const float lightx=0, const float lighty=0, const float lightz=-5000, const float specular_light=0.2f, const float specular_shine=0.1f, float *const zbuffer=0)
template<typename tp , typename tf , typename tc , typename to >
CImg< T > & draw_object3d (const float x0, const float y0, const float z0, const CImg< tp > &points, const CImgList< tf > &primitives, const CImgList< tc > &colors, const CImg< to > &opacities, const unsigned int render_type=4, const bool double_sided=false, const float focale=500, const float lightx=0, const float lighty=0, const float lightz=-5000, const float specular_light=0.2f, const float specular_shine=0.1f, float *const zbuffer=0)
template<typename tp , typename tf , typename tc , typename to >
CImg< T > & draw_object3d (const float x0, const float y0, const float z0, const CImgList< tp > &points, const CImgList< tf > &primitives, const CImgList< tc > &colors, const CImgList< to > &opacities, const unsigned int render_type=4, const bool double_sided=false, const float focale=500, const float lightx=0, const float lighty=0, const float lightz=-5000, const float specular_light=0.2f, const float specular_shine=0.1f, float *const zbuffer=0)
template<typename tp , typename tf , typename tc , typename to >
CImg< T > & draw_object3d (const float x0, const float y0, const float z0, const CImg< tp > &points, const CImgList< tf > &primitives, const CImgList< tc > &colors, const CImgList< to > &opacities, const unsigned int render_type=4, const bool double_sided=false, const float focale=500, const float lightx=0, const float lighty=0, const float lightz=-5000, const float specular_light=0.2f, const float specular_shine=0.1f, float *const zbuffer=0)
CImg< T > & draw_plasma (const float alpha=1, const float beta=1, const float opacity=1)
CImg< T > & draw_plasma (const int x0, const int y0, const int x1, const int y1, const float alpha=1, const float beta=1, const float opacity=1)
template<typename t , typename tc >
CImg< T > & draw_point (const CImg< t > &points, const CImg< tc > &color, const float opacity=1)
template<typename t , typename tc >
CImg< T > & draw_point (const CImg< t > &points, const tc *const color, const float opacity=1)
template<typename t , typename tc >
CImg< T > & draw_point (const CImgList< t > &points, const CImg< tc > &color, const float opacity=1)
template<typename t , typename tc >
CImg< T > & draw_point (const CImgList< t > &points, const tc *const color, const float opacity=1)
template<typename tc >
CImg< T > & draw_point (const int x0, const int y0, const int z0, const CImg< tc > &color, const float opacity=1)
template<typename tc >
CImg< T > & draw_point (const int x0, const int y0, const int z0, const tc *const color, const float opacity=1)
template<typename tc >
CImg< T > & draw_point (const int x0, const int y0, const CImg< tc > &color, const float opacity=1)
template<typename tc >
CImg< T > & draw_point (const int x0, const int y0, const tc *const color, const float opacity=1)
template<typename t , typename tc >
CImg< T > & draw_polygon (const CImg< t > &points, const CImg< tc > &color, const float opacity, const unsigned int pattern)
template<typename t , typename tc >
CImg< T > & draw_polygon (const CImg< t > &points, const tc *const color, const float opacity, const unsigned int pattern)
template<typename t , typename tc >
CImg< T > & draw_polygon (const CImgList< t > &points, const CImg< tc > &color, const float opacity, const unsigned int pattern)
template<typename t , typename tc >
CImg< T > & draw_polygon (const CImgList< t > &points, const tc *const color, const float opacity, const unsigned int pattern)
template<typename t , typename tc >
CImg< T > & draw_polygon (const CImg< t > &points, const CImg< tc > &color, const float opacity=1)
template<typename t , typename tc >
CImg< T > & draw_polygon (const CImg< t > &points, const tc *const color, const float opacity=1)
template<typename t , typename tc >
CImg< T > & draw_polygon (const CImgList< t > &points, const CImg< tc > &color, const float opacity=1)
template<typename t , typename tc >
CImg< T > & draw_polygon (const CImgList< t > &points, const tc *const color, const float opacity=1)
template<typename t1 , typename t2 >
CImg< T > & draw_quiver (const CImg< t1 > &flow, const CImg< t2 > &color, const float opacity=1, const unsigned int sampling=25, const float factor=-20, const int quiver_type=0, const unsigned int pattern=~0U)
template<typename t1 , typename t2 >
CImg< T > & draw_quiver (const CImg< t1 > &flow, const t2 *const color, const float opacity=1, const unsigned int sampling=25, const float factor=-20, const int quiver_type=0, const unsigned int pattern=~0U)
template<typename tc >
CImg< T > & draw_rectangle (const int x0, const int y0, const int x1, const int y1, const CImg< tc > &color, const float opacity, const unsigned int pattern)
template<typename tc >
CImg< T > & draw_rectangle (const int x0, const int y0, const int x1, const int y1, const tc *const color, const float opacity, const unsigned int pattern)
template<typename tc >
CImg< T > & draw_rectangle (const int x0, const int y0, const int x1, const int y1, const CImg< tc > &color, const float opacity=1)
template<typename tc >
CImg< T > & draw_rectangle (const int x0, const int y0, const int x1, const int y1, const tc *const color, const float opacity=1)
template<typename tc >
CImg< T > & draw_rectangle (const int x0, const int y0, const int z0, const int x1, const int y1, const int z1, const CImg< tc > &color, const float opacity, const unsigned int pattern)
template<typename tc >
CImg< T > & draw_rectangle (const int x0, const int y0, const int z0, const int x1, const int y1, const int z1, const tc *const color, const float opacity, const unsigned int pattern)
template<typename tc >
CImg< T > & draw_rectangle (const int x0, const int y0, const int z0, const int x1, const int y1, const int z1, const CImg< tc > &color, const float opacity=1)
template<typename tc >
CImg< T > & draw_rectangle (const int x0, const int y0, const int z0, const int x1, const int y1, const int z1, const tc *const color, const float opacity=1)
CImg< T > & draw_rectangle (const int x0, const int y0, const int z0, const int v0, const int x1, const int y1, const int z1, const int v1, const T val, const float opacity=1)
template<typename t , typename tc >
CImg< T > & draw_spline (const CImg< t > &points, const CImg< tc > &color, const float opacity=1, const bool close_set=false, const float precision=4, const unsigned int pattern=~0U, const bool init_hatch=true)
template<typename t , typename tc >
CImg< T > & draw_spline (const CImg< t > &points, const tc *const color, const float opacity=1, const bool close_set=false, const float precision=4, const unsigned int pattern=~0U, const bool init_hatch=true)
template<typename t , typename tc >
CImg< T > & draw_spline (const CImgList< t > &points, CImg< tc > &color, const float opacity=1, const bool close_set=false, const float precision=4, const unsigned int pattern=~0U, const bool init_hatch=true)
template<typename t , typename tc >
CImg< T > & draw_spline (const CImgList< t > &points, const tc *const color, const float opacity=1, const bool close_set=false, const float precision=4, const unsigned int pattern=~0U, const bool init_hatch=true)
template<typename tp , typename tt , typename tc >
CImg< T > & draw_spline (const CImg< tp > &points, const CImg< tt > &tangents, const CImg< tc > &color, const float opacity=1, const bool close_set=false, const float precision=4, const unsigned int pattern=~0U, const bool init_hatch=true)
template<typename tp , typename tt , typename tc >
CImg< T > & draw_spline (const CImg< tp > &points, const CImg< tt > &tangents, const tc *const color, const float opacity=1, const bool close_set=false, const float precision=4, const unsigned int pattern=~0U, const bool init_hatch=true)
template<typename tp , typename tt , typename tc >
CImg< T > & draw_spline (const CImgList< tp > &points, const CImgList< tt > &tangents, const CImg< tc > &color, const float opacity=1, const bool close_set=false, const float precision=4, const unsigned int pattern=~0U, const bool init_hatch=true)
template<typename tp , typename tt , typename tc >
CImg< T > & draw_spline (const CImgList< tp > &points, const CImgList< tt > &tangents, const tc *const color, const float opacity=1, const bool close_set=false, const float precision=4, const unsigned int pattern=~0U, const bool init_hatch=true)
template<typename t >
CImg< T > & draw_spline (const int x0, const int y0, const float u0, const float v0, const int x1, const int y1, const float u1, const float v1, const CImg< t > &texture, const int tx0, const int ty0, const int tx1, const int ty1, const float opacity=1, const float precision=4, const unsigned int pattern=~0U, const bool init_hatch=true)
template<typename tc >
CImg< T > & draw_spline (const int x0, const int y0, const int z0, const float u0, const float v0, const float w0, const int x1, const int y1, const int z1, const float u1, const float v1, const float w1, const CImg< tc > &color, const float opacity=1, const float precision=4, const unsigned int pattern=~0U, const bool init_hatch=true)
template<typename tc >
CImg< T > & draw_spline (const int x0, const int y0, const int z0, const float u0, const float v0, const float w0, const int x1, const int y1, const int z1, const float u1, const float v1, const float w1, const tc *const color, const float opacity=1, const float precision=4, const unsigned int pattern=~0U, const bool init_hatch=true)
template<typename tc >
CImg< T > & draw_spline (const int x0, const int y0, const float u0, const float v0, const int x1, const int y1, const float u1, const float v1, const CImg< tc > &color, const float opacity=1, const float precision=4, const unsigned int pattern=~0U, const bool init_hatch=true)
template<typename tc >
CImg< T > & draw_spline (const int x0, const int y0, const float u0, const float v0, const int x1, const int y1, const float u1, const float v1, const tc *const color, const float opacity=1, const float precision=4, const unsigned int pattern=~0U, const bool init_hatch=true)
template<typename tc >
CImg< T > & draw_text (const int x0, const int y0, const char *const text, const int foreground_color, const tc *const background_color, const float opacity=1, const unsigned int font_size=11,...)
template<typename tc >
CImg< T > & draw_text (const int x0, const int y0, const char *const text, const tc *const foreground_color, const int background_color=0, const float opacity=1, const unsigned int font_size=11,...)
template<typename tc1 , typename tc2 >
CImg< T > & draw_text (const int x0, const int y0, const char *const text, const CImg< tc1 > &foreground_color, const CImg< tc2 > &background_color, const float opacity=1, const unsigned int font_size=11,...)
template<typename tc1 , typename tc2 >
CImg< T > & draw_text (const int x0, const int y0, const char *const text, const tc1 *const foreground_color, const tc2 *const background_color, const float opacity=1, const unsigned int font_size=11,...)
template<typename tc , typename t >
CImg< T > & draw_text (const int x0, const int y0, const char *const text, const int foreground_color, const tc *const background_color, const float opacity, const CImgList< t > &font,...)
template<typename tc , typename t >
CImg< T > & draw_text (const int x0, const int y0, const char *const text, const tc *const foreground_color, const int background_color, const float opacity, const CImgList< t > &font,...)
template<typename tc1 , typename tc2 , typename t >
CImg< T > & draw_text (const int x0, const int y0, const char *const text, const CImg< tc1 > &foreground_color, const CImg< tc2 > &background_color, const float opacity, const CImgList< t > &font,...)
template<typename tc1 , typename tc2 , typename t >
CImg< T > & draw_text (const int x0, const int y0, const char *const text, const tc1 *const foreground_color, const tc2 *const background_color, const float opacity, const CImgList< t > &font,...)
template<typename tc , typename tl >
CImg< T > & draw_triangle (float *const zbuffer, const int x0, const int y0, const float z0, const int x1, const int y1, const float z1, const int x2, const int y2, const float z2, const CImg< tc > &texture, const int tx0, const int ty0, const int tx1, const int ty1, const int tx2, const int ty2, const CImg< tl > &light, const int lx0, const int ly0, const int lx1, const int ly1, const int lx2, const int ly2, const float opacity=1)
template<typename tc , typename tl >
CImg< T > & draw_triangle (const int x0, const int y0, const float z0, const int x1, const int y1, const float z1, const int x2, const int y2, const float z2, const CImg< tc > &texture, const int tx0, const int ty0, const int tx1, const int ty1, const int tx2, const int ty2, const CImg< tl > &light, const int lx0, const int ly0, const int lx1, const int ly1, const int lx2, const int ly2, const float opacity=1)
template<typename tc , typename tl >
CImg< T > & draw_triangle (const int x0, const int y0, const int x1, const int y1, const int x2, const int y2, const CImg< tc > &texture, const int tx0, const int ty0, const int tx1, const int ty1, const int tx2, const int ty2, const CImg< tl > &light, const int lx0, const int ly0, const int lx1, const int ly1, const int lx2, const int ly2, const float opacity=1)
template<typename tc >
CImg< T > & draw_triangle (float *const zbuffer, const int x0, const int y0, const float z0, const int x1, const int y1, const float z1, const int x2, const int y2, const float z2, const CImg< tc > &texture, const int tx0, const int ty0, const int tx1, const int ty1, const int tx2, const int ty2, const float brightness0, const float brightness1, const float brightness2, const float opacity=1)
template<typename tc >
CImg< T > & draw_triangle (const int x0, const int y0, const float z0, const int x1, const int y1, const float z1, const int x2, const int y2, const float z2, const CImg< tc > &texture, const int tx0, const int ty0, const int tx1, const int ty1, const int tx2, const int ty2, const float brightness0, const float brightness1, const float brightness2, const float opacity=1)
template<typename tc >
CImg< T > & draw_triangle (const int x0, const int y0, const int x1, const int y1, const int x2, const int y2, const CImg< tc > &texture, const int tx0, const int ty0, const int tx1, const int ty1, const int tx2, const int ty2, const float brightness0, const float brightness1, const float brightness2, const float opacity=1)
template<typename tc , typename tl >
CImg< T > & draw_triangle (float *const zbuffer, const int x0, const int y0, const float z0, const int x1, const int y1, const float z1, const int x2, const int y2, const float z2, const CImg< tc > &color, const CImg< tl > &light, const int lx0, const int ly0, const int lx1, const int ly1, const int lx2, const int ly2, const float opacity=1)
template<typename tc , typename tl >
CImg< T > & draw_triangle (float *const zbuffer, const int x0, const int y0, const float z0, const int x1, const int y1, const float z1, const int x2, const int y2, const float z2, const tc *const color, const CImg< tl > &light, const int lx0, const int ly0, const int lx1, const int ly1, const int lx2, const int ly2, const float opacity=1)
template<typename tc , typename tl >
CImg< T > & draw_triangle (const int x0, const int y0, const int x1, const int y1, const int x2, const int y2, const CImg< tc > &color, const CImg< tl > &light, const int lx0, const int ly0, const int lx1, const int ly1, const int lx2, const int ly2, const float opacity=1)
template<typename tc , typename tl >
CImg< T > & draw_triangle (const int x0, const int y0, const int x1, const int y1, const int x2, const int y2, const tc *const color, const CImg< tl > &light, const int lx0, const int ly0, const int lx1, const int ly1, const int lx2, const int ly2, const float opacity=1)
template<typename tc >
CImg< T > & draw_triangle (float *const zbuffer, const int x0, const int y0, const float z0, const int x1, const int y1, const float z1, const int x2, const int y2, const float z2, const CImg< tc > &texture, const int tx0, const int ty0, const int tx1, const int ty1, const int tx2, const int ty2, const float opacity=1, const float brightness=1)
template<typename tc >
CImg< T > & draw_triangle (const int x0, const int y0, const float z0, const int x1, const int y1, const float z1, const int x2, const int y2, const float z2, const CImg< tc > &texture, const int tx0, const int ty0, const int tx1, const int ty1, const int tx2, const int ty2, const float opacity=1, const float brightness=1)
template<typename tc >
CImg< T > & draw_triangle (const int x0, const int y0, const int x1, const int y1, const int x2, const int y2, const CImg< tc > &texture, const int tx0, const int ty0, const int tx1, const int ty1, const int tx2, const int ty2, const float opacity=1, const float brightness=1)
template<typename tc >
CImg< T > & draw_triangle (float *const zbuffer, const int x0, const int y0, const float z0, const int x1, const int y1, const float z1, const int x2, const int y2, const float z2, const CImg< tc > &color, const float brightness0, const float brightness1, const float brightness2, const float opacity=1)
template<typename tc >
CImg< T > & draw_triangle (float *const zbuffer, const int x0, const int y0, const float z0, const int x1, const int y1, const float z1, const int x2, const int y2, const float z2, const tc *const color, const float brightness0, const float brightness1, const float brightness2, const float opacity=1)
template<typename tc >
CImg< T > & draw_triangle (const int x0, const int y0, const int x1, const int y1, const int x2, const int y2, const CImg< tc > &color, const float brightness0, const float brightness1, const float brightness2, const float opacity=1)
template<typename tc >
CImg< T > & draw_triangle (const int x0, const int y0, const int x1, const int y1, const int x2, const int y2, const tc *const color, const float brightness0, const float brightness1, const float brightness2, const float opacity=1)
template<typename tc >
CImg< T > & draw_triangle (float *const zbuffer, const int x0, const int y0, const float z0, const int x1, const int y1, const float z1, const int x2, const int y2, const float z2, const CImg< tc > &color, const float opacity=1, const float brightness=1)
template<typename tc >
CImg< T > & draw_triangle (float *const zbuffer, const int x0, const int y0, const float z0, const int x1, const int y1, const float z1, const int x2, const int y2, const float z2, const tc *const color, const float opacity=1, const float brightness=1)
template<typename tc >
CImg< T > & draw_triangle (const int x0, const int y0, const int x1, const int y1, const int x2, const int y2, const CImg< tc > &color, const float opacity, const unsigned int pattern)
template<typename tc >
CImg< T > & draw_triangle (const int x0, const int y0, const int x1, const int y1, const int x2, const int y2, const tc *const color, const float opacity, const unsigned int pattern)
template<typename tc >
CImg< T > & draw_triangle (const int x0, const int y0, const int x1, const int y1, const int x2, const int y2, const CImg< tc > &color, const float opacity=1)
template<typename tc >
CImg< T > & draw_triangle (const int x0, const int y0, const int x1, const int y1, const int x2, const int y2, const tc *const color, const float opacity=1)
Usual Mathematics Functions



CImg< T > & abs ()
CImg< T > & acos ()
template<typename t >
CImg< T > & apply (t &func)
CImg< T > & asin ()
CImg< T > & atan ()
CImg< T > & cos ()
template<typename t >
CImg< T > & div (const CImg< t > &img)
CImg< T > & exp ()
CImg< Tfloat > get_abs () const
CImg< Tfloat > get_acos () const
template<typename t >
CImg< T > get_apply (t &func) const
CImg< Tfloat > get_asin () const
CImg< Tfloat > get_atan () const
CImg< Tfloat > get_cos () const
template<typename t >
CImg< typename cimg::superset
< T, t >::type > 
get_div (const CImg< t > &img) const
CImg< Tfloat > get_exp () const
CImg< Tfloat > get_log () const
CImg< Tfloat > get_log10 () const
CImg< T > get_max (const T val) const
template<typename t >
CImg< typename cimg::superset
< T, t >::type > 
get_max (const CImg< t > &img) const
CImg< T > get_min (const T val) const
template<typename t >
CImg< typename cimg::superset
< T, t >::type > 
get_min (const CImg< t > &img) const
template<typename t >
CImg< typename cimg::superset
< T, t >::type > 
get_mul (const CImg< t > &img) const
template<typename t >
CImg< Tfloat > get_pow (const CImg< t > &img) const
CImg< Tfloat > get_pow (const double p) const
CImg< T > get_rand (const T val_min, const T val_max) const
CImg< T > get_round (const float x, const unsigned int rounding_type=0) const
CImg< Tfloat > get_sin () const
CImg< Tfloat > get_sqr () const
CImg< Tfloat > get_sqrt () const
CImg< Tfloat > get_tan () const
CImg< T > & log ()
CImg< T > & log10 ()
CImg< T > & max (const T val)
template<typename t >
CImg< T > & max (const CImg< t > &img)
CImg< T > & min (const T val)
template<typename t >
CImg< T > & min (const CImg< t > &img)
template<typename t >
CImg< T > & mul (const CImg< t > &img)
template<typename t >
CImg< T > & pow (const CImg< t > &img)
CImg< T > & pow (const double p)
CImg< T > & rand (const T val_min, const T val_max)
CImg< T > & round (const float x, const int rounding_type=0)
CImg< T > & sin ()
CImg< T > & sqr ()
CImg< T > & sqrt ()
CImg< T > & tan ()
Image Filtering



CImg< T > & blur (const float sigma, const bool cond=true)
CImg< T > & blur (const float sigmax, const float sigmay, const float sigmaz, const bool cond=true)
CImg< T > & blur_anisotropic (const float amplitude, const float sharpness=0.7f, const float anisotropy=0.3f, const float alpha=0.6f, const float sigma=1.1f, const float dl=0.8f, const float da=30, const float gauss_prec=2, const unsigned int interpolation_type=0, const bool fast_approx=true, const float geom_factor=1)
template<typename tm >
CImg< T > & blur_anisotropic (const CImg< tm > &mask, const float amplitude, const float sharpness=0.7f, const float anisotropy=0.3f, const float alpha=0.6f, const float sigma=1.1f, const float dl=0.8f, const float da=30, const float gauss_prec=2, const unsigned int interpolation_type=0, const bool fast_approx=true, const float geom_factor=1)
template<typename t >
CImg< T > & blur_anisotropic (const CImg< t > &G, const float amplitude=60, const float dl=0.8f, const float da=30, const float gauss_prec=2, const unsigned int interpolation_type=0, const bool fast_approx=true)
CImg< T > & blur_bilateral (const float sigmas, const float sigmar, const int bgrids=-33, const int bgridr=32, const bool interpolation_type=true)
CImg< T > & blur_bilateral (const float sigmax, const float sigmay, const float sigmaz, const float sigmar, const int bgridx, const int bgridy, const int bgridz, const int bgridr, const bool interpolation_type=true)
CImg< T > & blur_median (const unsigned int n)
CImg< T > & blur_patch (const unsigned int patch_size, const float sigma_p, const float sigma_s=10, const unsigned int lookup_size=4, const bool fast_approx=true)
template<typename t >
CImg< T > & convolve (const CImg< t > &mask, const unsigned int cond=1, const bool weighted_convol=false)
template<typename t >
CImg< T > & correlate (const CImg< t > &mask, const unsigned int cond=1, const bool weighted_correl=false)
CImg< T > & deriche (const float sigma, const int order=0, const char axis='x', const bool cond=true)
CImg< T > & dilate (const unsigned int n, const unsigned int cond=1)
template<typename t >
CImg< T > & dilate (const CImg< t > &mask, const unsigned int cond=1, const bool weighted_dilatation=false)
CImg< T > & displacement_field (const CImg< T > &target, const float smooth=0.1f, const float precision=0.1f, const unsigned int nb_scales=0, const unsigned int itermax=10000)
CImg< T > & erode (const unsigned int n, const unsigned int cond=1)
template<typename t >
CImg< T > & erode (const CImg< t > &mask, const unsigned int cond=1, const bool weighted_erosion=false)
CImg< Tfloat > get_blur (const float sigma, const bool cond=true) const
CImg< Tfloat > get_blur (const float sigmax, const float sigmay, const float sigmaz, const bool cond=true) const
CImg< T > get_blur_anisotropic (const float amplitude, const float sharpness=0.7f, const float anisotropy=0.3f, const float alpha=0.6f, const float sigma=1.1f, const float dl=0.8f, const float da=30, const float gauss_prec=2, const unsigned int interpolation_type=0, const bool fast_approx=true, const float geom_factor=1) const
template<typename tm >
CImg< T > get_blur_anisotropic (const CImg< tm > &mask, const float amplitude, const float sharpness=0.7f, const float anisotropy=0.3f, const float alpha=0.6f, const float sigma=1.1f, const float dl=0.8f, const float da=30, const float gauss_prec=2, const unsigned int interpolation_type=0, const bool fast_approx=true, const float geom_factor=1) const
template<typename t >
CImg< T > get_blur_anisotropic (const CImg< t > &G, const float amplitude=60, const float dl=0.8f, const float da=30, const float gauss_prec=2, const unsigned int interpolation_type=0, const bool fast_approx=true) const
CImg< T > get_blur_bilateral (const float sigmas, const float sigmar, const int bgrids=-33, const int bgridr=32, const bool interpolation_type=true) const
CImg< T > get_blur_bilateral (const float sigmax, const float sigmay, const float sigmaz, const float sigmar, const int bgridx, const int bgridy, const int bgridz, const int bgridr, const bool interpolation_type=true) const
CImg< T > get_blur_median (const unsigned int n)
CImg< T > get_blur_patch (const unsigned int patch_size, const float sigma_p, const float sigma_s=10, const unsigned int lookup_size=4, const bool fast_approx=true) const
template<typename t >
CImg< typename cimg::superset2
< T, t, float >::type > 
get_convolve (const CImg< t > &mask, const unsigned int cond=1, const bool weighted_convol=false) const
template<typename t >
CImg< typename cimg::superset2
< T, t, float >::type > 
get_correlate (const CImg< t > &mask, const unsigned int cond=1, const bool weighted_correl=false) const
CImg< Tfloat > get_deriche (const float sigma, const int order=0, const char axis='x', const bool cond=true) const
CImg< T > get_dilate (const unsigned int n, const unsigned int cond=1) const
template<typename t >
CImg< typename cimg::superset
< T, t >::type > 
get_dilate (const CImg< t > &mask, const unsigned int cond=1, const bool weighted_dilatation=false) const
CImg< Tfloat > get_displacement_field (const CImg< T > &target, const float smoothness=0.1f, const float precision=0.1f, const unsigned int nb_scales=0, const unsigned int itermax=10000) const
CImg< T > get_erode (const unsigned int n, const unsigned int cond=1) const
template<typename t >
CImg< typename cimg::superset
< T, t >::type > 
get_erode (const CImg< t > &mask, const unsigned int cond=1, const bool weighted_erosion=false) const
CImgList< Tfloat > get_FFT (const bool invert=false) const
CImgList< Tfloat > get_FFT (const char axis, const bool invert=false) const
CImg< Tfloat > get_haar (const bool invert=false, const unsigned int nb_scales=1) const
CImg< Tfloat > get_haar (const char axis, const bool invert=false, const unsigned int nb_scales=1) const
CImg< T > get_noise (const double sigma, const unsigned int noise_type=0) const
CImg< T > get_sharpen (const float amplitude, const bool sharpen_type=false, const float edge=1, const float alpha=0, const float sigma=0) const
CImg< T > & haar (const bool invert=false, const unsigned int nb_scales=1)
CImg< T > & haar (const char axis, const bool invert=false, const unsigned int nb_scales=1)
CImg< T > & noise (const double sigma, const unsigned int noise_type=0)
CImg< T > & sharpen (const float amplitude, const bool sharpen_type=false, const float edge=1, const float alpha=0, const float sigma=0)
Arithmetic and Boolean Operators



template<typename t >
bool operator!= (const CImg< t > &img) const
CImg< T > operator% (const T val) const
template<typename t >
CImg< typename cimg::superset
< T, t >::type > 
operator% (const CImg< t > &img) const
template<typename t >
CImg< T > & operator%= (const CImg< t > &img)
CImg< T > & operator%= (const T val)
CImg< T > operator& (const T val) const
template<typename t >
CImg< typename cimg::superset
< T, t >::type > 
operator& (const CImg< t > &img) const
CImg< T > & operator&= (const T val)
template<typename t >
CImg< T > & operator&= (const CImg< t > &img)
template<typename t >
CImg< T > & operator*= (const CImg< t > &img)
template<typename t >
CImg< T > & operator*= (const t val)
CImg< T > operator+ () const
CImg< T > operator++ (int)
CImg< T > & operator++ ()
template<typename t >
CImg< T > & operator+= (const CImg< t > &img)
template<typename t >
CImg< T > & operator+= (const t val)
CImg< T > operator- () const
CImg< T > operator-- (int)
CImg< T > & operator-- ()
template<typename t >
CImg< T > & operator-= (const CImg< t > &img)
template<typename t >
CImg< T > & operator-= (const t val)
template<typename t >
CImg< T > & operator/= (const CImg< t > &img)
template<typename t >
CImg< T > & operator/= (const t val)
template<typename t >
CImgList< typename
cimg::superset< T, t >::type > 
operator<< (const CImgList< t > &list) const
template<typename t >
CImgList< typename
cimg::superset< T, t >::type > 
operator<< (const CImg< t > &img) const
CImg< T > operator<< (const int n) const
CImg< T > & operator<<= (const int n)
CImg< T > & operator= (const T val)
CImg< T > & operator= (const T *buf)
CImg< T > & operator= (const CImg< T > &img)
template<typename t >
CImg< T > & operator= (const CImg< t > &img)
template<typename t >
bool operator== (const CImg< t > &img) const
const CImg< T > & operator>> (CImgDisplay &disp) const
template<typename t >
CImgList< t > & operator>> (const CImgList< t > &list) const
template<typename t >
CImgList< typename
cimg::superset< T, t >::type > 
operator>> (const CImg< t > &img) const
CImg< T > operator>> (const int n) const
CImg< T > & operator>>= (const int n)
CImg< T > operator^ (const T val) const
template<typename t >
CImg< typename cimg::superset
< T, t >::type > 
operator^ (const CImg< t > &img) const
CImg< T > & operator^= (const T val)
template<typename t >
CImg< T > & operator^= (const CImg< t > &img)
CImg< T > operator| (const T val) const
template<typename t >
CImg< typename cimg::superset
< T, t >::type > 
operator| (const CImg< t > &img) const
CImg< T > & operator|= (const T val)
template<typename t >
CImg< T > & operator|= (const CImg< t > &img)
CImg< T > operator~ () const

Public Attributes

T * data
unsigned int depth
unsigned int dim
unsigned int height
bool is_shared
unsigned int width

Image Informations



T _at (const int off) const
T & _at (const int off)
T _atX (const int x, const int y=0, const int z=0, const int v=0) const
T & _atX (const int x, const int y=0, const int z=0, const int v=0)
T _atXY (const int x, const int y, const int z=0, const int v=0) const
T & _atXY (const int x, const int y, const int z=0, const int v=0)
T _atXYZ (const int x, const int y, const int z, const int v=0) const
T & _atXYZ (const int x, const int y, const int z, const int v=0)
T _atXYZV (const int x, const int y, const int z, const int v) const
T & _atXYZV (const int x, const int y, const int z, const int v)
Tfloat _cubic_atX (const float fx, const int y=0, const int z=0, const int v=0) const
Tfloat _cubic_atXY (const float fx, const float fy, const int z=0, const int v=0) const
Tfloat _linear_atX (const float fx, const int y=0, const int z=0, const int v=0) const
Tfloat _linear_atXY (const float fx, const float fy, const int z=0, const int v=0) const
Tfloat _linear_atXYZ (const float fx, const float fy=0, const float fz=0, const int v=0) const
Tfloat _linear_atXYZV (const float fx, const float fy=0, const float fz=0, const float fv=0) const
T at (const int off) const
T & at (const int off)
T at (const int off, const T out_val) const
T & at (const int off, const T out_val)
T atX (const int x, const int y=0, const int z=0, const int v=0) const
T & atX (const int x, const int y=0, const int z=0, const int v=0)
T atX (const int x, const int y, const int z, const int v, const T out_val) const
T & atX (const int x, const int y, const int z, const int v, const T out_val)
T atXY (const int x, const int y, const int z=0, const int v=0) const
T & atXY (const int x, const int y, const int z=0, const int v=0)
T atXY (const int x, const int y, const int z, const int v, const T out_val) const
T & atXY (const int x, const int y, const int z, const int v, const T out_val)
T atXYZ (const int x, const int y, const int z, const int v=0) const
T & atXYZ (const int x, const int y, const int z, const int v=0)
T atXYZ (const int x, const int y, const int z, const int v, const T out_val) const
T & atXYZ (const int x, const int y, const int z, const int v, const T out_val)
T atXYZV (const int x, const int y, const int z, const int v) const
T & atXYZV (const int x, const int y, const int z, const int v)
T atXYZV (const int x, const int y, const int z, const int v, const T out_val) const
T & atXYZV (const int x, const int y, const int z, const int v, const T out_val)
const T & back () const
T & back ()
const_iterator begin () const
iterator begin ()
bool contains (const T &pixel) const
template<typename t >
bool contains (const T &pixel, t &x) const
template<typename t >
bool contains (const T &pixel, t &x, t &y) const
template<typename t >
bool contains (const T &pixel, t &x, t &y, t &z) const
template<typename t >
bool contains (const T &pixel, t &x, t &y, t &z, t &v) const
bool containsXYZV (const int x, const int y=0, const int z=0, const int v=0) const
Tfloat cubic_atX (const float fx, const int y=0, const int z=0, const int v=0) const
Tfloat cubic_atX (const float fx, const int y, const int z, const int v, const T out_val) const
Tfloat cubic_atXY (const float fx, const float fy, const int z=0, const int v=0) const
Tfloat cubic_atXY (const float fx, const float fy, const int z, const int v, const T out_val) const
Tfloat det () const
int dimv () const
int dimx () const
int dimy () const
int dimz () const
template<typename t >
Tfloat dot (const CImg< t > &img) const
const_iterator end () const
iterator end ()
T & first ()
const T & first () const
const T & front () const
T & front ()
CImg< Tfloat > get_stats (const unsigned int variance_method=1) const
bool is_empty () const
template<typename t >
bool is_overlapped (const CImg< t > &img) const
template<typename t >
bool is_sameV (const CImg< t > &img) const
bool is_sameV (const unsigned int dv) const
bool is_sameX (const CImgDisplay &disp) const
template<typename t >
bool is_sameX (const CImg< t > &img) const
bool is_sameX (const unsigned int dx) const
template<typename t >
bool is_sameXV (const CImg< t > &img) const
bool is_sameXV (const unsigned int dx, const unsigned int dv) const
bool is_sameXY (const CImgDisplay &disp) const
template<typename t >
bool is_sameXY (const CImg< t > &img) const
bool is_sameXY (const unsigned int dx, const unsigned int dy) const
template<typename t >
bool is_sameXYV (const CImg< t > &img) const
bool is_sameXYV (const unsigned int dx, const unsigned int dy, const unsigned int dv) const
template<typename t >
bool is_sameXYZ (const CImg< t > &img) const
bool is_sameXYZ (const unsigned int dx, const unsigned int dy, const unsigned int dz) const
template<typename t >
bool is_sameXYZV (const CImg< t > &img) const
bool is_sameXYZV (const unsigned int dx, const unsigned int dy, const unsigned int dz, const unsigned int dv) const
template<typename t >
bool is_sameXZ (const CImg< t > &img) const
bool is_sameXZ (const unsigned int dx, const unsigned int dz) const
template<typename t >
bool is_sameXZV (const CImg< t > &img) const
bool is_sameXZV (const unsigned int dx, const unsigned int dz, const unsigned int dv) const
bool is_sameY (const CImgDisplay &disp) const
template<typename t >
bool is_sameY (const CImg< t > &img) const
bool is_sameY (const unsigned int dy) const
template<typename t >
bool is_sameYV (const CImg< t > &img) const
bool is_sameYV (const unsigned int dy, const unsigned int dv) const
template<typename t >
bool is_sameYZ (const CImg< t > &img) const
bool is_sameYZ (const unsigned int dy, const unsigned int dz) const
template<typename t >
bool is_sameYZV (const CImg< t > &img) const
bool is_sameYZV (const unsigned int dy, const unsigned int dz, const unsigned int dv) const
template<typename t >
bool is_sameZ (const CImg< t > &img) const
bool is_sameZ (const unsigned int dz) const
template<typename t >
bool is_sameZV (const CImg< t > &img) const
bool is_sameZV (const unsigned int dz, const unsigned int dv) const
T kth_smallest (const unsigned int k) const
T & last ()
const T & last () const
Tfloat linear_atX (const float fx, const int y=0, const int z=0, const int v=0) const
Tfloat linear_atX (const float fx, const int y, const int z, const int v, const T out_val) const
Tfloat linear_atXY (const float fx, const float fy, const int z=0, const int v=0) const
Tfloat linear_atXY (const float fx, const float fy, const int z, const int v, const T out_val) const
Tfloat linear_atXYZ (const float fx, const float fy=0, const float fz=0, const int v=0) const
Tfloat linear_atXYZ (const float fx, const float fy, const float fz, const int v, const T out_val) const
Tfloat linear_atXYZV (const float fx, const float fy=0, const float fz=0, const float fv=0) const
Tfloat linear_atXYZV (const float fx, const float fy, const float fz, const float fv, const T out_val) const
T & max ()
const T & max () const
template<typename t >
T & maxmin (t &min_val)
template<typename t >
const T & maxmin (t &min_val) const
Tfloat mean () const
T median () const
T & min ()
const T & min () const
template<typename t >
T & minmax (t &max_val)
template<typename t >
const T & minmax (t &max_val) const
template<typename t >
Tfloat MSE (const CImg< t > &img) const
Tfloat norm (const int norm_type=2) const
long offset (const int x, const int y=0, const int z=0, const int v=0) const
 operator bool () const
const T & operator() (const unsigned int x, const unsigned int y=0, const unsigned int z=0, const unsigned int v=0) const
T & operator() (const unsigned int x, const unsigned int y=0, const unsigned int z=0, const unsigned int v=0)
const T & operator[] (const unsigned long off) const
T & operator[] (const unsigned long off)
const CImg< T > & print (const char *title=0, const bool display_stats=true) const
template<typename t >
Tfloat PSNR (const CImg< t > &img, const Tfloat valmax=(Tfloat) 255) const
const T * ptr (const unsigned int x, const unsigned int y=0, const unsigned int z=0, const unsigned int v=0) const
T * ptr (const unsigned int x, const unsigned int y=0, const unsigned int z=0, const unsigned int v=0)
const T * ptr () const
T * ptr ()
CImg & set_linear_atXY (const T &val, const float fx, const float fy=0, const int z=0, const int v=0, const bool add=false)
CImg & set_linear_atXYZ (const T &val, const float fx, const float fy=0, const float fz=0, const int v=0, const bool add=false)
unsigned long size () const
CImg< T > & stats (const unsigned int variance_method=1)
Tfloat sum () const
Tfloat trace () const
CImg< charT > value_string (const char separator=',', const unsigned int max_size=0) const
Tfloat variance (const unsigned int variance_method=1) const
template<typename t >
Tfloat variancemean (const unsigned int variance_method, t &mean) const
static const char * pixel_type ()

Usual Image Transformations



CImg< intT > _get_autocrop (const T value, const char axis) const
template<typename t >
CImg< t > _get_permute_axes (const char *permut, const t &) const
CImg< T > & append (const CImg< T > &img, const char axis, const char align='p')
template<typename t >
CImg< T > & autocrop (const CImg< t > &color, const char axis)
CImg< T > & autocrop (const T *const color, const char axis)
CImg< T > & autocrop (const T value, const char axis)
template<typename t >
CImg< T > & autocrop (const CImg< t > &color, const char *const axes="zyx")
CImg< T > & autocrop (const T *const color, const char *const axes="zyx")
CImg< T > & autocrop (const T value, const char *const axes="vzyx")
CImg< T > & channel (const unsigned int v0)
CImg< T > & channels (const unsigned int v0, const unsigned int v1)
CImg< T > & column (const unsigned int x0)
CImg< T > & columns (const unsigned int x0, const unsigned int x1)
CImg< T > & crop (const int x0, const int x1, const bool border_condition=false)
CImg< T > & crop (const int x0, const int y0, const int x1, const int y1, const bool border_condition=false)
CImg< T > & crop (const int x0, const int y0, const int z0, const int x1, const int y1, const int z1, const bool border_condition=false)
CImg< T > & crop (const int x0, const int y0, const int z0, const int v0, const int x1, const int y1, const int z1, const int v1, const bool border_condition=false)
CImg< T > & cut (const T a, const T b)
CImg< T > & dijkstra (const unsigned int starting_node, const unsigned int ending_node=~0U)
template<typename t >
CImg< T > & dijkstra (const unsigned int starting_node, const unsigned int ending_node, CImg< t > &previous)
CImg< T > & distance (const T isovalue, const float sizex=1, const float sizey=1, const float sizez=1, const bool compute_sqrt=true)
CImg< T > & distance_hamilton (const unsigned int nb_iter, const float band_size=0, const float precision=0.5f)
CImg< T > & equalize (const unsigned int nblevels, const T val_min=(T) 0, const T val_max=(T) 0)
template<typename t >
CImg< T > & fill (const CImg< t > &values, const bool repeat_pattern=true)
CImg< T > & fill (const char *const values, const bool repeat_pattern)
CImg< T > & fill (const T val0, const T val1, const T val2, const T val3, const T val4, const T val5, const T val6, const T val7, const T val8, const T val9, const T val10, const T val11, const T val12, const T val13, const T val14, const T val15)
CImg< T > & fill (const T val0, const T val1, const T val2, const T val3, const T val4, const T val5, const T val6, const T val7, const T val8, const T val9, const T val10, const T val11, const T val12, const T val13, const T val14)
CImg< T > & fill (const T val0, const T val1, const T val2, const T val3, const T val4, const T val5, const T val6, const T val7, const T val8, const T val9, const T val10, const T val11, const T val12, const T val13)
CImg< T > & fill (const T val0, const T val1, const T val2, const T val3, const T val4, const T val5, const T val6, const T val7, const T val8, const T val9, const T val10, const T val11, const T val12)
CImg< T > & fill (const T val0, const T val1, const T val2, const T val3, const T val4, const T val5, const T val6, const T val7, const T val8, const T val9, const T val10, const T val11)
CImg< T > & fill (const T val0, const T val1, const T val2, const T val3, const T val4, const T val5, const T val6, const T val7, const T val8, const T val9, const T val10)
CImg< T > & fill (const T val0, const T val1, const T val2, const T val3, const T val4, const T val5, const T val6, const T val7, const T val8, const T val9)
CImg< T > & fill (const T val0, const T val1, const T val2, const T val3, const T val4, const T val5, const T val6, const T val7, const T val8)
CImg< T > & fill (const T val0, const T val1, const T val2, const T val3, const T val4, const T val5, const T val6, const T val7)
CImg< T > & fill (const T val0, const T val1, const T val2, const T val3, const T val4, const T val5, const T val6)
CImg< T > & fill (const T val0, const T val1, const T val2, const T val3, const T val4, const T val5)
CImg< T > & fill (const T val0, const T val1, const T val2, const T val3, const T val4)
CImg< T > & fill (const T val0, const T val1, const T val2, const T val3)
CImg< T > & fill (const T val0, const T val1, const T val2)
CImg< T > & fill (const T val0, const T val1)
CImg< T > & fill (const T val)
CImg< T > & fillV (const unsigned int x, const unsigned int y, const unsigned int z, const double a0,...)
CImg< T > & fillV (const unsigned int x, const unsigned int y, const unsigned int z, const int a0,...)
CImg< T > & fillX (const unsigned int y, const unsigned int z, const unsigned int v, const double a0,...)
CImg< T > & fillX (const unsigned int y, const unsigned int z, const unsigned int v, const int a0,...)
CImg< T > & fillY (const unsigned int x, const unsigned int z, const unsigned int v, const double a0,...)
CImg< T > & fillY (const unsigned int x, const unsigned int z, const unsigned int v, const int a0,...)
CImg< T > & fillZ (const unsigned int x, const unsigned int y, const unsigned int v, const double a0,...)
CImg< T > & fillZ (const unsigned int x, const unsigned int y, const unsigned int v, const int a0,...)
CImg< T > get_append (const CImg< T > &img, const char axis, const char align='p') const
template<typename t >
CImg< T > get_autocrop (const CImg< t > &color, const char axis) const
CImg< T > get_autocrop (const T *const color, const char axis) const
CImg< T > get_autocrop (const T value, const char axis) const
template<typename t >
CImg< T > get_autocrop (const CImg< t > &color, const char *const axes="zyx") const
CImg< T > get_autocrop (const T *const color, const char *const axes="zyx") const
CImg< T > get_autocrop (const T value, const char *const axes="vzyx") const
CImg< T > get_channel (const unsigned int v0) const
CImg< T > get_channels (const unsigned int v0, const unsigned int v1) const
CImg< T > get_column (const unsigned int x0) const
CImg< T > get_columns (const unsigned int x0, const unsigned int x1) const
CImg< T > get_crop (const int x0, const int x1, const bool border_condition=false) const
CImg< T > get_crop (const int x0, const int y0, const int x1, const int y1, const bool border_condition=false) const
CImg< T > get_crop (const int x0, const int y0, const int z0, const int x1, const int y1, const int z1, const bool border_condition=false) const
CImg< T > get_crop (const int x0, const int y0, const int z0, const int v0, const int x1, const int y1, const int z1, const int v1, const bool border_condition=false) const
CImg< T > get_cut (const T a, const T b) const
CImg< Tfloat > get_dijkstra (const unsigned int starting_node, const unsigned int ending_node=~0U) const
template<typename t >
CImg< T > get_dijkstra (const unsigned int starting_node, const unsigned int ending_node, CImg< t > &previous) const
CImg< floatT > get_distance (const T isovalue, const float sizex=1, const float sizey=1, const float sizez=1, const bool compute_sqrt=true) const
CImg< Tfloat > get_distance_hamilton (const unsigned int nb_iter, const float band_size=0, const float precision=0.5f) const
CImg< T > get_equalize (const unsigned int nblevels, const T val_min=(T) 0, const T val_max=(T) 0) const
template<typename t >
CImg< T > get_fill (const CImg< t > &values, const bool repeat_pattern=true) const
CImg< T > get_fill (const char *const values, const bool repeat_pattern) const
CImg< T > get_fill (const T val0, const T val1, const T val2, const T val3, const T val4, const T val5, const T val6, const T val7, const T val8, const T val9, const T val10, const T val11, const T val12, const T val13, const T val14, const T val15) const
CImg< T > get_fill (const T val0, const T val1, const T val2, const T val3, const T val4, const T val5, const T val6, const T val7, const T val8, const T val9, const T val10, const T val11, const T val12, const T val13, const T val14) const
CImg< T > get_fill (const T val0, const T val1, const T val2, const T val3, const T val4, const T val5, const T val6, const T val7, const T val8, const T val9, const T val10, const T val11, const T val12, const T val13) const
CImg< T > get_fill (const T val0, const T val1, const T val2, const T val3, const T val4, const T val5, const T val6, const T val7, const T val8, const T val9, const T val10, const T val11, const T val12) const
CImg< T > get_fill (const T val0, const T val1, const T val2, const T val3, const T val4, const T val5, const T val6, const T val7, const T val8, const T val9, const T val10, const T val11) const
CImg< T > get_fill (const T val0, const T val1, const T val2, const T val3, const T val4, const T val5, const T val6, const T val7, const T val8, const T val9, const T val10) const
CImg< T > get_fill (const T val0, const T val1, const T val2, const T val3, const T val4, const T val5, const T val6, const T val7, const T val8, const T val9) const
CImg< T > get_fill (const T val0, const T val1, const T val2, const T val3, const T val4, const T val5, const T val6, const T val7, const T val8) const
CImg< T > get_fill (const T val0, const T val1, const T val2, const T val3, const T val4, const T val5, const T val6, const T val7) const
CImg< T > get_fill (const T val0, const T val1, const T val2, const T val3, const T val4, const T val5, const T val6) const
CImg< T > get_fill (const T val0, const T val1, const T val2, const T val3, const T val4, const T val5) const
CImg< T > get_fill (const T val0, const T val1, const T val2, const T val3, const T val4) const
CImg< T > get_fill (const T val0, const T val1, const T val2, const T val3) const
CImg< T > get_fill (const T val0, const T val1, const T val2) const
CImg< T > get_fill (const T val0, const T val1) const
CImg< T > get_fill (const T val) const
CImgList< Tfloat > get_gradient (const char *const axes=0, const int scheme=3) const
CImgList< Tfloat > get_hessian (const char *const axes=0) const
CImg< floatT > get_histogram (const unsigned int nblevels, const T val_min=(T) 0, const T val_max=(T) 0) const
CImg< T > get_invert_endianness () const
CImg< uintT > get_label_regions () const
CImg< T > get_line (const unsigned int y0) const
CImg< T > get_lines (const unsigned int y0, const unsigned int y1) const
CImg< T > get_mirror (const char axis) const
CImg< T > get_normalize (const T a, const T b) const
CImg< T > get_permute_axes (const char *order) const
CImg< Tfloat > get_pointwise_norm (int norm_type=2) const
CImg< Tfloat > get_pointwise_orientation () const
CImg< T > get_projections2d (const unsigned int x0, const unsigned int y0, const unsigned int z0, const int dx=-100, const int dy=-100, const int dz=-100) const
CImg< T > get_quantize (const unsigned int n, const bool keep_range=true) const
CImg< T > get_resize (const CImgDisplay &disp, const int interpolation_type=1, const int border_condition=-1, const bool center=false) const
template<typename t >
CImg< T > get_resize (const CImg< t > &src, const int interpolation_type=1, const int border_condition=-1, const bool center=false) const
CImg< T > get_resize (const int pdx, const int pdy=-100, const int pdz=-100, const int pdv=-100, const int interpolation_type=1, const int border_condition=-1, const bool center=false) const
CImg< T > get_resize_doubleXY () const
CImg< T > get_resize_halfXY () const
CImg< T > get_resize_tripleXY () const
CImg< T > get_rotate (const float angle, const float cx, const float cy, const float zoom, const unsigned int border_conditions=3, const unsigned int interpolation=1) const
CImg< T > get_rotate (const float angle, const unsigned int border_conditions=3, const unsigned int interpolation=1) const
const CImg< T > get_shared () const
CImg< T > get_shared ()
const CImg< T > get_shared_channel (const unsigned int v0) const
CImg< T > get_shared_channel (const unsigned int v0)
const CImg< T > get_shared_channels (const unsigned int v0, const unsigned int v1) const
CImg< T > get_shared_channels (const unsigned int v0, const unsigned int v1)
const CImg< T > get_shared_line (const unsigned int y0, const unsigned int z0=0, const unsigned int v0=0) const
CImg< T > get_shared_line (const unsigned int y0, const unsigned int z0=0, const unsigned int v0=0)
const CImg< T > get_shared_lines (const unsigned int y0, const unsigned int y1, const unsigned int z0=0, const unsigned int v0=0) const
CImg< T > get_shared_lines (const unsigned int y0, const unsigned int y1, const unsigned int z0=0, const unsigned int v0=0)
const CImg< T > get_shared_plane (const unsigned int z0, const unsigned int v0=0) const
CImg< T > get_shared_plane (const unsigned int z0, const unsigned int v0=0)
const CImg< T > get_shared_planes (const unsigned int z0, const unsigned int z1, const unsigned int v0=0) const
CImg< T > get_shared_planes (const unsigned int z0, const unsigned int z1, const unsigned int v0=0)
const CImg< T > get_shared_points (const unsigned int x0, const unsigned int x1, const unsigned int y0=0, const unsigned int z0=0, const unsigned int v0=0) const
CImg< T > get_shared_points (const unsigned int x0, const unsigned int x1, const unsigned int y0=0, const unsigned int z0=0, const unsigned int v0=0)
CImg< T > get_slice (const unsigned int z0) const
CImg< T > get_slices (const unsigned int z0, const unsigned int z1) const
CImgList< T > get_split (const T value, const bool keep_values, const bool shared) const
CImgList< T > get_split (const char axis, const unsigned int nb=0) const
CImg< Tfloat > get_structure_tensor (const bool central_scheme=false) const
CImg< T > get_threshold (const T value, const bool soft=false, const bool strict=false) const
CImg< T > get_translate (const int deltax, const int deltay=0, const int deltaz=0, const int deltav=0, const int border_condition=0) const
template<typename t >
CImg< T > get_warp (const CImg< t > &warp, const bool relative=false, const bool interpolation=true, const unsigned int border_conditions=0) const
CImg< T > & histogram (const unsigned int nblevels, const T val_min=(T) 0, const T val_max=(T) 0)
CImg< T > & invert_endianness ()
CImg< T > & label_regions ()
CImg< T > & line (const unsigned int y0)
CImg< T > & lines (const unsigned int y0, const unsigned int y1)
CImg< T > & mirror (const char axis)
CImg< T > & normalize (const T a, const T b)
CImg< T > & permute_axes (const char *order)
CImg< T > & pointwise_norm (int norm_type=2)
CImg< T > & pointwise_orientation ()
CImg< T > & projections2d (const unsigned int x0, const unsigned int y0, const unsigned int z0, const int dx=-100, const int dy=-100, const int dz=-100)
CImg< T > & quantize (const unsigned int n, const bool keep_range=true)
CImg< T > & resize (const CImgDisplay &disp, const int interpolation_type=1, const int border_condition=-1, const bool center=false)
template<typename t >
CImg< T > & resize (const CImg< t > &src, const int interpolation_type=1, const int border_condition=-1, const bool center=false)
CImg< T > & resize (const int pdx, const int pdy=-100, const int pdz=-100, const int pdv=-100, const int interpolation_type=1, const int border_condition=-1, const bool center=false)
CImg< T > & resize_doubleXY ()
CImg< T > & resize_halfXY ()
CImg< T > & resize_tripleXY ()
CImg< T > & rotate (const float angle, const float cx, const float cy, const float zoom, const unsigned int border_conditions=3, const unsigned int interpolation=1)
CImg< T > & rotate (const float angle, const unsigned int border_conditions=3, const unsigned int interpolation=1)
CImg< T > & slice (const unsigned int z0)
CImg< T > & slices (const unsigned int z0, const unsigned int z1)
CImg< T > & structure_tensor (const bool central_scheme=false)
CImg< T > & threshold (const T value, const bool soft=false, const bool strict=false)
CImg< T > & translate (const int deltax, const int deltay=0, const int deltaz=0, const int deltav=0, const int border_condition=0)
template<typename t >
CImg< T > & warp (const CImg< t > &warp, const bool relative=false, const bool interpolation=true, const unsigned int border_conditions=0)
static float _distance_f (const int x, const int i, const float gi2, const float fact)
static int _distance_sep (const int i, const int u, const int gi2, const int gu2, const float fact)
template<typename tf , typename t >
static CImg< T > dijkstra (const tf &distance, const unsigned int nb_nodes, const unsigned int starting_node, const unsigned int ending_node=~0U)
template<typename tf , typename t >
static CImg< T > dijkstra (const tf &distance, const unsigned int nb_nodes, const unsigned int starting_node, const unsigned int ending_node, CImg< t > &previous)

Image File Loading



CImg< T > & _load_analyze (cimg_std::FILE *const file, const char *const filename, float *const voxsize=0)
CImg< T > & _load_ascii (cimg_std::FILE *const file, const char *const filename)
CImg< T > & _load_bmp (cimg_std::FILE *const file, const char *const filename)
CImg< T > & _load_dlm (cimg_std::FILE *const file, const char *const filename)
CImg< T > & _load_inr (cimg_std::FILE *const file, const char *const filename, float *const voxsize)
CImg< T > & _load_jpeg (cimg_std::FILE *const file, const char *const filename)
template<typename tf , typename tc >
CImg< T > & _load_off (cimg_std::FILE *const file, const char *const filename, CImgList< tf > &primitives, CImgList< tc > &colors, const bool invert_faces)
CImg< T > & _load_pandore (cimg_std::FILE *const file, const char *const filename)
CImg< T > & _load_png (cimg_std::FILE *const file, const char *const filename)
CImg< T > & _load_pnm (cimg_std::FILE *const file, const char *const filename)
CImg< T > & _load_raw (cimg_std::FILE *const file, const char *const filename, const unsigned int sizex, const unsigned int sizey, const unsigned int sizez, const unsigned int sizev, const bool multiplexed, const bool invert_endianness)
CImg< T > & _load_rgb (cimg_std::FILE *const file, const char *const filename, const unsigned int dimw, const unsigned int dimh)
CImg< T > & _load_rgba (cimg_std::FILE *const file, const char *const filename, const unsigned int dimw, const unsigned int dimh)
CImg< T > & load (const char *const filename)
CImg< T > & load_analyze (cimg_std::FILE *const file, float *const voxsize=0)
CImg< T > & load_analyze (const char *const filename, float *const voxsize=0)
CImg< T > & load_ascii (cimg_std::FILE *const file)
CImg< T > & load_ascii (const char *const filename)
CImg< T > & load_bmp (cimg_std::FILE *const file)
CImg< T > & load_bmp (const char *const filename)
CImg< T > & load_cimg (cimg_std::FILE *const file, const unsigned int n0, const unsigned int n1, const unsigned int x0, const unsigned int y0, const unsigned int z0, const unsigned int v0, const unsigned int x1, const unsigned int y1, const unsigned int z1, const unsigned int v1, const char axis='z', const char align='p')
CImg< T > & load_cimg (const char *const filename, const unsigned int n0, const unsigned int n1, const unsigned int x0, const unsigned int y0, const unsigned int z0, const unsigned int v0, const unsigned int x1, const unsigned int y1, const unsigned int z1, const unsigned int v1, const char axis='z', const char align='p')
CImg< T > & load_cimg (cimg_std::FILE *const file, const char axis='z', const char align='p')
CImg< T > & load_cimg (const char *const filename, const char axis='z', const char align='p')
CImg< T > & load_dcraw_external (const char *const filename)
CImg< T > & load_dlm (cimg_std::FILE *const file)
CImg< T > & load_dlm (const char *const filename)
CImg< T > & load_ffmpeg (const char *const filename, const unsigned int first_frame=0, const unsigned int last_frame=~0U, const unsigned int step_frame=1, const bool pixel_format=true, const bool resume=false, const char axis='z', const char align='p')
CImg< T > & load_ffmpeg_external (const char *const filename, const char axis='z', const char align='p')
CImg< T > & load_graphicsmagick_external (const char *const filename)
CImg< T > & load_gzip_external (const char *const filename)
CImg< T > & load_imagemagick_external (const char *const filename)
CImg< T > & load_inr (cimg_std::FILE *const file, float *const voxsize=0)
CImg< T > & load_inr (const char *const filename, float *const voxsize=0)
CImg< T > & load_jpeg (cimg_std::FILE *const file)
CImg< T > & load_jpeg (const char *const filename)
CImg< T > & load_magick (const char *const filename)
CImg< T > & load_medcon_external (const char *const filename)
template<typename tf , typename tc >
CImg< T > & load_off (cimg_std::FILE *const file, CImgList< tf > &primitives, CImgList< tc > &colors, const bool invert_faces=false)
template<typename tf , typename tc >
CImg< T > & load_off (const char *const filename, CImgList< tf > &primitives, CImgList< tc > &colors, const bool invert_faces=false)
CImg< T > & load_other (const char *const filename)
CImg< T > & load_pandore (cimg_std::FILE *const file)
CImg< T > & load_pandore (const char *const filename)
CImg< T > & load_parrec (const char *const filename, const char axis='v', const char align='p')
CImg< T > & load_png (cimg_std::FILE *const file)
CImg< T > & load_png (const char *const filename)
CImg< T > & load_pnm (cimg_std::FILE *const file)
CImg< T > & load_pnm (const char *const filename)
CImg< T > & load_raw (cimg_std::FILE *const file, const unsigned int sizex, const unsigned int sizey=1, const unsigned int sizez=1, const unsigned int sizev=1, const bool multiplexed=false, const bool invert_endianness=false)
CImg< T > & load_raw (const char *const filename, const unsigned int sizex, const unsigned int sizey=1, const unsigned int sizez=1, const unsigned int sizev=1, const bool multiplexed=false, const bool invert_endianness=false)
CImg< T > & load_rgb (cimg_std::FILE *const file, const unsigned int dimw, const unsigned int dimh=1)
CImg< T > & load_rgb (const char *const filename, const unsigned int dimw, const unsigned int dimh=1)
CImg< T > & load_rgba (cimg_std::FILE *const file, const unsigned int dimw, const unsigned int dimh=1)
CImg< T > & load_rgba (const char *const filename, const unsigned int dimw, const unsigned int dimh=1)
CImg< T > & load_tiff (const char *const filename, const unsigned int first_frame=0, const unsigned int last_frame=~0U, const unsigned int step_frame=1)
CImg< T > & load_yuv (cimg_std::FILE *const file, const unsigned int sizex, const unsigned int sizey=1, const unsigned int first_frame=0, const unsigned int last_frame=~0U, const unsigned int step_frame=1, const bool yuv2rgb=true, const char axis='z', const char align='p')
CImg< T > & load_yuv (const char *const filename, const unsigned int sizex, const unsigned int sizey=1, const unsigned int first_frame=0, const unsigned int last_frame=~0U, const unsigned int step_frame=1, const bool yuv2rgb=true, const char axis='z', const char align='p')
static void _load_inr_header (cimg_std::FILE *file, int out[8], float *const voxsize)
static CImg< T > get_load (const char *const filename)
static CImg< T > get_load_analyze (cimg_std::FILE *const file, float *const voxsize=0)
static CImg< T > get_load_analyze (const char *const filename, float *const voxsize=0)
static CImg< T > get_load_ascii (cimg_std::FILE *const file)
static CImg< T > get_load_ascii (const char *const filename)
static CImg< T > get_load_bmp (cimg_std::FILE *const file)
static CImg< T > get_load_bmp (const char *const filename)
static CImg< T > get_load_cimg (cimg_std::FILE *const file, const unsigned int n0, const unsigned int n1, const unsigned int x0, const unsigned int y0, const unsigned int z0, const unsigned int v0, const unsigned int x1, const unsigned int y1, const unsigned int z1, const unsigned int v1, const char axis='z', const char align='p')
static CImg< T > get_load_cimg (const char *const filename, const unsigned int n0, const unsigned int n1, const unsigned int x0, const unsigned int y0, const unsigned int z0, const unsigned int v0, const unsigned int x1, const unsigned int y1, const unsigned int z1, const unsigned int v1, const char axis='z', const char align='p')
static CImg< T > get_load_cimg (cimg_std::FILE *const file, const char axis='z', const char align='p')
static CImg< T > get_load_cimg (const char *const filename, const char axis='z', const char align='p')
static CImg< T > get_load_dcraw_external (const char *const filename)
static CImg< T > get_load_dlm (cimg_std::FILE *const file)
static CImg< T > get_load_dlm (const char *const filename)
static CImg< T > get_load_ffmpeg (const char *const filename, const unsigned int first_frame=0, const unsigned int last_frame=~0U, const unsigned int step_frame=1, const bool pixel_format=true, const bool resume=false, const char axis='z', const char align='p')
static CImg< T > get_load_ffmpeg_external (const char *const filename, const char axis='z', const char align='p')
static CImg< T > get_load_graphicsmagick_external (const char *const filename)
static CImg< T > get_load_gzip_external (const char *const filename)
static CImg< T > get_load_imagemagick_external (const char *const filename)
static CImg< T > get_load_inr (cimg_std::FILE *const file, float *voxsize=0)
static CImg< T > get_load_inr (const char *const filename, float *const voxsize=0)
static CImg< T > get_load_jpeg (cimg_std::FILE *const file)
static CImg< T > get_load_jpeg (const char *const filename)
static CImg< T > get_load_magick (const char *const filename)
static CImg< T > get_load_medcon_external (const char *const filename)
template<typename tf , typename tc >
static CImg< T > get_load_off (cimg_std::FILE *const file, CImgList< tf > &primitives, CImgList< tc > &colors, const bool invert_faces=false)
template<typename tf , typename tc >
static CImg< T > get_load_off (const char *const filename, CImgList< tf > &primitives, CImgList< tc > &colors, const bool invert_faces=false)
static CImg< T > get_load_other (const char *const filename)
static CImg< T > get_load_pandore (cimg_std::FILE *const file)
static CImg< T > get_load_pandore (const char *const filename)
static CImg< T > get_load_parrec (const char *const filename, const char axis='v', const char align='p')
static CImg< T > get_load_png (cimg_std::FILE *const file)
static CImg< T > get_load_png (const char *const filename)
static CImg< T > get_load_pnm (cimg_std::FILE *const file)
static CImg< T > get_load_pnm (const char *const filename)
static CImg< T > get_load_raw (cimg_std::FILE *const file, const unsigned int sizex, const unsigned int sizey=1, const unsigned int sizez=1, const unsigned int sizev=1, const bool multiplexed=false, const bool invert_endianness=false)
static CImg< T > get_load_raw (const char *const filename, const unsigned int sizex, const unsigned int sizey=1, const unsigned int sizez=1, const unsigned int sizev=1, const bool multiplexed=false, const bool invert_endianness=false)
static CImg< T > get_load_rgb (cimg_std::FILE *const file, const unsigned int dimw, const unsigned int dimh=1)
static CImg< T > get_load_rgb (const char *const filename, const unsigned int dimw, const unsigned int dimh=1)
static CImg< T > get_load_rgba (cimg_std::FILE *const file, const unsigned int dimw, const unsigned int dimh=1)
static CImg< T > get_load_rgba (const char *const filename, const unsigned int dimw, const unsigned int dimh=1)
static CImg< T > get_load_tiff (const char *const filename, const unsigned int first_frame=0, const unsigned int last_frame=~0U, const unsigned int step_frame=1)
static CImg< T > get_load_yuv (cimg_std::FILE *const file, const unsigned int sizex, const unsigned int sizey=1, const unsigned int first_frame=0, const unsigned int last_frame=~0U, const unsigned int step_frame=1, const bool yuv2rgb=true, const char axis='z', const char align='p')
static CImg< T > get_load_yuv (const char *const filename, const unsigned int sizex, const unsigned int sizey=1, const unsigned int first_frame=0, const unsigned int last_frame=~0U, const unsigned int step_frame=1, const bool yuv2rgb=true, const char axis='z', const char align='p')

Matrix and Vectors



template<typename t >
CImg< T > & _LU (CImg< t > &indx, bool &d)
template<typename t >
CImg< T > & _quicksort (const int min, const int max, CImg< t > &permutations, const bool increasing)
template<typename t , typename ti >
CImg< T > & _solve (const CImg< t > &A, const CImg< ti > &indx)
template<typename t >
CImg< T > & cross (const CImg< t > &img)
CImg< T > & diagonal ()
template<typename t >
const CImg< T > & eigen (CImg< t > &val, CImg< t > &vec) const
template<typename t >
CImg< typename cimg::superset
< T, t >::type > 
get_cross (const CImg< t > &img) const
CImg< T > get_diagonal () const
CImgList< Tfloat > get_eigen () const
CImg< T > get_identity_matrix () const
CImg< Tfloat > get_invert (const bool use_LU=true) const
CImg< T > get_matrix () const
CImg< T > get_matrix_at (const unsigned int x=0, const unsigned int y=0, const unsigned int z=0) const
template<typename t >
CImg< T > get_permute (const CImg< t > &permutation) const
CImg< Tfloat > get_pseudoinvert () const
CImg< T > get_sequence (const T a0, const T a1) const
template<typename t >
CImg< typename cimg::superset2
< T, t, float >::type > 
get_solve (const CImg< t > &A) const
template<typename t >
CImg< typename cimg::superset2
< T, t, float >::type > 
get_solve_tridiagonal (const CImg< t > &a, const CImg< t > &b, const CImg< t > &c) const
CImg< T > get_sort (const bool increasing=true) const
template<typename t >
CImg< T > get_sort (CImg< t > &permutations, const bool increasing=true) const
CImgList< Tfloat > get_SVD (const bool sorting=true) const
CImgList< Tfloat > get_symmetric_eigen () const
CImg< T > get_tensor () const
CImg< T > get_tensor_at (const unsigned int x, const unsigned int y=0, const unsigned int z=0) const
CImg< T > get_transpose () const
CImg< T > get_unroll (const char axis) const
CImg< T > get_vector () const
CImg< T > get_vector_at (const unsigned int x, const unsigned int y=0, const unsigned int z=0) const
CImg< T > & identity_matrix ()
CImg< T > & invert (const bool use_LU=true)
CImg< T > & matrix ()
template<typename t >
CImg< T > & permute (const CImg< t > &permutation)
CImg< T > & pseudoinvert ()
CImg< T > & sequence (const T a0, const T a1)
template<typename t >
CImg< T > & set_matrix_at (const CImg< t > &mat, const unsigned int x=0, const unsigned int y=0, const unsigned int z=0)
template<typename t >
CImg< T > & set_tensor_at (const CImg< t > &ten, const unsigned int x=0, const unsigned int y=0, const unsigned int z=0)
template<typename t >
CImg< T > & set_vector_at (const CImg< t > &vec, const unsigned int x, const unsigned int y=0, const unsigned int z=0)
template<typename t >
CImg< T > & solve (const CImg< t > &A)
template<typename t >
CImg< T > & solve_tridiagonal (const CImg< t > &a, const CImg< t > &b, const CImg< t > &c)
CImg< T > & sort (const bool increasing=true)
template<typename t >
CImg< T > & sort (CImg< t > &permutations, const bool increasing=true)
template<typename t >
const CImg< T > & SVD (CImgList< t > &USV) const
template<typename t >
const CImg< T > & SVD (CImg< t > &U, CImg< t > &S, CImg< t > &V, const bool sorting=true, const unsigned int max_iter=40, const float lambda=0) const
template<typename t >
const CImg< T > & symmetric_eigen (CImg< t > &val, CImg< t > &vec) const
CImg< T > & tensor ()
CImg< T > & transpose ()
CImg< T > & unroll (const char axis)
CImg< T > & vector ()
static CImg< T > diagonal (const T &a0, const T &a1, const T &a2, const T &a3, const T &a4)
static CImg< T > diagonal (const T &a0, const T &a1, const T &a2, const T &a3)
static CImg< T > diagonal (const T &a0, const T &a1, const T &a2)
static CImg< T > diagonal (const T &a0, const T &a1)
static CImg< T > diagonal (const T &a0)
static CImg< T > identity_matrix (const unsigned int N)
static CImg< T > matrix (const T &a0, const T &a1, const T &a2, const T &a3, const T &a4, const T &a5, const T &a6, const T &a7, const T &a8, const T &a9, const T &a10, const T &a11, const T &a12, const T &a13, const T &a14, const T &a15, const T &a16, const T &a17, const T &a18, const T &a19, const T &a20, const T &a21, const T &a22, const T &a23, const T &a24)
static CImg< T > matrix (const T &a0, const T &a1, const T &a2, const T &a3, const T &a4, const T &a5, const T &a6, const T &a7, const T &a8, const T &a9, const T &a10, const T &a11, const T &a12, const T &a13, const T &a14, const T &a15)
static CImg< T > matrix (const T &a0, const T &a1, const T &a2, const T &a3, const T &a4, const T &a5, const T &a6, const T &a7, const T &a8)
static CImg< T > matrix (const T &a0, const T &a1, const T &a2, const T &a3)
static CImg< T > matrix (const T &a0)
static CImg< T > rotation_matrix (const float x, const float y, const float z, const float w, const bool quaternion_data=false)
static CImg< T > sequence (const unsigned int N, const T a0, const T a1)
static CImg< T > tensor (const T &a1, const T &a2, const T &a3, const T &a4, const T &a5, const T &a6)
static CImg< T > tensor (const T &a1, const T &a2, const T &a3)
static CImg< T > tensor (const T &a1)
static CImg< T > vector (const T &a0, const T &a1, const T &a2, const T &a3, const T &a4, const T &a5, const T &a6, const T &a7, const T &a8, const T &a9, const T &a10, const T &a11, const T &a12, const T &a13, const T &a14, const T &a15)
static CImg< T > vector (const T &a0, const T &a1, const T &a2, const T &a3, const T &a4, const T &a5, const T &a6, const T &a7, const T &a8, const T &a9, const T &a10, const T &a11, const T &a12, const T &a13, const T &a14)
static CImg< T > vector (const T &a0, const T &a1, const T &a2, const T &a3, const T &a4, const T &a5, const T &a6, const T &a7, const T &a8, const T &a9, const T &a10, const T &a11, const T &a12, const T &a13)
static CImg< T > vector (const T &a0, const T &a1, const T &a2, const T &a3, const T &a4, const T &a5, const T &a6, const T &a7, const T &a8, const T &a9, const T &a10, const T &a11, const T &a12)
static CImg< T > vector (const T &a0, const T &a1, const T &a2, const T &a3, const T &a4, const T &a5, const T &a6, const T &a7, const T &a8, const T &a9, const T &a10, const T &a11)
static CImg< T > vector (const T &a0, const T &a1, const T &a2, const T &a3, const T &a4, const T &a5, const T &a6, const T &a7, const T &a8, const T &a9, const T &a10)
static CImg< T > vector (const T &a0, const T &a1, const T &a2, const T &a3, const T &a4, const T &a5, const T &a6, const T &a7, const T &a8, const T &a9)
static CImg< T > vector (const T &a0, const T &a1, const T &a2, const T &a3, const T &a4, const T &a5, const T &a6, const T &a7, const T &a8)
static CImg< T > vector (const T &a0, const T &a1, const T &a2, const T &a3, const T &a4, const T &a5, const T &a6, const T &a7)
static CImg< T > vector (const T &a0, const T &a1, const T &a2, const T &a3, const T &a4, const T &a5, const T &a6)
static CImg< T > vector (const T &a0, const T &a1, const T &a2, const T &a3, const T &a4, const T &a5)
static CImg< T > vector (const T &a0, const T &a1, const T &a2, const T &a3, const T &a4)
static CImg< T > vector (const T &a0, const T &a1, const T &a2, const T &a3)
static CImg< T > vector (const T &a0, const T &a1, const T &a2)
static CImg< T > vector (const T &a0, const T &a1)
static CImg< T > vector (const T &a0)

Image File Saving



const CImg< T > & _save_ascii (cimg_std::FILE *const file, const char *const filename) const
const CImg< T > & _save_bmp (cimg_std::FILE *const file, const char *const filename) const
const CImg< T > & _save_cpp (cimg_std::FILE *const file, const char *const filename) const
const CImg< T > & _save_dlm (cimg_std::FILE *const file, const char *const filename) const
const CImg< T > & _save_inr (cimg_std::FILE *const file, const char *const filename, const float *const voxsize) const
const CImg< T > & _save_jpeg (cimg_std::FILE *const file, const char *const filename, const unsigned int quality) const
template<typename tf , typename tc >
const CImg< T > & _save_off (cimg_std::FILE *const file, const char *const filename, const CImgList< tf > &primitives, const CImgList< tc > &colors, const bool invert_faces) const
const CImg< T > & _save_pandore (cimg_std::FILE *const file, const char *const filename, const unsigned int colorspace) const
unsigned int _save_pandore_header_length (unsigned int id, unsigned int *dims, const unsigned int colorspace) const
const CImg< T > & _save_png (cimg_std::FILE *const file, const char *const filename) const
const CImg< T > & _save_pnm (cimg_std::FILE *const file, const char *const filename) const
const CImg< T > & _save_raw (cimg_std::FILE *const file, const char *const filename, const bool multiplexed) const
const CImg< T > & _save_rgb (cimg_std::FILE *const file, const char *const filename) const
const CImg< T > & _save_rgba (cimg_std::FILE *const file, const char *const filename) const
const CImg< T > & save (const char *const filename, const int number=-1) const
const CImg< T > & save_analyze (const char *const filename, const float *const voxsize=0) const
const CImg< T > & save_ascii (cimg_std::FILE *const file) const
const CImg< T > & save_ascii (const char *const filename) const
const CImg< T > & save_bmp (cimg_std::FILE *const file) const
const CImg< T > & save_bmp (const char *const filename) const
const CImg< T > & save_cimg (cimg_std::FILE *const file, const unsigned int n0, const unsigned int x0, const unsigned int y0, const unsigned int z0, const unsigned int v0) const
const CImg< T > & save_cimg (const char *const filename, const unsigned int n0, const unsigned int x0, const unsigned int y0, const unsigned int z0, const unsigned int v0) const
const CImg< T > & save_cimg (cimg_std::FILE *const file, const bool compress=false) const
const CImg< T > & save_cimg (const char *const filename, const bool compress=false) const
const CImg< T > & save_cpp (cimg_std::FILE *const file) const
const CImg< T > & save_cpp (const char *const filename) const
const CImg< T > & save_dlm (cimg_std::FILE *const file) const
const CImg< T > & save_dlm (const char *const filename) const
const CImg< T > & save_ffmpeg (const char *const filename, const unsigned int first_frame=0, const unsigned int last_frame=~0U, const unsigned int fps=25) const
const CImg< T > & save_ffmpeg_external (const char *const filename, const unsigned int first_frame=0, const unsigned int last_frame=~0U, const char *const codec="mpeg2video") const
const CImg< T > & save_graphicsmagick_external (const char *const filename, const unsigned int quality=100) const
const CImg< T > & save_gzip_external (const char *const filename) const
const CImg< T > & save_imagemagick_external (const char *const filename, const unsigned int quality=100) const
const CImg< T > & save_inr (cimg_std::FILE *const file, const float *const voxsize=0) const
const CImg< T > & save_inr (const char *const filename, const float *const voxsize=0) const
const CImg< T > & save_jpeg (cimg_std::FILE *const file, const unsigned int quality=100) const
const CImg< T > & save_jpeg (const char *const filename, const unsigned int quality=100) const
const CImg< T > & save_magick (const char *const filename) const
const CImg< T > & save_medcon_external (const char *const filename) const
template<typename tf , typename tc >
const CImg< T > & save_off (cimg_std::FILE *const file, const CImgList< tf > &primitives, const CImgList< tc > &colors, const bool invert_faces=false) const
template<typename tf , typename tc >
const CImg< T > & save_off (const char *const filename, const CImgList< tf > &primitives, const CImgList< tc > &colors, const bool invert_faces=false) const
const CImg< T > & save_other (const char *const filename, const unsigned int quality=100) const
const CImg< T > & save_pandore (cimg_std::FILE *const file, const unsigned int colorspace=0) const
const CImg< T > & save_pandore (const char *const filename, const unsigned int colorspace=0) const
const CImg< T > & save_png (cimg_std::FILE *const file) const
const CImg< T > & save_png (const char *const filename) const
const CImg< T > & save_pnm (cimg_std::FILE *const file) const
const CImg< T > & save_pnm (const char *const filename) const
const CImg< T > & save_raw (cimg_std::FILE *const file, const bool multiplexed=false) const
const CImg< T > & save_raw (const char *const filename, const bool multiplexed=false) const
const CImg< T > & save_rgb (cimg_std::FILE *const file) const
const CImg< T > & save_rgb (const char *const filename) const
const CImg< T > & save_rgba (cimg_std::FILE *const file) const
const CImg< T > & save_rgba (const char *const filename) const
const CImg< T > & save_tiff (const char *const filename) const
const CImg< T > & save_yuv (cimg_std::FILE *const file, const bool rgb2yuv=true) const
const CImg< T > & save_yuv (const char *const filename, const bool rgb2yuv=true) const
static CImg< T > logo40x38 ()
static void save_empty_cimg (cimg_std::FILE *const file, const unsigned int dx, const unsigned int dy=1, const unsigned int dz=1, const unsigned int dv=1)
static void save_empty_cimg (const char *const filename, const unsigned int dx, const unsigned int dy=1, const unsigned int dz=1, const unsigned int dv=1)

Meshes and Triangulations



template<typename tf , typename tp , typename tff >
CImg< T > & append_object3d (CImgList< tf > &primitives, const CImg< tp > &obj_points, const CImgList< tff > &obj_primitives)
template<typename tf , typename tc , typename te >
CImg< floatT > get_elevation3d (CImgList< tf > &primitives, CImgList< tc > &colors, const CImg< te > &elevation) const
template<typename tf >
CImg< floatT > get_isovalue3d (CImgList< tf > &primitives, const float isovalue, const float resx=1, const float resy=1, const float resz=1, const bool invert_faces=false) const
CImg< Tfloat > get_resize_object3d () const
CImg< Tfloat > get_resize_object3d (const float sx, const float sy=-100, const float sz=-100) const
CImg< Tfloat > get_translate_object3d () const
CImg< Tfloat > get_translate_object3d (const float tx, const float ty=0, const float tz=0) const
CImg< T > resize_object3d () const
CImg< T > & resize_object3d (const float sx, const float sy=-100, const float sz=-100)
CImg< T > & translate_object3d ()
CImg< T > & translate_object3d (const float tx, const float ty=0, const float tz=0)
template<typename t >
static int _marching_cubes_indice (const unsigned int edge, const CImg< t > &indices1, const CImg< t > &indices2, const unsigned int x, const unsigned int y, const unsigned int nx, const unsigned int ny)
template<typename t >
static int _marching_squares_indice (const unsigned int edge, const CImg< t > &indices1, const CImg< t > &indices2, const unsigned int x, const unsigned int nx)
template<typename tf >
static CImg< floatT > cone3d (CImgList< tf > &primitives, const float radius=50, const float height=100, const unsigned int subdivisions=24, const bool symetrize=false)
template<typename tf >
static CImg< floatT > cube3d (CImgList< tf > &primitives, const float size=100)
template<typename tf >
static CImg< floatT > cuboid3d (CImgList< tf > &primitives, const float sizex=200, const float sizey=100, const float sizez=100)
template<typename tf >
static CImg< floatT > cylinder3d (CImgList< tf > &primitives, const float radius=50, const float height=100, const unsigned int subdivisions=24)
template<typename tf , typename t >
static CImg< floatT > ellipsoid3d (CImgList< tf > &primitives, const CImg< t > &tensor, const unsigned int subdivisions=3)
template<typename tf , typename tfunc >
static CImg< floatT > marching_cubes (CImgList< tf > &primitives, const tfunc &func, const float isovalue, const float x0, const float y0, const float z0, const float x1, const float y1, const float z1, const float resx, const float resy, const float resz, const bool invert_faces=false)
template<typename tf , typename tfunc >
static CImg< floatT > marching_squares (CImgList< tf > &primitives, const tfunc &func, const float isovalue, const float x0, const float y0, const float x1, const float y1, const float resx, const float resy)
template<typename tf >
static CImg< floatT > plane3d (CImgList< tf > &primitives, const float sizex=100, const float sizey=100, const unsigned int subdivisionsx=3, const unsigned int subdivisionsy=3, const bool double_sided=false)
template<typename tf >
static CImg< floatT > sphere3d (CImgList< tf > &primitives, const float radius=50, const unsigned int subdivisions=3)
template<typename tf >
static CImg< floatT > torus3d (CImgList< tf > &primitives, const float radius1=100, const float radius2=30, const unsigned int subdivisions1=24, const unsigned int subdivisions2=12)

Color bases



CImg< T > & BayertoRGB (const unsigned int interpolation_type=3)
CImg< T > & CMYKtoCMY ()
CImg< T > & CMYKtoRGB ()
CImg< T > & CMYtoCMYK ()
CImg< T > & CMYtoRGB ()
CImg< Tuchar > get_BayertoRGB (const unsigned int interpolation_type=3) const
CImg< Tfloat > get_CMYKtoCMY () const
CImg< Tuchar > get_CMYKtoRGB () const
CImg< Tfloat > get_CMYtoCMYK () const
CImg< Tuchar > get_CMYtoRGB () const
CImg< Tfloat > get_HSItoRGB () const
CImg< Tuchar > get_HSLtoRGB () const
CImg< Tuchar > get_HSVtoRGB () const
CImg< Tuchar > get_LabtoRGB () const
CImg< Tfloat > get_LabtoXYZ () const
CImg< Tuchar > get_LUTtoRGB () const
template<typename t >
CImg< t > get_LUTtoRGB (const CImg< t > &palette) const
CImg< T > get_RGBtoBayer () const
CImg< Tfloat > get_RGBtoCMY () const
CImg< Tfloat > get_RGBtoCMYK () const
CImg< Tfloat > get_RGBtoHSI () const
CImg< Tfloat > get_RGBtoHSL () const
CImg< Tfloat > get_RGBtoHSV () const
CImg< Tfloat > get_RGBtoLab () const
CImg< Tuchar > get_RGBtoLUT (const bool dithering=true, const bool indexing=false) const
template<typename t >
CImg< t > get_RGBtoLUT (const CImg< t > &palette, const bool dithering=true, const bool indexing=false) const
CImg< Tfloat > get_RGBtoxyY () const
CImg< Tfloat > get_RGBtoXYZ () const
CImg< Tuchar > get_RGBtoYCbCr () const
CImg< Tfloat > get_RGBtoYUV () const
CImg< Tuchar > get_xyYtoRGB () const
CImg< Tfloat > get_xyYtoXYZ () const
CImg< Tfloat > get_XYZtoLab () const
CImg< Tuchar > get_XYZtoRGB () const
CImg< Tfloat > get_XYZtoxyY () const
CImg< Tuchar > get_YCbCrtoRGB () const
CImg< Tuchar > get_YUVtoRGB () const
CImg< T > & HSItoRGB ()
CImg< T > & HSLtoRGB ()
CImg< T > & HSVtoRGB ()
CImg< T > & LabtoRGB ()
CImg< T > & LabtoXYZ ()
CImg< T > & LUTtoRGB ()
CImg< T > & LUTtoRGB (const CImg< T > &palette)
CImg< T > & RGBtoBayer ()
CImg< T > & RGBtoCMY ()
CImg< T > & RGBtoCMYK ()
CImg< T > & RGBtoHSI ()
CImg< T > & RGBtoHSL ()
CImg< T > & RGBtoHSV ()
CImg< T > & RGBtoLab ()
CImg< T > & RGBtoLUT (const bool dithering=true, const bool indexing=false)
template<typename t >
CImg< T > & RGBtoLUT (const CImg< t > &palette, const bool dithering=true, const bool indexing=false)
CImg< T > & RGBtoxyY ()
CImg< T > & RGBtoXYZ ()
CImg< T > & RGBtoYCbCr ()
CImg< T > & RGBtoYUV ()
CImg< T > & xyYtoRGB ()
CImg< T > & xyYtoXYZ ()
CImg< T > & XYZtoLab ()
CImg< T > & XYZtoRGB ()
CImg< T > & XYZtoxyY ()
CImg< T > & YCbCrtoRGB ()
CImg< T > & YUVtoRGB ()
static CImg< Tuchar > contrast_LUT8 ()
static CImg< Tuchar > default_LUT8 ()
static CImg< Tuchar > rainbow_LUT8 ()

Detailed Description

template<typename T>
struct cimg_library::CImg< T >

Class representing an image (up to 4 dimensions wide), each pixel being of type T.

This is the main class of the CImg Library. It declares and constructs an image, allows access to its pixel values, and is able to perform various image operations.

Image representation

A CImg image is defined as an instance of the container CImg<T>, which contains a regular grid of pixels, each pixel value being of type T. The image grid can have up to 4 dimensions : width, height, depth and number of channels. Usually, the three first dimensions are used to describe spatial coordinates (x,y,z), while the number of channels is rather used as a vector-valued dimension (it may describe the R,G,B color channels for instance). If you need a fifth dimension, you can use image lists CImgList<T> rather than simple images CImg<T>.

Thus, the CImg<T> class is able to represent volumetric images of vector-valued pixels, as well as images with less dimensions (1D scalar signal, 2D color images, ...). Most member functions of the class CImg<T> are designed to handle this maximum case of (3+1) dimensions.

Concerning the pixel value type T : fully supported template types are the basic C++ types : unsigned char, char, short, unsigned int, int, unsigned long, long, float, double, ... . Typically, fast image display can be done using CImg<unsigned char> images, while complex image processing algorithms may be rather coded using CImg<float> or CImg<double> images that have floating-point pixel values. The default value for the template T is float. Using your own template types may be possible. However, you will certainly have to define the complete set of arithmetic and logical operators for your class.

Image structure

The CImg<T> structure contains six fields :

  • width defines the number of columns of the image (size along the X-axis).
  • height defines the number of rows of the image (size along the Y-axis).
  • depth defines the number of slices of the image (size along the Z-axis).
  • dim defines the number of channels of the image (size along the V-axis).
  • data defines a pointer to the pixel data (of type T).
  • is_shared is a boolean that tells if the memory buffer data is shared with another image.

You can access these fields publicly although it is recommended to use the dedicated functions dimx(), dimy(), dimz(), dimv() and ptr() to do so. Image dimensions are not limited to a specific range (as long as you got enough available memory). A value of 1 usually means that the corresponding dimension is flat. If one of the dimensions is 0, or if the data pointer is null, the image is considered as empty. Empty images should not contain any pixel data and thus, will not be processed by CImg member functions (a CImgInstanceException will be thrown instead). Pixel data are stored in memory, in a non interlaced mode (See cimg_storage).

Image declaration and construction

Declaring an image can be done by using one of the several available constructors. Here is a list of the most used :

  • Construct images from arbitrary dimensions :
    • CImg<char> img; declares an empty image.
    • CImg<unsigned char> img(128,128); declares a 128x128 greyscale image with unsigned char pixel values.
    • CImg<double> img(3,3); declares a 3x3 matrix with double coefficients.
    • CImg<unsigned char> img(256,256,1,3); declares a 256x256x1x3 (color) image (colors are stored as an image with three channels).
    • CImg<double> img(128,128,128); declares a 128x128x128 volumetric and greyscale image (with double pixel values).
    • CImg<> img(128,128,128,3); declares a 128x128x128 volumetric color image (with float pixels, which is the default value of the template parameter T).
    • Note : images pixels are not automatically initialized to 0. You may use the function fill() to do it, or use the specific constructor taking 5 parameters like this : CImg<> img(128,128,128,3,0); declares a 128x128x128 volumetric color image with all pixel values to 0.
  • Construct images from filenames :
    • CImg<unsigned char> img("image.jpg"); reads a JPEG color image from the file "image.jpg".
    • CImg<float> img("analyze.hdr"); reads a volumetric image (ANALYZE7.5 format) from the file "analyze.hdr".
    • Note : You need to install ImageMagick to be able to read common compressed image formats (JPG,PNG, ...) (See cimg_files_io).
  • Construct images from C-style arrays :
    • CImg<int> img(data_buffer,256,256); constructs a 256x256 greyscale image from a int* buffer data_buffer (of size 256x256=65536).
    • CImg<unsigned char> img(data_buffer,256,256,1,3,false); constructs a 256x256 color image from a unsigned char* buffer data_buffer (where R,G,B channels follow each others).
    • CImg<unsigned char> img(data_buffer,256,256,1,3,true); constructs a 256x256 color image from a unsigned char* buffer data_buffer (where R,G,B channels are multiplexed).

The complete list of constructors can be found here.

Most useful functions

The CImg<T> class contains a lot of functions that operates on images. Some of the most useful are :

  • operator()(), operator[]() : allows to access or write pixel values.
  • display() : displays the image in a new window.

Definition at line 9941 of file CImg.h.


Member Typedef Documentation

template<typename T>
typedef cimg::last<T,bool>::type cimg_library::CImg< T >::boolT

Definition at line 10023 of file CImg.h.

template<typename T>
typedef cimg::last<T,char>::type cimg_library::CImg< T >::charT

Definition at line 10025 of file CImg.h.

template<typename T>
typedef const T* cimg_library::CImg< T >::const_iterator

Const iterator type for CImg<T>.

Remarks:
  • A const_iterator is a const T* pointer (address of a pixel value in the pixel buffer).
  • Iterators are not directly used in CImg functions, they have been introduced for compatibility with the STL.

Definition at line 10006 of file CImg.h.

template<typename T>
typedef cimg::last<T,double>::type cimg_library::CImg< T >::doubleT

Definition at line 10033 of file CImg.h.

template<typename T>
typedef cimg::last<T,float>::type cimg_library::CImg< T >::floatT

Definition at line 10032 of file CImg.h.

template<typename T>
typedef cimg::last<T,int>::type cimg_library::CImg< T >::intT

Definition at line 10029 of file CImg.h.

template<typename T>
typedef T* cimg_library::CImg< T >::iterator

Iterator type for CImg<T>.

Remarks:
  • An iterator is a T* pointer (address of a pixel value in the pixel buffer).
  • Iterators are not directly used in CImg functions, they have been introduced for compatibility with the STL.

Definition at line 9998 of file CImg.h.

template<typename T>
typedef cimg::last<T,long>::type cimg_library::CImg< T >::longT

Definition at line 10031 of file CImg.h.

template<typename T>
typedef cimg::last<T,short>::type cimg_library::CImg< T >::shortT

Definition at line 10027 of file CImg.h.

template<typename T>
typedef cimg::superset<T,bool>::type cimg_library::CImg< T >::Tbool

Definition at line 10012 of file CImg.h.

template<typename T>
typedef cimg::superset<T,char>::type cimg_library::CImg< T >::Tchar

Definition at line 10014 of file CImg.h.

template<typename T>
typedef cimg::superset<T,double>::type cimg_library::CImg< T >::Tdouble

Definition at line 10022 of file CImg.h.

template<typename T>
typedef cimg::superset<T,float>::type cimg_library::CImg< T >::Tfloat

Definition at line 10021 of file CImg.h.

template<typename T>
typedef cimg::superset<T,int>::type cimg_library::CImg< T >::Tint

Definition at line 10018 of file CImg.h.

template<typename T>
typedef cimg::superset<T,long>::type cimg_library::CImg< T >::Tlong

Definition at line 10020 of file CImg.h.

template<typename T>
typedef cimg::superset<T,short>::type cimg_library::CImg< T >::Tshort

Definition at line 10016 of file CImg.h.

template<typename T>
typedef cimg::superset<T,unsigned char>::type cimg_library::CImg< T >::Tuchar

Definition at line 10013 of file CImg.h.

template<typename T>
typedef cimg::superset<T,unsigned int>::type cimg_library::CImg< T >::Tuint

Definition at line 10017 of file CImg.h.

template<typename T>
typedef cimg::superset<T,unsigned long>::type cimg_library::CImg< T >::Tulong

Definition at line 10019 of file CImg.h.

template<typename T>
typedef cimg::superset<T,unsigned short>::type cimg_library::CImg< T >::Tushort

Definition at line 10015 of file CImg.h.

template<typename T>
typedef cimg::last<T,unsigned char>::type cimg_library::CImg< T >::ucharT

Definition at line 10024 of file CImg.h.

template<typename T>
typedef cimg::last<T,unsigned int>::type cimg_library::CImg< T >::uintT

Definition at line 10028 of file CImg.h.

template<typename T>
typedef cimg::last<T,unsigned long>::type cimg_library::CImg< T >::ulongT

Definition at line 10030 of file CImg.h.

template<typename T>
typedef cimg::last<T,unsigned short>::type cimg_library::CImg< T >::ushortT

Definition at line 10026 of file CImg.h.

template<typename T>
typedef T cimg_library::CImg< T >::value_type

Get value type.

Definition at line 10009 of file CImg.h.


Constructor & Destructor Documentation

template<typename T>
cimg_library::CImg< T >::~CImg (  )  [inline]

Destructor.

The destructor destroys the instance image.

Remarks:
  • Destructing an empty or shared image does nothing.
  • Otherwise, all memory used to store the pixel data of the instance image is freed.
  • When destroying a non-shared image, be sure that every shared instances of the same image are also destroyed to avoid further access to desallocated memory buffers.

Definition at line 10095 of file CImg.h.

template<typename T>
cimg_library::CImg< T >::CImg (  )  [inline]

Default constructor.

The default constructor creates an empty instance image.

Remarks:
  • An empty image does not contain any data and has all of its dimensions width, height, depth, dim set to 0 as well as its pointer to the pixel buffer data.
  • An empty image is non-shared.

Definition at line 10107 of file CImg.h.

template<typename T>
cimg_library::CImg< T >::CImg ( const unsigned int  dx,
const unsigned int  dy = 1,
const unsigned int  dz = 1,
const unsigned int  dv = 1 
) [inline, explicit]

Constructs a new image with given size (dx,dy,dz,dv).

This constructors create an instance image of size (dx,dy,dz,dv) with pixels of type T.

Parameters:
dx Desired size along the X-axis, i.e. the width of the image.
dy Desired size along the Y-axis, i.e. the height of the image.
dz Desired size along the Z-axis, i.e. the depth of the image.
dv Desired size along the V-axis, i.e. the number of image channels dim.
Remarks:
  • If one of the input dimension dx,dy,dz or dv is set to 0, the created image is empty and all has its dimensions set to 0. No memory for pixel data is then allocated.
  • This constructor creates only non-shared images.
  • Image pixels allocated by this constructor are not initialized. Use the constructor CImg(const unsigned int,const unsigned int,const unsigned int,const unsigned int,const T) to get an image of desired size with pixels set to a particular value.

Definition at line 10125 of file CImg.h.

template<typename T>
cimg_library::CImg< T >::CImg ( const unsigned int  dx,
const unsigned int  dy,
const unsigned int  dz,
const unsigned int  dv,
const T  val 
) [inline]

Construct an image with given size (dx,dy,dz,dv) and with pixel having a default value val.

This constructor creates an instance image of size (dx,dy,dz,dv) with pixels of type T and sets all pixel values of the created instance image to val.

Parameters:
dx Desired size along the X-axis, i.e. the width of the image.
dy Desired size along the Y-axis, i.e. the height of the image.
dz Desired size along the Z-axis, i.e. the depth of the image.
dv Desired size along the V-axis, i.e. the number of image channels dim.
val Default value for image pixels.
Remarks:
  • This constructor has the same properties as CImg(const unsigned int,const unsigned int,const unsigned int,const unsigned int).

Definition at line 10144 of file CImg.h.

template<typename T>
cimg_library::CImg< T >::CImg ( const unsigned int  dx,
const unsigned int  dy,
const unsigned int  dz,
const unsigned int  dv,
const int  val0,
const int  val1,
  ... 
) [inline]

Construct an image with given size (dx,dy,dz,dv) and with specified pixel values (int version).

Definition at line 10152 of file CImg.h.

template<typename T>
cimg_library::CImg< T >::CImg ( const unsigned int  dx,
const unsigned int  dy,
const unsigned int  dz,
const unsigned int  dv,
const double  val0,
const double  val1,
  ... 
) [inline]

Construct an image with given size (dx,dy,dz,dv) and with specified pixel values (double version).

Definition at line 10172 of file CImg.h.

template<typename T>
cimg_library::CImg< T >::CImg ( const unsigned int  dx,
const unsigned int  dy,
const unsigned int  dz,
const unsigned int  dv,
const char *const   values,
const bool  repeat_pattern 
) [inline]

Construct an image with given size and with specified values given in a string.

Definition at line 10179 of file CImg.h.

template<typename T>
template<typename t >
cimg_library::CImg< T >::CImg ( const t *const   data_buffer,
const unsigned int  dx,
const unsigned int  dy = 1,
const unsigned int  dz = 1,
const unsigned int  dv = 1,
const bool  shared = false 
) [inline]

Construct an image from a raw memory buffer.

This constructor creates an instance image of size (dx,dy,dz,dv) and fill its pixel buffer by copying data values from the input raw pixel buffer data_buffer.

Definition at line 10192 of file CImg.h.

template<typename T>
cimg_library::CImg< T >::CImg ( const T *const   data_buffer,
const unsigned int  dx,
const unsigned int  dy = 1,
const unsigned int  dz = 1,
const unsigned int  dv = 1,
const bool  shared = false 
) [inline]

Definition at line 10206 of file CImg.h.

template<typename T>
template<typename t >
cimg_library::CImg< T >::CImg ( const CImg< t > &  img  )  [inline]

Default copy constructor.

The default copy constructor creates a new instance image having same dimensions (width, height, depth, dim) and same pixel values as the input image img.

Parameters:
img The input image to copy.
Remarks:
  • If the input image img is non-shared or have a different template type t != T, the default copy constructor allocates a new pixel buffer and copy the pixel data of img into it. In this case, the pointers data to the pixel buffers of the two images are different and the resulting instance image is non-shared.
  • If the input image img is shared and has the same template type t == T, the default copy constructor does not allocate a new pixel buffer and the resulting instance image shares its pixel buffer with the input image img, which means that modifying pixels of img also modifies the created instance image.
  • Copying an image having a different template type t != T performs a crude static cast conversion of each pixel value from type t to type T.
  • Copying an image having the same template type t == T is significantly faster.

Definition at line 10240 of file CImg.h.

template<typename T>
cimg_library::CImg< T >::CImg ( const CImg< T > &  img  )  [inline]

Definition at line 10248 of file CImg.h.

template<typename T>
template<typename t >
cimg_library::CImg< T >::CImg ( const CImg< t > &  img,
const bool  shared 
) [inline]

Advanced copy constructor.

The advanced copy constructor - as the default constructor CImg(const CImg< t >&) - creates a new instance image having same dimensions width, height, depth, dim and same pixel values as the input image img. But it also decides if the created instance image shares its memory with the input image img (if the input parameter shared is set to true