X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=packages%2Fgdcmvtk%2Fsrc%2FbbgdcmvtkGetInfoGdcmReader.cxx;h=2e0a07ecaab11a88fb017e2284c12cb8d8ee2e66;hb=c4f52d585373532b701cb9395218a9d6e4e4ea82;hp=7877be5bf9c37f6e977cf9d33e778827aad47080;hpb=01f005a9cbf863ec2169b1076409f0bcac233aad;p=bbtk.git diff --git a/packages/gdcmvtk/src/bbgdcmvtkGetInfoGdcmReader.cxx b/packages/gdcmvtk/src/bbgdcmvtkGetInfoGdcmReader.cxx index 7877be5..2e0a07e 100644 --- a/packages/gdcmvtk/src/bbgdcmvtkGetInfoGdcmReader.cxx +++ b/packages/gdcmvtk/src/bbgdcmvtkGetInfoGdcmReader.cxx @@ -14,22 +14,24 @@ BBTK_ADD_BLACK_BOX_TO_PACKAGE(gdcmvtk,GetInfoGdcmReader) BBTK_BLACK_BOX_IMPLEMENTATION(GetInfoGdcmReader,bbtk::AtomicBlackBox); void GetInfoGdcmReader::Process() { - + // Reset de reader, f + bbUserFinalizeProcessing(); + f = GDCM_NAME_SPACE::File::New(); f->SetFileName( bbGetInputIn() ); bool res = f->Load(); if ( !res ) { - f->Delete(); bbSetOutputOut(0); return; } - + // Get info from THE image file (only *one* as input) int i; std::vector v_iop; float iop[6]; f->GetImageOrientationPatient(iop); + for(i=0; i< 6; i++) v_iop.push_back(iop[i]); bbSetOutputIOP(v_iop ); @@ -37,6 +39,7 @@ void GetInfoGdcmReader::Process() std::vector v_ipp; float ipp[3]; f->GetImagePositionPatient(ipp); + for(i=0; i< 3; i++) v_ipp.push_back(ipp[i]); bbSetOutputIPP(v_ipp ); @@ -44,7 +47,9 @@ void GetInfoGdcmReader::Process() std::vector v_pixelspacing; v_pixelspacing.push_back(f->GetXSpacing()); v_pixelspacing.push_back(f->GetYSpacing()); - if (f->GetZSize() != 1) { + + if (f->GetZSize() != 1) + { v_pixelspacing.push_back(f->GetZSpacing()); } bbSetOutputPixelSpacing(v_pixelspacing); @@ -62,22 +67,31 @@ void GetInfoGdcmReader::Process() bbSetOutputOut( reader->GetOutput() ); } -void GetInfoGdcmReader::bbUserConstructor() +void GetInfoGdcmReader::bbUserSetDefaultValues() { -std::cout << "entree ds GetInfoGdcmReader::bbUserConstructor()" << std::endl; - bbSetInputIn(""); + reader=NULL; + f=NULL; + bbSetInputIn(""); } -void GetInfoGdcmReader::bbUserCopyConstructor(bbtk::BlackBox::Pointer) +void GetInfoGdcmReader::bbUserInitializeProcessing() { - } -void GetInfoGdcmReader::bbUserDestructor() + + + +void GetInfoGdcmReader::bbUserFinalizeProcessing() { - if(reader) + if( reader ) + { reader->Delete(); + reader=NULL; + } if(f) + { f->Delete(); + f=NULL; + } } }