last-svn-commit-705-gdab5d67 mln/io/dicom/load.hh: Fix invalid image loading.

--- milena/ChangeLog | 4 ++++ milena/mln/io/dicom/load.hh | 15 +++++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/milena/ChangeLog b/milena/ChangeLog index 7268baf..994efe7 100644 --- a/milena/ChangeLog +++ b/milena/ChangeLog @@ -1,3 +1,7 @@ +2011-01-27 Guillaume Lazzara <z@lrde.epita.fr> + + * mln/io/dicom/load.hh: Fix invalid image loading. + 2011-01-13 Guillaume Lazzara <z@lrde.epita.fr> Add more from_to overloads. diff --git a/milena/mln/io/dicom/load.hh b/milena/mln/io/dicom/load.hh index f250a16..1823b18 100644 --- a/milena/mln/io/dicom/load.hh +++ b/milena/mln/io/dicom/load.hh @@ -40,7 +40,6 @@ # include <gdcm-2.0/gdcmDataSet.h> # include <gdcm-2.0/gdcmAttribute.h> - namespace mln { @@ -107,6 +106,9 @@ namespace mln abort(); } + // FIXME: Check image.GetPixelFormat() with mln_value(I) + // quantification. + //gdcm::File &file = r.GetFile(); //gdcm::DataSet& ds = file.GetDataSet(); @@ -132,7 +134,9 @@ namespace mln if (mln_site_(I)::dim != ndims) { - std::cerr << "error: dimension mismatch" << std::endl; + std::cerr << "error: dimension mismatch. Found " + << ndims << " but expected " << mln_site_(I)::dim + << std::endl; abort(); } @@ -155,6 +159,13 @@ namespace mln initialize(ima, result); mln_piter(I) p(ima.domain()); unsigned int index = 0; + + // FIXME: HACK. We may prefer to change the way we access the + // data instead of swapping that information. If swap is not + // performed, the loaded image is rotated and symmetrized. + std::swap(vdims[0], vdims[1]); + + // int k = 0; for_all(p) { index = 0; -- 1.5.6.5
participants (1)
-
Guillaume Lazzara