26 #ifndef MLN_IO_DICOM_GET_HEADER_HH
27 # define MLN_IO_DICOM_GET_HEADER_HH
36 # include <gdcm-2.0/gdcmReader.h>
37 # include <gdcm-2.0/gdcmImageReader.h>
38 # include <gdcm-2.0/gdcmWriter.h>
39 # include <gdcm-2.0/gdcmDataSet.h>
40 # include <gdcm-2.0/gdcmAttribute.h>
42 # include <mln/core/concept/image.hh>
43 # include <mln/core/routine/initialize.hh>
44 # include <mln/core/box_runstart_piter.hh>
45 # include <mln/core/pixel.hh>
46 # include <mln/data/memcpy_.hh>
47 # include <mln/util/array.hh>
73 # ifndef MLN_INCLUDE_ONLY
78 trace::entering(
"mln::io::dicom::get_header");
83 r.SetFileName(filename.c_str());
86 std::cerr <<
"error: cannot open file '" << filename <<
"'!";
90 gdcm::Image& image = r.GetImage();
92 header.dim = image.GetNumberOfDimensions();
93 const unsigned int* dims = image.GetDimensions();
95 for (
unsigned i = 2; i < header.dim; ++i)
96 header.size.
append(dims[i]);
97 for (
unsigned i = 0; i < 2; ++i)
98 header.size.
append(dims[i]);
100 trace::exiting(
"mln::io::dicom::get_header");
105 # endif // ! MLN_INCLUDE_ONLY
113 #endif // ! MLN_IO_DICOM_GET_HEADER_HH