X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=packages%2Fvtk%2Fsrc%2FbbvtkFlip.cxx;h=a252888c5a04d9bffdaddef6a76f19e3dab1f7b8;hb=6827eadc2157e47cc354282c7992fe052e6b5ca0;hp=1a65c9d3ead709b4a022a7feecc882ed02a5ef2b;hpb=cfad95b6e08e6e53846ffcda7fbc5932065f2c47;p=bbtk.git diff --git a/packages/vtk/src/bbvtkFlip.cxx b/packages/vtk/src/bbvtkFlip.cxx index 1a65c9d..a252888 100644 --- a/packages/vtk/src/bbvtkFlip.cxx +++ b/packages/vtk/src/bbvtkFlip.cxx @@ -54,6 +54,7 @@ namespace bbvtk //std::cout << "-------- entree ds Flip::bbUserSetDefaultValues()\n" << std::endl; bbSetInputIn(NULL); + bbSetInputAxis("Y"); mImageOut = NULL; bbSetOutputOut(NULL); } @@ -113,6 +114,7 @@ void Flip::Process() int scalarSize = bbGetInputIn()->GetScalarSize(); int lineSize = inputdims[0]*scalarSize*nbScalComp; int planeSize = inputdims[1]*lineSize; + int volumeSize = inputdims[2]*planeSize; char *pixelsIn = (char *)bbGetInputIn()->GetScalarPointer(); char *pixelsOut = (char *)mImageOut->GetScalarPointer(); @@ -120,19 +122,60 @@ void Flip::Process() char *lineOut; char *debPlanIn; char *debPlanOut; - int j,k; - for(k=0; kGetScalarPointer(0,0,0); + pixelsOut = (char *)mImageOut->GetScalarPointer(0,0,0); + memcpy(pixelsOut, pixelsIn, volumeSize ); + } else if ( (bbGetInputAxis()=="X") || (bbGetInputAxis()=="x") ) + { + + for(k=0; kGetScalarPointer(i,j,k); + pixelsOut = (char *)mImageOut->GetScalarPointer(inputdims[0]-1-i,j,k); + memcpy(pixelsOut, pixelsIn, scalarSize ); + } // for i + } // for j + } // for k + + } else if ( (bbGetInputAxis()=="Z") || (bbGetInputAxis()=="z") ) { + + for(k=0; kGetScalarPointer(i,j,k); + pixelsOut = (char *)mImageOut->GetScalarPointer(i,j,inputdims[2]-1-k); + memcpy(pixelsOut, pixelsIn, scalarSize ); + } // for i + } // for j + } // for k + + } else { + + for(k=0; kModified(); bbSetOutputOut( mImageOut ); } // bbGetInputIn