Algorithms.cpp 903 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. /*
  2. * Algorithms.cpp
  3. *
  4. * Created on: Oct 5, 2010
  5. * Author: brueckner
  6. */
  7. #include "Algorithms.h"
  8. namespace NICE {
  9. void grayToPseudoColor(double gray, double & red, double & green, double & blue) {
  10. int sector = static_cast<int> (gray * 4.0);
  11. gray = 4.0 * gray - sector;
  12. switch (sector) {
  13. case 0:
  14. red = 1.0;
  15. green = gray;
  16. blue = 0.0;
  17. break;
  18. case 1:
  19. red = 1.0 - (gray);
  20. green = 1.0;
  21. blue = 0.0;
  22. break;
  23. case 2:
  24. red = 0.0;
  25. green = 1.0;
  26. blue = gray;
  27. break;
  28. case 3:
  29. red = 0.0;
  30. green = 1.0 - (gray);
  31. blue = 1.0;
  32. break;
  33. default:
  34. red = 0.0;
  35. green = 0.0;
  36. blue = 1.0;
  37. break;
  38. }
  39. }
  40. void grayToPseudoColor(int gray, int & red, int & green, int & blue) {
  41. double grayD = (double)gray/255.0;
  42. double redD,blueD,greenD;
  43. grayToPseudoColor(grayD, redD, greenD, blueD);
  44. red = (int)(redD*255.0);
  45. green = (int)(greenD*255.0);
  46. blue = (int)(blueD*255.0);
  47. }
  48. }