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.

para2fan

Convertir proyecciones de haz paralelo en haz de ventilador

Descripción

ejemplo

F = para2fan(P,D) convierte los datos de haz paralelo en los datos de haz de ventilador.PF Cada columna de contiene las muestras del sensor de haz paralelo en un ángulo de rotación. es la distancia desde el vértice del haz del ventilador hasta el centro de rotación.PD

Se supone que los sensores de haz paralelo tienen un espaciado de un píxel. Los ángulos de rotación de la viga paralela están espaciados por igual para cubrir [0,180] grados. Los ángulos de rotación de la viga de ventilador calculados tienen el mismo espaciado que los ángulos de rotación de la viga paralela y cubren los grados [0,360). Los ángulos calculados del haz de ventilador están igualmente espaciados con el espaciado establecido en el ángulo más pequeño implícito por el espaciado del sensor.

F = fan2para(P,D,Name,Value) utiliza pares nombre-valor para controlar aspectos de la conversión de datos. Los nombres de argumento se pueden abreviar y el caso no importa.

[F,fan_sensor_positions,fan_rotation_angles] = fan2para(___) devuelve las ubicaciones del sensor de haz de ventilador y los ángulos de rotación en .fan_sensor_positionsfan_rotation_angles

Ejemplos

contraer todo

Generar proyecciones de vigas paralelas

ph = phantom(128); theta = 0:180; [P,xp] = radon(ph,theta); imshow(P,[],'XData',theta,'YData',xp,'InitialMagnification','fit') axis normal title('Parallel-Beam Projections') xlabel('\theta (degrees)') ylabel('x''') colormap(gca,hot), colorbar

Convertir en proyecciones de haz de ventilador

[F,Fpos,Fangles] = para2fan(P,100);   figure imshow(F,[],'XData',Fangles,'YData',Fpos,'InitialMagnification','fit') axis normal title('Fan-Beam Projections') xlabel('\theta (degrees)') ylabel('Sensor Locations (degrees)') colormap(gca,hot), colorbar

Argumentos de entrada

contraer todo

Datos de proyección de haz paralelo, especificados como una matriz numérica. Cada columna de contiene los datos de viga paralela en un ángulo de rotación.P El número de columnas indica el número de ángulos de rotación de haz paralelo y el número de filas indica el número de sensores de haz paralelo.

Tipos de datos: double | single

Distancia en píxeles desde el vértice del haz del ventilador hasta el centro de rotación, especificado como un número positivo. supone que el centro de rotación es el punto central de las proyecciones, que se define como .para2fanceil(size(F,1)/2) El valor de debe ser mayor o igual queD ParallelSensorSpacing*(SIZE(P,1)-1)/2

La figura ilustra en relación con el vértice del haz del ventilador para una proyección de haz de ventilador.D

Tipos de datos: double | single

Argumentos de par nombre-valor

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

Ejemplo: F = para2fan(P,D,'FanRotationIncrement',5)

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

  • — Gire a través del rango completo [0, 360) grados.'cycle'

  • — Gire a través del rango mínimo necesario para representar el objeto.'minimal'

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

  • Si es , entonces debe ser un entero.FanCoverage'cycle'360/FanRotationIncrement

  • Si no especifica , el valor predeterminado es igual al ángulo de rotación de la viga paralela.FanRotationIncrement

Tipos de datos: double

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

Valor

Significado

Diagrama

'arc'

Los sensores están espaciados 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 están espaciados a distancias iguales a lo largo de una línea paralela al eje.x' El sensor más cercano está a una distancia desde el centro de rotación.D

define la distancia entre las vigas de ventilador en el eje, en píxeles.FanSensorSpacingx'

Espaciado del sensor de haz de ventilador, especificado como el par separado por comas que consta de y un escalar positivo.'FanSensorSpacing'

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

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

Si no especifica , el valor predeterminado de es el valor más pequeño implícito por tal que:FanSensorGeometryFanSensorSpacingParallelSensorSpacing

  • Si es , entonces esFanSensorGeometry'arc'FanSensorSpacing 180/pi*ASIN(ParallelSensorSpacing/D)

  • Si es , entonces esFanSensorGeometry'line'FanSensorSpacing D*ASIN(ParallelSensorSpacing/D)

Tipos de datos: double

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

— Vecino más cercano'nearest'

— Lineal (predeterminado)'linear'

— Spline cúbico fragmentado'spline'

— Hermita cúbica por piezas (PCHIP)'pchip'

Rango de rotación de viga paralela, especificado como el par separado por comas que consta de y uno de estos valores.'ParallelCoverage'

  • — Los datos paralelos cubren el rango completo de [0, 360) grados.'cycle'

  • — Los datos paralelos cubren [0, 180) grados.'halfcycle'

Espaciado del sensor de haz paralelo en píxeles, especificado como el par separado por comas que consta de y un escalar positivo.'ParallelSensorSpacing'

Tipos de datos: double

Argumentos de salida

contraer todo

Datos de proyección de haz de ventilador, devueltos como una matriz numérica. Cada columna de contiene las muestras del sensor de haz de ventilador en un ángulo de rotación.F

Datos de proyección de haz paralelo, devueltos como una matriz numérica. Cada columna de contiene los datos de la viga de ventilador en un ángulo de rotación.F El número de columnas indica el número total de ángulos de rotación de la viga de ventilador y es igual a la longitud de .fan_rotation_angles El número de filas indica el número total de sensores de haz paralelo y es igual a la longitud de .fan_sensor_positions

Tipos de datos: double

Ubicaciones del sensor de haz de ventilador, devueltas como un vector de columna numérico.

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

  • Si 'FanSensorGeometry' es , entonces contiene las posiciones del sensor del haz de ventilador a lo largo de la línea de sensores.'line'fan_sensor_positions

Tipos de datos: double

Los ángulos de rotación de la viga de ventilador, devueltos como un vector de fila numérico.

Tipos de datos: double

Consulte también

| | | | |

Introducido antes de R2006a