reducevolume

Уменьшите количество элементов в наборе объемных данных

Синтаксис

[nx,ny,nz,nv] = reducevolume(X,Y,Z,V,[Rx,Ry,Rz])
[nx,ny,nz,nv] = reducevolume(V,[Rx,Ry,Rz])
nv = reducevolume(...)

Описание

[nx,ny,nz,nv] = reducevolume(X,Y,Z,V,[Rx,Ry,Rz]) уменьшает количество элементов в объёме путем сохранения каждого Rxth элемент в направлении x, каждый Ryth элемент в направлении y и каждый Rzth элемент в направлении z. Если скалярный R используется для указания величины или сокращения вместо трехэлементного вектора, MATLAB® программное обеспечение принимает сокращение, которое должно быть [R R R].

Массивы X, Y, и Z определить координаты для объема V. Уменьшенный объем возвращается в nv, и координаты уменьшенного объема возвращаются в nx, ny, и nz.

[nx,ny,nz,nv] = reducevolume(V,[Rx,Ry,Rz]) принимает массивы X, Y, и Z определяются как [X,Y,Z] = meshgrid(1:n,1:m,1:p), где [m,n,p] = size(V).

nv = reducevolume(...) возвращает только уменьшенный объем.

Примеры

свернуть все

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

  • Массив 4-D сжат (squeeze) в три размерности и затем уменьшено (reducevolume) так, что остается каждый четвертый элемент в направлениях x и y и каждый элемент в направлении z.

  • Уменьшенные данные сглаживаются (smooth3).

  • Контур черепа является изоповерхностью, сгенерированной как закрашенная фигура (p1), чьи вершинные нормали пересчитываются, чтобы улучшить внешний вид при применении подсветки (patch, isosurface, isonormals).

  • Вторая закрашенная фигура (p2) с интерполированным цветом лица рисует торцевые прописные буквы (FaceColor) изопрописные буквы).

  • Задано представление объекта (view, axis, daspect).

  • 100-элементная палитра полутонового цвета обеспечивает раскраску для торцевых прописных букв (colormap).

  • Добавление света справа от камеры освещает объект (camlight, lighting).

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

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

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

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