Contenido principal

fspecial3

Crear un filtro 3D predefinido

Descripción

h = fspecial3(type) crea un filtro tridimensional h del type especificado. Algunos de los tipos de filtro tienen otros parámetros opcionales, mostrados en las siguientes sintaxis. fspecial3 devuelve h como núcleo de correlación, que es la forma adecuada para utilizar con imfilter.

h = fspecial3("average",hsize) devuelve un filtro promediador h de tamaño hsize. No recomendado. En su lugar, use imboxfilt3.

h = fspecial3("ellipsoid",semiaxes) devuelve un filtro promediador elipsoidal con la longitud de los semiejes principales especificados por semiaxes. El filtro h se devuelve en un arreglo de tamaño 2*ceil(semiaxes)+1.

ejemplo

h = fspecial3("gaussian",hsize,sigma) devuelve un filtro gaussiano de paso bajo de tamaño hsize con desviación estándar sigma. No recomendado. En su lugar, use imgaussfilt3.

h = fspecial3("laplacian",gamma1,gamma2) devuelve un filtro de 3 por 3 por 3 que aproxima la forma del operador laplaciano tridimensional. gamma1 y gamma2 controlan la forma del laplaciano [1][2].

h = fspecial3("log",hsize,sigma) devuelve un filtro laplaciano-gaussiano de tamaño hsize con desviación estándar sigma.

h = fspecial3("prewitt",direction) devuelve un filtro de 3 por 3 por 3 que enfatiza los gradientes en la dirección especificada.

h = fspecial3("sobel",direction) devuelve un filtro de 3 por 3 por 3 que enfatiza los gradientes en la dirección especificada y suaviza las otras direcciones [3].

ejemplo

Ejemplos

contraer todo

Cargue el volumen de una resonancia magnética 3D en escala de grises. Muestre los planos del volumen.

load mristack;
montage(mristack,BackgroundColor="w")

Figure contains an axes object. The hidden axes object contains an object of type image.

Cree un filtro elipsoidal 3D. Especifique una longitud de semieje de 7 píxeles en las direcciones y (filas) y x (columnas), y una longitud de semieje de 3 píxeles en la dirección z (planos).

H = fspecial3("ellipsoid",[7 7 3]);

Suavice el volumen con el filtro.

volSmooth = imfilter(mristack,H,"replicate");

Muestre los planos del volumen suavizado.

montage(volSmooth,BackgroundColor="w")

Figure contains an axes object. The hidden axes object contains an object of type image.

Cargue el volumen de una resonancia magnética. Este volumen se almacena como un arreglo 4D con una dimensión única. Cree un volumen de escala de grises 3D utilizando la función squeeze para eliminar la dimensión única.

load mri;
V = squeeze(D);

Muestre los planos del volumen.

montage(D,BackgroundColor="w")

Figure contains an axes object. The hidden axes object contains an object of type image.

Cree un filtro Sobel 3D que detecte los bordes horizontales del volumen. Los bordes horizontales aparecen donde hay una gran magnitud del gradiente en la dirección y, de modo que debe especificar la dirección del filtro Sobel como "Y". El filtro Sobel suaviza el gradiente en las direcciones x y z.

H = fspecial3("sobel","Y");

Filtre el volumen con el filtro Sobel 3D.

edgesHor = imfilter(V,H,"replicate");

Muestre los planos del volumen filtrado.

montage(edgesHor)

Figure contains an axes object. The hidden axes object contains an object of type image.

Argumentos de entrada

contraer todo

Tipo de filtro, especificado como uno de los siguientes valores:

Valor

Descripción

"average"

Filtro promediador. No recomendado. En su lugar, use imboxfilt3.

"ellipsoid"

Filtro promediador elipsoidal

"gaussian"

Filtro paso bajo gaussiano. No recomendado. En su lugar, use imgaussfilt3.

"laplacian"

Aproxima el operador laplaciano tridimensional

"log"

Filtro laplaciano-gaussiano

"prewitt"

Filtro de acentuación de bordes Prewitt

"sobel"

Filtro de acentuación de bordes Sobel

Tipos de datos: char | string

Tamaño del filtro, especificado como entero positivo o vector de 3 elementos de enteros positivos. Utilice un vector para especificar el número de filas, columnas y planos en h. Utilice un escalar para especificar la longitud del lado de un cubo.

Para los tipos de filtro "gaussian" y "log", si especifica hsize como [], fspecial3 crea un filtro con un tamaño predeterminado de 2*ceil(2*sigma)+1.

Tipos de datos: double

Longitud de los semiejes de un filtro elipsoidal, especificada como número positivo o vector de 3 elementos de números positivos. Utilice un vector para especificar la longitud de los tres semiejes principales en filas, columnas y planos. Estos valores corresponden a la longitud en las direcciones cartesianas y, x y z, respectivamente. Utilice un escalar para especificar el radio de una esfera.

Tipos de datos: double

Desviación estándar del filtro gaussiano, especificada como número positivo o vector de 3 elementos de números positivos. Si se especifica un escalar, fspecial3 crea un núcleo gaussiano cúbico.

Tipos de datos: double

Forma del laplaciano, especificada como un escalar en el intervalo [0 1]. La suma de gamma1 y gamma2 no debe ser superior a 1.

Tipos de datos: double

Dirección de los gradientes para el filtrado Sobel y Prewitt, especificada como "X", "Y", o "Z".

Tipos de datos: char | string

Argumentos de salida

contraer todo

Núcleo de correlación, devuelto como un arreglo numérico.

Tipos de datos: double

Referencias

[1] Lindeberg, T., Scale-Space Theory in Computer Vision. Boston, MA: Kluwer Academic Publishers, 1994.

[2] Geometry-Driven Diffusion in Computer Vision. Edited by B. M. ter Haar Romeny. Boston, MA: Kluwer Academic Publishers, 1994.

[3] Engel, K., M. Hadwiger, J. M. Kniss, C. Rezk-Salama, and D. Weiskopf. Real-Time Volume Graphics. Wellesley, MA: A K Peters, Ltd., 2006, pp. 112–114.

Capacidades ampliadas

expandir todo

Historial de versiones

Introducido en R2018b