Clear Filters
Clear Filters

Color a .ply according to Y value

1 view (last 30 days)
Sushmitha Kudari
Sushmitha Kudari on 8 Mar 2020
Commented: Ameer Hamza on 9 Mar 2020
I have the follwing plot that I generate: Instead of having the background be white, i want the peaks of the curves to be white and as they increase in value, I want them to get darker. Does anyone have suggestions for this. The code and data file generates is linked HERE.
  2 Comments
Ameer Hamza
Ameer Hamza on 8 Mar 2020
where is the file 'MunkS_500Hz.shd.mat'? It is also needed to run that code.
Sushmitha Kudari
Sushmitha Kudari on 8 Mar 2020
munkProfile = load('MunkS_500Hz.shd.mat');
pressureWave = munkProfile.pressure;
pressureWave = abs(pressureWave);
squished = squeeze(pressureWave);
logged = log(squished);
[X,Y]=ndgrid(1:size(logged,1),1:size(logged,2 ));
plot_mat = [X(:) Y(:) logged(:)];
[remove, ~] = find(plot_mat(:,3) == -Inf);
plot_mat(remove,:) = [];
sorted = sortrows(plot_mat, 3);
colorMat = addColor(sorted);
ptCloud_Coral = pointCloud(sorted,'Color',colorMat);
figure
pcshow(ptCloud_Coral);
Linking .mat : HERE

Sign in to comment.

Answers (1)

Ameer Hamza
Ameer Hamza on 8 Mar 2020
What is the current colormap, you can reverse it by flipping the colormap matrix.
figure
p = pcshow(ptCloud);
colormap(gray)
p.Colormap = flipud(p.Colormap);
  4 Comments
Sushmitha Kudari
Sushmitha Kudari on 9 Mar 2020
It looks the same but for example I need the points at 600,0 to be white, not like this:
Ameer Hamza
Ameer Hamza on 9 Mar 2020
You can create your own colormap. For example,
figure
colors = ...
[zeros(8, 3);
gray(10);
ones(12, 3)];
p = pcshow(ptCloud);
colormap(colors);
creates following figure

Sign in to comment.

Categories

Find more on Colormaps in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!