Namespaces | Functions | Variables

mln::debug Namespace Reference

Namespace of routines that help to debug. More...

Namespaces

namespace  impl
 

Implementation namespace of debug namespace.


namespace  internal

Functions

template<typename I , typename G , typename F >
void draw_graph (Image< I > &ima, const p_vertices< G, F > &pv, typename I::value vcolor, typename I::value ecolor)
 Draw an image ima from a mln::p_vertices pv, with value vcolor for vertices, value ecolor for edges and 0 for the background.
template<typename I , typename G , typename F , typename V , typename E >
void draw_graph (Image< I > &ima, const p_vertices< G, F > &pv, const Function< V > &vcolor_f_, const Function< E > &ecolor_f_)
 Draw an image ima from a mln::p_vertices pv.
template<typename I , typename G , typename F >
void draw_graph (Image< I > &ima, const p_edges< G, F > &pe, typename I::value vcolor, typename I::value ecolor)
template<typename I , typename G , typename F , typename V , typename E >
void draw_graph (Image< I > &ima, const p_vertices< util::line_graph< G >, F > &pv, const Function< V > &vcolor_f_, const Function< E > &ecolor_f_)
 Draw an image ima from a mln::p_vertices pv.
std::string filename (const std::string &filename, int postfix_id)
 Constructs and returns a formatted output file name.
signed short format (signed char v)
 Format a signed char to print it properly, i.e., like an integer value.
unsigned short format (unsigned char v)
 Format an unsigned char to print it properly, i.e., like an integer value.
template<typename T >
const T & format (const T &v)
 Default version for formatting a value is a no-op.
char format (bool v)
 Format a Boolean to print it nicely: "|" for true and "-" for false.
template<typename T >
void histo (const mln::histo::array< T > &h, const std::string &filename)
template<typename I >
void iota (Image< I > &input)
template<typename I >
void println (const Image< I > &input)
 Print the image input on the standard output.
template<typename I >
void println (const std::string &msg, const Image< I > &input)
 Print the message msg and the image input on the standard output.
template<typename I >
void println_with_border (const Image< I > &input)
 Print the image input on the standard output.
void put_word (image2d< char > &inout, const point2d &word_start, const std::string &word)
 Put the word starting at location word_start in the image inout.
template<typename I >
image2d< typename I::value > slices_2d (const Image< I > &input, float ratio_hv, const typename I::value &bg)
 Create a 2D image of the slices of the 3D image input.
template<typename I >
image2d< typename I::value > slices_2d (const Image< I > &input, unsigned n_horizontal, unsigned n_vertical, const typename I::value &bg)
 Create a 2D image of the slices of the 3D image input.
template<typename I , typename J >
mln::trait::ch_value< I,
value::rgb8 >::ret 
superpose (const Image< I > &input, const Image< J > &object)
template<typename I , typename J >
mln::trait::ch_value< I,
value::rgb8 >::ret 
superpose (const Image< I > &input_, const Image< J > &object_, const value::rgb8 &object_color)
 Superpose two images.

Variables

bool quiet = false

Detailed Description

Namespace of routines that help to debug.


Function Documentation

template<typename I , typename G , typename F >
void mln::debug::draw_graph ( Image< I > &  ima,
const p_vertices< G, F > &  pv,
typename I::value  vcolor,
typename I::value  ecolor 
) [inline]

Draw an image ima from a mln::p_vertices pv, with value vcolor for vertices, value ecolor for edges and 0 for the background.

References mln::trace::entering(), mln::exact(), mln::trace::exiting(), mln::p_vertices< G, F >::graph(), and mln::draw::line().

Referenced by mln::make_debug_graph_image().

template<typename I , typename G , typename F , typename V , typename E >
void mln::debug::draw_graph ( Image< I > &  ima,
const p_vertices< G, F > &  pv,
const Function< V > &  vcolor_f_,
const Function< E > &  ecolor_f_ 
) [inline]

Draw an image ima from a mln::p_vertices pv.

Colors for vertices are defined through vcolor_f_. Colors for edges are defined though ecolor_f_.

References mln::trace::entering(), mln::exact(), mln::trace::exiting(), mln::p_vertices< G, F >::graph(), and mln::draw::line().

template<typename I , typename G , typename F >
void mln::debug::draw_graph ( Image< I > &  ima,
const p_edges< G, F > &  pe,
typename I::value  vcolor,
typename I::value  ecolor 
) [inline]
template<typename I , typename G , typename F , typename V , typename E >
void mln::debug::draw_graph ( Image< I > &  ima,
const p_vertices< util::line_graph< G >, F > &  pv,
const Function< V > &  vcolor_f_,
const Function< E > &  ecolor_f_ 
) [inline]

Draw an image ima from a mln::p_vertices pv.

Colors for vertices are defined through vcolor_f_. Colors for edges are defined though ecolor_f_.

References mln::p_line2d::begin(), mln::p_line2d::end(), mln::trace::entering(), mln::exact(), mln::trace::exiting(), mln::p_vertices< G, F >::graph(), and mln::draw::line().

std::string mln::debug::filename ( const std::string &  filename,
int  postfix_id = -1 
) [inline]

Constructs and returns a formatted output file name.

The file name is formatted as follow:

`filename_prefix`_`id`_`filename`_`postfix_id`

Where:

  • `filename_prefix` can be set through the global variable debug::internal::filename_prefix.
  • `id` is auto-incremented and cannot be controlled.
  • `filename` is the given filename
  • `postfix_id` is an optional counter which can be controlled contrary to `id`.

References mln::debug::internal::filename_prefix.

signed short mln::debug::format ( signed char  v  )  [inline]

Format a signed char to print it properly, i.e., like an integer value.

unsigned short mln::debug::format ( unsigned char  v  )  [inline]

Format an unsigned char to print it properly, i.e., like an integer value.

template<typename T >
const T & mln::debug::format ( const T &  v  )  [inline]
char mln::debug::format ( bool  v  )  [inline]

Format a Boolean to print it nicely: "|" for true and "-" for false.

template<typename T >
void mln::debug::histo ( const mln::histo::array< T > &  h,
const std::string &  filename 
)
template<typename I >
void mln::debug::iota ( Image< I > &  input  )  [inline]

Fill the image input with successive values.

Parameters:
[in,out] input The image in which values are assigned.

References mln::trace::entering(), mln::exact(), mln::trace::exiting(), and mln::debug::impl::iota().

Referenced by mln::chck1d(), mln::chck2d(), mln::chk(), mln::chk1d(), mln::chk2d(), and mln::chk3d().

template<typename I >
void mln::debug::println ( const Image< I > &  input  )  [inline]
template<typename I >
void mln::debug::println ( const std::string &  msg,
const Image< I > &  input 
)

Print the message msg and the image input on the standard output.

References println(), and quiet.

template<typename I >
void mln::debug::println_with_border ( const Image< I > &  input  )  [inline]

Print the image input on the standard output.

References mln::geom::bbox(), mln::exact(), and mln::debug::impl::println_with_border().

void mln::debug::put_word ( image2d< char > &  inout,
const point2d &  word_start,
const std::string &  word 
) [inline]

Put the word starting at location word_start in the image inout.

References mln::image2d< T >::has(), mln::point< G, C >::last_coord(), mln::right, and mln::trace::warning().

template<typename I >
image2d< typename I::value > mln::debug::slices_2d ( const Image< I > &  input,
float  ratio_hv,
const typename I::value &  bg 
)

Create a 2D image of the slices of the 3D image input.

References mln::trace::entering(), mln::exact(), mln::trace::exiting(), mln::debug::internal::slices2d_helper(), and slices_2d().

template<typename I >
image2d< typename I::value > mln::debug::slices_2d ( const Image< I > &  input,
unsigned  n_horizontal,
unsigned  n_vertical,
const typename I::value &  bg 
) [inline]
template<typename I , typename J >
mln::trait::ch_value< I, value::rgb8 >::ret mln::debug::superpose ( const Image< I > &  input,
const Image< J > &  object 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

References mln::literal::red, and superpose().

template<typename I , typename J >
mln::trait::ch_value< I, value::rgb8 >::ret mln::debug::superpose ( const Image< I > &  input_,
const Image< J > &  object_,
const value::rgb8 &  object_color 
)

Superpose two images.

Parameters:
[in] input_ An image. Its value type must be convertible toward value::rgb8 thanks to a conversion operator or convert::from_to.
[in] object_ A binary image. Objects used for superposition are set to 'true'.
[in] object_color The color used to draw the objects in object_.
Precondition:
input_ and object_ must have the same domain.
Returns:
A color image.

References mln::data::convert(), mln::trace::entering(), mln::exact(), mln::trace::exiting(), mln::data::fill(), and mln::pw::value().

Referenced by superpose().


Variable Documentation

bool mln::debug::quiet = false

Referenced by println().