X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=packages%2Fgdcmvtk%2Fsrc%2FbbgdcmvtkGetInfoGdcmReader.cxx;h=a08b352471e295ccce65139e2efd25bf99e87913;hb=8ba18df584ba0a409fb042663be9fa76ccb0e0b0;hp=2c50c94c051b97e501d8e1083aaa8d15340e54d2;hpb=a26b760bbfe886312cbe54bd83b7211f621edf80;p=bbtk.git diff --git a/packages/gdcmvtk/src/bbgdcmvtkGetInfoGdcmReader.cxx b/packages/gdcmvtk/src/bbgdcmvtkGetInfoGdcmReader.cxx index 2c50c94..a08b352 100644 --- a/packages/gdcmvtk/src/bbgdcmvtkGetInfoGdcmReader.cxx +++ b/packages/gdcmvtk/src/bbgdcmvtkGetInfoGdcmReader.cxx @@ -1,3 +1,29 @@ +/* +# --------------------------------------------------------------------- +# +# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image +# pour la SantÈ) +# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton +# Previous Authors : Laurent Guigues, Jean-Pierre Roux +# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil +# +# This software is governed by the CeCILL-B license under French law and +# abiding by the rules of distribution of free software. You can use, +# modify and/ or redistribute the software under the terms of the CeCILL-B +# license as circulated by CEA, CNRS and INRIA at the following URL +# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html +# or in the file LICENSE.txt. +# +# As a counterpart to the access to the source code and rights to copy, +# modify and redistribute granted by the license, users are provided only +# with a limited warranty and the software's author, the holder of the +# economic rights, and the successive licensors have only limited +# liability. +# +# The fact that you are presently reading this means that you have had +# knowledge of the CeCILL-B license and that you accept its terms. +# ------------------------------------------------------------------------ */ + #include "bbgdcmvtkGetInfoGdcmReader.h" #include "bbgdcmvtkPackage.h" @@ -9,6 +35,7 @@ #endif #if defined USE_GDCM2 #include +// #include "vtkImageData.h" #include #include #endif @@ -50,7 +77,9 @@ void GetInfoGdcmReader::Process() f->GetImagePositionPatient(ipp); for(i=0; i< 3; i++) + { v_ipp.push_back(ipp[i]); + } // for i bbSetOutputIPP(v_ipp ); std::vector v_pixelspacing; @@ -60,7 +89,7 @@ void GetInfoGdcmReader::Process() if (f->GetZSize() != 1) { v_pixelspacing.push_back(f->GetZSpacing()); - } + } // if size bbSetOutputPixelSpacing(v_pixelspacing); //double interslice; @@ -68,11 +97,12 @@ void GetInfoGdcmReader::Process() reader = vtkGdcmReader::New(); reader->SetFileName( bbGetInputIn().c_str() ); + reader->SetFlipY(true); reader->Update(); reader->GetOutput(); - vtkIndent indent ; - reader->GetOutput()->PrintSelf(std::cout, indent); +// vtkIndent indent ; +// reader->GetOutput()->PrintSelf(std::cout, indent); bbSetOutputOut( reader->GetOutput() ); } #endif @@ -104,8 +134,10 @@ void GetInfoGdcmReader::Process() deIop.GetValue().Print(ss); gdcm::Element iop; iop.Read( ss ); - for(i=0; i< 6; i++) + for(i=0; i< 6; i++) + { v_iop.push_back((float)(iop[i])); + } // for i bbSetOutputIOP(v_iop ); // Image Position (Patient) @@ -114,8 +146,10 @@ void GetInfoGdcmReader::Process() deIpp.GetValue().Print(ss); gdcm::Element ipp; ipp.Read( ss ); - for(i=0; i< 3; i++) + for(i=0; i< 3; i++) + { v_ipp.push_back((float)(ipp[i])); + } // for bbSetOutputIPP(v_ipp ); std::vector v_pixelspacing = gdcm::ImageHelper::GetSpacingValue(f); @@ -133,29 +167,43 @@ void GetInfoGdcmReader::Process() bbSetOutputOut( reader->GetOutput() ); } #endif + + void GetInfoGdcmReader::bbUserSetDefaultValues() { +#if defined USE_GDCM2 reader=NULL; +#endif #if defined USE_GDCM + reader=NULL; f=NULL; #endif bbSetInputIn(""); } + void GetInfoGdcmReader::bbUserInitializeProcessing() { } - - + void GetInfoGdcmReader::bbUserFinalizeProcessing() { +#if defined USE_GDCM2 if( reader ) { reader->Delete(); reader=NULL; } +#endif + #if defined USE_GDCM + if( reader ) + { + reader->Delete(); + reader=NULL; + } + if(f) { f->Delete();