X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FpPlotter%2FpHistogram.cxx;h=4bac5fba7d5e09ce09047fd6f213698d32a6ced3;hb=f9901e756bb82bd333310b47607875331616bb29;hp=cbfee52eeac8aedf549fbf9c1f1a37af899b9699;hpb=63a0a21e6736a800c58442edd531c91d75e71694;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/pPlotter/pHistogram.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/pPlotter/pHistogram.cxx index cbfee52..4bac5fb 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/pPlotter/pHistogram.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/pPlotter/pHistogram.cxx @@ -74,14 +74,6 @@ pHistogram::pHistogram(vtkImageData* imageData) points = vtkImageData::New(); size = 100; sizeImage = 0; - //cast - /* - vtkImageCast* cast= vtkImageCast::New(); - cast->SetInput(imageData); - cast->SetOutputScalarTypeToInt(); - cast->Update(); - */ - //build the histogram buildHistogram(imageData); } @@ -143,9 +135,16 @@ void pHistogram::initializePoints(int xDimension) //setting image data of the points points->SetDimensions(xDimension,1,1); //EED points->SetScalarTypeToUnsignedShort(); + +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 points->SetScalarTypeToDouble(); points->AllocateScalars(); points->Update(); +#else + points->AllocateScalars(VTK_DOUBLE,1); +#endif + } /* @@ -154,7 +153,6 @@ void pHistogram::initializePoints(int xDimension) void pHistogram::setPoints(vtkImageData* imageData) { -printf("EED pHistogram::setPoints Trinng new histogram ..\n"); /* printf("EED pHistogram::setPoints Test: vtkPComputeHistogram2DOutliers\n"); vtkComputeHistogram2DOutliers *vtkhist = vtkComputeHistogram2DOutliers::New(); @@ -171,13 +169,12 @@ printf("EED pHistogram::setPoints colums:%d\n", (int)(resulttable->GetNumberOfCo */ char* dataImagePointerC = (char*)imageData->GetScalarPointer(0,0,0); - unsigned char* dataImagePointerUC = (unsigned char*)imageData->GetScalarPointer(0,0,0); + unsigned char* dataImagePointerUC = (unsigned char*)imageData->GetScalarPointer(0,0,0); short* dataImagePointerS = (short*)imageData->GetScalarPointer(0,0,0); - unsigned short* dataImagePointerUS = (unsigned short*)imageData->GetScalarPointer(0,0,0); + unsigned short* dataImagePointerUS = (unsigned short*)imageData->GetScalarPointer(0,0,0); float* dataImagePointerF = (float*)imageData->GetScalarPointer(0,0,0); - double* dataImagePointerD = (double*)imageData->GetScalarPointer(0,0,0); - - double* dataHistogramPointer = (double*)points->GetScalarPointer(0,0,0); + double* dataImagePointerD = (double*)imageData->GetScalarPointer(0,0,0); + double* dataHistogramPointer = (double*)points->GetScalarPointer(0,0,0); /* Range of greys @@ -202,9 +199,9 @@ printf("EED pHistogram::setPoints colums:%d\n", (int)(resulttable->GetNumberOfCo int ext[6]; imageData->GetExtent(ext); int sx,sy,sz; - sx=ext[1]-ext[0]+1; - sy=ext[3]-ext[2]+1; - sz=ext[5]-ext[4]+1; + sx = ext[1]-ext[0]+1; + sy = ext[3]-ext[2]+1; + sz = ext[5]-ext[4]+1; sizeImage=sx*sy*sz; @@ -217,7 +214,7 @@ printf("EED pHistogram::setPoints colums:%d\n", (int)(resulttable->GetNumberOfCo dataHistogramPointer[i]=0; } - int j=0; + long int j=0; if (imageData->GetScalarType()==VTK_CHAR) @@ -301,8 +298,14 @@ image */ int pHistogram::getIndex(double gValue) { - - double p=((double)gValue-minLevelOfGrey)/(maxLevelOfGrey-minLevelOfGrey); + double p; + double diff=maxLevelOfGrey-minLevelOfGrey; + if (diff!=0) + { + p=((double)gValue-minLevelOfGrey)/(maxLevelOfGrey-minLevelOfGrey); + } else { + p=0; + } double k=p*(size-1); //std::cout<<"gValue "<