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
00028 #ifndef DOC_TUTORIAL_TOOLS_SAMPLE_UTILS_HH
00029 # define DOC_TUTORIAL_TOOLS_SAMPLE_UTILS_HH
00030
00031 # include <mln/core/image/image2d.hh>
00032 # include <mln/io/pbm/all.hh>
00033 # include <mln/io/pgm/all.hh>
00034 # include <mln/io/ppm/all.hh>
00035
00036 namespace doc
00037 {
00038
00039 inline
00040 std::string
00041 file(const std::string& name, const std::string& extension)
00042 {
00043 static int file_id = 1;
00044
00045 std::ostringstream os;
00046 os << "../figures/"
00047 << name
00048 << "-"
00049 << file_id++
00050 << "."
00051 << extension;
00052 return os.str();
00053 }
00054
00055 template <typename I>
00056 inline
00057 void
00058 ppmsave(const mln::Image<I>& ima, const std::string& name)
00059 {
00060 mln::io::ppm::save(ima, file(name, "ppm"));
00061 }
00062
00063 template <typename I>
00064 inline
00065 void
00066 pbmsave(const mln::Image<I>& ima, const std::string& name)
00067 {
00068 mln::io::pbm::save(ima, file(name, "pbm"));
00069 }
00070
00071 template <typename I>
00072 inline
00073 void
00074 pgmsave(const mln::Image<I>& ima, const std::string& name)
00075 {
00076 mln::io::pgm::save(ima, file(name, "pgm"));
00077 }
00078
00079 inline
00080 void
00081 begin_output()
00082 {
00083 std::cout << "// \\{" << std::endl;
00084 }
00085
00086 inline
00087 void
00088 end_output()
00089 {
00090 std::cout << "// \\}" << std::endl;
00091 }
00092
00093 }
00094
00095 #endif // ! DOC_TUTORIAL_TOOLS_SAMPLE_UTILS_HH
00096