X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=packages%2Fvtk%2Fsrc%2FbbvtkImageBoundaries.cxx;h=fb9eb2464504f5fd473f5a21534fea7956cd50d1;hb=a641df2aea8da216dfa3eed320567d6377840720;hp=4f7056052562970fc3543792562c20af4ac0535a;hpb=ccafd8577d65aa01902f8d20670a2c6da8f73e70;p=bbtk.git diff --git a/packages/vtk/src/bbvtkImageBoundaries.cxx b/packages/vtk/src/bbvtkImageBoundaries.cxx index 4f70560..fb9eb24 100644 --- a/packages/vtk/src/bbvtkImageBoundaries.cxx +++ b/packages/vtk/src/bbvtkImageBoundaries.cxx @@ -1,8 +1,38 @@ -//===== +/* + # --------------------------------------------------------------------- + # + # 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. + # ------------------------------------------------------------------------ */ + + +//===== // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost) //===== #include "bbvtkImageBoundaries.h" #include "bbvtkPackage.h" +#include "creaVtk_MACROS.h" + +#include namespace bbvtk { @@ -13,17 +43,13 @@ BBTK_BLACK_BOX_IMPLEMENTATION(ImageBoundaries,bbtk::AtomicBlackBox); //===== void ImageBoundaries::Process() { - printf("bbtk:vtk::ImageBoundaries::Process start\n"); - if (bbGetInputIn()!=NULL){ - int i,j,k; - int ext[6]; - double value; - + if (bbGetInputIn()!=NULL) + { + int ext[6]; bbGetInputIn()->GetWholeExtent(ext); int maxX = ext[1]-ext[0]+1; int maxY = ext[3]-ext[2]+1; int maxZ = ext[5]-ext[4]+1; - int bXMax = 0; int bYMax = 0; int bZMax = 0; @@ -31,13 +57,17 @@ void ImageBoundaries::Process() int bYMin = maxY-1; int bZMin = maxZ-1; - for (i=0 ; iGetScalarComponentAsDouble(i, j, k,0); + double value = bbGetInputIn()->GetScalarComponentAsDouble(i, j, k,0); if ( (value>=bbGetInputLowerValue()) && (value<=bbGetInputUpperValue()) ) { if (iGetScalarComponentAsDouble(i, j, k,0); + GETVALUE2_VTK_CREA(vI,pI,stI,index) + index++; + if ( (vI>=bbGetInputLowerValue()) && (vI<=bbGetInputUpperValue()) ) + { + if (ibXMax) bXMax=i; + if (j>bYMax) bYMax=j; + if (k>bZMax) bZMax=k; + } + } // for k + } // for j + } // i std::vector tmpIndex; std::vector tmpSize; - if (bXMin>bXMax){ tmpIndex.push_back(0); tmpIndex.push_back(0); @@ -69,13 +124,11 @@ void ImageBoundaries::Process() tmpSize.push_back(bYMax-bYMin+1); tmpSize.push_back(bZMax-bZMin+1); } - bbSetOutputIndex(tmpIndex); bbSetOutputSize(tmpSize); } else { printf("bbtk warnning: bbtk:vtk:ImageBoundaries box, Input image (In) not initialized..\n"); } - printf("bbtk:vtk::ImageBoundaries::Process end\n"); } //===== // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)