Advertisement
Jakobhorak28

Untitled

May 26th, 2023
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.39 KB | None | 0 0
  1. function plotMatrix(A, exp)
  2. set(groot,'defaultAxesTickLabelInterpreter','latex');
  3. mapPrecision = 1000;
  4. map = zeros(mapPrecision,3);
  5. Amin = min(A, [], 'all');
  6. Amax = max(A, [], 'all');
  7. if Amin < 0 && Amax > 0
  8. i0 = ceil(-Amin/(Amax-Amin)*mapPrecision);
  9. huemin = 2/3;
  10. huemax = 11/24;
  11. for i = 1:i0
  12. map(i, :)=[((i-1)/(i0-1))^(exp)*(huemax-huemin)+huemin, 1-((i-1)/(i0-1))^(exp), 1];
  13. end
  14. huemin = 1/6;
  15. for i = i0 + 1:mapPrecision
  16. map(i, :)=[huemin-((i-i0-1)/(mapPrecision-i0-1))^(exp)*huemin, ((i-i0-1)/(mapPrecision-i0-1))^(exp), 1];
  17. end
  18.  
  19. elseif Amin > 0
  20. x = Amin / Amax;
  21. huemin = (1-x)/6;
  22. huemax = 0;
  23. satmin = x;
  24. satmax = 1;
  25. for i = 1:mapPrecision
  26. map(i, :)=[((i-1)/(mapPrecision-1))^(exp)*(huemax-huemin)+huemin, ((i-1)/(mapPrecision-1))^(exp)*(satmax-satmin)+satmin, 1];
  27. end
  28. else
  29. x = Amax / Amin;
  30. huemin = 2/3;
  31. huemax = 11*(1+x)/24;
  32. satmin = 1;
  33. satmax = x;
  34. for i = 1:mapPrecision
  35. map(i, :)=[((i-1)/(mapPrecision-1))^(exp)*(huemax-huemin)+huemin, ((i-1)/(mapPrecision-1))^(exp)*(satmax-satmin)+satmin, 1];
  36. end
  37. end
  38. map = hsv2rgb(map);
  39. imagesc(A);
  40. colormap(map);
  41. set(colorbar, 'TickLabelInterpreter', 'latex');
  42. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement