X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=bbtk%2Fsrc%2FbbmaracasvisuImageChangeInformation.cxx;h=fecd553f35f348c6a31703ece26ca061047fa489;hb=46e997508c80de816d3e26f9ccdb4a5e6d68a5f9;hp=feeece21f58d732d99c10d09f1211bd533cc0f8d;hpb=800f29fd7e4cc70d8706b3075454e63f0b1a5717;p=creaMaracasVisu.git diff --git a/bbtk/src/bbmaracasvisuImageChangeInformation.cxx b/bbtk/src/bbmaracasvisuImageChangeInformation.cxx index feeece2..fecd553 100644 --- a/bbtk/src/bbmaracasvisuImageChangeInformation.cxx +++ b/bbtk/src/bbmaracasvisuImageChangeInformation.cxx @@ -8,33 +8,58 @@ BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaMaracasVisu,ImageChangeInformation) BBTK_BLACK_BOX_IMPLEMENTATION(ImageChangeInformation,bbtk::AtomicBlackBox); void ImageChangeInformation::Process() { - int ext[6]; - bbGetInputIn()->GetExtent( ext ); - if (mchange!=NULL) { mchange->Delete(); } - mchange = vtkImageChangeInformation::New(); - mchange->SetInput( bbGetInputIn() ); - mchange->SetExtentTranslation( -ext[0], -ext[2], -ext[4] ); - mchange->Update(); //important + int ext[6]; + double spc[3]; + vtkImageData* img = bbGetInputIn(); + if(img!=NULL){ + if(mchange != NULL){ + mchange->Delete(); + } + mchange = vtkImageChangeInformation::New(); + img->GetExtent( ext ); + mchange->SetInput( img ); + mchange->SetExtentTranslation( -ext[0], -ext[2], -ext[4] ); + mchange->SetOutputOrigin (0, 0, 0); + + if (bbGetInputNewSpacing().size()==3) + { + spc[0] = bbGetInputNewSpacing()[0]; + spc[1] = bbGetInputNewSpacing()[1]; + spc[2] = bbGetInputNewSpacing()[2]; + mchange->SetOutputSpacing( spc[0] , spc[1] , spc [2] ); //spacing + } + + + mchange->Update(); //important + + bbSetOutputOut( mchange->GetOutput() ); + } - bbSetOutputOut( mchange->GetOutput() ); } -void ImageChangeInformation::bbUserConstructor() +void ImageChangeInformation::bbUserSetDefaultValues() { - mchange=NULL; + mchange = NULL; + bbSetOutputOut( NULL); + bbSetInputIn(NULL); } -void ImageChangeInformation::bbUserCopyConstructor() -{ +void ImageChangeInformation::bbUserInitializeProcessing() +{ + } -void ImageChangeInformation::bbUserDestructor() + +void ImageChangeInformation::bbUserFinalizeProcessing() { if (mchange!=NULL) { mchange->Delete(); } } + + + } // EO namespace bbcreaMaracasVisu