Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

imgaussfilt3

3-d filtrado gaussiano de imágenes 3D

Descripción

ejemplo

B = imgaussfilt3(A) filtra la imagen 3D con un kernel de suavizado gaussiano 3-D con desviación estándar de 0,5, y devuelve la imagen filtrada en.AB

Opcionalmente, puede realizar el filtrado usando una GPU (requiere).Parallel Computing Toolbox™ Para obtener más información, consulte.Procesamiento de imágenes en una GPU

B = imgaussfilt3(A,sigma) filtra la imagen 3-D con un kernel de suavizado gaussiano 3-D con la desviación estándar especificada por.Asigma

B = imgaussfilt3(___,Name,Value) usa argumentos de par nombre-valor para controlar los aspectos del filtrado.

Ejemplos

contraer todo

Cargue los datos de RMN y mostrarlos.

vol = load('mri'); figure montage(vol.D) title('Original image volume')

Suavizar la imagen con un filtro gaussiano 3-D.

siz = vol.siz; vol = squeeze(vol.D);    sigma = 2;   volSmooth = imgaussfilt3(vol, sigma);    figure montage(reshape(volSmooth,siz(1),siz(2),1,siz(3))) title('Gaussian filtered image volume')

En este ejemplo se muestra cómo realizar una operación de suavizado gaussiano 3-D en una GPU.

Cargue los datos de MRI que se filtrarán.

vol = load('mri'); figure, montage(vol.D), title('Original image volume') 

Cree una que contenga los datos de volumen y realice el suavizado gaussiano.gpuArray

siz = vol.siz; vol = gpuArray(squeeze(vol.D));    sigma = 2;   volSmooth = imgaussfilt3(vol, sigma); 

Recopile los datos suavizados de la GPU (utilizando la función) y visualice todos los resultados para la comparación.gather

figure, montage(reshape(gather(volSmooth),siz(1),siz(2),1,siz(3))) title('Gaussian filtered image volume')

Argumentos de entrada

contraer todo

Imagen que se filtrará, especificada como una matriz numérica 3-D.

Para realizar el filtrado mediante una GPU, especifíquese como un que contenga una matriz numérica 3-D.AgpuArray

Tipos de datos: single | double | int8 | uint8 | int16 | uint16 | int32 | uint32

Desviación estándar de la distribución gaussiana, especificada como número positivo o un vector de 3 elementos de números positivos. Si es un escalar, utiliza un kernel gaussiano cúbico.sigmaimgaussfilt3

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Argumentos de par nombre-valor

Especifique pares de argumentos separados por comas opcionales. es el nombre del argumento y es el valor correspondiente. deben aparecer dentro de las cotizaciones.Name,ValueNameValueName Puede especificar varios argumentos de par de nombre y valor en cualquier orden como.Name1,Value1,...,NameN,ValueN

Ejemplo: volSmooth = imgaussfilt3(vol,sigma,'padding','circular');

Tamaño del filtro gaussiano, especificado como un vector escalar o de 3 elementos de enteros positivos, impares. Si especifica un escalar, a continuación, utiliza un filtro cúbico.imgaussfilt3 El tamaño predeterminado del filtro es 2*ceil(2*sigma)+1.

Ejemplo: volSmooth = imgaussfilt3(vol,sigma,'FilterSize',5);

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Relleno de imagen, especificado como uno de los siguientes.

ValorDescripción
escalar numéricoImagen de pad con elementos de valor constante.
'circular'

Pad con repetición circular de elementos dentro de la cota.

'replicate'

Pad repitiendo elementos de borde de Array.

'symmetric'

Imagen pad con reflejos espejo de sí mismo.

Ejemplo: volSmooth = imgaussfilt3(vol,sigma,'padding','circular');

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string

Dominio en el que se realizará el filtrado, especificado como uno de los siguientes valores.

Filtrar dominio Descripción
'auto'Realizar convolución en el dominio espacial o de frecuencia, en función de la heurística interna.
'frequency'Realizar convolución en el dominio de frecuencia.
'spatial'Realizar convolución en el dominio espacial.

Ejemplo: volSmooth = imgaussfilt3(vol,sigma,'FilterDomain','frequency');

Tipos de datos: char | string

Argumentos de salida

contraer todo

Imagen filtrada, devuelta como una matriz numérica de la misma clase y tamaño que la imagen de entrada.

Si la imagen se filtra mediante una GPU, se devuelve como una matriz numérica que contiene.BgpuArray

Sugerencias

  • Si la imagen contiene s o s, el comportamiento del filtrado de dominio de frecuencia no está definido.AInfNaNimgaussfilt3 Esto puede suceder si establece el 'FilterDomain' parámetro a o si se establece en y utiliza el filtrado de dominio de frecuencia.'frequency''auto'imgaussfilt3 Para restringir la propagación de s y s en la salida de una manera similar a, considere la posibilidad de establecer el parámetro en.InfNaNimfilter'FilterDomain''spatial'

  • Si establece el parámetro en, a continuación, utiliza una heurística interna para determinar si el filtrado de dominio espacial o de frecuencia es más rápido.'FilterDomain''auto'imgaussfilt3 Esta heurística depende de la máquina y puede variar para diferentes configuraciones. Para obtener un rendimiento óptimo, pruebe ambas opciones y, para determinar el mejor dominio de filtrado para la imagen y el tamaño del kernel.'spatial''frequency'

  • Si no especifica el 'Padding' parámetro, a continuación, utiliza el relleno de forma predeterminada, que es diferente del valor predeterminado utilizado por.imgaussfilt3'replicate'imfilter

Capacidades ampliadas

Consulte también

|

Introducido en R2015a