From abdc2f7c1aa4c5a7101ab53593d04d05dd51afc4 Mon Sep 17 00:00:00 2001 From: lkaraba Date: Fri, 13 Dec 2024 16:07:01 -0500 Subject: [PATCH] Add rainbow colormap --- .../RainbowColormap/SetXLimYLimXTick.m | 24 ++++++++++ .../RainbowColormap/RainbowColormap/main.m | 37 ++++++++++++++++ .../RainbowColormap/rainbow_cmap.m | 41 ++++++++++++++++++ .../rainbowcolormapfigures.png | Bin 0 -> 55826 bytes .../RainbowColormap/readme.txt | 25 +++++++++++ .../RainbowColormap/reference.txt | 7 +++ .../Colormaps/RainbowColormap/license.txt | 24 ++++++++++ 7 files changed, 158 insertions(+) create mode 100644 plotting/Colormaps/RainbowColormap/RainbowColormap/SetXLimYLimXTick.m create mode 100644 plotting/Colormaps/RainbowColormap/RainbowColormap/main.m create mode 100644 plotting/Colormaps/RainbowColormap/RainbowColormap/rainbow_cmap.m create mode 100644 plotting/Colormaps/RainbowColormap/RainbowColormap/rainbowcolormapfigures.png create mode 100644 plotting/Colormaps/RainbowColormap/RainbowColormap/readme.txt create mode 100644 plotting/Colormaps/RainbowColormap/RainbowColormap/reference.txt create mode 100644 plotting/Colormaps/RainbowColormap/license.txt diff --git a/plotting/Colormaps/RainbowColormap/RainbowColormap/SetXLimYLimXTick.m b/plotting/Colormaps/RainbowColormap/RainbowColormap/SetXLimYLimXTick.m new file mode 100644 index 0000000..fb540ce --- /dev/null +++ b/plotting/Colormaps/RainbowColormap/RainbowColormap/SetXLimYLimXTick.m @@ -0,0 +1,24 @@ +% % function to set ticks of X-axis and Y-axis + +function SetXLimYLimXTick(handle,xmin,xmax,ymin,ymax) + +set(handle,'XLim',[xmin xmax]); +set(handle,'YLim',[ymin ymax]); + +xtvec=[xmin ,get(gca,'XTick'), xmax]; +ytvec=[ymin ,get(gca,'YTick'), ymax]; + +xtvec=unique(xtvec); +ytvec=unique(ytvec); + +set(handle,'XTick',xtvec); +set(handle,'YTick',ytvec); + +% % --------------------------------------- +% % This program or any other program(s) supplied with it does not provide any warranty direct or implied. +% % This program is free to use/share for non-commercial purpose only. +% % Kindly reference the work. +% % Author: Dr. Murtaza Khan +% % LinkedIn: http://www.linkedin.com/pub/dr-murtaza-khan/19/680/3b3 +% % ResearchGate: http://www.researchgate.net/profile/Murtaza_Khan2/ +% % --------------------------------------- diff --git a/plotting/Colormaps/RainbowColormap/RainbowColormap/main.m b/plotting/Colormaps/RainbowColormap/RainbowColormap/main.m new file mode 100644 index 0000000..44430c4 --- /dev/null +++ b/plotting/Colormaps/RainbowColormap/RainbowColormap/main.m @@ -0,0 +1,37 @@ +clc, close all, clear all + +dx = 0.8; % amount of blue and red at the beginning & end of the colormap +n = 32; % number of entries in the rainbow colormap +[cmapRainbow, g, f]=rainbow_cmap(n, dx); +% % ----------------------------------------------- +% % Display an image in bone and rainbow colormaps +load spine +figure, image(X), colormap(bone), title('\bf Image in Bone colormap'); +figure, image(X), colormap(cmapRainbow), title('\bf Image in Rainbow colormap'); + +% % ----------------------------------------------- +% % Plot transfer functions of rainbow colormap +figure, hold on +plot(g,cmapRainbow(:,1),'r','linewidth',2); %red +plot(g,cmapRainbow(:,2),'g','linewidth',2); %green +plot(g,cmapRainbow(:,3),'b','linewidth',2); %blue +% legend('R','G','B'); +handle1=gca; +SetXLimYLimXTick(handle1,0,6,-0.1,1.1); +grid on +title('\bf Rainbow colormap transfer functions'); +xlabel('\bf Scalar value g'); +ylabel('\bf Transfer functions: R, G, B'); + + +% % ----------------------------------------------- +% % This program or any other program(s) supplied with it does not provide any warranty direct or implied. +% % This program is free to use/share for non-commercial purpose only. +% % Kindly reference the work. +% % Author: Dr. Murtaza Khan +% % LinkedIn: http://www.linkedin.com/pub/dr-murtaza-khan/19/680/3b3 +% % ResearchGate: http://www.researchgate.net/profile/Murtaza_Khan2/ +% % ----------------------------------------------- + + + diff --git a/plotting/Colormaps/RainbowColormap/RainbowColormap/rainbow_cmap.m b/plotting/Colormaps/RainbowColormap/RainbowColormap/rainbow_cmap.m new file mode 100644 index 0000000..075b33f --- /dev/null +++ b/plotting/Colormaps/RainbowColormap/RainbowColormap/rainbow_cmap.m @@ -0,0 +1,41 @@ +% % INPUT +% % n: number of entries in the rainbow colormap +% % dx: it controls the amount of pure blue and red used at the +% % beginning and the end of the colormap, respectively + +% % OUTPUT +% % cmapRainbow: Rainbow color map values of Red, Green, Blue +% % g: scalar values between dx & (6-dx) +% % f: n values between 0 and 1. g is evaluated at these values + +function [cmapRainbow, g, f]=rainbow_cmap(n, dx) + +f = linspace(0,1,n); % generates n points between 0 and 1. + +cmapRainbow=[]; +for i=1:n + g(i) = (6 - 2*dx) * f(i) + dx ; %scale f between dx and (6-dx) + R = max(0, (3 - abs(g(i) - 4) - abs(g(i) - 5))/2); + G = max(0, (4 - abs(g(i) - 2) - abs(g(i) - 4))/2); + B = max(0, (3 - abs(g(i) - 1) - abs(g(i) - 2))/2); + cmapRainbow(i,:)=[R, G, B]; +end + +g=g'; %change g to column vector +f=f'; %change f to column vector + + +% % ----------------------------------------------- +% % This program or any other program(s) supplied with it does not provide any warranty direct or implied. +% % This program is free to use/share for non-commercial purpose only. +% % Kindly reference the work. +% % Author: Dr. Murtaza Khan +% % LinkedIn: http://www.linkedin.com/pub/dr-murtaza-khan/19/680/3b3 +% % ResearchGate: http://www.researchgate.net/profile/Murtaza_Khan2/ +% % ----------------------------------------------- + + + + + + diff --git a/plotting/Colormaps/RainbowColormap/RainbowColormap/rainbowcolormapfigures.png b/plotting/Colormaps/RainbowColormap/RainbowColormap/rainbowcolormapfigures.png new file mode 100644 index 0000000000000000000000000000000000000000..631e7516c3b5707079a305f2dd0f4b65cfb52540 GIT binary patch literal 55826 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�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 literal 0 HcmV?d00001 diff --git a/plotting/Colormaps/RainbowColormap/RainbowColormap/readme.txt b/plotting/Colormaps/RainbowColormap/RainbowColormap/readme.txt new file mode 100644 index 0000000..2d78798 --- /dev/null +++ b/plotting/Colormaps/RainbowColormap/RainbowColormap/readme.txt @@ -0,0 +1,25 @@ +Rainbow Colormap +--------------------------------------- +Unzip the archive, add to current working directory and run the main.m program. Following MATLAB files are included in the archive: + +main.m +A simple test program to plot: +(1) Transfer function of Rainbow Colormap +(2) Display two images, one in bone colormap and one in rainbow colormap + +rainbow_cmap.m +A function to compute Rainbow colormap values. + + +SetXLimYLimXTick.m +A function to set ticks of X-axis and Y-axis + +--------------------------------------- +% % This program or any other program(s) supplied with it does not provide any warranty direct or implied. +% % This program is free to use/share for non-commercial purpose only. +% % Kindly reference the work. +% % Author: Dr. Murtaza Khan +% % LinkedIn: http://www.linkedin.com/pub/dr-murtaza-khan/19/680/3b3 +% % ResearchGate: http://www.researchgate.net/profile/Murtaza_Khan2/ +--------------------------------------- + diff --git a/plotting/Colormaps/RainbowColormap/RainbowColormap/reference.txt b/plotting/Colormaps/RainbowColormap/RainbowColormap/reference.txt new file mode 100644 index 0000000..2bef321 --- /dev/null +++ b/plotting/Colormaps/RainbowColormap/RainbowColormap/reference.txt @@ -0,0 +1,7 @@ +Murtaza Khan, "Rainbow Colormap", June. 2015. +---------------------------------------------- + +LaTeX + +\bibitem{KhanJune2015} +Murtaza Khan, \emph{Rainbow Colormap}, June 2015. \ No newline at end of file diff --git a/plotting/Colormaps/RainbowColormap/license.txt b/plotting/Colormaps/RainbowColormap/license.txt new file mode 100644 index 0000000..89495c3 --- /dev/null +++ b/plotting/Colormaps/RainbowColormap/license.txt @@ -0,0 +1,24 @@ +Copyright (c) 2015, Murtaza Khan +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the distribution + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE.