How to subtract false color gradient ?
Show older comments
Hi! I am trying to subtract a False color gradient from my image. I tried using the "detrend" function to subtract the polynomial trend, but it seems like I might be subtracting too much. I get some weird lines across my image.
This is the image before the gradient correction:
and this is how it looks after:

And this is my code:
% Calculate strain
strainNorm = (dspacingNorm - dspacingNominal) / dspacingNominal;
% Gradient Correction
D = detrend(strainNorm,1,'omitmissing');
figure; imagesc(xbins,ybins,D * 100);
title('Elastic lattice strain (%)'); colorbar; axis square; axis equal; % axis([0 xbins(end) 0 ybins(end)])
colormap jet; caxis([strainMin strainMax])
set(gca,'xtick',[]); set(gca,'xticklabel',[]); set(gca,'ytick',[]); set(gca,'yticklabel',[])
Thank you!
Answers (1)
detrend() operates column by column. I suspect you can avoid the lines by subtracting a plane fit to the whole surface instead, e.g., using planarFit() from this FEX download,
2 Comments
Edith Celeste
on 4 Jul 2023
Matt J
on 4 Jul 2023
Maybe I am not applying it right
I would have to assume that.
Categories
Find more on Read, Write, and Modify Image 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!