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.

ifanbeam

La transformada inversa de haz de fan

Descripción

ejemplo

I = ifanbeam(F,D) reconstruye la imagen a partir de los datos de proyección de vigas de ventilador.IF Cada columna contiene datos de proyección de vigas de ventilador en un ángulo de rotación.F Se asume que el ángulo entre los sensores es uniforme e igual al incremento entre los ángulos de rotación del haz de ventilador. es la distancia desde el vértice del haz de ventilador hasta el centro de rotación.D

ejemplo

I = ifanbeam(F,D,Name,Value) utiliza pares nombre-valor para controlar diversos aspectos de la reconstrucción. Los nombres de los argumentos pueden abreviarse y el caso no importa.

[I,H] = ifanbeam(___) también devuelve la respuesta de frecuencia del filtro,.H

Ejemplos

contraer todo

Cree una imagen de muestra. La función crea una imagen de cabezal fantasma.phantom

ph = phantom(128);

Cree una transformación de viga de ventilador de la imagen de cabezal fantasma.

d = 100; F = fanbeam(ph,d);

Reconstituya la imagen de la cabeza fantasma de la representación del haz de ventilador. Visualice la imagen original y la imagen reconstituida.

I = ifanbeam(F,d); imshow(ph)

figure imshow(I);

Cree una imagen de muestra. La función fantasma crea una imagen de cabeza fantasma.

ph = phantom(128);

Cree una transformación de radón de la imagen.

P = radon(ph);

Convierta la transformación de proyección de viga paralela a proyección de viga de ventilador.

[F,obeta,otheta] = para2fan(P,100,...                              'FanSensorSpacing',0.5,...                             'FanCoverage','minimal',...                             'FanRotationIncrement',1);

Reconstituya la imagen de los datos de vigas de ventilador.

phReconstructed = ifanbeam(F,100,...                             'FanSensorSpacing',0.5,...                            'Filter','Shepp-Logan',...                            'OutputSize',128,...                             'FanCoverage','minimal',...                            'FanRotationIncrement',1);

Visualice el original y la imagen transformada.

imshow(ph)

figure imshow(phReconstructed)

Argumentos de entrada

contraer todo

Datos de proyección de vigas de ventilador, especificados como una matriz numérica. es el número de sensores de haz de ventilador y es el número de ángulos de rotación del haz de ventilador.numsensorsnumanglesnumsensorsnumangles Cada columna contiene las muestras del sensor de haz de ventilador en un ángulo de rotación.F

Tipos de datos: double | single

Distancia en píxeles desde el vértice del haz de ventilador hasta el centro de rotación, especificado como un número positivo. asume que el centro de rotación es el punto central de las proyecciones, que se define como.ifanbeamceil(size(F,1)/2) La figura ilustra en relación con el vértice del haz de ventilador para una proyección de viga de ventilador.D

Tipos de datos: double | single

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: I = ifanbeam(F,D,'FanRotationIncrement',5)

Rango de rotación del haz de ventilador, especificado como el par separado por comas que consta de uno de estos valores.'FanCoverage'

  • — Gire a través de la gama completa [0, 360) grados.'cycle'

  • : Permite rotar el intervalo mínimo necesario para representar el objeto.'minimal'

Incremento del ángulo de rotación del haz de ventilador en grados, especificado como el par separado por comas que consta de un escalar positivo.'FanRotationIncrement'

Tipos de datos: double

Posicionamiento del sensor de haz de ventilador, especificado como el par separado por comas que consta de uno de los siguientes valores.'FanSensorGeometry'

Valor

Significado

Diagrama

'arc'

Los sensores se espacian en ángulos iguales a lo largo de un arco circular a distancia del centro de rotación.D

define el espaciado angular en grados.FanSensorSpacing

'line'

Los sensores se espacian a distancias iguales a lo largo de una línea paralela al eje.x' El sensor más cercano es la distancia desde el centro de rotación.D

define la distancia entre los haces de los ventiladores en el eje, en píxeles.FanSensorSpacingx'

Espaciado de los sensores de fan-Bean, especificado como el par separado por comas que consta de un escalar positivo.'FanSensorSpacing'

  • Si es así, define el espaciado angular en grados.FanSensorGeometry'arc'FanSensorSpacing

  • Si es así, define la distancia lineal entre vigas de ventilador, en píxeles.FanSensorGeometry'line'FanSensorSpacing El espaciado lineal se mide en el eje.x'

Tipos de datos: double

Filtro que se usará para el filtrado de dominio de frecuencia, especificado como el par separado por comas que consta de y uno de los valores de la tabla.'Filter' Para obtener más información, consulte.iradon

Valor

Descripción

'Ram-Lak'

Filtro RAM-Lak o rampa recortado. La respuesta de frecuencia de este filtro es | |.f Debido a que este filtro es sensible al ruido en las proyecciones, uno de los filtros enumerados a continuación podría ser preferible. Estos filtros multiplican el filtro RAM-Lak por una ventana que desenfatiza las frecuencias altas.

'Shepp-Logan'

Multiplica el filtro RAM-Lak por una funciónsinc

'Cosine'

Multiplica el filtro RAM-Lak por una funcióncosine

'Hamming'

Multiplica el filtro RAM-Lak por una ventana de Hamming

'Hann'

Multiplica el filtro RAM-Lak por una ventana Hann

'None'Sin filtrar. devuelve datos sin filtrar.ifanbeam

Tipos de datos: char | string

Factor de escala para volver a escalar el eje de frecuencia, especificado como el par separado por comas que consta de un número positivo en el intervalo (0,1).'FrequencyScaling' Si 'FrequencyScaling' es menor que 1, entonces el filtro se comprime para caber en el rango de frecuencia, en frecuencias normalizadas; se establecen todas las frecuencias anteriores.[0,FrequencyScaling]FrequencyScaling0 Para obtener más información, consulte.iradon

Tipos de datos: double

Tipo de interpolación utilizado entre los datos de viga paralela y de viga de ventilador, especificados como el par separado por comas que consta de uno de los siguientes valores.'Interpolation'

— Vecino más cercano'nearest'

— Lineal (el valor predeterminado)'linear'

— Spline cúbica a destalonado'spline'

— Hermite cúbico a desteque (PCHIP)'pchip'

Tipos de datos: char | string

Tamaño de la imagen reconstruida, especificada como el par separado por comas que consta de un entero positivo.'OutputSize' La imagen tiene un número igual de filas y columnas.

Si especifica, reconstruye una porción más pequeña o mayor de la imagen, pero no cambia la escala de los datos.OutputSizeifanbeam

Nota

Si las proyecciones se calcularon con la función, es posible que la imagen reconstruida no tenga el mismo tamaño que la imagen original.fanbeam

Si no se especifica, el tamaño se calculará automáticamente por:OutputSize

OutputSize = 2*floor(size(R,1)/(2*sqrt(2)))

donde se utiliza la longitud de los datos de proyección de viga paralela.Riradon Para obtener más información, consulte.Algoritmos

Tipos de datos: double

Argumentos de salida

contraer todo

Imagen reconstruida, especificada como una matriz numérica en 2-D.

Respuesta de frecuencia del filtro, devuelta como un vector numérico.

Tipos de datos: double

Sugerencias

  • Para realizar una reconstrucción inversa del haz de fan, debe dar los mismos parámetros que se utilizaron para calcular los datos de proyección,.ifanbeamF Si utiliza para calcular la proyección, asegúrese de que los parámetros son coherentes al llamar.fanbeamifanbeam

Algoritmos

convierte los datos de viga de ventilador en proyecciones de viga paralelas y, a continuación, utiliza el algoritmo de proyección posterior filtrada para realizar la transformada inversa de radón.ifanbeam El filtro está diseñado directamente en el dominio de frecuencia y luego multiplicado por la FFT de las proyecciones. Las proyecciones son de relleno cero a una potencia de 2 antes de filtrar para evitar el aliasing de dominio espacial y para acelerar la FFT.

Referencias

[1] Kak, A. C., and M. Slaney, Principles of Computerized Tomographic Imaging, New York, NY, IEEE Press, 1988.

Consulte también

| | | | |

Introducido antes de R2006a