⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 v3d_getcolormap.m

📁 matlab 三维显示。所有代码都有。可以显示三维网格。
💻 M
字号:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function varargout = v3d_getcolormap(varargin)
% Farbpaletten ermitteln/importieren
% --------------------------------------------------------------------
% 
% v3d_getcolormap
%   Liefert eine Liste aller verf黦baren Standardfarbpaletten, 
%   aller im Verzeichnis color befindlichen benutzerdefinierte Farb-
%   paletten und alle Benutzerdefinierte Farbpalettenfunktionen zur點k
%
%   bekannte benutzerspezifische Formate:
% 
%       Programm    | Dateiendung   | Unterfunktion
%       ------------+---------------+--------------
%       Slicer      | .cmp          | importcmp
%       Pulse Ekko  | .tbl          | importtbl
%
% 
% v3d_getcolormap(filename) 
%   Farbpalettenwerte werden aus filename importiert und zur點kgeben 
%
% v3d_getcolormap(function) 
%   Farbpalettenwerte werden generiert und zur點kgeben 
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Benutzerdefinierte Farbpaletten
% Format: 'Pfad/*.Dateiendung'
usrmap={'color/*.cmp';...
        'color/*.tbl';};

% Benutzerdefinierte Funktionen
% Format: 'Name' 'Funktion'
fctmap={'hotgray' 'hot.*gray';...
        'hotjet'  'hot.*jet';};

% Standardpaletten
% Format: 'Name' 'Funktion'
stdmap={'autumn' 'autumn';...
        'bone'   'bone';...
        'cool'   'cool';...
        'copper' 'copper';...
        'gray'   'gray';...
        'hot'    'hot';...
        'hsv'    'hsv';...
        'jet'    'jet';...
        'pink'   'pink';...
        'spring' 'spring';...
        'summer' 'summer';...
        'winter' 'winter';};

% Trennzeichen
% Format: 'Name' Funktion
delimiter={'---' 'jet'};

% --------------------------------------------------------------------

% Wenn Parameter vorhanden -> Dateiname oder Funktion wurde angegeben
if nargin==1
    % Testen ob Standartfarbpalette
    if any(strcmp(stdmap(:,1),varargin{1}))
        pos=strmatch(varargin{1},stdmap,'exact');
        varargout={stdmap{pos(1),2}};
    else
        % Testen ob Benutzerdefinierte Funktion
        if any(strcmp(fctmap(:,1),varargin{1}))
            pos=strmatch(varargin{1},fctmap,'exact');
            varargout={fctmap{pos(1),2}};
        else
            % Testen ob Trennlinie ausgew鋒lt
            if any(strcmp(delimiter(1,1),varargin{1}))
                varargout=delimiter(1,2);
            else
                % Ansonsten Benutzerdefinierte Farbpalette importieren
                % 躡ergabe des Dateinamens filename und R點kgabe der Farbpalette
                varargout={num2str(v3d_importcolormap(varargin{1}))};
            end
        end
    end
else
    % Kein Parameter -> Auflisten aller verf黦baren Farbpaletten
    % Namen der Standardpaletten und Funktionen zusammenf黦en
    cmaplist=[  stdmap(:,1);...
                delimiter(:,1);...
                fctmap(:,1);...
                delimiter(:,1);];

    % Dateinamen der Benutzerdefinierten Farbpaletten finden
    % und zur Farbpalettenliste hinzuf黦en
    for k=1:length(usrmap)
        [path,name,ext,ver] = fileparts(usrmap{k});
        files=dir(usrmap{k});
        for i=1:length(files)
            cmaplist(length(cmaplist)+1)={strcat(path,'/',files(i).name)};    
        end
    end
    
    % R點kgabe der Zeichenkettenliste aller verf黦baren Farbpaletten 
    varargout={cmaplist(:)};
end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function cmap = v3d_importcolormap(filename,usrmap)
% Farbpalette importieren
% --------------------------------------------------------------------
%   bekannte benutzerspezifische Formate:
% 
%       Programm    | Dateiendung   | Unterfunktion
%       ------------+---------------+--------------
%       Slicer      | .cmp          | importcmp
%       Pulse Ekko  | .tbl          | importtbl
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Test ob angegebene Datei vorhanden
fid = fopen(filename,'rt');
if (fid~=-1 & length(filename)>4)
    endung=filename(length(filename)-3:length(filename));
    switch (endung)
        case '.cmp'
            cmap=importcmp(filename);
        case '.tbl'
            cmap=importtbl(filename);
        otherwise
            error(['Fehler: Dateityp ' filename ' wird nicht unterst黷zt!']);
    end    
else
    error(['Fehler: Konnte Datei ' filename ' nicht 鰂fnen!']);
end
fclose(fid);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function cmap = importcmp(filename)
% Slicer Farbpalette importieren
% --------------------------------------------------------------------
%
% Format der .cmp Datei:
%
% 10 Zeilen: Kommentar 
% n  Zeilen: Alpha R G B ; n  
%
% Farbwertebereich von 0 bis 1
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Einlesen 
[r g b] = textread(filename,'%*f %f %f %f ; %*d','headerlines',10);

% m鰃licherweise Testen ob < 128 -> Performancegr黱de

% R點kgabe an Hauptfunktion
cmap=[r g b];

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function cmap = importtbl(filename)
% Pulse Ekko Farbpalette importieren
% --------------------------------------------------------------------
%
% Format der .tbl Datei:
%
% 1 Zeile : Kommentar 
% n Zeilen: Schwarz Cyan Magenta Gelb 
%
% Farbwertebereich von 0 bis 255
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Einlesen und 躡ergabe an Hauptfunktion
[c m y] = textread(filename,'%*f %f %f %f','headerlines',1);
% Umwandeln in RGB
r=((m(:)+y(:))/2)/255;
g=((c(:)+y(:))/2)/255;
b=((c(:)+m(:))/2)/255;
% R點kgabe an Hauptfunktion
cmap=[r(:),g(:),b(:)];

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -