26 #ifndef MLN_IO_RAW_GET_HEADER_HH
27 # define MLN_IO_RAW_GET_HEADER_HH
36 # include <mln/core/concept/image.hh>
37 # include <mln/core/routine/initialize.hh>
38 # include <mln/core/box_runstart_piter.hh>
39 # include <mln/core/pixel.hh>
40 # include <mln/data/memcpy_.hh>
41 # include <mln/util/array.hh>
56 std::string value_type;
65 # ifndef MLN_INCLUDE_ONLY
70 trace::entering(
"mln::io::raw::get_header");
74 std::string info_filename = filename +
".info";
76 std::ifstream info_file(info_filename.c_str());
79 std::cerr <<
"io::raw::get_header - Error: cannot open file '"
85 std::string file_type;
86 info_file >> file_type;
87 if (file_type !=
"milena/raw")
89 std::cerr <<
"io::raw::load - Error: invalid file type. '"
91 <<
"' is NOT a valid milena/raw info file!"
100 info_file.read(dev_null, 5);
101 info_file >> header.dim;
104 header.size.
resize(header.dim);
105 for (
unsigned i = 0; i < header.dim; ++i)
106 info_file >> header.size[i];
114 info_file.read(dev_null, 11);
116 char value_type[255];
117 info_file.getline(value_type, 255);
118 header.value_type = value_type;
122 trace::exiting(
"mln::io::raw::get_header");
127 # endif // ! MLN_INCLUDE_ONLY
135 #endif // ! MLN_IO_RAW_GET_HEADER_HH