X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=tools%2FclitkDicom2Image.cxx;h=b13de42b419c04fef3d4475ca6c6ae8319688b4a;hb=3c2462eafabcf428b4d2775c414a7b5f62511d3f;hp=0390c60d553adde38959f994a328ba6043e81e0a;hpb=765020625fbc092d283e221e36c83e60a1844cb7;p=clitk.git diff --git a/tools/clitkDicom2Image.cxx b/tools/clitkDicom2Image.cxx index 0390c60..b13de42 100644 --- a/tools/clitkDicom2Image.cxx +++ b/tools/clitkDicom2Image.cxx @@ -22,6 +22,12 @@ #include "clitkImageCommon.h" #include "vvImageReader.h" #include "vvImageWriter.h" +#include +#if GDCM_MAJOR_VERSION == 2 + #include + #include + #include +#endif //==================================================================== int main(int argc, char * argv[]) @@ -48,13 +54,33 @@ int main(int argc, char * argv[]) std::vector sliceLocations; for(unsigned int i=0; iGetZOrigin()); - if (header->GetPixelSize() != 2) { +#if GDCM_MAJOR_VERSION == 2 + gdcm::Reader hreader; + hreader.SetFileName(input_files[i].c_str()); + hreader.Read(); + std::vector theorigin = gdcm::ImageHelper::GetOriginValue(hreader.GetFile()); + sliceLocations.push_back(theorigin[2]); + gdcm::Attribute<0x28, 0x100> pixel_size; + gdcm::DataSet& ds = hreader.GetFile().GetDataSet(); + pixel_size.SetFromDataSet(ds); + if (pixel_size.GetValue() != 16) + { std::cerr << "Pixel type 2 bytes ! " << std::endl; std::cerr << "In file " << input_files[i] << std::endl; exit(0); } +#else + gdcm::File *header = new gdcm::File(); + header->SetFileName(input_files[i]); + header->SetMaxSizeLoadEntry(16384); // required ? + header->Load(); + sliceLocations.push_back(header->GetZOrigin()); + if (header->GetPixelSize() != 2) { + std::cerr << "Pixel type 2 bytes ! " << std::endl; + std::cerr << "In file " << input_files[i] << std::endl; + exit(0); + } +#endif } //===========================================