X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=bbtk%2Fsrc%2FbbmaracasvisuImageChangeInformation.cxx;h=f32c600b64234a71e479fa267a9e330576a63b1b;hb=9efc4d8bf8fa16e76153eb2efccc5057a79f3d29;hp=4a9c2d3967aad942d70d73f6d01df40ab862d8b4;hpb=646b703c2b3b4b5373be531feeada780eaae90a3;p=creaMaracasVisu.git diff --git a/bbtk/src/bbmaracasvisuImageChangeInformation.cxx b/bbtk/src/bbmaracasvisuImageChangeInformation.cxx index 4a9c2d3..f32c600 100644 --- a/bbtk/src/bbmaracasvisuImageChangeInformation.cxx +++ b/bbtk/src/bbmaracasvisuImageChangeInformation.cxx @@ -32,9 +32,10 @@ BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaMaracasVisu,ImageChangeInformation) BBTK_BLACK_BOX_IMPLEMENTATION(ImageChangeInformation,bbtk::AtomicBlackBox); void ImageChangeInformation::Process() { - int ext[6]; - double spc[3]; - vtkImageData* img = bbGetInputIn(); + int ext[6]; + double spc[3]; + double origin[3]; + vtkImageData *img = bbGetInputIn(); if(img!=NULL) { if(mchange != NULL) @@ -43,11 +44,6 @@ void ImageChangeInformation::Process() } mchange = vtkImageChangeInformation::New(); img->GetExtent( ext ); - double origin[3]; - origin[0]=0.0; - origin[1]=0.0; - origin[2]=0.0; - img->SetOrigin(origin); //EED 2017-01-01 Migration VTK7 #if VTK_MAJOR_VERSION <= 5 @@ -56,9 +52,6 @@ void ImageChangeInformation::Process() mchange->SetInputData( img ); #endif -//EED 2016 15 06 -// mchange->SetExtentTranslation( -ext[0], -ext[2], -ext[4] ); - mchange->SetOutputOrigin (0, 0, 0); mchange->SetOutputExtentStart(0,0,0); if (bbGetInputNewSpacing().size()==3) { @@ -67,16 +60,35 @@ void ImageChangeInformation::Process() spc[2] = bbGetInputNewSpacing()[2]; mchange->SetOutputSpacing( spc[0] , spc[1] , spc [2] ); //spacing } + if (bbGetInputNewOrigin().size()==3) + { + if ( (bbGetInputNewOrigin()[0]==-1) && (bbGetInputNewOrigin()[1]==-1) && (bbGetInputNewOrigin()[2]==-1) ) + { + img->GetOrigin( origin ); + } else { + origin[0] = bbGetInputNewOrigin()[0]; + origin[1] = bbGetInputNewOrigin()[1]; + origin[2] = bbGetInputNewOrigin()[2]; + } + } else { + origin[0] = 0; + origin[1] = 0; + origin[2] = 0; + } + mchange->SetOutputOrigin( origin ); + mchange->Modified(); //important mchange->Update(); //important bbSetOutputOut( mchange->GetOutput() ); - } // img + } // if img + } + void ImageChangeInformation::bbUserSetDefaultValues() { - mchange = NULL; - bbSetOutputOut( NULL); - bbSetInputIn(NULL); + mchange = NULL; + bbSetOutputOut( NULL); + bbSetInputIn(NULL); } void ImageChangeInformation::bbUserInitializeProcessing()