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 #ifndef MLN_IO_PLOT_SAVE_HH
00027 # define MLN_IO_PLOT_SAVE_HH
00028
00032
00033 # include <iostream>
00034 # include <fstream>
00035 # include <mln/core/image/image1d.hh>
00036 # include <mln/util/array.hh>
00037
00038
00039 namespace mln
00040 {
00041
00042 namespace io
00043 {
00044
00045 namespace plot
00046 {
00047
00055 template <typename I>
00056 void save(image1d<I>& ima,
00057 const std::string& filename,
00058 int start_value = 0);
00059
00067 template <typename I>
00068 void save(util::array<I>& arr,
00069 const std::string& filename,
00070 int start_value = 0);
00071
00072
00073 # ifndef MLN_INCLUDE_ONLY
00074
00075
00076 template <typename I>
00077 inline
00078 void save(image1d<I>& ima, const std::string& filename,
00079 int start_value = 0)
00080 {
00081 trace::entering("mln::io::plot::save");
00082
00083 std::ofstream file_out(filename.c_str());
00084 for (unsigned i = 0; i < ima.ninds(); ++i)
00085 file_out << start_value + i << " " << ima.at_(i) << std::endl;
00086
00087 trace::exiting("mln::io::plot::save");
00088 }
00089
00090 template <typename I>
00091 inline
00092 void save(util::array<I>& arr, const std::string& filename,
00093 int start_value = 0)
00094 {
00095 trace::entering("mln::io::plot::save");
00096
00097 std::ofstream file_out(filename.c_str());
00098 for (unsigned i = 0; i < arr.nelements(); ++i)
00099 file_out << start_value + i << " " << arr[i] << std::endl;
00100
00101 trace::exiting("mln::io::plot::save");
00102 }
00103
00104
00105 # endif // ! MLN_INCLUDE_ONLY
00106
00107 }
00108
00109 }
00110
00111 }
00112
00113
00114 #endif // ! MLN_IO_PLOT_SAVE_HH