points = vtkImageData::New();
size = 100;
sizeImage = 0;
- //cast
- /*
- vtkImageCast* cast= vtkImageCast::New();
- cast->SetInput(imageData);
- cast->SetOutputScalarTypeToInt();
- cast->Update();
- */
- //build the histogram
buildHistogram(imageData);
}
//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
+
}
/*
void pHistogram::setPoints(vtkImageData* imageData)
{
-printf("EED pHistogram::setPoints Trinng new histogram ..\n");
/*
printf("EED pHistogram::setPoints Test: vtkPComputeHistogram2DOutliers\n");
vtkComputeHistogram2DOutliers *vtkhist = vtkComputeHistogram2DOutliers::New();
*/
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
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;
dataHistogramPointer[i]=0;
}
- int j=0;
+ long int j=0;
if (imageData->GetScalarType()==VTK_CHAR)
*/
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;