]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/src/interface/wxWindows/widgets/pPlotter/pHistogram.cxx
#2490 creaMaracasVisu Feature New High - Histogram Interaction
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / pPlotter / pHistogram.cxx
index cbfee52eeac8aedf549fbf9c1f1a37af899b9699..c14e9511348f57ac1bf39256258777ebdfbaf2d9 100644 (file)
@@ -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);
 }
 
@@ -176,8 +168,7 @@ printf("EED pHistogram::setPoints colums:%d\n", (int)(resulttable->GetNumberOfCo
        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*                                 dataHistogramPointer    = (double*)points->GetScalarPointer(0,0,0);
        
        /*
         Range of greys
@@ -202,9 +193,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 +208,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 +292,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 "<<gValue<<" k "<<k<<std::endl;
        return (int)k;