isocaps

Вычисление геометрии торцевой крышки изоповерхности

Синтаксис

fvc = isocaps(X,Y,Z,V,isovalue)
fvc = isocaps(V,isovalue)
fvc = isocaps(...,'enclose')
fvc = isocaps(...,'whichplane')
[f,v,c] = isocaps(...)
isocaps(...)

Описание

fvc = isocaps(X,Y,Z,V,isovalue) вычисляет изоповерхность геометрию торцевой крышки для объемных данных V по изоповерхность значению isovalue. Массивы X, Y, и Z определить координаты для объема V.

Область struct fvc содержит данные о грани, вершине и цвете для конечных крышек и может быть передан непосредственно в patch команда.

fvc = isocaps(V,isovalue) принимает массивы X, Y, и Z определяются как [X,Y,Z] = meshgrid(1:n,1:m,1:p) где [m,n,p] = size(V).

fvc = isocaps(...,'enclose') определяет, заключают ли конечные крышки значения данных выше или ниже значения, заданного в isovalue. The 'enclose' опция может быть либо 'above' (по умолчанию) или 'below'.

fvc = isocaps(...,'whichplane') задает, на каких плоскостях рисовать торцевые крышки. Возможные значения для 'whichplane' являются 'all' (по умолчанию), 'xmin', 'xmax', 'ymin', 'ymax', 'zmin', или 'zmax'.

[f,v,c] = isocaps(...) возвращает данные граней, вершин и цветов для конечных крышек в трех массивах вместо struct fvc.

isocaps(...) без выходных аргументов рисует закрашенную фигуру с вычисленными гранями, вершинами и цветами.

Примеры

свернуть все

Этот пример использует набор данных, который является сбором МРТ- срезы человеческого черепа. Он иллюстрирует использование изопрописных букв, чтобы нарисовать концевые крышки на этом вырезанном объеме.

На красной изоповерхность показан контур объема (черепа), а на торцевых крышках показ то, что находится внутри объема.

Закрашенная фигура, созданная из данных торцевой крышки (p2) использует интерполированную раскраску лица, что означает серую палитру и источники света определяют, как она окрашена. The изоповерхности закрашенной фигуры (p1) использовали плоский красный цвет лица, на который влияют огни, но не используют палитру.

load mri
D = squeeze(D);
D(:,1:60,:) = [];
p1 = patch(isosurface(D, 5),'FaceColor','red',...
	'EdgeColor','none');
p2 = patch(isocaps(D, 5),'FaceColor','interp',...
	'EdgeColor','none');
view(3)
axis tight
daspect([1,1,.4])
colormap(gray(100))
camlight left
camlight
lighting gouraud
isonormals(D,p1)

Figure contains an axes. The axes contains 2 objects of type patch.

Расширенные возможности

Представлено до R2006a