ctkVTKHistogramTest2.cpp 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. // Qt includes
  2. #include <QCoreApplication>
  3. // CTKVTK includes
  4. #include "ctkVTKHistogram.h"
  5. // VTK includes
  6. #include <vtkSmartPointer.h>
  7. #include <vtkDataArray.h>
  8. // STD includes
  9. #include <cstdlib>
  10. #include <iostream>
  11. int ctkVTKHistogramTest2( int argc, char * argv [])
  12. {
  13. Q_UNUSED(argc);
  14. Q_UNUSED(argv);
  15. //---------------------------------------------------
  16. // test 2 :
  17. //---------------------------------------------------
  18. //------Test build--------------------------------
  19. ctkVTKHistogram rgbHistogram;
  20. vtkSmartPointer<vtkDataArray> rgbDataArray;
  21. rgbDataArray.TakeReference(vtkDataArray::CreateDataArray(VTK_INT));
  22. rgbDataArray->SetNumberOfComponents(3);
  23. rgbDataArray->InsertNextTuple3( 0, 50, 0);
  24. rgbDataArray->InsertNextTuple3(1000, 143, -1412);
  25. rgbDataArray->InsertNextTuple3(-543, 210, 151);
  26. rgbDataArray->InsertNextTuple3( -1, 210, 10);
  27. rgbHistogram.setDataArray(rgbDataArray);
  28. if (rgbHistogram.dataArray() != rgbDataArray)
  29. {
  30. std::cerr << "Line : " << __LINE__
  31. << " - Problem with ctkVTKHistogram::setDataArray "
  32. << std::endl;
  33. return EXIT_FAILURE;
  34. }
  35. // Generate histogram on the Green values
  36. rgbHistogram.setComponent(1);
  37. //------Test build---------------------------------
  38. rgbHistogram.build();
  39. if (rgbHistogram.count() != (210 - 50 + 1))
  40. {
  41. std::cerr << "Failed to build histogram" << rgbHistogram.count()
  42. << std::endl;
  43. return EXIT_FAILURE;
  44. }
  45. if (rgbHistogram.value(210).toInt() != 2)
  46. {
  47. std::cerr << "Failed to build histogram" << rgbHistogram.value(210).toInt()
  48. << std::endl;
  49. return EXIT_FAILURE;
  50. }
  51. return EXIT_SUCCESS;
  52. }