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.

fanbeam

Transformación de haz de abanico

Descripción

ejemplo

F = fanbeam(I,D) calcula los datos de proyección de la viga de abanico (sinograma) de la imagen.FI Cada columna contiene datos de proyección de vigas de ventilador en un ángulo de rotación. es la distancia desde el vértice del haz de ventilador hasta el centro de rotación.FD

F = fanbeam(I,D,Name,Value) utiliza pares nombre-valor para especificar el incremento de rotación y el espaciado del sensor. Los nombres de los argumentos pueden abreviarse y el caso no importa.

ejemplo

[F,fan_sensor_positions,fan_rotation_angles] = fanbeam(___) Devuelve la ubicación de los sensores de haz de ventilador y los ángulos de rotación donde se calculan las proyecciones de vigas de ventilador.fan_sensor_positionsfan_rotation_angles

Ejemplos

contraer todo

Establezca la preferencia IPT para que los ejes sean visibles.

iptsetpref('ImshowAxesVisible','on')

Cree una imagen de muestra y mostrarla.

ph = phantom(128); imshow(ph)

Calcule las proyecciones de los fanbeam y mostrarlas.

[F,Fpos,Fangles] = fanbeam(ph,250); figure imshow(F,[],'XData',Fangles,'YData',Fpos,...             'InitialMagnification','fit') axis normal xlabel('Rotation Angles (degrees)') ylabel('Sensor Positions (degrees)') colormap(gca,hot), colorbar

Calcule las proyecciones de vigas de ventilador para la geometría ' arco '.

I = ones(100); D = 200; dtheta = 45; [Farc,FposArcDeg,Fangles] = fanbeam(I,D,...                     'FanSensorGeometry','arc',...                  'FanRotationIncrement',dtheta);

Convierta las posiciones angulares a la distancia lineal a lo largo del eje x-Prime.

FposArc = D*tan(FposArcDeg*pi/180);

Calcule las proyecciones de vigas de ventilador para la geometría de "línea".

[Fline,FposLine] = fanbeam(I,D,...            'FanSensorGeometry','line',...         'FanRotationIncrement',dtheta);

Calcule la transformada de radón correspondiente.

[R,Rpos]=radon(I,Fangles);

Visualice las tres proyecciones en un ángulo de rotación concreto. Tenga en cuenta que los tres son muy similares. Las diferencias se deben a la geometría del muestreo y a las aproximaciones numéricas utilizadas en los cálculos.

figure idx = find(Fangles==45); plot(Rpos,R(:,idx),...            FposArc,Farc(:,idx),...           FposLine,Fline(:,idx)) legend('Radon','Arc','Line')

Argumentos de entrada

contraer todo

Imagen de entrada, especificada como una matriz numérica o lógica en 2-D.

Distancia en píxeles desde el vértice del haz del ventilador hasta el centro de rotación, especificado como un número positivo. El centro de rotación es el píxel central de la imagen, definido como. debe ser lo suficientemente grande como para asegurarse de que el vértice del haz de ventilador está fuera de la imagen en todos los ángulos de rotación.floor((size(I)+1)/2)D Consulte para obtener instrucciones sobre cómo especificar.ConsejosD La figura ilustra en relación con el vértice del haz de ventilador para una geometría de viga de ventilador.D

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

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

Argumentos de salida

contraer todo

Datos de proyección de vigas de ventilador, devueltos 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

Ubicación de los sensores de haz de ventilador, devueltos como un vector numérico de-por-1.numsensors

  • Si es (el valor predeterminado), entonces contiene los ángulos de dispersión del haz de ventilador.FanSensorGeometry'arc'fan_sensor_positions

  • Si es así, entonces contiene las posiciones del sensor de haz de ventilador a lo largo del eje.FanSensorGeometry'line'fan_sensor_positionsx' Consulte para obtener más información.FanSensorSpacing

determina el número de sensores calculando cuántas vigas son necesarias para cubrir toda la imagen para cualquier ángulo de rotación.fanbeam Se requieren menos sensores para cubrir la imagen cuando la distancia entre el vértice del haz de ventilador y el centro de rotación es grande.D

Tipos de datos: double

Ángulo de rotación de los sensores de haz de ventilador, devueltos como un vector de 1 por numérico. Esnumanglesnumangles 360/FanRotationIncrement.

Tipos de datos: double

Sugerencias

Como guía, intente hacer unos pocos píxeles más grandes que la mitad de la dimensión diagonal de la imagen, calculado de la siguiente manera.D

sqrt(size(I,1)^2 + size(I,2)^2)

Los valores devueltos son una aproximación numérica de las proyecciones de vigas de ventilador.F El algoritmo depende de la transformada de radón, interpolada a la geometría de la viga de abanico. Los resultados varían en función de los parámetros utilizados. Puede esperar resultados más precisos cuando la imagen es más grande, es más grande y para los puntos más cercanos a la mitad de la imagen, lejos de los bordes.D

Referencias

[1] Kak, A.C., & Slaney, M., Principles of Computerized Tomographic Imaging, IEEE Press, NY, 1988, pp. 92-93.

Consulte también

| | | | |

Introducido antes de R2006a