00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef DOC_TOOLS_SAMPLE_UTILS_HH
00028 # define DOC_TOOLS_SAMPLE_UTILS_HH
00029
00030 # include <mln/core/image/image2d.hh>
00031 # include <mln/io/pbm/all.hh>
00032 # include <mln/io/pgm/all.hh>
00033 # include <mln/io/ppm/all.hh>
00034
00035 # include "doc/tools/data.hh"
00036
00037 namespace doc
00038 {
00039
00040 inline
00041 std::string
00042 file(const std::string& name, const std::string& extension)
00043 {
00044 static int file_id = 1;
00045
00046 std::ostringstream os;
00047 os << MLN_DOC_DIR "/figures/"
00048 << name
00049 << "-"
00050 << file_id++
00051 << "."
00052 << extension;
00053 return os.str();
00054 }
00055
00056 template <typename I>
00057 inline
00058 void
00059 ppmsave(const mln::Image<I>& ima, const std::string& name)
00060 {
00061 mln::io::ppm::save(ima, file(name, "ppm"));
00062 }
00063
00064 template <typename I>
00065 inline
00066 void
00067 pbmsave(const mln::Image<I>& ima, const std::string& name)
00068 {
00069 mln::io::pbm::save(ima, file(name, "pbm"));
00070 }
00071
00072 template <typename I>
00073 inline
00074 void
00075 pgmsave(const mln::Image<I>& ima, const std::string& name)
00076 {
00077 mln::io::pgm::save(ima, file(name, "pgm"));
00078 }
00079
00080 inline
00081 void
00082 begin_output()
00083 {
00084 std::cout << "// \\{" << std::endl;
00085 }
00086
00087 inline
00088 void
00089 end_output()
00090 {
00091 std::cout << "// \\}" << std::endl;
00092 }
00093
00094 }
00095
00096 #endif // ! DOC_TOOLS_SAMPLE_UTILS_HH
00097