X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=bbtk_creaVtk_PKG%2Fsrc%2FbbcreaVtkGrayLevel.cxx;h=4f8ca61e3747575e0783ff8d31ab43d245813d6b;hb=b2426b967d278b6ef83d202be0d9f4dbe2aa9d8e;hp=3939f547890db00092076fde792d500c178c19e7;hpb=df4539135877e3470a9515e0baa5574ff57f18b4;p=creaVtk.git diff --git a/bbtk_creaVtk_PKG/src/bbcreaVtkGrayLevel.cxx b/bbtk_creaVtk_PKG/src/bbcreaVtkGrayLevel.cxx index 3939f54..4f8ca61 100644 --- a/bbtk_creaVtk_PKG/src/bbcreaVtkGrayLevel.cxx +++ b/bbtk_creaVtk_PKG/src/bbcreaVtkGrayLevel.cxx @@ -29,26 +29,63 @@ void GrayLevel::Process() // vtkImageData *m_image = vtkImageData::New(); // m_image = bbGetInputImage(); - double grayLevel = -9999; - std::vector coord = bbGetInputCoordinate(); - + double grayLevel = -9999; + std::vector coord = bbGetInputCoordinate(); + double px,py,pz; if (bbGetInputImage()!=NULL) { - grayLevel = bbGetInputImage()->GetScalarComponentAsDouble(coord[0],coord[1],coord[2],0); - } + double spc[3]; + bbGetInputImage()->GetSpacing(spc); + if (coord.size()>=2) + { + if (bbGetInputWithSpacing()==true) + { + px = round(coord[0]/spc[0]); + py = round(coord[1]/spc[1]); + pz = round(coord[2]/spc[2]); + } else { + px = round(coord[0]); + py = round(coord[1]); + pz = round(coord[2]); + }// if + grayLevel = bbGetInputImage()->GetScalarComponentAsDouble( px,py,pz,0); + } // coord + std::vector lstGL; + std::vector lstX = bbGetInputLstPointsX(); + std::vector lstY = bbGetInputLstPointsY(); + std::vector lstZ = bbGetInputLstPointsZ(); + if ( (lstX.size()==lstY.size()) && (lstY.size()==lstZ.size()) ) + { + long int i,size=lstX.size(); + for (i=0;iGetScalarComponentAsDouble( px,py,pz,0) ); + }// for + bbSetOutputLstGrayLevel(lstGL); + } // if size of Lst + } // InputImage bbSetOutputGrayLevel(grayLevel); - } + //===== // 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) //===== void GrayLevel::bbUserSetDefaultValues() { - // SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX // Here we initialize the input 'In' to 0 bbSetInputImage(NULL); - + bbSetInputWithSpacing(false); } //===== // 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)